SlideShare une entreprise Scribd logo
1  sur  105
Ruby on Railsで変わる
   エンタープライズ
     開発の現場

 株式会社万葉 大場寧子
2009.4.9 QCon Tokyo 2009
Ruby on Rails
✓知っている

✓ 使ったことがある

✓ 自社システム

✓ 受託開発案件
今日のテーマ

   Railsを
エンタープライズで
  普通に使う
Railsの採用
•本当に使える?

• メリット

• リスク

• 成功させるコツ
自己紹介

•大場寧子

• Award on Rails
 2006 大賞

•株式会社万葉
小槌
アカウント間で連携する
   Web家計簿
Rails歴
•2006∼2009

• 15人くらいまでのチー
ムで開発

•
SNS、旅行、EC、業務
系など
逆引きクイック
 リファレンス

  • RoR開発の実践逆引き辞典
  • 毎日コミュニケーションズ
  • 532p
  •3675円
2つの視点

•経営者

• プログラマ
ビジネス寄り

•JavaからRubyへ

• 元々軽量言語が好き
だったわけではない
Railsは本当に
  使える?
プログラマの主張

Rubyは
 楽しい
警戒される

楽しい = 怪しい
リスク
リスク

•Ruby大丈夫?

• エンジニア確保?

• 楽しいだけじゃ困る
楽しさとリスク
•
楽しくない言語Xに
関するリスク

•
楽しい言語Yに関す
るリスク
楽しさとリスクは
あまり関係ない!
楽しさの前に

•楽しさは結果である

• 結果には理由がある
理由は
つながっている
経営者がRailsを
使う3つの理由
早いリリース

•約束されている

• 期待できる
早いリリースの実現度
 スキル
  &    成功
ノウハウ



        失敗

        システムの規模・複雑さ
早いリリースが
  期待できる理由


•コード量が少ない

• コンパイルを待たない
コードが少ない

•Rubyの特徴

• 人間志向

• 型宣言なし
Rubyは柔軟


•壁を迂回しない

• 本質を書くだけ
ある種の言語
悲観的
  性悪説
高い堅牢な壁
Rubyの風景
楽観的
性善説
 自由
Railsは
少ないコードで
  書ける
Railsとコード量

•豊富な機能

• 規約の活用

• DRY
DRY
•Don t Repeat
Yourself

•
同じことをあちこち
に書かない
Ruby     Rails
•   打鍵数が少ない

• 把握すべきコードの絶
対的文字数が少ない

•   時間的に有利!
コンパイルを
     待たない

•
書いたコードがそ
のまま実行される

•すぐ確認できる
コンパイルを
 待つのは辛い

•思考の中断

• 待ち時間にほかのことを
始める
集中がとぎれる

  •  フロー状態

  • 中断されると、再開
    に15分かかる
Tom DeMarco & Timothy Lister Peopleware - 2nd
        Edition Productive Projects and Teams
Rubyなら
•最小限のコードで

• 素早く確認しながら

• 動くものが早く出来
上がる
ビジネス価値

•すばやく立ち上げる

• プロトタイピング
安く開発
本当に?


•   ある程度YES
安く開発の成功度
 スキル
  &
       成功
ノウハウ


        失敗

        システムの規模・複雑さ
少人数での開発
     少人数でも
  開発体制、手順と
 Railsの組み合わせで
大規模開発に匹敵できる
誤解

Javaで作るのと同じように
 Rubyで作ったら安くなる
安さの源
 Ruby、Railsの生産性
 Railsのコストパフォーマンスを追求
 プログラマが楽しい
 単価




 ※注)脳内イメージです
Railsの生産性は、
ある種の領域で高い
イメージ
 Railsの恩恵    コスト




よくある要件      完璧さ
変更に強い
変更に強いことの
  ビジネス価値

•ニーズへの素早い対応

• 小さく始めて育てる

• システムの寿命を長く
変更に強い理由

•Ruby

• Rails

• 文化
Ruby

•
変更を阻害する壁が
低い

•   読みやすく書ける
Rails
•   DRY

• どこに何が書いてある
べきか決まっている

•   DBの管理がしやすい
RDBのくびき
 からの解放
文化

•変更を嫌がらない

• どんどん変える

• 進化が早い
ただし
特性を活かすか
  殺すかで
結果が変わる
ほかのメリット
•環境構築が簡単

• エンジニアが育つ

• カスタマイズできる

• 複雑なものを作るのに向く
環境構築が簡単
•フルスタック

