Home » Featured, Headline, プログラミング

ミニ四駆の情報サイト開設しました

2013 / 6 / 13 コメント募集

趣味が高じてミニ四駆の情報収集サイトを作ってしまいました。自分用のメモも兼ねて簡単な解説でも。

作った動機は「ミニ四駆の情報収集をちょっとラクにしたい」→「API使えばいけそう」→「じゃあ作る」という、よくある感じです。

とりあえず管理側とサイト側を分ける必要がある。面倒なので慣れているCakePHPを2つ使う。APIに負担をかけるわけにも行かないのでcronで取得用のスクリプトを回してDBに入れる。サイト側は基本的にDBの内容を表示するだけで良い。
ここまで思いついて、サイト側はHTMLで画面のモックを作成。管理側は以前利用したCSSなどを流用。
TwitterBootstrap使うとスマホでも簡単に表示できるのでそれも使う。
今時スマホできちんと見られないサイトはありえません。CakePHP用のTwitterBootstrapプラグインを使用。
先にDBの設計だけしましたが、その他設計らしい設計はしてません。この手のサイトは設計よりも最小限の手数で素早く作るのが良いと思います。
構想5ヶ月、開発期間2ヶ月。ただし、まったく何もしない日もあれば2時間くらいしか手を動かさない日もあったり。ごくたまに丸一日集中してる日もあります。仕事じゃないのでね。適当ですが、一日8時間で考えると実質手を動かしたのは3週間分くらいだと思います(笑)

サーバ

サーバはさくらのVPS 1Gプランを利用。このサイトしか使わない方針で。
セットは通常のLAMP構成です。ドメイン設定、ファイアーウォール、ログローテーション、バックアップなどを設定。

管理側

ニュースのAPIはgoogle(内部でbingのAPIに切り替え可能)、amazon側はPA-APIを利用。ニュースはごくまれに紛れ込んでいるあまり関係のないニュースを手動で弾けるようにしています。ニュースは比較的うまく行ったのですが、amazonのAPIがあまり優秀ではなくちょっと苦労してます。
CakePHPのコンソールスクリプトでAPI自動取得の仕組みを作ってcronで回しています。このAPI周りが一番苦労しています。
コントローラ:6
コンポーネント:6
モデル:6
コンソール:1

サイト側

基本的にはDBからデータを出して表示させるだけです。
・各種エレメント(ヘッダー、フッター、サイドバー、その他コンテンツ)に分けて開発し、キャッシュ時間等を設定。
・サイト更新時にRSSフィールド自動生成
・sitemap生成
サイト側はそれほど苦労しませんでしたが、エラー表示書き換え、RSS用レイアウト、sitemap用レイアウトなど描画関連の細かい部分に時間がかかりました。管理側は別アプリなのでキャッシュクリア用スクリプトはこちら側に作り、シェルスクリプトで工夫して連携するようにしています。
コントローラ:5
モデル:7
ヘルパー:1
コンソール:1

よろしくです。

ミニ四駆情報サイト ミニ四駆 ネットアンテナ

[`evernote` not found]

どうぞこの記事に関するコメントをお寄せ下さい

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

これらのタグのみ使用出来ます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.

*