Upload
yanolablt
View
1.040
Download
2
Tags:
Embed Size (px)
Citation preview
Switch to Ruby on railsfrom PHP
国平清貴@Yano Lab LT 2011.01.12
はじめに
研究でWebシステム作ってる人挙手
LAMP使ってる人挙手
LAMPは何の略?
今日のお題は研究でLAMP使ってる人にRuby on Railsをオススメすること
LAMPとは
LinuxApacheMySQLPのつく言語
Ruby is not ‘P’ language
P
Ruby is not ‘P’ language
PRは足のはえたP
What is Ruby on Rails?
RubyでWebシステム作るフレームワークMVCモデルCRUDを一発生成Ruby on Rails 3 → Ruby1.9Ruby on Rails 2 → Ruby1.8
フレームワークWebフレームワークPHPSymphony, Zend, CakePHPなどPythonDjango, TurboGears, Pylons
沼田哲 先生(実践iPad/iPhoneゲームプログラミングより)"自分のオリジナルの処理をどの階層で作り,どのような処理をフレームワークに任せるべきかを適切に判断する能力。それが私たちに求められているのです。"
フレームワークのメリットセキュリティUP‣ SQLインジェクションとかさ開発速度UP意味分からんコードを減らす‣ 大枠はフレームワークに任せる研究室に継承しやすい資産を残す‣ お行儀のいい設計- MVCモデル- CRUD
MVCモデルって?
ソフトウェアの機能を3つに分割‣Model データ構造‣View 外観‣Control 制御http://ja.wikipedia.org/wiki/Model_View_Controller
C
V M
CV M
MVCモデル
こっちはPACアーキテクチャ
CURDって?CRUD(クラッド) http://ja.wikipedia.org/wiki/CRUD一般的なデータ管理のモデル
Create 新規作成Read 読み込みUpdate 更新Delete 削除
Rails のメリット開発が早い!Rubyで書ける!‣ Enjoy Programming‣ 適当に書いても動いちゃう学習コストが低い!だってRubyだぜ最悪Webサーバ要らずRubyにWEBrickというWebサーバがついてるhttp://www.ruby-lang.org/ja/man/html/webrick.html
まとめフレームワーク使え!設計を知れMVCモデルCRUDRuby on Railsいいよぶっちゃけ,まともなフレームワークなら何でも…Zend(YanoTube…昔,ΔさんがLTで喋ってた)Symphony(OpenPNE,LearningLog,快適ランニング)
参考資料RubyRubyリファレンス http://doc.ruby-lang.org/ja/1.9.2/doc/index.htmlwikipedia http://ja.wikipedia.org/wiki/RubyRuby入門http://www.rubylife.jp/ini/
RailsWEB+DB PRESS Vol.58 2010 http://amzn.to/gBkvcUwikipedia http://ja.wikipedia.org/wiki/Ruby_on_Railsインストール(Ruby1.9+Rails3)http://d.hatena.ne.jp/toshifumi_tegu/20100829/1283092953http://d.hatena.ne.jp/kimunny/20100218/1266503128http://kaihatsu.mikagamikobo.com/2010/09/linuxruby192rails3.html
質疑応答タイム
質問何でもこ~い
質疑応答タイム
質問何でもこ~いとは言いません折角なので
ライブコーディングしながら応答しますなのでお手柔らかな質問希望
Sample
つくるもの=LTのネタ投稿掲示板とりあえず,タイトル,内容,希望者を書き込めるようにするちゃんとDBに保存するもちろん,CRUDついでにXMLに吐き出せるようにする
というわけで質問どうぞ
今回のサンプルコードrails new LTonDemand
cd LTonDemand
rails g scaffold request title:string body:text poster:stringrake db:migrate
rails server
コマンドの説明は次ページ
今回のリファレンス次のコマンド打ってみるrails new [アプリケーション名] …アプリ作成rails g scaffold [モデル名] SQLデータ構造 …骨組み生成rake db:migrate …DB生成完成動かしてみるrails server …WEBrickサーバ起動アクセスWebサーバから,http://〇〇:3000/requests