Enviar pesquisa
Carregar
Ruby on Rails 入門
•
33 gostaram
•
11,281 visualizações
Yasuko Ohba
Seguir
2008-03-10 に club db2 にて行った Ruby on Rails 入門セミナーの資料です。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 91
Baixar agora
Baixar para ler offline
Recomendados
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュ
Kenji Mori
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
Ruby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステム
Tomoya Kawanishi
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
Masayuki Morita
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata
Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) API
Yohei Yasukawa
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada
SunspotではじめるSolr入門
SunspotではじめるSolr入門
Takao Baba
Recomendados
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュ
Kenji Mori
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
Ruby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステム
Tomoya Kawanishi
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
Masayuki Morita
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata
Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) API
Yohei Yasukawa
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada
SunspotではじめるSolr入門
SunspotではじめるSolr入門
Takao Baba
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
Yohei Yasukawa
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
Kanako Kobayashi
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
Yohei Yasukawa
すこやかRails
すこやかRails
Takafumi ONAKA
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Takafumi ONAKA
Sprocketsを捨てたい
Sprocketsを捨てたい
Masato Noguchi
Bundler 2 の胎動
Bundler 2 の胎動
Koichi ITO
RESTとRailsスタイル
RESTとRailsスタイル
Toru Kawamura
Swiftで外部ライブラリを使ってみよう
Swiftで外部ライブラリを使ってみよう
Kanako Kobayashi
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
Hirata Tomoko
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
Takafumi ONAKA
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
Yasutomo Uemori
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!
Ouka Yuka
Scala.js触ってみた
Scala.js触ってみた
Asami Abe
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
Masato Noguchi
Dark vol4 for_slideshare
Dark vol4 for_slideshare
ara_ta3
RubyでGUIアプリケーションを書く
RubyでGUIアプリケーションを書く
Misao X
Next GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
よしだ あつし
バカでもわかるRails #02
バカでもわかるRails #02
Daisuke Ishii
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Yoji Shidara
Mais conteúdo relacionado
Mais procurados
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
Yohei Yasukawa
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
Kanako Kobayashi
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
Yohei Yasukawa
すこやかRails
すこやかRails
Takafumi ONAKA
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Takafumi ONAKA
Sprocketsを捨てたい
Sprocketsを捨てたい
Masato Noguchi
Bundler 2 の胎動
Bundler 2 の胎動
Koichi ITO
RESTとRailsスタイル
RESTとRailsスタイル
Toru Kawamura
Swiftで外部ライブラリを使ってみよう
Swiftで外部ライブラリを使ってみよう
Kanako Kobayashi
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
Hirata Tomoko
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
Takafumi ONAKA
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
Yasutomo Uemori
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!
Ouka Yuka
Scala.js触ってみた
Scala.js触ってみた
Asami Abe
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
Masato Noguchi
Dark vol4 for_slideshare
Dark vol4 for_slideshare
ara_ta3
RubyでGUIアプリケーションを書く
RubyでGUIアプリケーションを書く
Misao X
Next GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
よしだ あつし
Mais procurados
(20)
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
すこやかRails
すこやかRails
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Sprocketsを捨てたい
Sprocketsを捨てたい
Bundler 2 の胎動
Bundler 2 の胎動
RESTとRailsスタイル
RESTとRailsスタイル
Swiftで外部ライブラリを使ってみよう
Swiftで外部ライブラリを使ってみよう
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!
Scala.js触ってみた
Scala.js触ってみた
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
Dark vol4 for_slideshare
Dark vol4 for_slideshare
RubyでGUIアプリケーションを書く
RubyでGUIアプリケーションを書く
Next GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
Destaque
バカでもわかるRails #02
バカでもわかるRails #02
Daisuke Ishii
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Yoji Shidara
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
Toshiaki Sasaki
色彩センスのいらない配色講座
色彩センスのいらない配色講座
Mariko Yamaguchi
Building Modelsvwith Active Model
Building Modelsvwith Active Model
Shozo Hatta
docxをmdで書こう
docxをmdで書こう
Yukimitsu Izawa
Duolingo.pptx
Duolingo.pptx
syou6162
WordPressでサイト作成するときに知っておくといいことあれこれ
WordPressでサイト作成するときに知っておくといいことあれこれ
YUKI YAMAGUCHI
Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!
Kanako Kobayashi
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
Mayumi Narisawa
Railsチュートリアルの歩き方 (第3版)
Railsチュートリアルの歩き方 (第3版)
Yohei Yasukawa
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
Yoshiki Shibukawa
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
京大 マイコンクラブ
【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
Yuji Otani
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
Takuya Ueda
伝わるプレゼンをする方法
伝わるプレゼンをする方法
Hideaki Miyake
Destaque
(20)
バカでもわかるRails #02
バカでもわかるRails #02
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
色彩センスのいらない配色講座
色彩センスのいらない配色講座
Building Modelsvwith Active Model
Building Modelsvwith Active Model
docxをmdで書こう
docxをmdで書こう
Duolingo.pptx
Duolingo.pptx
WordPressでサイト作成するときに知っておくといいことあれこれ
WordPressでサイト作成するときに知っておくといいことあれこれ
Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
Railsチュートリアルの歩き方 (第3版)
Railsチュートリアルの歩き方 (第3版)
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
伝わるプレゼンをする方法
伝わるプレゼンをする方法
Semelhante a Ruby on Rails 入門
Rails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2edition
Satomi Tsujita
Start!! Ruby
Start!! Ruby
mitim
知って得する標準関数の使い方
知って得する標準関数の使い方
Soudai Sone
20110820 metaprogramming
20110820 metaprogramming
Masanori Kado
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
Goh Matsumoto
メタメタプログラミングRuby
メタメタプログラミングRuby
emasaka
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Taisuke Shiratori
次世代DaoフレームワークDoma
次世代DaoフレームワークDoma
Toshihiro Nakamura
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)
Masanori Machii
Project lambda
Project lambda
Appresso Engineering Team
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
Kenichi Tachibana
ATN No.2 Scala事始め
ATN No.2 Scala事始め
AdvancedTechNight
Rspec
Rspec
Yunosuke Taga
Let s database_testing
Let s database_testing
Yuji Shimada
scala-kaigi1-sbt
scala-kaigi1-sbt
Kenji Yoshida
プログラミング勉強会 その0
プログラミング勉強会 その0
Hirokazu Fukami
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Semelhante a Ruby on Rails 入門
(20)
Rails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2edition
Start!! Ruby
Start!! Ruby
知って得する標準関数の使い方
知って得する標準関数の使い方
20110820 metaprogramming
20110820 metaprogramming
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
メタメタプログラミングRuby
メタメタプログラミングRuby
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
次世代DaoフレームワークDoma
次世代DaoフレームワークDoma
PHP基礎勉強会
PHP基礎勉強会
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)
Project lambda
Project lambda
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
ATN No.2 Scala事始め
ATN No.2 Scala事始め
Rspec
Rspec
Let s database_testing
Let s database_testing
scala-kaigi1-sbt
scala-kaigi1-sbt
プログラミング勉強会 その0
プログラミング勉強会 その0
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
Mais de Yasuko Ohba
Rubyによる開発プロジェクトをうまく回すには(2)
Rubyによる開発プロジェクトをうまく回すには(2)
Yasuko Ohba
Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)
Yasuko Ohba
TECH LAB PAAK 2015/06/24 Team Development
TECH LAB PAAK 2015/06/24 Team Development
Yasuko Ohba
女性IT技術者と働き方 情報処理学会77
女性IT技術者と働き方 情報処理学会77
Yasuko Ohba
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5
Girl, Geek and Company - Tokyo Girl Geek Dinners #5 2013/7/5
Yasuko Ohba
世界を描く Drawing the world
世界を描く Drawing the world
Yasuko Ohba
Sendai ruby-02
Sendai ruby-02
Yasuko Ohba
Good Names in Right Places on Rails
Good Names in Right Places on Rails
Yasuko Ohba
ごきげんRails
ごきげんRails
Yasuko Ohba
名前のつけ方
名前のつけ方
Yasuko Ohba
Shimane2010
Shimane2010
Yasuko Ohba
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 Ruby
Yasuko Ohba
Sub Resources Rails Plug-in
Sub Resources Rails Plug-in
Yasuko Ohba
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
Yasuko Ohba
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
Yasuko Ohba
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
Yasuko Ohba
Raspbilly
Raspbilly
Yasuko Ohba
テスト大嫌いっ娘のRSpec
テスト大嫌いっ娘のRSpec
Yasuko Ohba
Shimane2008
Shimane2008
Yasuko Ohba
Mais de Yasuko Ohba
(20)
Rubyによる開発プロジェクトをうまく回すには(2)
Rubyによる開発プロジェクトをうまく回すには(2)
Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)
TECH LAB PAAK 2015/06/24 Team Development
TECH LAB PAAK 2015/06/24 Team Development
女性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/5
世界を描く Drawing the world
世界を描く Drawing the world
Sendai ruby-02
Sendai ruby-02
Good Names in Right Places on Rails
Good Names in Right Places on Rails
ごきげんRails
ごきげんRails
名前のつけ方
名前のつけ方
Shimane2010
Shimane2010
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 Ruby
Sub Resources Rails Plug-in
Sub Resources Rails Plug-in
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
More Pragmatic Patterns of Ruby on Rails at Kansai Ruby Kaigi #02
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
Pragmatic Patterns of Ruby on Rails - Ruby Kaigi2009
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
Raspbilly
Raspbilly
テスト大嫌いっ娘のRSpec
テスト大嫌いっ娘のRSpec
Shimane2008
Shimane2008
Ruby on Rails 入門
1.
Ruby on Rails
入門 2008. 3. 10 株式会社万葉 大場寧子
2.
自己紹介 実装大好きプログラマ Award on Rails
2006 大賞受賞 Ruby歴2年 会社を作りました
3.
デブサミ後の飲み会にて キムラデービーさんと感動の(?)再会 ちょうどいいから Ruby on
Rails の入 門講師をやってください
4.
Ruby on Rails Webアプリケーションフレームワーク Ruby オールインワン
5.
RoRとの出会い 2006年春 マネージャーをやめてプログラムを楽 しむことにする Java サーバの用意を旦那にねだる
6.
RoRとの出会い 2006年春 マネージャーをやめてプログラムを楽 しむことにする Java サーバの用意を旦那にねだる
断られた
7.
ふてくされる ミドルウェア苦手です 代わりに「Ruby on Rails」の本を手渡 される なぜか環境も用意されている ・・・・しぶしぶ手をつける
8.
RoR ってスゴイ! スイスイ作れる 実は本格的 かゆいところに手が届く
9.
楽しい! そのままどんどん作り続けた 旦那が、Award on Rails
を薦める 大賞・審査員特別賞を頂戴する
10.
ずっと RoR 業務でもRuby on
Rails ECサイト SNS 医事会計 地球の歩き方 旅すけ
11.
今日のお題 Ruby ってどんなカンジ? Ruby on
Rails の雰囲気をつかむ ActiveRecord について少し詳しく 実際に現場で使っての感想
12.
時間配分 Ruby - 10分 Ruby
on Rails - 30分 ActiveRecord - 20分 現場 - 5分
13.
Ruby って
どんなカンジ? とてもイイ 目を慣らさないと Rails に入れない Rails に行く前に軽く説明します
14.
Ruby 事始め
用意するもの Ruby, RubyGem RoR 対応バージョンは 1.8 Windows なら One-Click Installer http://rubyinstaller.rubyforge.org/wiki/wiki.pl
15.
irb Ruby の動作を対話的に試せる > irb
これを使いながらRubyの動作を 説明していきます。 DEMO
16.
クラスの定義 class Dog end Dog
というクラスができます DEMO
17.
インスタンスを作る dog = Dog.new
dog という変数ができます Dog クラスのインスタンスが作ら れ、dog に代入されます DEMO
18.
メソッドの定義 class Dog def
say p 'Baw!' end end インスタンスメソッド say を定義する DEMO
19.
メソッドを呼ぶ dog = Dog.new dog.say
dog の say メソッドを呼ぶ DEMO
20.
引数のあるメソッド def eat(food) if
food p 'Thank you!' else p 'oooooo' end end DEMO
21.
引数のある
メソッドを呼ぶ dog = Dog.new dog.eat(100) DEMO
22.
メソッドの () の省略 dog
= Dog.new dog.eat 100 省略してもわかるものは省略できる 書式の統一よりのびのびした使い勝手 自由 > 統制 DEMO
23.
インスタンス変数 class Dog def
name=(name) @name = name end end @がついた変数はインスタンス変数 外部から直接アクセスできない DEMO
24.
クラスを調べてみる dog.kind_of?(Dog) dog.kind_of?(Object) dog.kind_of?(String) p dog.class 継承元クラスを明示的に指定しないと
Object クラスの派生クラスになる DEMO
25.
クラスの継承 class Sheltie <
Dog def say p 'coon' end end Dog の派生クラス Sheltie を作る DEMO
26.
すべてがオブジェクト p 'Wow'.class p 100.class p
Dog.class プリミティブ型という概念なし クラスもオブジェクト DEMO
27.
動的型づけ 型宣言なし =すべての変数の型が Object である のと一緒 型の整合性は気にしない 動作するかどうかだけが重要
28.
文字列 "文字列です" "その犬の種類は #{dog.class.name} で す"
Stringクラス "..."では、#{}で評価結果を埋め込むこ とができる DEMO
29.
文字コード Ruby 1.8 では、文字列はバイト列 RoR
では utf-8を使う 日本語の操作は正規表現万歳 Ruby 1.9 では国際化された
30.
配列 a = Array.new a
= [] a = [1, 2, 3] p a[1] p a.size リスト操作は基本的に配列を使う DEMO
31.
ハッシュ h = Hash.new h
= {} h = {:id => 1, :name => 'Pochi'} p[:id] p[:name] RoRでは基本中の基本となるクラス :id ・・・シンボル(Symbol) DEMO
32.
引数にハッシュを渡す dog.eat( {:name
=> 'meat', :price => 320} ) 320円の肉を食べる DEMO
33.
ハッシュの{ }の省略 dog.eat :name
=> 'meat', :price => 320 任意のオプションを引数として渡すの に多用される DEMO
34.
null じゃなくて nil 世の中で
false なのは nil と false だけ 0 も false ではない
35.
あとのことは Ruby リファレンスマニュアル http://www.ruby-lang.org/ja/man/html/index.html
36.
RoR事始め
∼用意するもの∼ > gem install rails Rails を Ruby 環境に入れる Rails の最新バージョンは 2.0.2 DBを用意 IDE(Aptana, NetBeans etc)を用意
37.
アプリケーションを作る IDE
から New Project コマンドラインなら次のようにする > rails myapp →プロジェクトで使うファイルや ディレクトリ構造が作られる DEMO
38.
RoR の MVC app/controllers
app/models Controller Model DB View app/views
39.
Controller を動かす 勉強会参加者の管理アプリを作ってみ ます まずは Top
Page でも DEMO
40.
URL, Controller, View http://localhost:3000/top_page/index
TopPageController index アクション
41.
routes.rb どのURLに対してどのコントローラの どのアクションを呼び出すか定義 デフォルトの動作も定義されている
42.
URLが設計に影響 Controller クラスをどう分割するか RESTfulにするのに適した設計 モデルのCRUDとの自動対応
43.
データベースの準備 データベースを作る database.ymlを設定する
44.
モデルを作る 「Seminar」クラスを作ろう テーブル名は seminars title, date,
description を持つ Migrationでテーブルを作る モデルクラスを作る DEMO
45.
Controller, View と
つなげて動かす 「Seminar」モデルのメンテナンスの ためのコントローラ 「SeminarsController」を作る 簡単な登録フォームと一覧を作る DEMO
46.
Scaffold このような定型的な処理には Scaffold が利用できる あくまでも開発のための足場であっ て、完成品ではない
DEMO
47.
ActiveScaffold 完成品にしちゃえばいいじゃない! というプラグイン 管理機能などに便利
DEMO
48.
惑わされない Rails というと Scaffold
が有名 汎用的な実装を楽にするためのツール に過ぎない 人は Scaffold のために作るにあらず 本当の価値は、総合的な生産効率
49.
ActiveRecord O/R マッピング テーブル → クラス レコード → インスタンス
50.
ActiveRecordの
使い方 登録する 検索する 設計する
51.
Rails のコンソール > ruby
script/console Rails のライブラリがすべて使える状態 のコンソール ちょっとした動作確認に便利 これを使いつつ説明していきます DEMO
52.
レコードを登録する seminar = Seminar.new(
:title => 'Ruby on Rails 入門', :date => Date.today ) seminar.save インスタンスを作って save する DEMO
53.
Form から DBへ 画面
<%= text_field :seminar, :title %> リクエストパラメータ {:seminar => {:title => 値}} コントローラ seminar = Seminar.new(params[:seminar])
54.
バリデーション save を呼ぶと、内部でバリデーション メソッドが走る 空でないか? ユニークか? etc 違反があれば、保存されない
DEMO
55.
登録の前後に 好きな処理を挟める コールバック before_save before_validation after_save create専用、update専用もある
56.
レコードを検索する 全件検索 @seminars
= Seminar.find(:all) 2008年開催のものを検索する @seminars = Seminar.find(:all, :conditions => "date >= '2008-01-01' and date < '2009-01-01'") DEMO
57.
find_by_xxx find_by_date など、カラムごとの検索
メソッドが自動的に使えるようになる today_seminars = Seminar.find_by_date(Date.today) DEMO
58.
join find のオプションで :joins
で JOIN句 をそのまま記述する join したデータを後で使うなら、「関 連」を使うほうが楽
59.
「関連」を使った検索 「Seminar」には「Participant」(参
加者)が複数いる <% for p in seminar.participants %> ... 参加者情報の表示 ... <% end %> DEMO
60.
1 対 多の関連を張る class
Seminar < ActiveRecord::Base has_many :participants end class Participant < ActiveRecord::Base belongs_to :seminar end DEMO
61.
関連を使う セミナーオブジェクトから参加者を得る participants = seminar.participants 参加者オブジェクトからセミナーを得る seminar
= participant.seminar
62.
関連の
Eager Loading Seminar.find(:all, :include => :participants) 一度の検索で関連オブジェクトも取得 デフォルトは Lazy Loading
63.
count, max など count
= Seminar.count last_date = Sminar.maxmum('date')
64.
必要な情報だけを
取得する dates = Seminar.find(:all, :select => 'date') 必要なカラムの情報だけを取得するこ ともできる DEMO
65.
SQLの
チューニング ActiveRecord が実際に使ったSQLは 開発ログに出る それを見ながらチューニング いざとなったらSQLを書く手も
66.
モデルを設計する オブジェクト指向とテーブル設計をいっ たりきたりしながら最適なポイントを 探す 両者のギャップを埋めるための高度な 機能が存在
67.
高度な機能 単一テーブル継承 ポリモーフィック関連
68.
単一テーブル継承
継承関係にある複数のクラスを class table class class 1つのテーブルに対応づける
69.
単一テーブル継承 テーブルの type カラムにクラス名が格 納される 操作対象のクラスによって、 ActiveRecord
がよきにはからう オブジェクト指向で作れる
70.
ポリモーフィック関連
* 1 複数のテーブル(=クラス)を、どれも 同じ関連であると見なす
71.
ポリモーフィック関連
* 1 複数のテーブル(=クラス)を、どれも 同じ関連であると見なす
72.
ポリモーフィック関連 タグが
* 1 複数のテーブル(=クラス)を、どれも 同じ関連であると見なす
73.
ポリモーフィック関連 タグが
いろいろなものにつく * 1 複数のテーブル(=クラス)を、どれも 同じ関連であると見なす
74.
ActiveRecord 凄い! オブジェクト指向で開発できる 自由度が高い 規約どおりにつくればコード量がとて も少なくて済む
75.
RoR の開発現場 アジャイルがお奨め モデル設計 →
URL設計 → 実装 10人くらい参加しても大丈夫
76.
ありがちな心配 コンパイル時のチェックがなくて品質 は大丈夫か? 分業しづらい? 大規模開発に向かない? パフォーマンスが悪い?
77.
案外大丈夫 テストをしっかりやれば品質は上げら れる オブジェクト指向に乗っ取れば分業は まったく問題ない 大規模開発もできる ただし、楽しくなくなるかも
78.
パフォーマンス 何も気にせず作ると、かなり遅い チューニング必須 キャッシュやDBまわりのチューニング でかなり速くなる
79.
テスト Rails には 3種類のテストフレームワー クが備わっている Unit
テストは使いやすい コントローラ・ビューのテストは Selenium が便利
80.
Ruby, Rails の習得 Java経験者なら構文はすぐ習得 1ヶ月もすれば開発戦力に らしい
プログラムを書くには3ヶ月 くらいかかる
81.
私の重視する開発習慣 コミュニケーション 名前づけの重視 DRY(同じコードを重複して書かな い)の追求 まず仮定し、あとで調節する
82.
RoRに必要な
マインド フレームワークに合わせる協調性 フレームワークを拡張する勇気 プラグインとの適切な距離感
83.
Rails に合わせる Rails の規約に従わないことは可能 大きなコストが伴う できるだけ仕様をRailsに合わせること が高い生産性を得るコツ
84.
Rails に呑まれない Rails にないからといって諦めない Ruby
も Rails も動作を上書きできる 何でもできる 勇気を持つ
85.
やりすぎない できるとやりたくなる 過ぎたるは及ばざるがごとし 改変ではなく拡張にとどめる バランスが難しい
86.
プラグイン いろいろ使えるようになっておくと開 発がとても早い ソースを読む覚悟で使う 国際化不足のものもある Railsのバージョンアップがしづらく なったりする
87.
サービス紹介 Web家計簿「小槌」 BookScope ImageUpload プラグイン
88.
小槌 http://www.kozuchi.net ユーザー間の貸し借り連動記入など
89.
BookScope http://bookscope.net 貸し借り管理のできる蔵書システム
90.
ImageUpload
プラグイン http://imageupload.rubyforge.org/ 伊藤忠商事 Tlab で開発 かっこよく画像をアップロードするプ ラグイン
91.
ご静聴ありがとうございました。
ご指摘・ご質問等は y.ohba@everyleaf.com までお願いします。
Baixar agora