Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web現場Meetup#3 Ruby on Rails: the Good Parts 2018

Avatar for urakawa urakawa
March 12, 2018

Web現場Meetup#3 Ruby on Rails: the Good Parts 2018

Avatar for urakawa

urakawa

March 12, 2018
Tweet

Other Decks in Programming

Transcript

  1. Ruby on Rails: the Good Parts 2018 ピクスタ株式会社 プラットフォーム本部 開発部

    エンジニア 大村 直人 (twitter: @urakawa) Web現場meetup #3
  2. • Rails 5.1 / 5.2 の新機能の話 (Active Storage は早く使ってみたいですね) •

    フロントエンド(JavaScript)の話 • 教育や組織論の話 話さないことリスト
  3. fotowa のサービス規模 • 月間撮影件数(最大実績) 1,800 over • 2017 年間撮影件数 YoY

    +600% over • 総登録フォトグラファー 500 over オープンから2年が経ちました 一定の規模のビジネスになってきたが、 まだまだサービスとして成長・拡大が期待されるフェーズ
  4. fotowa のプロジェクト規模 • プロダクトオーナー 1 • エンジニア 4 • デザイナー

    3 • 運用・ビジネスサイド担当 5 + α オープンから2年が経ちました 一定の規模のビジネスになってきたが、 まだまだサービスとして成長・拡大が期待されるフェーズ
  5. fotowa のシステム規模 • Ruby (バックエンドのアプリケーション) 8000行 • Ruby (テストコード) 4500行

    • DB マイグレーションファイル 1000行 • ビューテンプレート 13000行 オープンから2年が経ちました 一定の規模のビジネスになってきたが、 まだまだサービスとして成長・拡大が期待されるフェーズ
  6. Rails の生産性の意味 Rails Doctorine ( http://rubyonrails.org/doctrine/) より (邦訳 http://postd.cc/rails-doctrine/) ひとりで完結して統合システムを記述することができる。

    → 実装開始からサービス開始までの速度重視 *一人の時は、知識のばらつきが問題にならない It is this focus on empowering the individual that points to the integrated system. (統合システムに目を向けるのは、個人に能力を与えることに重点を置いているからで す。)
  7. 大原則 • Rails のレールには乗る ◦ CoC (設定より規約) ◦ ActiveRecord ◦

    コントローラの基本7アクション • 機能を「あるから使う」は NG ◦ DHH の気持ちになって適切な使い所を考える
  8. 非推奨 (2) ActiveRecord コールバック • 非同期処理でも Observer パターンでもない • AやってBやって…って処理の流れを追えますか?

    ビジネスとして必然性のある処理はコールバックに書かない 使っていい例: • アプリケーションログを出力 • キャッシュをクリア
  9. Ruby on Rails: the Good Parts 2018 ピクスタ株式会社 プラットフォーム本部 開発部

    エンジニア 大村 直人 (twitter: @urakawa) Web現場meetup #3 終