• DBツール、テストの
仕組み、ログ、国際化
etc
これだけ

> rails MyApp
エンジニアが育つ
     Railsには
   開発に関して良い
     とされる
   プラクティスが
   詰め込まれている
Railsを学ぶと

良いとされている
開発の考え方を
 同時に学べる
エッセンスの例
•MVC

• DRY, CoC

• O/R Mapping

• TDD, BDD
カスタマイズ

 フレームワークに
  不満があれば
 自分でカスタマイズ
複雑なものを
作るのに向く
軽量言語の
一般的イメージ
•手軽

• 簡単なもの向き

• 複雑なものは無理
Rubyは

•オブジェクト指向

• 構造化しやすい

• 複雑化に耐える
イメージ
コスト




             複雑さ
メリットの1つ


•   プログラマが楽しい
ポール・グレアム

素晴らしい仕事をするには、それをするのに
無理をする必要がないほどに好きなことを何
か見つければいいからだ。


      「How to Do What You Love - 好きなことをやるには」
         http://www.naochan.com/deprecated/2006/01/19/
情熱
Rails のリスク
Railsのリスク

•高負荷

• 可用性

• 速度
工夫できる

•分散

• shared-nothing
方式
COOKPAD
頻繁な
バージョン
 アップ
ついて行く?

•作業が発生

• 新しい不具合

• 知識が固定化しない
困る点
•
日本語の書籍や情報
が追いつかない

•
プラグインが死亡する
リスク
エンジニアの
  調達
認定試験

•Ruby技術者認定試験

• 2007年10月に開始
Rails活用のツボ
取捨選択
•80%達成で満足する

• レールに乗る

• こだわりは追求する
戦略的な選択
 Railsの恩恵    コスト




よくある要件      完璧さ
開発手法
•   アジャイル

• リズミカルに積み上
げる

•   テスト駆動開発
レイヤーで
担当者を分けない
レイヤーで分けると

•設計する人
•実装する人
 •ビジネスロジックを書く人
 •画面まわりを書く人
•テストする人
せっかく
Railsなのに
Railsでは

•設計と実装が地続き

• 行ったり来たりする

• それが効率的
レイヤーごとに
 分断するのは
  大きなロス
どうするか
•   機能で分担

• 全員、設計からテスト
まで担当

•   すべて他人と共有
開発体制の例
•ペアで開発する

• 4人くらいまでを1ユ
ニットとして、ユニット
を増やす

•担当を固定化しない
文化

•良い名前をつける

• コードをDRYにする

• 多様性
名前づけ
•時間をかけてよい

• 皆で決める

• もっといい名前が
あったら変える
DRY

•日常的に目指す

• 2回目が重要
多様性
•
強制はRubyの柔軟
性・楽しさを殺す

•
方向を決め、やり方
には多様性を持たせる
変更しやすくする

•DRY

• 名前

• 適切なところに書く

• シンプルなほうを選ぶ
変更しやすくする

•適切な単体テスト

• 変更を歓迎する文化

• git, SVN等を使う
変更しやすくする
•リリース工程の自動化

• 継続的インテグレー
ション

•   CruiseControl
リスクへの
 目配り
パフォーマンス
•セッションの使い方

• キャッシュを意識する

• ActiveRecord

• 分散
情報の入手
•書籍

• インターネット

• 英語で調べる

• コミュニティ参加
バージョンアップ




ついていく
バージョンアップ
•速くなる

• コードが少なくなる

• 最新の技術

• 最新の考え方
ついていかないと
•サポートされない

• 新しいRailsやプラグイ
ンの生産性が得られない

•技術力の相対的な低下
問題は
•
バージョンアップすべ
きか?

•
バージョンアップす
るためにどうするか?
準備する
•   合意を作っておく

• バージョンアップ作
業を計画にいれておく

•   テストを書いておく
覚悟する

•
いざとなったらRails
のコードを追う
まとめ
•
Ruby、Railsを企業で
活用するには

•   新しい考え方、スタイル

• 始まっています

Contenu connexe

Tendances

KPT発表会 - アジャイルひよこクラブ
KPT発表会 - アジャイルひよこクラブKPT発表会 - アジャイルひよこクラブ
KPT発表会 - アジャイルひよこクラブAtsushi Harada
 
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜Akira Nagata
 
5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方Jumpei iwamura
 
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術Noriaki Kadota
 
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02Yasuko Ohba
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Takafumi ONAKA
 
