Rails講座第一回目<br />東京情報大学<br />河野義広<br />2011/06/08<br />
Rails講座の概要<br />目的<br />Ruby on Rails(Rails)の知識を得る<br />Webアプリケーションの開発に活かす<br />Webアプリ開発の最新動向を知る<br />進め方<br />解説に加え、適宜演習を...
第一回目の概要<br />Railsの概要<br />Ruby on Railsとは<br />MVCアーキテクチャ<br />利用するRails環境<br />Railsアプリの作成(演習)<br />Railsプロジェクトの作成とディレクト...
Ruby on Railsとは<br />特徴<br />Webアプリケーション開発の「フレームワーク」<br />オブジェクト指向スクリプト言語「Ruby」で記述<br />MVC(Model-View-Controller)アーキテクチャ<...
MVCアーキテクチャ<br />MVCアーキテクチャ<br />モデル:DBとの連携(ActiveRecordの利用)<br />ビュー:画面表示<br />コントローラ:ユーザからのデータ入力<br />コントローラ<br />モデル<br ...
Railsの設計哲学<br />DRY(Don’t Repeat Yourself、繰り返しを避けよ)<br />同じコードの繰り返しを避け、効率・品質の向上を目指す<br />設定より規約(Convention over Configurat...
Railsの主な特徴<br />ルーティング<br />「&」や「=」のないきれいなURLが使える<br />例:http://localhost:3000/members/show/1<br />マイグレーション<br />DBのテーブルを定...
Rails環境<br />必須環境<br />Ruby 1.8.5<br />Rails 2.10<br />RubyGems 1.3.1<br />Apache 2.2<br />MySQL 5.0<br />注意事項<br />Ruby 1...
今回作るRailsアプリ<br />今回の目標<br />DBと連動したWebアプリケーション<br />
Railsアプリの作成(1)<br />1. プロジェクトを作ってみよう<br /># rails プロジェクト名 –d mysql<br />※-dオプションはDBの指定(今回はmysql)<br />ディレクトリの内容を確認<br />ap...
Railsアプリの作成(2)<br />3. マイグレーションファイルを編集する<br /># vi db/migrate/***.rb<br />class Person < ActiveRecord::Migration<br />defs...
Railsアプリの作成(3)<br />4. DBを作成する<br /># vi config/database.yml<br /> ※DBの設定を確認する。必要ならスキーマ名を変更する。<br />rakeコマンド:DB操作(作成、削除、マイ...
Railsアプリの作成(4)<br />6. コントローラとビューを作る<br />#ruby script/generate controller people<br /> ※controllerの指定でコントローラとビューが作成される<br...
Railsアプリの作成(5)<br />8. コントローラを編集する<br /># vi app/controllers/people_controller.rb<br />DBの登録内容を表示するメソッドを作成<br />class Peop...
Railsアプリの作成(6)<br />9. ビューを編集する<br /># vi app/views/people/index.html.erb<br />コントローラのindexメソッドに対応する画面表示<br /><h1>Listing ...
Railsアプリの作成(7)<br />10. サーバを起動する<br /># ruby script/server<br />以下のURLにアクセスして動作を確認<br />http://157.80.83.208:3000/<br />ht...
Railsアプリの作成(8)<br />これまでの手順はscaffoldで簡単にできる<br />#ruby script/generate scaffold person name:stringage:integer<br /># rake ...
Rails開発のメリット<br />アジャイル開発<br />迅速かつ適応的なソフトウェア開発<br />簡単にプロトタイプ開発を行い、適宜修正しながら進める<br />プロジェクト管理<br />プロジェクトのディレクトリにすべてが入っている...
次回予告<br />内容<br />開発環境と実装、デバッグのポイント<br />
Upcoming SlideShare
Loading in …5
×

Rails講座1

2,860 views

Published on

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,860
On SlideShare
0
From Embeds
0
Number of Embeds
41
Actions
Shares
0
Downloads
14
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Rails講座1

  1. 1. Rails講座第一回目<br />東京情報大学<br />河野義広<br />2011/06/08<br />
  2. 2. Rails講座の概要<br />目的<br />Ruby on Rails(Rails)の知識を得る<br />Webアプリケーションの開発に活かす<br />Webアプリ開発の最新動向を知る<br />進め方<br />解説に加え、適宜演習を交える<br />内容<br />第一回目:Railsの概要とRailsアプリの作成<br />第二回目:開発環境と実装、デバッグのポイント<br />第三回目:RailsアプリのApache連携とSSL対応<br />第四回目:Twitter APIを利用した連携アプリの開発<br />第五回目:Railsでのサーバ間通信~RESTfulな開発~<br />
  3. 3. 第一回目の概要<br />Railsの概要<br />Ruby on Railsとは<br />MVCアーキテクチャ<br />利用するRails環境<br />Railsアプリの作成(演習)<br />Railsプロジェクトの作成とディレクトリ構成<br />マイグレーションによるDB作成<br />コントローラとビューの作成<br />Railsアプリの実行<br />Rails開発のメリット<br />アジャイル開発<br />プロジェクト管理<br />
  4. 4. Ruby on Railsとは<br />特徴<br />Webアプリケーション開発の「フレームワーク」<br />オブジェクト指向スクリプト言語「Ruby」で記述<br />MVC(Model-View-Controller)アーキテクチャ<br />モデル、ビュー、コントローラでの役割分担<br />RubyとRails<br />Ruby:プログラム言語<br />Rails:Rubyで記述されたフレームワーク<br />フレームワーク:ツール、ライブラリ、設定ファイル等<br />Ruby on Rails<br />Ruby<br />図1. RubyとRailsの関係<br />
  5. 5. MVCアーキテクチャ<br />MVCアーキテクチャ<br />モデル:DBとの連携(ActiveRecordの利用)<br />ビュー:画面表示<br />コントローラ:ユーザからのデータ入力<br />コントローラ<br />モデル<br />DB<br />端末<br />ビュー<br />ユーザ<br />図2. MVCアーキテクチャの概要<br />
  6. 6. Railsの設計哲学<br />DRY(Don’t Repeat Yourself、繰り返しを避けよ)<br />同じコードの繰り返しを避け、効率・品質の向上を目指す<br />設定より規約(Convention over Configuration)<br />あらかじめ用意された規約に従うことで設定を不要にする<br />例:モデルの命名規則<br />テーブル名:members(複数形にする)<br />モデルのクラス名:Member(単数形となる)<br />クラスを記述するファイル名:member.rb<br />
  7. 7. Railsの主な特徴<br />ルーティング<br />「&」や「=」のないきれいなURLが使える<br />例:http://localhost:3000/members/show/1<br />マイグレーション<br />DBのテーブルを定義するための機能<br />DBの種類に依存しない(SQL文は書かない)<br />対応DB:MySQL, PostgreSQL, SQLite, SQL Server, Oracle<br />モデルの操作<br />モデルの操作がDBの操作に対応(取り出し、保存、削除)<br />値の取り出し:@member.birthday<br />条件指定での検索:@member = Member.find_by_name(‘satou’)<br />コントローラ  アクションパラメータ<br />
  8. 8. Rails環境<br />必須環境<br />Ruby 1.8.5<br />Rails 2.10<br />RubyGems 1.3.1<br />Apache 2.2<br />MySQL 5.0<br />注意事項<br />Ruby 1.8.5は少し古いバージョン<br />yumでは1.8.5が最新だが、1.8系は1.8.7まである<br />1.8系と1.9系は言語仕様がだいぶ違う<br />
  9. 9. 今回作るRailsアプリ<br />今回の目標<br />DBと連動したWebアプリケーション<br />
  10. 10. Railsアプリの作成(1)<br />1. プロジェクトを作ってみよう<br /># rails プロジェクト名 –d mysql<br />※-dオプションはDBの指定(今回はmysql)<br />ディレクトリの内容を確認<br />app:アプリ、config:設定ファイル、db:DB定義<br />public:コンテンツ置き場、script:サーバ、ジェネレータ<br />2. マイグレーションでDBを作る<br /># cd rails_test<br /># ruby script/generate migration person<br />
  11. 11. Railsアプリの作成(2)<br />3. マイグレーションファイルを編集する<br /># vi db/migrate/***.rb<br />class Person < ActiveRecord::Migration<br />defself.up<br />create_table :people do |t|<br />t.string :name<br />t.integer :age<br />t.timestamps<br /> end<br /> end<br />defself.down<br />drop_table :people<br /> end<br />end<br />
  12. 12. Railsアプリの作成(3)<br />4. DBを作成する<br /># vi config/database.yml<br /> ※DBの設定を確認する。必要ならスキーマ名を変更する。<br />rakeコマンド:DB操作(作成、削除、マイグレーション)<br /># rake db:create<br /># rake db:migrate<br />5. DBの内容を確認する<br /># mysql –u root<br />mysql> show databases;<br />mysql> use project1_development;<br />mysql> show talbes;<br />
  13. 13. Railsアプリの作成(4)<br />6. コントローラとビューを作る<br />#ruby script/generate controller people<br /> ※controllerの指定でコントローラとビューが作成される<br />7. モデルを作る<br /># ruby script/generate model --no-migration<br /> ※オプションでマイグレーションしないを指定<br />
  14. 14. Railsアプリの作成(5)<br />8. コントローラを編集する<br /># vi app/controllers/people_controller.rb<br />DBの登録内容を表示するメソッドを作成<br />class PeopleController < ApplicationController<br />def index<br /> @people = Person.find(:all)<br />respond_to do |format|<br /> format.html # index.html.erb<br /> format.xml { render :xml => @people }<br /> end<br /> end<br />end<br />
  15. 15. Railsアプリの作成(6)<br />9. ビューを編集する<br /># vi app/views/people/index.html.erb<br />コントローラのindexメソッドに対応する画面表示<br /><h1>Listing people</h1><br /><table><br /> <tr><br /> <th>Name</th><br /> <th>Age</th><br /> </tr><br /><% for person in @people %><br /> <tr><br /> <td><%=h person.name %></td><br /> <td><%=h person.age %></td><br /> </tr><br /><% end %><br /></table><br />
  16. 16. Railsアプリの作成(7)<br />10. サーバを起動する<br /># ruby script/server<br />以下のURLにアクセスして動作を確認<br />http://157.80.83.208:3000/<br />http://157.80.83.208:3000/people/<br />
  17. 17. Railsアプリの作成(8)<br />これまでの手順はscaffoldで簡単にできる<br />#ruby script/generate scaffold person name:stringage:integer<br /># rake db:create<br /># rake db:migrate<br />サーバを起動する<br /># ruby script/server<br />
  18. 18. Rails開発のメリット<br />アジャイル開発<br />迅速かつ適応的なソフトウェア開発<br />簡単にプロトタイプ開発を行い、適宜修正しながら進める<br />プロジェクト管理<br />プロジェクトのディレクトリにすべてが入っている<br />プログラム、設定ファイル、ログ、DB定義、サーバ機能<br />ディレクトリをSubversionで管理するだけでよい<br />DB管理が容易<br />スキーマのバージョン管理<br />RakeコマンドによるDBのバージョンアップ/ロールバック<br />他のDBへの切り替えが容易<br />
  19. 19. 次回予告<br />内容<br />開発環境と実装、デバッグのポイント<br />

×