Humanity

Edit the world by your favorite way

自前スクリプトでプログラミング本のコードの管理


コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ
で思い出したんだけど
プログラミング本を買って勉強する時に
とりあえず書かないと忘れるので一応フォルダを作るんだけど
フォルダ移動しやすいために英語のフォルダにする。
そうするとどの本か忘れやすい。


で、コード片を探そうとしても見つからなかったりということがあったので
本の名前じゃなくてISBNで管理するようにして、
その本の名前を知りたい時はスクリプトに聞くようにしてみた。
結構前に書いたので変なところがあるかもしれないけど公開してみる。
(最近Perl書いてないなぁ・・・)



使い方の前にまず自分のディレクトリ構成から。
自分は冒頭で紹介した記事みたいに「~/work/言語名」にいろいろ溜め込んでるんだけど、
本のディレクトリは「~/work/books」にしてる。

> ls
4-7973-2703-0  978-4-7981-1917-5  978-4894714519  lookup-isbn.pl
4-89471-432-9  978-4797337204     isbn-list.txt

lookup-isbn.plはデフォルトでisbn-list.txtっていうutf8なファイルを読みにいく。
ファイルの内容はこんな感じ。
※空白の部分は必ずタブ(\t)にしてください。

> cat
978-4-7981-1917-5       モダンPerl入門
4-7973-2703-0   Java言語で学ぶデザインパターン入門
4-89471-432-9   標準テンプレートライブラリによりC++プログラミング
978-4797337204  Java並行処理プログラミング ―その「基盤」と「最新API」を究める―
978-4894714519  Effective C++ 原著第3版

本の名前を表示させるにはこんな感じ。

> ./lookup-isbn.pl 4-7973-2703-0
Java言語で学ぶデザインパターン入門

フォルダ名はシェル上で補完が効くので長ったらしいISBNを打ちこまなくても大丈夫。
全部表示させるには-aスイッチをつける

> ./lookup-isbn.pl -a
978-4-7981-1917-5:
  モダンPerl入門

4-7973-2703-0:
  Java言語で学ぶデザインパターン入門

4-89471-432-9:
  標準テンプレートライブラリによりC++プログラミング

978-4797337204:
  Java並行処理プログラミング ―その「基盤」と「最新API」を究める―

978-4894714519:
  Effective C++ 原著第3版

このとおり偉そうなこと言う割にはまだ全然本読んでませんorz(スクリプト作る前のコードは他のPC上にあったりもするんだけど(←言い訳
本読む時間を確保しないと・・・とりあえずニコ動見る時間削るかなー。。。



追記:
最初タイトル無しで投稿しちゃったせいであちらのブログのTB欄のリンクはタイトル無しになってる。ちょっとくやしい。