ぼくたちのじゅたくかいはつ
ぼくたちのじゅたくかいはつぼくたちのじゅたくかいはつ
ぼくたちのじゅたくかいはつAtsushi Harada
 
Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)Makoto Nishimura
 
ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】schoowebcampus
 
マスコットアプリ─ キャラアプリ─ 開発 with Xamarin
マスコットアプリ─ キャラアプリ─ 開発 with Xamarinマスコットアプリ─ キャラアプリ─ 開発 with Xamarin
マスコットアプリ─ キャラアプリ─ 開発 with Xamarinjz5 MATSUE
 
Web現場Meetup #2 圧倒的成長環境の作り方
Web現場Meetup #2 圧倒的成長環境の作り方Web現場Meetup #2 圧倒的成長環境の作り方
Web現場Meetup #2 圧倒的成長環境の作り方kaiba d
 
最速で価値を提供する
最速で価値を提供する最速で価値を提供する
最速で価値を提供するLIFULL Co., Ltd.
 
サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善PIXTA Inc.
 

Tendances (16)

KPT発表会 - アジャイルひよこクラブ
KPT発表会 - アジャイルひよこクラブKPT発表会 - アジャイルひよこクラブ
KPT発表会 - アジャイルひよこクラブ
 
Rubyのススメ
RubyのススメRubyのススメ
Rubyのススメ
 
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
 
なれる!IL
なれる!ILなれる!IL
なれる!IL
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
 
5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方
 
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
 
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
 
ぼくたちのじゅたくかいはつ
ぼくたちのじゅたくかいはつぼくたちのじゅたくかいはつ
ぼくたちのじゅたくかいはつ
 
Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)
 
ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】
 
マスコットアプリ─ キャラアプリ─ 開発 with Xamarin
マスコットアプリ─ キャラアプリ─ 開発 with Xamarinマスコットアプリ─ キャラアプリ─ 開発 with Xamarin
マスコットアプリ─ キャラアプリ─ 開発 with Xamarin
 
Web現場Meetup #2 圧倒的成長環境の作り方
Web現場Meetup #2 圧倒的成長環境の作り方Web現場Meetup #2 圧倒的成長環境の作り方
Web現場Meetup #2 圧倒的成長環境の作り方
 
最速で価値を提供する
最速で価値を提供する最速で価値を提供する
最速で価値を提供する
 
サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善
 

En vedette

TECH LAB PAAK 2015/06/24 Team Development
TECH LAB PAAK 2015/06/24 Team DevelopmentTECH LAB PAAK 2015/06/24 Team Development
TECH LAB PAAK 2015/06/24 Team DevelopmentYasuko Ohba
 
Good Names in Right Places on Rails
Good Names in Right Places on RailsGood Names in Right Places on Rails
Good Names in Right Places on RailsYasuko Ohba
 
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009Yasuko Ohba
 
Rubyによる開発プロジェクトをうまく回すには(2)
Rubyによる開発プロジェクトをうまく回すには(2)Rubyによる開発プロジェクトをうまく回すには(2)
Rubyによる開発プロジェクトをうまく回すには(2)Yasuko Ohba
 
Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)Yasuko Ohba
 
名前のつけ方
名前のつけ方名前のつけ方
名前のつけ方Yasuko Ohba
 
テスト大嫌いっ娘のRSpec
テスト大嫌いっ娘のRSpecテスト大嫌いっ娘のRSpec
テスト大嫌いっ娘のRSpecYasuko Ohba
 
SMS il RE della comunicazione
SMS il RE della comunicazioneSMS il RE della comunicazione
SMS il RE della comunicazioneDavide Ricca
 
Η αγαπημένη μου πόλη
Η αγαπημένη μου πόληΗ αγαπημένη μου πόλη
Η αγαπημένη μου πόληdroula_
 
برندسازی بین المللی احمدرضا اشرف العقلایی Dba7-mahan- کارآفرینی
برندسازی بین المللی احمدرضا اشرف العقلایی  Dba7-mahan- کارآفرینیبرندسازی بین المللی احمدرضا اشرف العقلایی  Dba7-mahan- کارآفرینی
برندسازی بین المللی احمدرضا اشرف العقلایی Dba7-mahan- کارآفرینیAshrafologhalaei Ahmadreza
 
DALLA DELUSIONE ALLA SPERANZA
DALLA DELUSIONE ALLA SPERANZADALLA DELUSIONE ALLA SPERANZA
DALLA DELUSIONE ALLA SPERANZASimone Tranquilli
 
Virální marketing
Virální marketingVirální marketing
Virální marketingPavel Herman
 
