Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
RUBY ONRAILSWORKSHOP!   @equal_001
SELF-INTRODUCTION• 杉谷    弥月(すぎや    みつき)  •   去年の冬頃からTechFUNに入りました       @equal_001  •   LOCAL学生部に所属してます  •   趣味はWebアプリケーショ...
CONTENTS• What’s Rails?• Creating the application!• Put your application online• Finally
LETSSTART!
WHAT’SRAILS?
WHAT’S RAILS?• Ruby on Rails  • プログラミング言語Rubyで構築されたWEBアプリケー    ションフレームワーク  • つまり、Webアプリケーションを効率的に開発するための    ライブラリとツールの集まり
WHAT’S RAILS?• 設計哲学 • 「同じことを繰り返さない」   • 定義の重複は避け、作業は一回で済ませよう • 「設定より規約」   • Railsの設計規約に従って開発をすることで、設     定を軽減できるよ
WHAT’S RAILS?• 特徴その1:MVCアーキテクチャ • アプリケーションをModel View Controller」の3つの   部分に分割して設計・実装 • Model:      データベース管理役、アプリケーションの状態保 ...
WHAT’S RAILS?  • RailsのMVCアーキテクチャ図Browser          ①リクエスト送信                     Controller                                ...
WHAT’S RAILS?• 特徴その2:直観的なデータベース操作 • SQL言語で操作しなくて済む • Rubyのように直観的にコードを書ける 例) studentsというテーブルからIDが1009173のレコードを検            ...
EXAMPLE• COOKPAD• Twitter• GitHub• 食べログ
CREATINGTHEAPPLICATION!
ところで皆さん、ちゃんと環境設定できましたか?   できてない方は挙手!(・ω・)   ノ
CREATINGTHE APPLICATION!• Rails Girls Guidesにあるチュートリアルに  沿って、アイディアボートっぽいものをつ  くってみよう                                 こんなイメ...
CREATINGTHE APPLICATION!• Rails Girls Guides  http://railsgirls-jp.github.com/app/
CREATING THE APPLICATION • オススメのエディタ(他にも良いものが沢山ある  よ!)   • Sublime         画面分割できる                     コードが自動的に           ...
CREATINGTHE APPLICATION• Rails new [アプリケーション名]  • 新しいアプリケーションを作成するコマンド  • アプリケーションとして成立させるための必要    最低の基盤をrailsが自動生成してくれる
CREATINGTHE APPLICATION• 開発用のWebサーバを起動してみようrails server               ・デフォルトでポート3000を使っている               ・http://localhost...
CREATINGTHE APPLICATION• 初期画面 • これがでてくればアプリは正常に動いている
CREATING THE APPLICATION • contentのscaffoldをするrails generate scaffold content title:string description:textimage:string   ...
CREATING  THE APPLICATIONrails generate scaffold content title:string description:textimage:string                        ...
CREATINGTHE APPLICATION• 未実行のマイグレーションファイルをデー  タベースに適用するrake db:migraterails s • 「さっきscaffoldして作ったcontentsテーブルを、データ   ベースに適...
CREATINGTHE APPLICATION• 写真アップロード機能を追加する  • Gemfileに使用するライブラリを記述する  • アップロード機能を追加するためのライブラリをインストーGemfileルするgem ‘sqlite3’ge...
CREATING THE APPLICATION • 写真アップロード機能を追加する      • 今のままだと、写真のファイルのpathが表示されるので、        ちゃんと画像が表示されるようにする app/views/ideas/sh...
CREATINGTHE APPLICATION• routes を調整する  • デフォルトページ(http://localhost:3000) が    のままなので、ideasにリダイレクトするように設定しましょう  • 下準備として、  ...
PUT YOURAPPLICATIONONLINE
PUT YOURAPPLICATIONONLINE• Herokuをつかって自分のアプリケーションを公開し  よう! • Web開発からWebアプリケーションの公開までサポートして   くれるプラットフォーム • WebサーバやGitリポジトリ...
FINALLY
FINALLY• Railsを学ぶのにオススメするWebサイト • Ruby/Rails Study Guide • RAILSCASTS• オススメの書籍 • RailsによるアジャイルWebアプリケーション開発 第4版 • Head Fir...
Tech fun rails_workshop
Upcoming SlideShare
Loading in …5
×

Tech fun rails_workshop

1,858 views

Published on

2013/02/04にTechFUNでやったRails勉強会の資料です

  • Be the first to comment

Tech fun rails_workshop

  1. 1. RUBY ONRAILSWORKSHOP! @equal_001
  2. 2. SELF-INTRODUCTION• 杉谷 弥月(すぎや みつき) • 去年の冬頃からTechFUNに入りました @equal_001 • LOCAL学生部に所属してます • 趣味はWebアプリケーションやAndroidアプリでゲー ム作成したり、ハッカーの真似事したり、ビブリオバトルし たり… • 好きな言語はC++,Ruby(ときどきJava) • 「一人開発さびしいよー、学内の人と一緒に開発したい!」
  3. 3. CONTENTS• What’s Rails?• Creating the application!• Put your application online• Finally
  4. 4. LETSSTART!
  5. 5. WHAT’SRAILS?
  6. 6. WHAT’S RAILS?• Ruby on Rails • プログラミング言語Rubyで構築されたWEBアプリケー ションフレームワーク • つまり、Webアプリケーションを効率的に開発するための ライブラリとツールの集まり
  7. 7. WHAT’S RAILS?• 設計哲学 • 「同じことを繰り返さない」 • 定義の重複は避け、作業は一回で済ませよう • 「設定より規約」 • Railsの設計規約に従って開発をすることで、設 定を軽減できるよ
  8. 8. WHAT’S RAILS?• 特徴その1:MVCアーキテクチャ • アプリケーションをModel View Controller」の3つの 部分に分割して設計・実装 • Model: データベース管理役、アプリケーションの状態保 持 • View: ユーザインターフェースの生成、表示のための ロジック • Controller: アプリケーション内のブレイン、外部イベントか らの処理 をModelとViewへ適切に渡す
  9. 9. WHAT’S RAILS? • RailsのMVCアーキテクチャ図Browser ①リクエスト送信 Controller ②データ入出力④画面生成の レスポンス ③Viewの呼び出し view Model DB
  10. 10. WHAT’S RAILS?• 特徴その2:直観的なデータベース操作 • SQL言語で操作しなくて済む • Rubyのように直観的にコードを書ける 例) studentsというテーブルからIDが1009173のレコードを検 可読性が 索する 高まる SQL ミスの軽減、 SELECT * FROM students WHERE id = 1009173; 発見しやすさ Ruby on Rails Student.find(1009173) 仕様変更も そんなに嫌 じゃなくなる
  11. 11. EXAMPLE• COOKPAD• Twitter• GitHub• 食べログ
  12. 12. CREATINGTHEAPPLICATION!
  13. 13. ところで皆さん、ちゃんと環境設定できましたか? できてない方は挙手!(・ω・) ノ
  14. 14. CREATINGTHE APPLICATION!• Rails Girls Guidesにあるチュートリアルに 沿って、アイディアボートっぽいものをつ くってみよう こんなイメージ! My Idea • タイトル 花見 • 内容 はなみをしてすとれす解 消する方法を… • 画像アップロード機能 編集/削除 入学式 大学生になったので、 イメチェンして大学デビ … 編集/削除
  15. 15. CREATINGTHE APPLICATION!• Rails Girls Guides http://railsgirls-jp.github.com/app/
  16. 16. CREATING THE APPLICATION • オススメのエディタ(他にも良いものが沢山ある よ!) • Sublime 画面分割できる コードが自動的に 色分けされて見やファイルの階層 すい が見れる
  17. 17. CREATINGTHE APPLICATION• Rails new [アプリケーション名] • 新しいアプリケーションを作成するコマンド • アプリケーションとして成立させるための必要 最低の基盤をrailsが自動生成してくれる
  18. 18. CREATINGTHE APPLICATION• 開発用のWebサーバを起動してみようrails server ・デフォルトでポート3000を使っている ・http://localhost:3000 というURLを入力 す ればアプリケーションにアクセスできる
  19. 19. CREATINGTHE APPLICATION• 初期画面 • これがでてくればアプリは正常に動いている
  20. 20. CREATING THE APPLICATION • contentのscaffoldをするrails generate scaffold content title:string description:textimage:string • アプリケーションの基本的な機能の 一覧(index) 詳細(show) 新規作成(new/create) 編集(edit/update) 削除(destroy) を行うために必要なコントローラ、モデル、ビューをまとめ て生成
  21. 21. CREATING THE APPLICATIONrails generate scaffold content title:string description:textimage:string contents title string Model description text image stringIntex,show,new,edit,destroy view このコマンドだけで、これだけのファイルが自動生成される!
  22. 22. CREATINGTHE APPLICATION• 未実行のマイグレーションファイルをデー タベースに適用するrake db:migraterails s • 「さっきscaffoldして作ったcontentsテーブルを、データ ベースに適用する」というコマンド
  23. 23. CREATINGTHE APPLICATION• 写真アップロード機能を追加する • Gemfileに使用するライブラリを記述する • アップロード機能を追加するためのライブラリをインストーGemfileルするgem ‘sqlite3’gem ‘carrierwave’ • Terminalでbundleコマンドを入力し、’carrierwave’ライブラ リをインストールするbundle
  24. 24. CREATING THE APPLICATION • 写真アップロード機能を追加する • 今のままだと、写真のファイルのpathが表示されるので、 ちゃんと画像が表示されるようにする app/views/ideas/show.html.erb <%= @idea.picture %>’ <%= image_tag(@idea.picture_url, :width => 600) if @idea.picture.present? %>image_tag(画像ファイルpath), オプショ Ideaテーブルのpictureの中身がnilまン)でHTMLで画像を表示することができ たは空のオブジェクトでは無い場る 合、image_tagメソッドで画像を表示 させる
  25. 25. CREATINGTHE APPLICATION• routes を調整する • デフォルトページ(http://localhost:3000) が のままなので、ideasにリダイレクトするように設定しましょう • 下準備として、 の元である public/index.htmlを消す • config/routes.rbでリダイレクト先を指定する# You can have the root of your site routed with"root"# just remember to delete public/index.html.# root :to => welcome#index コメントを読むと、root :to => redirect(/ideas) ちゃんとやり方が書い てあるよ! • 今は指定先が1つだけど、複数ある場合は 上に書いた順に優先順位が決まるよ!
  26. 26. PUT YOURAPPLICATIONONLINE
  27. 27. PUT YOURAPPLICATIONONLINE• Herokuをつかって自分のアプリケーションを公開し よう! • Web開発からWebアプリケーションの公開までサポートして くれるプラットフォーム • WebサーバやGitリポジトリ等の必要最低限の機能を無料で提 供 • カスタム制なので、運用に必要な分の機能を付けたり外した りすることができる • 今回は、比較的手軽にデプロイできるHerokuを使っていくよ! 規模の小さいアプリだったら、サーバを無料から使えるよ!
  28. 28. FINALLY
  29. 29. FINALLY• Railsを学ぶのにオススメするWebサイト • Ruby/Rails Study Guide • RAILSCASTS• オススメの書籍 • RailsによるアジャイルWebアプリケーション開発 第4版 • Head First Rails ―頭とからだで覚えるRailsの基本

×