2時間でネット公開!速習rails環境構築とアプリ開発
TRANSCRIPT
1Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
構成(1時間55分)
1. Introduction ( 10分)自己紹介、本日のゴール
2. Rails 基礎知識 ( 30分)開発環境、開発言語、Ruby on Rails、作業方法の基礎
3. 実践ワーク ( 70分)Cloud9で開発環境を構築、お試しアプリケーションの開発、Gitでバージョン管理、Herokuでネット公開
4. スキルアップのコツ ( 5分)
5. Appendixお薦めの学習サイト、書籍、ツール等
2Copyright © 2015 TimeShift Corp. All Rights Reserved.
Introduction
野呂 浩良タイムシフト株式会社 代表取締役Rails3認定ブロンズ技術者MBAエンジニア講師
経験ゼロからのプログラミングを
2回経験。
3
キャリア
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
10年以上、非エンジニア社会人。異業種・異職種での転職と経営大学院を経て2015年4月に起業。
1980年 誕生(松坂世代)
2003年 株式会社すみや 【接客販売】
2006年 株式会社リクルート 【法人営業】
2009年 株式会社ワークスアプリケーションズ 【運用保守】
2012年 グロービス経営大学院大学 MBA
2015年 タイムシフト株式会社(創業)
4
プログラミングとの出会い
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
①問題解決能力発掘プログラム(2009年10月〜2010年3月)
・ネットなし・レクチャー禁止・文献なし・呼び出し&指導入り
本ネット
COBOL
DELPHI
ORACLE DB(SQL)
エンジニア
経験ゼロ
独力
COBOL
COBOL
DELPHI
DELPHI
5
Ruby on Rails との出会い
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
②リーンスタートアップ(2014年4月〜2014年10月)
・アイデアソン X回・ハッカソン X回・Startup Weekend 3回・もくもく会 X回
本
ネット
300アイデア
3プラン
1プラン
エンジニアメンバー
ゼロ独力開発
独力開発
エンジニアが・・・
6Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
Ruby on Rails スキル
2014年11月6日。「Rails3技術者認定ブロンズ」に一発合格!Railsを本気で学びはじめて約2ヶ月半。
7
スクール開校への原点
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
『自分ではカタチにできない』と思い込み、エンジニアを探すという口実で前に進められずにいる非エンジニアの
まずカタチにすることでリーンスタートアップを行いたい(フリーランスで働きたい)という課題を
自力でプロトタイプを作成できるスキルを身につけることで解決する。
誰の?何の課題を?どう解決するのか?
8
私たちのミッション
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
すべての人が、テクノロジーを武器にして活躍できる社会をつくる
対面講義 & ネット
Rails基礎
チーム開発
• Ruby(Rails)• PostgreSQL• HTML• CSS(Bootstrap)
WEBエンジニア
経験ゼロ
デザイン基礎
SNS機能
受託開発
グループタスク機能
9
本日のゴール
3つの状態に到達すること
1. Rails経験ゼロから学習環境を構築できている
2. Webアプリケーション開発の素養が身についている
3. モチベーションがグッと向上している
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
11
開発環境とは
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
開発作業に必要な場所と道具を用意すること。
開発言語
DIYで言うところの「縁側とノコギリ」。
開発環境 開発言語 作業方法
12Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
開発環境とは
構築は従来はPCやサーバを入手して複雑なインストール作業が必要だったが、今やボタンひとつで可能に。
従来 本講座
・ボタン1つでOK
わずか30分で完了!
Cloud9・インストールするPCを用意↓・開発言語をインストール↓・フレームワークをインストール↓・データベース管理システムをインストール↓・バージョン管理システムをインストール等
初めての時は3日はかかる…。
開発環境 開発言語 作業方法
13Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
開発環境とは
Cloud9内には言語やツールが用意されているため、ブラウザで開いて使うだけ。
フォルダビューワ ファイルビューワ
ターミナル
開発環境 開発言語 作業方法
14Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
開発言語とは
人間にもコンピュータにもわかるコトバで、プログラムを構築しコンピュータを動かすことができるもの。
Ruby PHP
開発環境 開発言語 作業方法
15Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
開発言語とは
開発言語は60年前に生まれ、時代の潮流と共に様々な言語が生まれた。Ruby は1995年に誕生。
※出典元:ひつじTOWN「C言語あれこれ」 http://l-edge.jp/lep/r_prog/prog_c01.html
開発環境 開発言語 作業方法
16Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
開発言語とは
世界中にある著名な言語のうち、Rubyは唯一、日本人まつもとゆきひろ氏が開発した言語。
開発環境 開発言語 作業方法
17Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
Ruby on Rails
開発言語は Ruby 。Ruby on Rails は Ruby で開発する際の「型」となるフレームワーク。
開発環境 開発言語 作業方法
18Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
Ruby on Rails
Basecamp創業者 David HeinemeierHansson氏によって、無駄な時間を減らすために作られた。
DRY (Don't repeat yourself) CoC (Convention over Configuration)
“ぼくがやろうとしていることは、自分の時間を浪費する時間を減らそうっていうこと。どうでもいいことに時間を費やすのを減らす。”
「同じことを繰り返さない」 「設定よりも規約」
※出典元:HRナビ「「10倍プログラマ」の神話、Ruby on Railsの生みの親が語った高い生産性のカギとは!?」http://hrnabi.com/2015/01/30/5463/
開発環境 開発言語 作業方法
19Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
Ruby on Rails
Ruby on Rails で作られたWebサービスの例
「ストリートアカデミー」さん
開発環境 開発言語 作業方法
出典元:https://www.street-academy.com/home
20Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
Ruby on Rails
インターネット
ブラウザを通して通信が流れる。通信先のコンピュータから処理結果が返る。ブラウザ上に画面が表示される。
http通信 リクエストGET, PUT, DELETE …
レスポンスHTML, images …
URL
開発環境 開発言語 作業方法
21Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
Ruby on Rails
画面表示 内部処理 データ管理
HTTP Server
Controller
View
Model
デー
タベ
ース
管理
シス
テム
内
Database
コンピュータがhttp通信を受け取り、役割に応じて処理が順番に流れ、レスポンスとして返る。
リクエストGET
レスポンスHTML
RouterURL
① ② ③ ④ ⑤
⑥⑦⑧⑨10
開発環境 開発言語 作業方法
22Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
Ruby on Rails
各役割は所定のフォルダ内にファイルとして存在。その中に開発言語 Ruby が書かれている。
http S
erve
r
Contro
ller
Vie
w
Mode
l
デー
タベ
ース
管理
シス
テム
Route
r
役割別のフォルダ構造。ファイル内に Ruby が書かれている。
Cloud9内概念図
開発環境 開発言語 作業方法
23
http S
erve
r
def index
@blogs = Blog.all
end
<% @blogs.each do |blog| %><% end %>
class Blog < ActiveRecord::Baseend
/views/blogs/index.html.erb
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
http通信とURLの組み合せから処理を流す先を判定。C→(M→DB→M→C)→V→Cと通信が流れる。
/config
/ro
ute
s.rbURL/blogs
httpGET
Ruby on Rails
blogs#
inde
x
/controllers/blogs_controller.rb
/models/blog.rb
PostgreSQLblogsテーブル
h1 {}
/assets/stylesheets/blogs.css.scss
“O/Rマッパー”Blog.all↓RubyからSQLに変換↓SELECT * FROM blogs;
開発環境 開発言語 作業方法
24
http S
erve
r
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
オモテは、HTML, CSS。ウラはRuby, SQL。Rails はhttpリクエストからレスポンスまでの流れをつくる。
/config
/ro
ute
s.rbURL/blogs
httpGET
blogs#index
/controllers/blogs_controller.rb
/models/blog.rb
PostgreSQLblogsテーブル
/views/blogs/index.html.erb
Ruby on Rails
/assets/stylesheets/blogs.css.scss
開発環境 開発言語 作業方法
25Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
Ruby on Rails
画面表示 内部処理 データ管理
HTTP
Serve
r
Contro
ller
Vie
w
Mode
l
デー
タベ
ース
管理
シス
テム
内
Database
Rails を理解する第一歩は、http リクエストからレスポンスまでの流れを理解すること。
リクエストGET
レスポンスHTML
Route
rURL
① ② ③ ④ ⑤
⑥⑦⑧⑨10
開発環境 開発言語 作業方法
26Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
作業方法の基礎
キーボードを使いターミナルを操作する。ターミナルは、文字でコンピュータを操作するための窓口。
ターミナル
開発環境 開発言語 作業方法
27Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
作業方法の基礎
ターミナルは、コンピュータに対して一行(プロンプト)につき一回だけ命令ができる。
プロンプト
現在いるディレクトリ(=フォルダ)
コンピュータをキーボードで操作することに慣れましょう。
開発環境 開発言語 作業方法
28Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
作業方法の基礎
マニュアルを見る。コマンドをコピーする。ターミナルに入力する。エンターで実行する。
①マニュアルを見る ②コマンドを作成する ③ターミナルに入力する
編集が必要
そのまま使える
コピー&ペースト
編集してコマンドを完成
※メモ帳では半角”や’が全角に自動変換されることがあるため 使用禁止
開発環境 開発言語 作業方法
30
実践ワーク
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
3ステップで、Webアプリケーションをネット公開!
【STEP0】Cloud9で開発環境を構築
【STEP1】お試しアプリケーションの開発
【STEP2】Gitでバージョン管理
【STEP3】Herokuでネット公開(初回)
① ② ③
1
2
3
0
31
Cloud9
実践ワーク
【図解】3ステップ
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
① ② ③
画面 内部 データ
C
V
M DB
Heroku画面 内部 データ
HTTP
Server
CV
M DB
0
Git内(ファイル)に記録
C
V
M
1
2
3
HTTP
Serve
r
32
続きは・・・会場にて!
Railsエンジニアとして有償で受託開発ができるまで、到達していただきます。
Copyright © 2015-2016 TimeShift Corp. All Rights Reserved.
http://diveintocode.jp/