サーバ構築自動化 On aws sqaleの場合
サーバ構築自動化 On aws   sqaleの場合サーバ構築自動化 On aws   sqaleの場合
サーバ構築自動化 On aws sqaleの場合Ryo Kuroda
 

En vedette (20)

TECH LAB PAAK 2015/06/24 Team Development
TECH LAB PAAK 2015/06/24 Team DevelopmentTECH LAB PAAK 2015/06/24 Team Development
TECH LAB PAAK 2015/06/24 Team Development
 
Good Names in Right Places on Rails
Good Names in Right Places on RailsGood Names in Right Places on Rails
Good Names in Right Places on Rails
 
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
 
Sendai ruby-02
Sendai ruby-02Sendai ruby-02
Sendai ruby-02
 
Rubyによる開発プロジェクトをうまく回すには(2)
Rubyによる開発プロジェクトをうまく回すには(2)Rubyによる開発プロジェクトをうまく回すには(2)
Rubyによる開発プロジェクトをうまく回すには(2)
 
Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)
 
名前のつけ方
名前のつけ方名前のつけ方
名前のつけ方
 
テスト大嫌いっ娘のRSpec
テスト大嫌いっ娘のRSpecテスト大嫌いっ娘のRSpec
テスト大嫌いっ娘のRSpec
 
Shimane2010
Shimane2010Shimane2010
Shimane2010
 
SMS il RE della comunicazione
SMS il RE della comunicazioneSMS il RE della comunicazione
SMS il RE della comunicazione
 
מחדד 05.03
מחדד 05.03מחדד 05.03
מחדד 05.03
 
Ic tmagic tm clevedon
Ic tmagic tm clevedonIc tmagic tm clevedon
Ic tmagic tm clevedon
 
Ejercicio 3 de word
Ejercicio 3 de wordEjercicio 3 de word
Ejercicio 3 de word
 
Η αγαπημένη μου πόλη
Η αγαπημένη μου πόληΗ αγαπημένη μου πόλη
Η αγαπημένη μου πόλη
 
Boletín IV enero 2016
Boletín IV enero 2016Boletín IV enero 2016
Boletín IV enero 2016
 
برندسازی بین المللی احمدرضا اشرف العقلایی Dba7-mahan- کارآفرینی
برندسازی بین المللی احمدرضا اشرف العقلایی  Dba7-mahan- کارآفرینیبرندسازی بین المللی احمدرضا اشرف العقلایی  Dba7-mahan- کارآفرینی
برندسازی بین المللی احمدرضا اشرف العقلایی Dba7-mahan- کارآفرینی
 
DALLA DELUSIONE ALLA SPERANZA
DALLA DELUSIONE ALLA SPERANZADALLA DELUSIONE ALLA SPERANZA
DALLA DELUSIONE ALLA SPERANZA
 
Virální marketing
Virální marketingVirální marketing
Virální marketing
 
サーバ構築自動化 On aws sqaleの場合
サーバ構築自動化 On aws   sqaleの場合サーバ構築自動化 On aws   sqaleの場合
サーバ構築自動化 On aws sqaleの場合
 
resumeh aali1
resumeh aali1resumeh aali1
resumeh aali1
 

Similaire à QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場

The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsKoichiro Ohba
 
逆引きクイックセミナー
逆引きクイックセミナー逆引きクイックセミナー
逆引きクイックセミナーKoichiro Ohba
 
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1Takuya Mukohira
 
Productive Organization with Ruby
Productive Organization with RubyProductive Organization with Ruby
Productive Organization with RubyHiroshi SHIBATA
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Yasushi Ishikawa
 
20120702勉強会 webアプリ作ってみた
20120702勉強会 webアプリ作ってみた20120702勉強会 webアプリ作ってみた
20120702勉強会 webアプリ作ってみたShugo Numano
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎schoowebcampus
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか真吾 吉田
 
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010Yuki Akamatsu
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座DIVE INTO CODE Corp.
 
サーバーレスの話
サーバーレスの話サーバーレスの話
サーバーレスの話真吾 吉田
 
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方Tomoya Narita
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Koichi Shimozono
 
Drupal on ibm_cloud_20160630
Drupal on ibm_cloud_20160630Drupal on ibm_cloud_20160630
Drupal on ibm_cloud_20160630Yasushi Osonoi
 
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyPaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyKatsunori Kawaguchi
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクションTakahiro Okumura
 

Similaire à QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場 (20)

The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
 
