ハートレイルズの技術スタッフによるブログです。

ハートレイルズの技術スタッフによるブログです。
ウェブサービス、スマートフォンアプリの制作に関連する技術的な情報を発信していきます。

2011年12月5日月曜日

サーバに Dropbox を入れてデザイナとの協業をスピードアップ

こんにちは。昨年 12 月にハートレイルズに入社しました、大久保 (@kuboon) です。

3 月上旬に公開したキャット&チョコレートは、私がメインの開発を担当させていただきましたが、イラストその他の見た目デザインは、社内デザイナの @corink_web さんにお願いしました。

デザイナさんと一緒に仕事をする時には、「このように作ってください」「言われた通りに作りました」 という単方向の進め方では多くのロスが発生します。お互いに密にコミュニケーションを取りながら平行して作業を進める事ができれば開発効率はぐんと上がります。しかしこれは、心がけだけで実現できるほど簡単なことではありません。

動的なサイトをデザインしてゆくにあたり、「密にコミュニケーションを取る」 ためには、お互いの修正が実際に動くサイトへ瞬時に反映され、動作確認をできる環境が必須です。また、単純なサイズ変更のような修正であれば、わざわざデザイナさんにお願いするよりも自分でやってしまった方が早い場合もあります。css などは、二人とも随時修正したいものでもあります。こういった問題を簡単に実現するために、今回は dropboxd を使う事にしました。 Dropbox は強力なコラボレーションツールですが、実はコマンドライン版がありまして、これをサーバにセットアップすることで、たいへん便利な環境になるのです。

以下に、実際に私が作業をした時系列でその使い方を書いてみました。

2011年2月4日金曜日

状態遷移をスマートに実装するためのRailsプラグイン aasm

こんにちは。ハートレイルズの前島(@netwillnet)です。今回は aasm という、状態遷移をスマートに管理するためのRailsプラグインの紹介をしようと思います。

2011年1月24日月曜日

Rails アプリを nginx の拡張モジュールで置き換えて高速化する方法

こんにちは、ハートレイルズの境 (@kazsakai) です。好きなエクスペンダブルズはドルフ・ラングレンです。

さて、弊社ではよくサーバーサイドを nginx+passenger+Ruby on Rails という構成でサービスを構築しています。
Rails を使っているのは社名が HeartRails だから、というわけでは全くなく、単に僕が昔から Ruby を使っていたからで、他意はありません。
passenger は今や Rails/Rack アプリ向けの標準ミドルウェアみたいな存在で、このおかげで随分 Rails の運用が楽になっています。passenger のリリース以前は手製スクリプトで Rails プロセスを制御していましたが、もうあの頃には戻りたくありません。
そして nginx です。フロントエンドの web サーバーは Apache, lighttpd と移り歩いてきましたが、今のところ nginx で落ち着いています。nginx を使っている主な理由は、
  • 高速
  • 省メモリ
  • passenger が対応
あたりです。nginx の出始めこそはロシア製で胡散臭く思われていた節もありましたが、最近は nginx を採用しているサイトの増加と passenger+Rails の勢いもあって、nginx を使っている人も多いのではないでしょうか。

この nginx、使っている人は分かると思いますが、実行ファイルに類するものは nginx バイナリ一つだけです。Apache のように modules フォルダも mod_* ファイルもありません。
このため、一見すると nginx では拡張モジュールの開発が難しい、あるいはできないように見えるかも知れません。が、実際には意外とそうでもなく、ちょっと頑張れば自分だけの拡張機能を組み込めたりします。
そして、仮に Rack や Rails を通すこと自体がボトルネックになっているような場合、そこを nginx の拡張モジュールに置き換えて Rack/Rails を通らずに済むようにすれば、パフォーマンス向上が見込めるかも知れません。
今回の記事では、Rails で行っていた処理を nginx の拡張モジュールで置き換えるにはどうするのか、そしてどれくらいパフォーマンスが変わるのかを説明したいと思います。

2011年1月14日金曜日

技術ブログを開始します!

試験的な試みとして、これから技術ブログを開始します。
ハートレイルズの技術スタッフが持ち回りで、週に 1 回程度の頻度で技術関連の記事を掲載していくつもりです。初心者向けのネタもマニア向けのネタも色々織り交ぜていきますので、どうぞご期待ください!(誰も読んでくれないと試みも終わってしまいますので、ぜひ購読してください!)