Slide 1

Slide 1 text

Railsハンズオン初級編 Rails的なモダン開発の本当のよさを知り体験しよう @wtnabe Kanazawa.rb meetup #38 2015-10-17 (Sat) at DMM.com Labo

Slide 2

Slide 2 text

お品書き Railsの10年と周辺の歩み Railsの特⻑と活かし⽅ 今⽇の内容

Slide 3

Slide 3 text

Railsの10年と周辺の歩み

Slide 4

Slide 4 text

2004 Gmail / PHP 5.0 2004 first public release of Rails 2005 GoogleMaps 2005 Rails 1.0 ( including Prototype.js ) 2005 Selenium RC 2005 Hudson ( Jenkins )

Slide 5

Slide 5 text

2006 Capistrano 2006 AWS S3 and EC2 ( beta ) 2006 jQuery 2006 Sass 2007 Rack ( WSGI Ruby port ) 2008 Github ( Rails moved to )

Slide 6

Slide 6 text

2009 Bundler 2009 Ruby 1.9.1 2009 CoffeeScript 2010 Rails 2.3 ( Rack / Bundler ) 2010 Rails 3.0 ( merged Merb ) 2010 Backbone.js

Slide 7

Slide 7 text

2010 Scss 2011 Rails 3.1 ( AssetPipeline ) 2011 Heroku Procfile 2012 Travis CI 2013 Ruby 2.1.0 / Rails 4.0 2014 Ruby 2.2.0 / EOL of 1.8.7, 1.9.2

Slide 8

Slide 8 text

MVCとDB migration

Slide 9

Slide 9 text

Capistranoによるdeployの⾃動化

Slide 10

Slide 10 text

Bundlerによる依存性解決

Slide 11

Slide 11 text

Asset管理 ( precompile & reduce http connections )

Slide 12

Slide 12 text

CIからの⾃動deploy

Slide 13

Slide 13 text

Rails Leads ... DRY & CoC DB migration ⾃動deploy ( Capistrano ) 依存性解決 ( Bundler ) PaaS ( Heroku, ... ) Asset管理 ( CoffeeScript, Sass, ... )

Slide 14

Slide 14 text

いま分からなくても平気

Slide 15

Slide 15 text

知ってると他の⾔語でも だいたい役に⽴ちます

Slide 16

Slide 16 text

イマドキだいたい モダンなWeb開発は こんな感じ

Slide 17

Slide 17 text

Railsの特⻑と活かし⽅

Slide 18

Slide 18 text

Railsの特⻑ ⼤事なことだけに集中しよう 設定を減らす 同じこと何度も書かない ⾃動化 よさそうなものは取り⼊れよう ダメならやめよう アジリティ

Slide 19

Slide 19 text

Railsの活かし⽅ Rails is omakase (DHH) 独⾃の技を編み出さない みんな合わせてるからこその便利gems

Slide 20

Slide 20 text

確かに最初は 覚えるべきお約束は多い

Slide 21

Slide 21 text

だから今⽇は ちょっとだけやります

Slide 22

Slide 22 text

何度もおさらいしてね

Slide 23

Slide 23 text

Railsがいちばん真価を 発揮するのはver.1を とにかく早く出す時 (最⼩限のコードで)

Slide 24

Slide 24 text

雑に書くのではなく アリモノを上⼿に活かして スピードを上げる

Slide 25

Slide 25 text

コードは少ないほど 変化のスピードを保てる

Slide 26

Slide 26 text

⼤事なのは 変化のスピードを 落とさないこと

Slide 27

Slide 27 text

※ 私⾒です

Slide 28

Slide 28 text

今⽇の内容

Slide 29

Slide 29 text

対象 動的なWebアプリの全体的な仕組みにつ いて、ある程度の理解がある⼈ 何らかのサーバサイドプログラミングの 経験が少しでもある⼈ RailsやRails-inspiredなモダンなフレー ムワークを使いこなし、考え⽅を理解し たい⼈

Slide 30

Slide 30 text

ゴール モダンWeb開発の考え⽅、ワークフロー を理解する scaffold + alpha で Model 2つ、 association 1つの ToDo アプリを動かす

Slide 31

Slide 31 text

やらないこと 本番環境へのdeploy

Slide 32

Slide 32 text

作るもの ToDo アプリのひな形のようなもの 1 : n 関係の Model を操作する画⾯ 応⽤課題

Slide 33

Slide 33 text

やること generator ( scaffold ) rails server / console partial template db migration association

Slide 34

Slide 34 text

多めにやります 説明 質疑 ハンズオンとはなんだったのか?

Slide 35

Slide 35 text

Let's Begin !