[javascript]ブックマークレット つくメモ

世間に良くある図書館検索のブックマークレットを作ったので、メモ

1.アマゾンのURLからISBNを取り出す。
例えば、ヘルマンヘッセのデミアンのページを開いてみると、下記のようなURLで表示される。
http://www.amazon.co.jp/%E3%83%87%E3%83%9F%E3%82%A2%E3%83%B3-%E6%96%B0%E6%BD%AE%E6%96%87%E5%BA%AB-%E3%83%98%E3%83%83%E3%82%BB/dp/4102001026/
商品ページの中に、ISBNが記述されているので、これを取り出すようなjavascriptを書くと、

var isbn = document.location.href.match(/\/(\d+)\//)[1]

このコードは、webページのURLで、スラッシュ(/)で囲まれている数字を取り出すものなので、
アマゾンのページで実行すれば、isbnを取得することができると考えました。

2.図書館の検索ページから、isbnを検索する方法を考える。
今回は地元の鳥栖市民図書館(http://www.library-tosu.jp/)を検索したいので、ここの図書検索ページ(http://www.library-tosu.jp/search/tosken.html)から検索方法を考えてみました。

試しにISBNを12345678と入力して検索してみると、次のURLのページから検索結果が表示されます。

http://www.library-tosu.jp/search/toslist.asp?tilandor=1&tilkey1=&tilkey2=&tilkey3=&autandor=1&autkey1=&autcod1=&autkey2=&autcod2=&autkey3=&autcod3=&autpos=1&pubkey1=&pubcod1=&kenkey1=&kencod1=&bunkey1=&isbnkey1=12345678&syuyyy1=&syummm1=&syuyyy2=&syummm2=&dspcnt=10&sort=1&x=53&y=16&pg=0&style=10&seq=
これから、ISBNから検索するWEBページは、下記の検索から求められそう。
http://www.library-tosu.jp/search/toslist.asp?isbnkey1={isbn}

実際にヘルマンヘッセのデミアンのISBN 4102001026で、検索ページを開くことができる(http://www.library-tosu.jp/search/toslist.asp?isbnkey1=4102001026)ので、これで準備は整ったと思います。

3.実装。
1,2で準備したコードを実装してみると、こんな感じ

(function(){
   var isbn = document.location.match(/\/(\d+)\//)[1];
   var tosuLib = "http://www.library-tosu.jp/search/toslist.asp?isbnkey1="+isbn;
   window.open(tosuLib);
})();

これを1行でまとめて、改行はなくして、空白は%20に置き換えて、こんな感じ。

javascript:(function(){var%20str=document.location.href.match(/\/(\d+)\//)[1];var%20tosuLib="http://www.library-tosu.jp/search/toslist.asp?isbnkey1="+str;window.open(tosuLib);})();

最後に、適当なリンクを作ってみて、ブックマークする。

<a href='javascript:(function(){var%20str=document.location.href.match(/\/(\d+)\//)[1];var%20tosuLib="http://www.library-tosu.jp/search/toslist.asp?isbnkey1="+str;window.open(tosuLib);})();'>鳥栖図書館ブックマークレット</a>

ということで、初歩の初歩を練習してみました。

よかったとおもう記事

フィリピンの学生との会話から気づいたこと「英語を勉強することは、勇気を鍛えること」 | Lifehacking.jp

Skypeを使って、フィリピンの学生と英会話して、英語力アップという勉強法を知ることができた。
毎日25分の英会話で5000円ならなかなかのコストパフォーマンスではないかと思う。

http://journal.mycom.co.jp/news/2009/07/09/047/index.html

バリデーションの指針。
ユーザに考えさせたり不安にさせたりしたら負け

http://kusoshigoto.blog121.fc2.com/blog-entry-270.html

定時になったら、帰ろうという雰囲気が欲しい。

エンジニアとしての歩き方 - 都元ダイスケ IT-PRESS

懇親会でコーラを飲もうと思った。

http://www.cookpad.jp/recipe/751227

コンソメの代わりにコンソメスープの元
エリンギの代わりにピーマンを輪切りにして食べたら、おいしかった^^

おいしかったけど、もう少し野菜を入れたら良さげ。
次は玉ねぎも入れたらどうなるかしらと思った。

[java]Javaのsplitでちょっと混乱した。

Javaのsplitの話。
仕事で、"aa::bb::cc::dd::::"な文字列を{"aa","bb","cc","dd","",""}みたいな配列に変換しないといけなくなって、
最初は次みたいにやって失敗。

String[] str = "aa::bb::cc::dd::::".split("::");

  • > ["aa","bb","cc","dd"]みたいになってしまった。

第2引数に負の数を入れたら解決
String[] str = "aa::bb::cc::dd::::".split("::",-1); -> {"aa","bb","cc","dd","",""}

レファレンスを見ると、splitの第2引数は、limitパラメータというもので、返り値の配列のサイズを指定するものとのこと

ちょっと試してみると、rubyでも同じように第2引数で制御していた。
"aa::bb::cc::::".split("::") -> ["aa","bb","cc"]
"aa::bb::cc::::".split("::",-1) -> ["aa","bb","cc","",""]

javascriptでは、第2引数はなくてよかった。
"aa::bb::cc::::".split("::") -> ["aa","bb","cc","",""]

最近javascriptでなれてたから忘れてたのかしら。

JavaのString.split(”,”)は、split(”,”, -1)にしたほうがいい - $ cd ./.にも同じことが書いてた。

[reading]英語は難しいね〜

日本人の英語 (岩波新書)

日本人の英語 (岩波新書)

たまには読み返して,日頃の英語を気をつけたい、
そんな良書。
日本人が、意識をせずに主格を表す「は」と「が」を使いこなしているように、
英語圏の人が、どのように冠詞や接続詞を使いわけているのか理解できるようになった気がしました.

読書メモ

  • theをやたらに使わない
    • なにか特定のイメージに結びつくのか
  • outとoff
    • clean outは、中から外に吐き出すイメージ 3次元
    • clean offは、面の外に出すイメージ

I cleaned out my desk. 机を掃除したー>机の中(引き出しとか)を掃除した
I cleand off my desk. 机を掃除した->机の上を片付けた

  • inとon
    • inは根深いイメージ、深く関わるイメージ
    • onは接触しているイメージ
  • get onとget in
    • I got on the train. 直接運転するわけではないので、接触する程度のイメージ
    • I got in the car. 直接運転するので、接触するイメージ
  • 関係代名詞の使い方
    • 単純に先行詞を表すよりも、詳細情報を追加したほうが分かりやすくなる。
    • whichだけで説明すると、

Almost no funding is available now for basic research, which is surely the result of shortsighted gobernment politics.

    • ちょっと詳しくして、

Almost no funding is available now for basic research, which situation is surely the result of shortsighted gobernment politics.

    • さらに詳しくして、

Almost no funding is available now for basic research, which intolerable situation is surely the result of shortsighted gobernment politics.

  • したがって henceとthereby
    • 「ある行動によって生じたなら」thereby
    • 「ある状態によって生じたなら」hence

よかったとおもう記事

やる夫のグルメ 安酒処分法【働くモノニュース : 人生VIP職人ブログwww】

カクテルを作ろうと思っていたのをわすれてた。。

バンビ、ゴジラに会う!

http://www.geocities.jp/akaminey86/movie_godzilla.html
これもひどい。
グロ注意

そろそろLISPブームが再来する - やねうらお−ノーゲーム・ノーライフ

あと、会員のログイン管理をしないといけないようなWebサイトは、ユーザーからのログイン状態や画面遷移に関して直前の操作を記録しておかないといけないことが多々あるが、そういったパラメータの引き渡しにしても、LISPならLISPの実行環境まるごとを取得して、それをDBに文字列として保存しておけば、次にそのユーザーからアクセスがあったときにその実行環境をDBから復元すれば楽に書けるのかも知れない。なんだかミラクルだ。

LISPすげー。そっか DBにそのまま保存できるのが、LISPのいいところかも。

あなたの会社の常識 (IT会社)【働くモノニュース : 人生VIP職人ブログwww】

    ( 作 仕  ソ  も
     ) 業 .様 .| う
    ( は 書 .ス
     ) 嫌 作 .か
    ( だ  る .ら
     ) お
    ( !
     〜、_       _
        `,〜〜〜´
       ____
     /      \
   /  _ノ  ヽ、_  \
  /  o゚⌒   ⌒゚o  \
  |     (__人__)    |
  \     ` ⌒´     /

これはすごく分かる。

適切なクラスタ数を推定するX-means法 - kaisehのブログ

k-means法で満足しちゃダメだと。
X-means法面白そう。

[reading]相変わらず段取りが悪い。。。

段取り力―「うまくいく人」はここがちがう (ちくま文庫)

段取り力―「うまくいく人」はここがちがう (ちくま文庫)

今日は相も変わらずカレーを作ったのだけど、
材料が足りないことに、料理中気づいて、何度も買い物に出かけた.

料理をする前に、冷蔵庫にある材料を確かめたつもりだったのだけど、
確認が足りなかったせいか、はたまた経験知が足りないためなのか、
段取りがとても悪かった。

こういう本を読んだところで、段取りが良くなるわけではないのだけど、
「今回は、経験が足りないから、材料が足りないことを思いつかないのではないか」
「そもそも冷蔵庫にすべて材料があると考えてしまっていたのが、間違いだったのではないか」
と思ったので、まあ、次からは確認しようと思ったわけで。


素材とヴィジョンという指摘は、自分には足りないものだったので、考えさせられた。
思えば、いろいろな技術の本ばかり読んだりしているが、どんなものを作りたいということを考えたことがほとんどない。

技術だけで大きな視点がないと、需要のない商品を作ってしまい失敗する。

ですよねー。
素材ばかりさがしていて、ヴィジョンがないことに愕然としてしまった。

自分が何が作りたいのか、のんびりと考えてみよう。

読書メモ

  • トヨタの発想
    • 区別すべきは働いているかどうかではなく、稼いでいるかどうか、付加価値や利潤を生んでいるかどうかである。
  • 段取りは、やる前に頭の中でいちおうその手順を組み立てておくものである。
  • 自由な発想は難しい。
    • テーマを限定する、あるいは素材を限定するというやり方
  • 物事を俯瞰して見る視点を忘れない。
  • マニュアルはむしろ覚えてはいけない。覚えると勘違いが起きる可能性がある。
  • 刑務所のリタ・ヘイワース」は面白そう
    • 脱獄のための段取り
    • 何事もそうだが、1つ道をつけるところまで到達するのが大変だ。そこまでが仕込みの段階で、あとは一度道がついたところを増幅していけばいい。
  • 経験値や暗黙知は消えてしまう->記録しておく
    • それが消えないところまで形にしておくことが重要だ。つまりチャートにしておく。それも非常に細かな手順のチャートにしておくと、後戻りしない。
  • 会議での発言
    • 具体的・本質的なことをいう。
    • 脈絡のない思いつきや情報、一般的な意見を言っても、会議は進まない。
  • 段取りで大切なのは、大筋を外さないこと
  • 素材とヴィジョンの間をつなぐ段取りが大切だ
    • 素材探しばかりしていないか
    • ヴィジョンばかり話して、足元をまったく固めていないのではないか