ウェブアプリケーションモダンPerl入門方式さて、いよいよシステム内部の話に入ります。これはボケてベータ版、また、いつも俺が個人で作っているアプリとも変わらずです。今回はベータ版に比べて、「賢く」作ることを心がけました。一般的な他のフレームワークと同じく、デフォルトでは、「MVCモデル」を提供するものです。なんてことになります。単体でのテストが難しくなるなど、スマートと言えるものではなくなってしまいます。加えて、実際に必要なロジックを扱う別の層を設けました。それが「API」層です。すると、アプリケーション全体のイメージとして結果的に以下のような構造になります。ControllerAPICLI例えば、投稿されたボケの最新20件を取得したかったら以下のように書けるわけです。書かれているものをかなり参考にしています。いうか、もろそのままだったりします。ベータ版より「賢く」作ることができたのでよかったです。作る上でかかせなかったのが、「Moose/Mouse」の存在です。支援するためのフレームワーク/モジュールです。API層で使うクラスを作るのに大活躍しました。一度使いだすと楽ちんです。体感できるほどアプリケーションの起動が速くなりました。Mouse」って手法は、個人的に今のところベストなウェブ開発法かと思いましたね。search.cpan.orgパフォーマンスチューニング今回の改善で実は一番気を使ったのが、バックエンドのパフォーマンスです。自分の知識・技術不足のせいもありベータ版は全体的に、ぶっちゃけかなり遅いです。そこで、ボトルネックはDB周りとだいたいわかっていたので、以下のような対策をしました。(後述するインフラ/サーバ周りの改善の影響も含む)の効果がありました。今のところうまくいっているようでよかったですね。Pluginの活用さて、フロントエンドは「jQuery」を使用しています。あるんだ」と参考にさせていただきました。UI」をベースとしました。セットが用意されているのが今回導入したきっかけです。そのままでテーマを切り替えることが可能です。角丸が効かなかったりと弊害もあるので、その辺りは今後評価していきたいです。自宅サーバに全て移行させました。その一番の理由がコストです。使う上で一般的な構成にしていました。インスタンスは一番安いものを24時間常時起動させておくと一つ当たり最低でも「約7,200円」月額でかかります。それが3つとなると、「21,600円」。回線使用料金なども含めてそれよりももっと高額になります。自分は「高い」との判断をしました。選択肢にあたったのが自宅サーバ環境での運用です。追加でかかる費用が、サーバ用マシン本体の値段及び電気代くらいになります。「安く」運営できるのです。ガンマ版でも継続して使っています。OSを仮想化させてなるべく少ないマシン、そして省電力でまかなえるようにしました。調査及び検証を行った結果できたこのサーバ周りの仕掛け。面白いことになっています。最初に、簡単に構成をまとめると以下の通りです。実質的に「ボケて」用というのは「1.x」台のマシンと言えます。簡単にひとつずつ解説してみます。自宅サーバで運用する場合においてかなり有効だと思います。