RetroHateb開発時に参考にした本やサイトのまとめ
リリースしてからしばらく間が空いてしまいましたが、開発時に参考にした本やサイトなどのまとめを書いておこうと思います。
◎フレームワーク
PHPによるWebアプリケーションスーパーサンプル活用編 第2版
- 作者: KJ,田中ナルミ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2008/07/12
- メディア: 大型本
- 購入: 2人 クリック: 38回
- この商品を含むブログ (13件) を見る
フレームワークというものは「既に世に出回っているものを利用する」だけではなく、「自分なりに工夫して作りあげていく」こともできるのだということに気づかせてくれた本です。
世にある数多くのフレームワークの「ベースとなっている考え方」を理解することができ、掲載されているサンプルを参考にしながら自分専用のフレームワークを作成することができました。
phpspot開発日誌の中の方が書かれているそうなのですが、この本についての以下の紹介文が印象的ですね。
現在のところ、SymfonyやZendFramework等、MVCフレームワークは沢山でています。
この使い方の説明を書こうかと思ったのですが止めました。
なぜかというと、フレームワークについての理解があまりない状態で、フレームワークを使ってもメリットを感じにくい部分があるからです。
有名なフレームワークを使う前に、一度フレームワークを自作し、フレームワークについて理解を深めておくことの方が読者の方のスキルアップにつながるのでは?と思った結果です。
フレームワークというのは、WEBアプリの汎用的な挙動について理解した上でないと作れません。
実際に作ってみることでWEBアプリの挙動について理解し、WEBアプリケーション設計の力も身に付くのでは?と思っています。
「Rails入門」「CakePHP入門」といった、既存のフレームワークの使い方を解説する本は数多く出版されていますが、同じようなアプローチをとらなかった著者の解説スタイルに感心しました。
◎タブ
最近のサイトでよく見かけるタブ型のインターフェースですが、RetroHatebの中でもこれを取り入れています。
検索フォームは、RetroTubeと同じように「年代とサイト」だけにしようと考えていたので、表示された検索結果に対してユーザが月単位でタブ移動できるようにする必要がありました。
色々と自分なりにやり方を調べてみた結果、JavaScriptを使うやり方もあったのですが、あまりよくわからなかったので、今回は無難にCSSと画像のみで実現できるやり方を選択しました。
◎ページ遷移ナビゲータ
検索結果件数が非常に多くなるので、ページ遷移の為のナビゲータが必要でした。
ギーク図書館の時は自作したのですが、今回はあらかじめライブラリの存在を知っていたので、それを利用させていただきました。
始めの内は、パラメータの意味がよくわかっていなかったので、うまく動いてくれなかったのですが、一度自分でも実装したことがあるのですぐにイメージを掴むことができ、解決できました。
これと組み合わせてきれいなUIにしたりと、もう出来合いのパーツを組み合わせるだけで何でもできそうな気がしてきますね。
◎サイトロゴ
FREE Logo Maker - FREE Logo Creator - FREE Online Logo Design
ここには本当にいつもお世話になっています。
フォントのバリエーションが豊富で、納得できるサイトロゴが必ず作れます。
◎画面設計
ITエンジニアのためのWebデザイン (ITproBOOKS)
- 作者: 園田誠,中垣茂,川西裕幸,斉藤国博,ITpro編集部
- 出版社/メーカー: 日経BP社
- 発売日: 2008/10/16
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 65回
- この商品を含むブログ (3件) を見る
CSSの意味や使い方はおよそ理解できているつもりでも、いざ画面を作ってみるとなかなか思うようにいかないという方は多いでしょう。私も以前から悩んでいました。
この本によると、そうなってしまう原因は、画面設計についての基本的な知識が頭に入っていないからだそうです。
なるほどそう言われてみると、プログラミング言語をいくら勉強しても魅力的なアプリが作れるわけではないのと似ているような気がしてきますね。
この本には、配色やレイアウトなど、画面設計する上で必要な知識が適度に掲載されていて非常に参考になりました。
◎検索対象のサイトの選定
はてなーが大好きなブログBEST100
濃いはてなーが大好きな濃いブログBEST50 - てっく煮ブログ
検索対象サイトの選定にあたっては、やはり数多くブクマを集めているサイトを対象にするべきなので、こちらのサイトの調査結果を参考にさせていただきました。
また、はてブ上で人気のあるサイトとは別に、はてブ上で話題になった本が検索できたら便利かなと思い、本のブクマページも検索対象に含めています。
さらに、注目の動画についても過去履歴を見てみたいと思ったので、これも検索対象に含めました。削除されてしまっている動画が多いのが残念ですが、当時を振り返りながらぼんやり眺めているだけでも中々面白いです。
他には、asahi.comを入れてみたのですが、新聞記事のページは時間が経つと削除されてしまうので、あまり意味がなかったですね…。
◎検索結果
これについては、はてブの新着エントリーの右上にある「URL絞り込み検索」から取得しています。
この検索ボックスからURLしばりでGETしてきた内容を、正規表現でパースしてURLやブクマ数などを抽出しています。
例えば、増田なら「http://anond.hatelabo.jp/YYYYMM」を、痛いニュースなら「http://blog.livedoor.jp/dqnplus/archives/」といったURLを、検索ボックスに入れて単純に検索しているだけです。
後は、得られた検索結果を正規表現で加工して、sqliteデータベースに書き出し、出来上がりです。
余談ですが、この部分だけはRubyでスクリプトを書いて適当にやっているのですが、ソースコードはぐちゃぐちゃなので公開はしていません。
プログラミングに「攻め」と「守り」があるとすれば、この部分は明らかに「攻め」にあたるんでしょうね。
逆に、PHPで書いたフロント部分については、ガチガチに「守り」に入っていると思います。