READING.JP

~日記で学ぶソフトウェア開発~

Railsで知っておきたいこと

01 Jun 2014

h3. Gem * acts_as_tree モデルをツリー構造として扱う * capybara ブラウザ操作 * capistrano 自動デプロイ * carrierwave ファイルアップロード * cucumber BDDフレームワーク * dalli Memacheクライアント * devise 認証ライブラリ * faraday HTTPクライアント * holiday_jp 日本の休日 * jquery-rails jqueryをAsset化 ** jquery-fileupload-rails jquery-fileuploadをAsset化 ** jquery-ui-rails jquery-uiをAsset化 * kaminari モデルの一覧をページング * nokogiri XML・HTMLのDOM操作 * poltergeist ヘッドレスブラウザPhantomJSを操作するためのドライバ * rails-i18n Railsがデフォルトで用意しているメッセージの国際化 * remotipart AJAXでファイルアップロード * resque 非同期ジョブ ** resque-scheduler 非同期ジョブのスケジューリング * rmagick ImageMagickのRubyインターフェース * sanitize HTMLのきめ細かなサニタイズ * simplecov Rubyのカバレッジ測定 ** ci-reporter JenkinsなどのCIでカバレッジ結果を扱いやすいようにXMLで出力 ** simplecov-rcov simplecovのカバレッジ結果をJenkinsなどのCIが理解している旧形式に変換 h3. 手法 * Asset Pipeline JavaScript・CSSファイルの単一のファイルに統合、minify * 楽観ロック lock_versionカラムによる判定でStaleObjectError * accepts_nested_attributes モデル構造を一発更新 * トランザクション ** マイグレーションファイルの作成単位 * Restful 規約に沿ってわかりやすいルーティング * Rack アプサーバの統一仕様 ** middleware リクエスト処理のモジュール化 * 多言語対応 * コア機能の拡張 h3. インフラ * Git * Jenkins ** 分散ビルド ** 各種プラグイン *** AnsiColor *** BuildPipeline *** HtmlPublisher *** ReverseProxyAuth *** Rake *** ruby metrics * Fluentd ** mongodb ** elasticsearch ** kibana * Rackサーバ ** passenger ** unicorn ** thin