このウェブサイトの実装を少し変えた

r7kamura.comの実装方法を少し変えた。

変更前の実装方法は、Node.jsでファイルシステムから読み出したデータを元に、適切にHTMLやCSSなどの静的ファイルを生成する、というものだった。

変更後の実装方法は、RubyでRackアプリケーションを用意し、別途ファイルシステムから読み出したデータを元にURL群をつくり、前述のRackアプリケーションにGETリクエストで問い合わせた結果を静的ファイルとして保存する、というものになった。

普通の動的なWebアプリケーションを開発するときの手法を持ち込みたかったので、こういう実装に変更した。書いた文章をローカル環境で確認したいときに、わざわざ静的ファイルをビルドしなくても、(Rackアプリをrackupで動かすことで) 簡単に確認できるようになったという利点も大きい。


Railsを利用したWebアプリケーションの慣習的な設計に対して、個人的にはこう変えた方が良いと思っているところが幾つかある。一例を挙げると、以下の通り。

  • アプリ内で定義する全ての定数はそのアプリ用の定数の下に定義した方が良い
    • 例: MyApp::Models::Article
  • 1 action 1 classの方が良い
    • 例: MyApp::Controllers::ShowArticle

今回は、この二点を意識して、Rackを利用した実験的なWebアプリケーションフレームワークの取っ掛かり部分をつくってみて、それを利用してこのウェブサイトを実装してみた。