imayomi: 2008年5月アーカイブ
私は通勤の行き帰りを使って、新書でだいたい3、4日に1冊くらい読めるペースだと思うので、今読ミに登録して読み始めると、1冊の本の情報を3、4回更新する事になります。コメントやタグだけ入れる場合もあるのでもう少し多いかもしれません。
今読ミの編集画面はその場にインラインで出すので、結構分かりやすいと思うのですが、どれか一つを変えるために全項目分の編集画面を出すのが少し大げだなと思っていました。
私は仕事から帰ってくるとその日に読んだ分を入れるようにしています。多くの場合、進捗と評価だけ入れるので、まずは「自分のホーム」と「最新の今読ミ」の進捗/評価のアイコンをクリックできるようにして、インプレースで変更できるようにしてみました。

今までと同様、欲しい/未読の状態から進捗が進むと、自動的に入手日が入ったり、読了にすると自動的に読了日も入ります。
今まで進捗や評価だけ入れるのに、大きな編集画面を出すのが面倒だと思っていた方は、お試しください。
バグ報告は imayomi@gmail.com か、このブログにコメントしていただけると嬉しいです。
(※今読ミ・ブログパーツテスト中)
ちょっとしたきっかけで佐藤亜紀という作家を知った。デビューはファンタジーノベルズ大賞なのかぁ。
私の最も好きな作家の一人が酒見賢一で、彼は第1回ファンタジーノベルズ大賞受賞者。受賞作品は「後宮小説」。私を古代中国の歴史小説好きにさせた張本人であります。
しかしファンタジーノベルズ大賞はその後、追いかけていなくて、後に鈴木光司という人が「リング」というホラー小説で話題になったときに読んで、あまりのしょーもなさに呆れ果て、その鈴木光司が実はファンタジーノベルズ大賞第2回の優秀賞(大賞は該当なし)だったと知って全く興味をなくしてしまったという経緯があります。(あぁ、でもその優秀賞になった「楽園」は後に読んで悪くなかった記憶あり)
そしてその第3回大賞受賞者が佐藤亜紀の「バルタザークの遍歴」みたいです。
全く知らなかったのですが、その後、件の賞を主催している新潮社といろいろあったりしたらしい。 本の目利きに関して非常に信頼している私の先輩が、最近読んでいるらしいので要チェックなのであります。
最近ユーザーが増えて来て、開発にも、より張り合いが出て来ました。
皆さんのプロフィールのブログやはてな認証の場合、はてなダイアリーを書いていらっしゃれば、はてダも楽しく読ませてもらってます。 今読ミを使っているのですから当然といえば当然ですが、多読な方が多い印象です。
さて、プロフィールに今読ミに関してのコメントを頂いてました。
ここは同じ本を何度も登録できそうなのでいいですね。安心して再読記録ができます。
よくぞ気づいてくれました(笑) 本によっては一度読むだけで終わりじゃないものもあると思うのです。図書館で借りて読んだ本を、買い直してもう一度読むとか、面白かったけど理解度が浅いなと思った技術系の本を2度、3度と読み直すとか。その際には前に読んだ記録はそのまま残しておきたいと思ったので、あえて重複登録を許す仕様にしてあります。
ちょっと怖いのはスパム的な登録ですが、実は今のところ何も制限はありません(゚∀゚) たぶん大丈夫… もし悪用されたなら、同じ日には(もっと厳しく7日以内はとか)登録できないなどの制限を、この目的に反しない程度に付ける可能性はあります。
さて、私も6年以上待たされている十二国記本編の続きがいつ出ても大丈夫なように、既刊をもう一度読み直そうかな(笑)
昨日寝ている間にMacPortsでImageMagickが入ったので、rmagickをgemると今度は問題なく入った。
不意に思い出してiTunesの引越を始めた。無性に新しいMacBookに全曲入たくなった。MacBookは160GB(実質140GB程度)なんだし、Classic iPod 60GB があるのだから別に移さなくても良いのだけど。
普通の100MB LANなのでかなり掛かるだろうが、曲読み込み時の表示の増え方を見ていると、およそ10時間くらいか。明日は寝溜めすると思うから起きる頃には終わっていると見た。
あとは再生回数やプレイリストをなんとかWindowsのiTunes Music Library.xmlから引っ張って来たいところだ。これは明日調べよう。ただ、Last.fmを使うようになってから、iTunesの再生回数の重要度が減った事は確かだ。
裏でiTunesの引越をやりながら、次はMySQLのインストール。
MySQLをMacPortsで入れるべきか、XAMPPで入れるべきか考えたが、Apache, MySQL, phpMyAdminが欲しいのでXAMPPで一気に入れる事に。
Windows版のXAMPPを試しに入れてみたときは、MySQLのストレージエンジンのInnoDBがデフォルトで入ってなかったり、入れようとするとうまく入らなかったりと意外と手こずるのだが、MacOSXは拍子抜けするぐらい簡単に入る。
インストールが終わったらFinderから「XAMPP Control Panel」を実行して各サービスを実行しても良さそうだが、Terminalで、 の方がUnixぽくてイイ。
テストデータをphpMyAdminに突っ込んで、いよいよRailsが立ち上がるかと思いきや、/tmp/mysql.sock が無いと言われた。XAMPPの場合はデフォルトでは /Applications/xampp/xamppfiles/var/mysql/mysql.sock にあるようだ。 Railsプロジェクトの config/database.yml の development: パートに と書く。
なんとかAptana StudioからRailsが起動し、今読ミの動作が確認できました。 これでmasuidriveさんの様にお風呂で開発したり、ひげぽんさんの様にスタバで開発したりできるわけです。
あら、もう5時を過ぎている。途中座ったまま寝ているなどしていたので、今はそれほど眠くはなくなっているが土曜をあまり潰さないために寝るか。 裏でやっていたiTunesの引越はというと、現在3745曲。1/3を少し超えたところです。計算通り起きる頃には終わってそうだ。
iwazerが2008年5月に買った本
自分のページであれば、その期間に使った金額も表示されます。
楽しい読書を!
やはりブログパーツはフラッシュだよなぁと思っていたので、なかなか手を付けなかったが簡単なものならJavaScriptだけでもいけそうなのでちょっとやってみた。
きっかけとしては【PHP TIPS】 81. ブログパーツを作ってみようを読んだから。いや、こういう風にやるというのは知っていたが、Railsでの具体的な例は見たことがなかったので、よしやってみるかと。
仕様はめっちゃシンプルに、自分の最新のn件の書影、書名、著者を表示するというもの。
これはちょっと前に外出先で手帳に描いていたイメージ。
まずURLをエイヤと http://imayomi.jp/ext/recent/iwazer?n=3 に決めます。パラメータnは表示する件数です。上記イメージだと3件なのでn=3。Railsだとデフォルトのルーティング設定を使うとすれば、 こんな感じで生成されるURLです。すなわちextというコントローラを生成。 次は、ext_controller.rbにidとnをパラメータとして受け取るrecentというメソッドを書くと。 Ownerモデルは(最初、ちょっと名前を付けそこなって気に入ってないのだけど…)本とメンバーの関連テーブルownersのモデル。なのでownersテーブルからメンバーがiwazerで、更新日(updated_at)の逆順にn件とって来ると上記みたいな実装になります。
#サンプルのコードはエラーチェックなどかなり端折ってますよ。
そして、ここからがRailsらしくRJSを使ってJavaScriptをページに埋め込むレスポンスを返すところ。
render :update を使います。 divのidを'd04786a8e9ac3405955a99d479b581b2'などという意味不明な値にしたのは、idがぶつかると危ないだろうなと思い、悩んだ挙句、何かのmd5値です。そしてその何かはもう忘れたが(笑)
ExtController#recent()がリクエストされたら、結果をJavaScriptで返すのですが、まず'd04786a8e9ac3405955a99d479b581b2'をidとしてもつdivタグをdocument.write()でその場に埋め込みます。
そしてその埋め込んだdivの内容を render :partial => 'recent' でレンダリングされるHTMLで置き換えます。すなわち views/ext/_recent.rhtml が必要です。 これはいささか汚いですね。最初はCSS指定を別別ファイルにしてたんですが、どうもブラウザによって効いたり、効かなかったりと制御が大変だったので、とりあえずちゃんと動けということで、全て直接タグへstyle属性として書きました。(テヘ)
実はこれで、もう完成です。
あとはブログの表示したい場所に とjsを読み込むscriptタグを書けば、右のサイドバーに出ている様に表示されました。
最後に、上記の様にRailsのAjax自動生成機能を使って楽をしているので、prototype.js の読み込みが必要ですが、他で使っているかも知れませんし<head>~</head>の記述を確認して、なければそちらに移したほうがよいと思います。
このエントリーのタイトルは「・・・JavaScriptでやってみる」なのですが、実は自分でJavaScriptのコードをを一切書いていない甘やかされよう。
この手のものを作るのは意外と初めてだったりするので、気になる所を見つけた方がいらっしゃれば、突っ込みお願いします。
各メンバーのホームのサイドバーにカレンダーが表示されるようになってますので、そこからアクセスできます。
例えばiwazerの2008年4月に読み終わった本は9冊などと分ります。
#4月はあまり読めなかったのだなぁ。
読了日は、進捗を「読了!」に変えると自動的に設定されますから、日付を直接選択する必要はありません。
ちなみに取得日も?に「欲しい!」以外を選ぶと自動設定されます。
ちょっと分り難いので、できたらその辺はJavaScriptで見えるようにするつもりです。
メンバーアイコンの左側が空いているのは、ブログみたく文章を記述できれば良いなと思っています。
GWはバリバリ今読ミのTODOを消化するぞー!と気合い入りまくりだったのですが、残りは明日1日だけ(´・ω・`)
結局、この機能に二日かかってしまったのだな。
いや実際は途中で本読んだり、寝たり、WEB見たり、ガイアの夜明け見たりしたけど(笑)
今回は休みも短かったし、このくらいにしといてやるかー(笑)
過去のエントリーを探ってみるとRuby on Railsを調べながら去年の今頃から今読ミを書き始めたので、私の中では1周年記念なのです。デザイン作ってもらって、ドメイン取って正式にオープンしたのは9月くらいなので、本当の1周年はもう少し先ですが。
1周年と関係があるかといえば、特に関係なく、昨日はhachimituさんと今読ミについて打ち合わせをしたのでした。
自分一人では気付かない事に色々と気付いてくれるので非常に面白いのだな。
打ち合わせの結果、いろいろと新しいタスクが増えて楽しくなってきた。
そんな訳で、久しぶりに今読ミのコードをたくさん書いて、気付いたら朝でした。
素晴らしい休日(笑)

