本を読むのが結構好きで、ムラはありますが大体月に10冊ぐらい読んでるでしょうか。後海外に住んでいて日本の本が普通には手に入らないので、日本に出張するときには買い込んで帰ってきます。そういうときは、まず欲しい本や興味のあるジャンルのものを数冊選び、あとは書店をうろうろしながら何となく目にとまった本を数冊買うようにしています。新しい知識とかものの見方を得るためですね。
本も増えてくると、どの本がどういうステータスになっているのかわからなくなってきます。また、いったい自分はどういう本をどれぐらい持っているんだろうか?という疑問も出てきます。
ということで、昔から何か本を管理するよいツールはないかといろいろ試してきたのですが、どうも自分にフィットするツールがないのです。
実は私は元々プログラマという職業だったので、大昔には自作したりもしてみましたが、とにかく本の情報を打ち込むのがめんどくさくてツールを完成させても継続して情報をメンテナンスすることが出来ず、放置したこと数知れず......
で、最近はAmazonやらインターネットから基本情報を得ることが出来るようになり、しかもAPIの公開により自分なりに使いこなすことが出来るようになっています。いろいろあさったツールもそういった機能で情報が登録できるようになっています。
なので、C#を使って自分で作ってみようかとせこせことやりはじめてます。
もう、プログラミングをやらなくなって何年にもなりますが、開発環境もえらく変わりましたね。C#も3.0になっていて、いろいろ新しい技術が投入されています。
あれこれ調べながらコーディングするわけですが、「えー、こんな書き方できるの?」みたいなカルチャーショックを受けながらやってます。
とにかく昔届かなかったかゆいところにいろいろ手が届くようになってます。XMLの扱いなんかは特に便利になってますね。昔はいろいろ技術的なアプローチはあったのですが、結局扱いづらくてほぼ全て自前で処理するようなコードを書いていたのですけどね。
まあその分仕組みが複雑で理解が追いつかなくなってたりして、たった1行書くために調べ始めたことがどんどん深入りして、さらに脱線を繰り返し、気がつくと全然違うことを調べていたりします。
これではいかんと言うことで、とにかくまずは動くものを作ってから後からリファクタリング......という暗示をかけて、何とかAmazonのAPIから情報を取得して、XMLファイルで管理できるようにはなりました。例外処理も中途半端だったり、UIが適当だったりと、まあ完成品にはほど遠い状態ですが、やっぱり自分で作ったものだと愛着が出てきますね。
さて、私にとってはここからが使えるものになるかどうかの試練が待っています。ある程度出来てくると飽きが出てくること、「本を管理する」という目的のはずが、技術的な要素の追求に走ってしまい、「手段のためには目的を選ばない」状態になってしまうこと、この2点は自分で何か作るときの鬼門です。
昔は大体これのダブルパンチで、目的を忘れた上に、技術の追求に満足して飽きてしまうという最悪のパターンで、使えるものにならず死屍累々でした。
まあ、それも技術の肥やしにはなってたので全く無駄ではなかったんですけどね。
素直にツールとして育ってくれるといいなぁ......