SlideShare une entreprise Scribd logo
文系から半年で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)ありがとう
おわり

Contenu connexe

Tendances

Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービスRuby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Yoji Shidara
 
一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について
masayoshi takahashi
 
[コデアル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)
[コデアル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)[コデアル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)
[コデアル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)
codeal
 
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
Ryunosuke SATO
 

Tendances (20)

RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方
 
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービスRuby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービス
 
一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について
 
Rails あるある
Rails あるあるRails あるある
Rails あるある
 
在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選
 
Ruby/PureImage: 第2回岡山Ruby会議LT
Ruby/PureImage: 第2回岡山Ruby会議LTRuby/PureImage: 第2回岡山Ruby会議LT
Ruby/PureImage: 第2回岡山Ruby会議LT
 
田舎暮らし流エンジニアスキルアップ術
田舎暮らし流エンジニアスキルアップ術田舎暮らし流エンジニアスキルアップ術
田舎暮らし流エンジニアスキルアップ術
 
astah関西勉強会のご紹介
astah関西勉強会のご紹介astah関西勉強会のご紹介
astah関西勉強会のご紹介
 
[コデアル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)
[コデアル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)[コデアル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)
[コデアル株式会社] Ruby on rails 開発環境設定勉強会(株式会社シンクスマイル主催)
 
Rubyビジネスセミナー大阪2015
Rubyビジネスセミナー大阪2015Rubyビジネスセミナー大阪2015
Rubyビジネスセミナー大阪2015
 
TdX#01 RubyKaigiの作り方
TdX#01 RubyKaigiの作り方TdX#01 RubyKaigiの作り方
TdX#01 RubyKaigiの作り方
 
オープンソースとプラットフォームとお金
オープンソースとプラットフォームとお金オープンソースとプラットフォームとお金
オープンソースとプラットフォームとお金
 
非(エンジニア|プログラマ)でも知っておきたい正規表現【第5回 WordBench山口 セッション2】
非(エンジニア|プログラマ)でも知っておきたい正規表現【第5回 WordBench山口 セッション2】非(エンジニア|プログラマ)でも知っておきたい正規表現【第5回 WordBench山口 セッション2】
非(エンジニア|プログラマ)でも知っておきたい正規表現【第5回 WordBench山口 セッション2】
 
TypeScriptで辛麺を注文する(ライブコーディング)
TypeScriptで辛麺を注文する(ライブコーディング)TypeScriptで辛麺を注文する(ライブコーディング)
TypeScriptで辛麺を注文する(ライブコーディング)
 
初めての公開Gem作り
初めての公開Gem作り初めての公開Gem作り
初めての公開Gem作り
 
Web × プログラミング ~JavaScript編~(2017/2/16)
Web × プログラミング ~JavaScript編~(2017/2/16)Web × プログラミング ~JavaScript編~(2017/2/16)
Web × プログラミング ~JavaScript編~(2017/2/16)
 
RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1
 
PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)
PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)
PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)
 
Electronからはじめるnodejs
ElectronからはじめるnodejsElectronからはじめるnodejs
Electronからはじめるnodejs
 
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
 

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

Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Yoshinori Kobayashi
 
メモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なことメモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なこと
Masaya TARUI
 
I understand completely line api
I understand completely line apiI understand completely line api
I understand completely line api
TakaoUeda2
 

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

Ruby with My Life
Ruby with My LifeRuby with My Life
Ruby with My Life
 
omotesando.rb_20231005.pdf
omotesando.rb_20231005.pdfomotesando.rb_20231005.pdf
omotesando.rb_20231005.pdf
 
Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01
 
Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計
 
railsはじめの一歩
railsはじめの一歩railsはじめの一歩
railsはじめの一歩
 
Faye使って見てる話 at MF Geeks Night 2015.04.21
Faye使って見てる話 at MF Geeks Night 2015.04.21Faye使って見てる話 at MF Geeks Night 2015.04.21
Faye使って見てる話 at MF Geeks Night 2015.04.21
 
Rubyのススメ
RubyのススメRubyのススメ
Rubyのススメ
 
Rubyコミュニティの力が本当にすごいという話
Rubyコミュニティの力が本当にすごいという話Rubyコミュニティの力が本当にすごいという話
Rubyコミュニティの力が本当にすごいという話
 
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
 
メモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なことメモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なこと
 
いわみくとMeetup第15回
いわみくとMeetup第15回いわみくとMeetup第15回
いわみくとMeetup第15回
 
Gemの話 紹介編
Gemの話 紹介編Gemの話 紹介編
Gemの話 紹介編
 
Railsのソースコードを読みはじめて変わったこと
Railsのソースコードを読みはじめて変わったことRailsのソースコードを読みはじめて変わったこと
Railsのソースコードを読みはじめて変わったこと
 
RubySeminar16_Analyze
RubySeminar16_AnalyzeRubySeminar16_Analyze
RubySeminar16_Analyze
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
 
20100619 wakhok important_of_io_with_jror
20100619 wakhok important_of_io_with_jror20100619 wakhok important_of_io_with_jror
20100619 wakhok important_of_io_with_jror
 
RubyKaja 2012
RubyKaja 2012RubyKaja 2012
RubyKaja 2012
 
I understand completely line api
I understand completely line apiI understand completely line api
I understand completely line api
 
I understand completely line api
I understand completely line apiI understand completely line api
I understand completely line api
 

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