逆引きクイックセミナー
逆引きクイックセミナー逆引きクイックセミナー
逆引きクイックセミナー
 
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
 
Productive Organization with Ruby
Productive Organization with RubyProductive Organization with Ruby
Productive Organization with Ruby
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
 
20120702勉強会 webアプリ作ってみた
20120702勉強会 webアプリ作ってみた20120702勉強会 webアプリ作ってみた
20120702勉強会 webアプリ作ってみた
 
Benchmarkspec
BenchmarkspecBenchmarkspec
Benchmarkspec
 
Benchmarkspec
BenchmarkspecBenchmarkspec
Benchmarkspec
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか
 
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010
Railsプロジェクトを成功させるために現場ができること -Railsdevcon2010
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
 
サーバーレスの話
サーバーレスの話サーバーレスの話
サーバーレスの話
 
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 
Kaleidox
KaleidoxKaleidox
Kaleidox
 
Drupal on ibm_cloud_20160630
Drupal on ibm_cloud_20160630Drupal on ibm_cloud_20160630
Drupal on ibm_cloud_20160630
 
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyPaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happy
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
 

Plus de Yasuko Ohba

女性IT技術者と働き方 情報処理学会77
女性IT技術者と働き方 情報処理学会77女性IT技術者と働き方 情報処理学会77
女性IT技術者と働き方 情報処理学会77Yasuko Ohba
 
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5Yasuko Ohba
 
世界を描く Drawing the world
世界を描く Drawing the world世界を描く Drawing the world
世界を描く Drawing the worldYasuko Ohba
 
ごきげんRails
ごきげんRailsごきげんRails
ごきげんRailsYasuko Ohba
 
Smell in Rails Apps (in Sapporo RubyKaigi03)
Smell in Rails Apps (in Sapporo RubyKaigi03)Smell in Rails Apps (in Sapporo RubyKaigi03)
Smell in Rails Apps (in Sapporo RubyKaigi03)Yasuko Ohba
 
The Basis of Making DSL with Ruby
The Basis of Making DSL with RubyThe Basis of Making DSL with Ruby
The Basis of Making DSL with RubyYasuko Ohba
 
Sub Resources Rails Plug-in
Sub Resources Rails Plug-inSub Resources Rails Plug-in
Sub Resources Rails Plug-inYasuko Ohba
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門Yasuko Ohba
 
image_upload Plugin 2007/12/7
image_upload Plugin 2007/12/7image_upload Plugin 2007/12/7
image_upload Plugin 2007/12/7Yasuko Ohba
 
Ruby on Rails ステップアップ講座 - 大場寧子
Ruby on Rails ステップアップ講座 - 大場寧子Ruby on Rails ステップアップ講座 - 大場寧子
Ruby on Rails ステップアップ講座 - 大場寧子Yasuko Ohba
 
Ruby on Rails 中級者を目指して - 大場寧子
Ruby on Rails 中級者を目指して - 大場寧子Ruby on Rails 中級者を目指して - 大場寧子
Ruby on Rails 中級者を目指して - 大場寧子Yasuko Ohba
 
Bookscope 2007 09 07
Bookscope 2007 09 07Bookscope 2007 09 07
Bookscope 2007 09 07Yasuko Ohba
 

Plus de Yasuko Ohba (14)

女性IT技術者と働き方 情報処理学会77
女性IT技術者と働き方 情報処理学会77女性IT技術者と働き方 情報処理学会77
女性IT技術者と働き方 情報処理学会77
 
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5
 
世界を描く Drawing the world
世界を描く Drawing the world世界を描く Drawing the world
世界を描く Drawing the world
 
ごきげんRails
ごきげんRailsごきげんRails
ごきげんRails
 
Smell in Rails Apps (in Sapporo RubyKaigi03)
Smell in Rails Apps (in Sapporo RubyKaigi03)Smell in Rails Apps (in Sapporo RubyKaigi03)
Smell in Rails Apps (in Sapporo RubyKaigi03)
 
The Basis of Making DSL with Ruby
The Basis of Making DSL with RubyThe Basis of Making DSL with Ruby
The Basis of Making DSL with Ruby
 
Sub Resources Rails Plug-in
Sub Resources Rails Plug-inSub Resources Rails Plug-in
Sub Resources Rails Plug-in
 
Raspbilly
RaspbillyRaspbilly
Raspbilly
 
Shimane2008
Shimane2008Shimane2008
Shimane2008
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
 
image_upload Plugin 2007/12/7
image_upload Plugin 2007/12/7image_upload Plugin 2007/12/7
image_upload Plugin 2007/12/7
 
