文系から半年でRuby(Sinatra
Rails)を学んだら人生変わった
徳元 将義
自己紹介
• 徳元 将義(とくもと まさよし)

• 琉大産業経営学科四年

• 2017年4月からさぼ
(@saboyutaka) さんの下でWebエ
ンジニアを目指す

• ISUCON2017

• 4月に「みんなのウェディング」
に就職します

• ブログ:まさ@ブログ書き込み中
今日話したいこと
1. Rubyの初学者がやったほうがいい学習手順

2. Rubyを学んで変わったこと
初学者がRubyを学ぶ時にやった方がいい手順

(Railsチュートリアルからやらない!)
1. Webについて理解する

2. HTML&CSSについて理解する

3. Rubyの基本について理解する

4. Sinatraを学んでアプリを作る

5. Railsチュートリアルをやってアプリを作る
Webについて理解する
• そもそも「Webアプリケーションっ
てなに」から理解する

• HTTP、セッション、Webの三層構
造

• これをわかっていないとWindowsし
か知らない文系はエンジニアがやっ
ていることと自分の知っているイン
ターネットの世界が繋がらない

• これをやらないと「なんかガチャガ
チャやるとうまくいく」といったレ
ベルの理解になってしまうことも
引用元

https://www.amazon.co.jp/dp/4774142352
HTML&CSSについて理解する
• Webプログラミングをするなら避
けて通れない

• SinatraでもRailsでもERBという
テンプレートエンジンを使って
HTMLを描画するし、そもそも
View(フロント)からリクエスト
が来たりデータが飛んでくるので
必須

• HTMLとCSSをProgateで学んで
「プログラミングしてるぜ」って
思っていたのは良い思い出
引用元

https://atnd.org/events/94454
Rubyの基本について理解する
• たのしいRuby×Progateで学ぶ

• とにかくわかりやすく、直感
的で楽しめると思う

• たのしいRubyはわかりやすい
とはいえ情報が網羅的で飽き
やすいからProgateをゲーム感
覚で楽しむ
引用元

https://www.amazon.co.jp/dp/4797386290
Sinatraを学んでアプリをつくる
• Webアプリケーションを素早
く作るためのRubyのDSL

• ブラウザで結果が見れるのが
Webプログラミングの良いと
ころ

• Rubyの使い方を一通り「知っ
た」らSinatraの使い方をドッ
トインストールで勉強して、
すぐになにか作る
引用元

http://j-caw.co.jp
Sinatraは簡単
• gem install sinatra

• require ‘sinatra’

• ruby myapp.rb
SinatraはRailsの練習になる
 
 get "/" do
@members = Member.all
erb :index
end
• Railsでも使うflash、ActiveRecord、ERBを使える
• ルーティング→アクションを直感的に実装できる
• Railsほどフレームワークのために覚えることがあまりない
• これを製作する過程で上の知識を頭に入れつつ、デバッグ方法とかも学
んだりパラメータの受け渡しなども学べる
Railsチュートリアルを学んで
アプリを作る
• ここまで来るとRailsチュート
リアルが深く理解できるよう
になる

• RailsチュートリアルでTwitter
(っぽいやつ)を作るし、十
分多くのこと学べるが「チュー
トリアル」なので自分でゼロ
から作ってみるとさらに学び
になる
引用元

https://www.slideshare.net/yasulab/rails-46481007
Rubyを学んで変わったこと
1. プログラミングの世界は楽しいと思えるようになった

2. もっと自由に生きていけると信じれるようになった

3. プログラミングは本当に人の役に立つとわかった
プログラミングは楽しい
C言語のトラウマ
• 初めてプログラミングに触ったのはC言語

• 学び方も学術的な学び方だったので、なかなかできることが進ま
ない

• 型を指定した変数宣言、float, int, printf…いろいろやってコン
ソール上で「何か計算できた」「何か文字を表示できた」という
感覚だけ
Rubyやりやすい
• Rubyはより直感的でわかりやすい

• Sinatraを使えばすぐにWebアプリとしての挙動が確認でき
る

• LINEのようなメッセージングアプリをSinatraで作ったの
でもうRubyのファンになる
もっと自由に生きていける

(エモい)
わがままに生きたい
• 社会人になった後でも海外で(中・長期)滞在してみたい

• 楽しくて熱中する業種にしないとモチベーションが下がる

• 要はわがまま
なんかわがままに生きていけそう
• プログラミングすごい楽しくて勝手にやるようになる

→ 会社でこれやってお給料頂いてもいいの?

• エンジニアとしてイベントに参加すると、本当にフリーランスだったり
リモートワークしている人が多くて「全然海外行ける」って思えるよう
になる

→ 海外行って良いの?

• 就活で自分が会って来たWeb系の企業の方々の多くは、自分がイメージ
していた「就活」や「面接」とは全く違うもので、よりくだけた形で本
当に大切な話ができた

→ スーツ着なくて良いの?
プログラミングは本当に
人の役に立つ
大学生バイト
• 家庭教師

• ベ○ッセの営業の電話

• 基地内で床の張替え作業

• 大東島でただただ穴を掘る

• ただただ雑誌の修正のシールを貼る
この時の僕
人の役に立つこと、
お金を稼ぐことって大変
なんだなあ・・・。
プログラミングは本当に人の役に立つとわかった
• 「人の役に立つんだな」とちょこっと思ったのは友達の
作業を手伝う簡単なSinatraアプリを作った時

• 「マジで社会の役に立つんだな」と思ったのは奨学金の
二倍のお給料を頂いてRailsアプリ開発のお仕事ができる
ようになった時
この時の僕
この時の僕
まとめ
• Web全くの初心者がRailsを勉強するのであればWebの基本
→HTML&CSS→Rubyの基本→Sinatra→Railsで

• 難しいプログラミング言語から入って苦手意識が出るよりも、取っつき
やすいWebプログラミング言語から始めるのが良いと思う

• 文系の皆がすぐに思い浮かぶ職種や業界より、エンジニアって素敵かも!
• Railsはお仕事の需要があるらしく、他のバイトするよりも将来のために
もなるから良いと思う

• Ruby(Sinatra、Rails)ありがとう
おわり

文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02