Ruby on Rails ステップアップ講座 - 大場寧子
Ruby on Rails ステップアップ講座 - 大場寧子Ruby on Rails ステップアップ講座 - 大場寧子
Ruby on Rails ステップアップ講座 - 大場寧子
 
Ruby on Rails 中級者を目指して - 大場寧子
Ruby on Rails 中級者を目指して - 大場寧子Ruby on Rails 中級者を目指して - 大場寧子
Ruby on Rails 中級者を目指して - 大場寧子
 
Bookscope 2007 09 07
Bookscope 2007 09 07Bookscope 2007 09 07
Bookscope 2007 09 07
 

Dernier

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Dernier (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場

Notes de l'éditeur

  1. 捕捉すると、Railsでは後で述べるように少人数で開発することが多いので、15人というのはRailsを使うプロジェクトのなかでは大きいほうです。
  2. エンジニアが楽しいということには、お客さんを喜ばせることができるという点が含まれている 経営者にとってもいいこと そういう具合に、エンジニアが楽しいだけという話ではなくて いろいろつながっている
  3. リリースが早い 安く開発できる 変更につよい
  4. 型宣言なしは一例 型を宣言するタイプの言語では、これからこの変数を文字列として使いますとか、定義してあげる必要があるし、型を変換することに意識をつかわないといけないけれどそのあたりをショートカットすることができる。
  5. 逆に、コードを増やす要因として、堅い言語では、仕組みが堅固で、仕組みに沿った お作法でいろいろ書かないといけないということがある。
  6. Ruby もそうですが、Railsだとさらに
  7. DRYについては次に詳しく
  8. 1時間に4回、15分おきにしたとして、1日32回 1回2分でも1時間使う計算になる
  9. 10年前に出た、プロジェクトの成功・失敗を人間の側の要因に光をあてて分析した本
  10. 安さの一つの理由として、少人数で開発するということがあります。 Railsでは少人数で開発することが多い。 それは、大人数に耐えられないというよりは、 少人数でもうまくやれば大規模開発に匹敵するもの(Webアプリケーションという分野になるけど)が作れるから
  11. Railsそのものだけじゃなくて 楽しいだけじゃなくて Railsの生産性が生きるようなWhatの選択 作るアプリをいかにレールに載せるか
  12. Railsのコストパフォーマンスを追求するというのはどういうことかというと
  13. これを頭に入れて、作るアプリをレールに載せれば安く作ることに成功する
  14. 「全部盛り込んでしまわないと後から変更は大変だ」という意識がある これは後から変更するのが実際に大変なことがあるから しかし、変更できるならその考えを変えることができる システムの寿命が長くなればその分、総合的にコストを抑えることができる
  15. 柔軟 読みやすい = DSL
  16. ここで半分 17:25
  17. だから、進化がとても早い。Railsはホット。
  18. やわらかくかみくだく Convention over Configuration 明示的な設定がないときは規約を使う
  19. ある程度Rubyが読み書きできればRailsの動作を変更することは可能 実は、フレームワークの制約で何かができなくなるといったリスクはとても低い
  20. 楽しいということは、生産性があがり、良い仕事ができるということ
  21. 情熱をもって仕事ができるのはとてもいいこと
  22. 月間2.8億PV(2008年7月リニューアル)
  23. 感覚的にはこの2年くらいで増えてきている気がするが エンジニアが調達しにくいというのは依然あるとおもう Javaエンジニアを育てるとしたらすぐ書き始め、3ヶ月でほどほど、半年くらいで一人前かな 社内アプリなど育てる環境があるといい
  24. 例えばこだわりのU/Iとか どうしてもPDF生成が必要だとか
  25. 密結合 テストとプロダクトコードの間でもいろいろ関連がある
  26. 新しい考え方として、 ・Railsのレールに載せてアプリケーションを作る ・変更に強くしたり、バージョンアップについていったり ・名前大事、多様性 ・実際にRailsを使っている企業の現場ではこういうことが当たり前になってきている A)技術者としての夢 - すべてがDRYになって、やりたいことがいっぱいできるようになる    煩わしい機械的作業から解放される    でも花に水やるとか、やりたいことはやってかまわないけど B)Railsは普通にとても使える技術だし、どのくらい使うにせよ、体験して損のないものだと思います。RubyやRailsはコミュニティが活発で変化が早くホットなので、興味のある方はぜひいろいろなコミュティ活動に参加されるとよいと思います。