- 更新日: 2019年02月15日
- 公開日: 2019年02月13日
「Ruby」をマスターしたい初心者必見!全てがわかる総合カリキュラム
「Ruby、人気の言語みたいだし始めてみようかな」「Rubyは簡単って聞くけど、プログラミング未経験者でもできるのかな?」と Rubyをはじめようかどうしようか悩んでいるあなた。
本当に Rubyをはじめるべきかどうか、判断基準となるよう情報をまとめてみました。
Ruby情報
Rubyはどういった言語なのか
Rubyは、日本人のまつもとゆきひろさんによって設計・開発され、1995年12月にリリースされた国産のプログラミング言語。Rubyの開発にあたったまつもとさんは、 当時 Perl や Python も使えるエンジニアで、それらの良さを取り込みつつ Lisp言語のように手軽に扱える言語として Ruby を開発。その結果、プログラミングが楽しくなる言語設計となっています。
いろいろ情報を集めていく中で感じた Rubyの特徴 は、国や県をあげて Ruby を支援していることです。まず経済産業省所管の 情報処理推進機構(IPA) は、 Ruby を日本工業規格(JIS)に認定するようサポートし 2011年に JIS認定、そしてその後、国際規格に認定するよう働きかけ 2012年に見事 C や COBOL などと同じ国際規格に認定(ISO/IEC 30170)。そしてまつもとさんが住んでいた?島根県は、県を上げて Ruby をサポート。低学年へのプログラミング普及を目的とした Ruby教室 をはじめ、スモウルビーというソフトを使った企画に、中高生国際Rubyプログラミングコンテストなど Ruby と島根県が 2人3脚 で頑張っている様子が伺えます。
そして Rubyの管理運営を担当する Rubyアソシエーションからは、 Ruby開発者を支援するための助成金(50万円上限)が存在。数多くあるプログラミング言語の中で、こうした助成金を設けているところは少ないのではないでしょうか。合わせて Rubyスキルを定量化する 「Ruby技術者認定試験」 も運営中です。
Ruby を要約すると、
- 高機能だけど比較的習得しやすい言語
- 日本国も支持している言語
- 子供から大人まで楽しめる言語
- 資格制度もあって就職に活かせる
Rubyはなにを作るのに適した言語なのか
画像引用: Airbnb
Rubyを使ってゲームやアプリ開発などできますが、一番は Webアプリケーションの作成でしょう。Rubyが現在のように有名になったキッカケには、 2005年にリリースされた Ruby on Rails が原因。 Ruby on Rails は、Webアプリの開発管理を手伝ってくれるフレームワークで、スモールスタートかつスケールアップが可能な Web開発者には非常に有り難い存在。この Rails のおかげ?で、 Airbnb などは成功を納めたのではないでしょうか?
【Ruby on Rails】
たった5回のコマンドだけで作れる ToDoアプリ
【上記画像のコマンド】
rails new todo
cd todo
rails g scaffold todo_list title:string description:text
rake db:migrate
rails s
実際にRubyで作られているサービスにはどんなものがあるか
Webサービス
- お仕事マッチングサイトの クラウドワークス
- 資金管理アプリの マネーフォワード
- フリマアプリの ラクマ
- ハンドメイドマーケットの minne
- 企業と働きたい人を結ぶ Wantedly
- 台所のインフラ クックパッド
- 買い物をサポートする 価格.com
- 外食をサポートする 食べログ
- 動画ストリーミングの Rakuten Viki
- 観光アプリの 縁むすびスマートナビ
Webサイトやブログ
- 企業サイト 株式会社Ruby開発
- 企業サイト 株式会社万葉
- ブログサイト CodeCampus
業務関連
調べていて発見したのですが、 Rubyは少しずつ業務関連というかインフラ・システムとして利用され始めています。採用に至った理由の多くには、 「開発スピード」 と 「安定性」 がよく挙げられています。
難易度や習得するのにかかる時間はどれくらいなのか
難易度
基礎部分については、おそらく Java や Python、 PHP といったメジャーなプログラミング言語の中で Ruby が一番簡単と考えられます。例えば Hello World を出力するプログラムや繰り返し処理のプログラムを比較。
Ruby | PHP | Python |
文字出力のコード比較 | ||
|
|
|
繰り返し処理のコード比較 | ||
|
|
|
どの言語も結果は一緒になるのに、コード量は違ってきますね。 特にプログラムの基本 Hello World を出力するプログラムは、 Ruby が一番簡単ですね。このように基本構文については、 Ruby が一番簡単と思います。ただし、関数やオブジェクト指向レベルにくると、他の言語同様プログラムがやや複雑に。
時間
わたしの経験上、基本文法からオブジェクト指向までの基礎学習で 20 〜 30時間必要になると思います。1日 2時間勉強できたとして 10日〜15日ぐらい。ちなみにオンライン学習サービスで有名な Progate の場合、 Rubyの基礎チュートリアルは合計で 7時間30分。
Rubyの学習方法
レベルに合わせた書籍
入門編
プログラミングも Ruby もはじめて、という方にススメたい一冊です。とにかく図が多いですし、配色やレイアウトもキレイで、テキストからストレスを感じません。どんどん学習を進めたくなる一冊です。ただし、サンプルコードは控えめ。
発売: 2018年1月 価格: 2,570円
こちらは初版から 14年たった今も求められている Rubyの学習本です。充実した基礎学習に加えて、 117 用意されたサンプルコード。ファイルの読み込みや郵便番号の検索など実践的なプログラムもありますので、やりがいがある一冊になっていると思います。
発売: 2016年2月 価格: 2,808円
基礎学習後に読みたい参考書
こちらは Rubyが好きになってから読みたい技術書。基本文法は復習程度で、本の大半は ハッシュやシンボル、正規表現にクラス、モジュール、例外処理など一歩進んだ内容。テキストのレイアウトもモノクロで、プロフェッショナルな一冊になっています。
発売: 2017年11月 価格: 3,218円
Rubyの基礎学習が終わったら Ruby on Rails と考えている方も多いでしょう。Webや動画での学習もいいですが、こちらは体系的に学びたい時の 1冊目にオススメしたい参考書です。Ruby on Rails の全体像をつかめ、データベースははじめて、という方も安心して取り組める一冊と思います。
発売: 2018年3月 価格: 2,225円
こちらは Ruby on Rails の基礎を終えた方におすすめの一冊。より Railsの具体的な機能を操作して、 view や template 周りを学習。実務にも通じる一冊でしょう。
発売: 2017年4月 価格: 3,888円
学習サイトや動画を利用
独学 Ruby エンジニア必見の学習コンテンツをいくつかご紹介します。
無料編
- 動画学習なら ドットインストール
Rubyの基礎レッスンを無料で視聴可能。1コマ 3分程度なのでテンポよく学習を進めることが可能。
- テキスト学習なら CodeCampus
こちらは当ブログサイトがまとめている Ruby コンテンツ。Rubyの基礎から Ruby on Rails まで幅広く学習することが可能。
- 実際にコードを打って学習する CODEPREP
CODEPREPは、ブラウザ上に部分的なコードを打って学習するタイプのサービス。Rubyってどんなものかな、プログラミングってどんなものかな、という方に向いていると思います。
有料編
実践型チュートリアルサイトで有名な Progate では、 5つのコースで Rubyを学習。ブラウザ上でテキストを見て、コードを打って Rubyを学びますので、パソコンに Ruby環境がなくてもOK。月額 980円から利用可能。
こちらも Progateのように、 Web上で実際に Ruby コードを打って学習できるサービス。Progateとの違いは価格と動画解説もあるということでしょう。利用は月額 6000円から。
Rubyの開発環境について
コマンドプロンプトもしくはターミナルで
ruby -v
と打ってバージョン表示がなければ、以下の手順で Ruby をインストールすることをオススメします。
Windows
【Windowsに Ruby をインストールする方法 (Windows 10)】
Step1: https://rubyinstaller.org/downloads/ にアクセス
Step2: Ruby+Devkit 2.4.5-1 (x64) を選択
Step3: インストーラーの実行
Step4: コマンドプロンプトで ruby -v を実行
Windows の場合は、 Rubyの最新版 2.5 を使うと、 Rails のインストールがうまくいきません(2018.12.6時点)。一つ前の 2.4 のインストールをオススメします。また rubyinstaller では Ruby Development Kit および MSYS2 も合わせてインストールできるように書いていますが、インストールできませんでした。どちらも個別にインストールする必要があります。尚、 MSYS2については Cmder というソフトをオススメします。
Mac
Macは標準で Ruby がインストールされているのですが、恐らく Ruby 2.0 など旧バージョンと思います。現在は Ruby 2.5 が最新バージョンになりますね。Mac の方は、 Ruby のアップデートでバージョンアップが可能。アップデートの方法については、以下のコードを 1行づつターミナルにコピー&ペーストで OK。
【Mac の Ruby をバージョンアップ (Mac OSX 10.12)】
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install rbenv ruby-build
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile
rbenv install 2.5.3
rbenv global 2.5.3
ruby -v
参考: Go RAILS
オンライン
パソコンのハードディスク容量の関係やとりあえず一時的に試したいだけ、という場合はオンラインでの Ruby 実行が簡単。以下に無料で Rubyを利用できるサービスをご紹介。
比較的レスポンスよく動くオンラインの Rubyサービスです。 画面左下の Rub It ボタンでコードを実行。
こちらは左半分にコード、右半分に結果を表示するタイプのオンライン Rubyサービス。画面左上の Excute ボタンで実行です。
こちらはコードだけでなく、画像ファイルなども管理できるプロジェクト方式のオンライン Rubyサービスです。画面上部の Run ボタンで実行されます。
この他にも PaizaCloud や Codeanywhere など VPSサーバーさながらの無料オンラインサービスもありますね。
\Rubyでのサービス開発スキルが身に付く/
基礎的な文法・概念の紹介
オブジェクト指向について
Rubyは、 Java や PHP、 Python と同じようなオブジェクト指向を取り入れたプログラムモデルです。大規模開発や既存プログラムのスケールアップに適しており、最初は小さなプロジェクトでも必要に応じて拡張していくことが可能。
実際のプログラムについては、 class ○○ といったキーワードがコードに登場してきたら、オブジェクト指向の登場。自分でオブジェクト指向のプログラムを作成する場合は、機能の設計モデルも必要になってくるでしょう。オブジェクト指向については、特に Ruby on Rails など Webフレームワークを使用する際、不可欠の知識になってきます。
絶対に押さえておきたい基本的な文法について
基本的な Rubyプログラムを例にとって、Rubyの文法をご紹介します。
文字出力
puts 'Hello World'
Rubyで文字出力するときは、 puts() の中に ' もしくは " を用意して、その中に文字を入力します。Rubyの場合、 puts 以外にも print や p といったコードでも文字出力が可能
- puts / 改行つき
- print / 改行なし
- p / 改行つき、 " などもそのまま出力
ちょっと改行がないと見難いですよね。改行は \n のコードになりますが、この場合は ' ではなく "" を用いる必要があります。 "" を使った場合、改行以外にも演算ができたりと機能的な動きを実現可能。この処理過程は、 「式の展開」 と呼ばれますね。
繰り返し処理
次は Ruby らいしい times を使った、繰り返し処理をご紹介。
3.times do
puts "Hello Ruby"
end
3 のところを 10 や 100 に変更すると繰り返し処理の回数を変更できます。回数や文字を変えて試してみましょう。
Rubyの条件分岐
条件分岐は、「もし●●だったら、 ▲▲しよう」という人間の思考回路に似たプログラム処理。
print "好きな数字は?"
number = gets.to_i
puts "\n あなたの番号は、 #{number} 。 \n\nそれじゃあ、、、\n"
if number > 10
puts "ぼくの負けだよ"
else
puts "ぼくの勝ちさ"
end
数字が 10 以上だったら「ぼくの負け」、 10以下だったら、、、という条件分岐式です。プログラムを実行してみると分かるのですが、自分の数字を入力することができます。これは gets というコードで表現できていますね。
Rubyを学んだあとに、どんな仕事ができるの?
Rubyを求人票の歓迎要件に入れている職種をご紹介します。
- システムエンジニア
- サーバーサイドエンジニア
- インフラエンジニア
- Webエンジニア
- Rubyエンジニア
Webアプリケーションに関する仕事はもちろん、工場のシステム管理をWebと接続する仕事や IoTのロックシステムを Webで管理するためのアプリ開発など ワクワク するような案件がたくさんあります。詳しい内容をご紹介しましょう。
Rubyエンジニアの実際の求人例
ファクトリーオートメーション 株式会社ZOZOテクノロジーズの例
雇用形態: 正社員
予定最高年収: 1,500万円
勤務地: 東京都渋谷区
年収: 300〜1,500万円
【仕事内容】
既存事業、新規事業を成功させるために必要なシステムの企画・設計・開発・運用業務、およびデータベースなど基盤周りの運用管理・パフォーマンスチューニングを担当していただきます。
(1)新規事業:今後展開される新規サービスのサーバーサイド側の設計、開発、運用業務
(2)ファクトリーオートメーション事業:プライベートブランド「ZOZO」の縫製工場におけるファクトリーオートメーション
のWebアプリケーションの設計、開発、運営業務
【求める経験】
・Webアプリケーションやサービスの開発経験(言語不問)
【歓迎】
・MySQL,SQLServerなどのRDBMS利用経験
・Java/Scala/Ruby/Python/Node.jsなどを利用したWebアプリケーション開発の実務経験
・Solr/ElasticSearch/Redisなどのミドルウェアの知識
・スケーラビリティを考慮した大規模Webアプリケーションの設計経験、負荷対策を行った経験
・ECサイト・アプリの開発経験
・WebAPIの設計・開発経験
・クラウドサービス(AWS,GCP,Azure等)を利用したサービス運用・開発経験
【コアタイム】
10:00~17:00
【就業時間】
9:00~18:00
【保険】
健康保険 厚生年金 雇用保険 労災保険
【諸手当】
通勤手当 退職金制度 住宅通勤手当(5万円) 家族手当 慶弔見舞金 従業員割引
【休日休暇】
慶弔休暇 年末年始 夏期休暇 有給休暇 完全週休二日制(土日) 祝日 産前産後休暇、育児休暇 時短勤務制度
data: jp.indeed.com
Rubyエンジニア 株式会社ギークリーの例
【年収】 550万 ~ 1,000万円
【雇用形態】 正社員
【予定最高年収】 1,000万円
【勤務地】 東京都渋谷区
【年収】 550〜1,000万円
【仕事内容】
シニアRubyエンジニアとして、同社が運営する動画コンテンツのプロダクトの開発を行っていただきます。
【求める経験】
・Ruby on Railsによる業務経験
・Gitを用いた業務経験
【歓迎】
・Rspecを用いたテスト駆動開発の経験
・Reactを用いた開発経験
・メディアの開発経験
・Dockerを用いた開発経験
【就業時間】
10:00~19:00
【保険】
健康保険 厚生年金 雇用保険 労災保険
【諸手当】
通勤手当 交通費支給(上限5万円)、書籍代:5000円 / 月 有料カンファレンスへの参加(Adtech、brand summit、media summit、技術勉強会等)
【休日休暇】
慶弔休暇 年末年始 夏期休暇 有給休暇 産前産後/育児休暇、誕生日休暇、リフレッシュ休暇
data: jp.indeed.com
転職・起業事例
こちらの転職成功者は、会計システムの IT化を目の当たりにし、将来へ不安を抱くようになって、エンジニアへの転身を検討。ファーストステップは、 Progate や ドットインストールで勉強し、その後オンラインのプログラミングスクールで Ruby を学習。そして最終的には 「ぽてパンキャンプ」 という転職斡旋型のプログラミングスクールを利用し、エンジニアに。
26歳でプログラミングスクールに通い、銀行を辞め、 Railsの自社サービス企業に就職したゆうすけさん。ブログを拝見する限り公私ともに充実している様子。なぜ会社を辞め、なぜ Rubyなのか、気になる点は 200円の有料コンテンツのため、ご興味ある方はこちらを参考にしてください。
Ruby 入門者におすすめの記事
コードキャンプのRubyカリキュラムの特徴
https://codecamp.jp/courses/master_ruby
コードキャンプから提供している 『Rubyマスターコース』 では、 Rubyの基本文法から Ruby on Rails の基礎までを学習。また本コースでは HTML や CSS、 JavaScript といった Webアプリケーションに必要な言語のチュートアルも含まれています。 Ruby も プログラミング もはじめてという方に良さそうですね。
受講料: 148,000円(税込み)
入学金: 10,000円(税込み)
受講期間: 2か月間
レッスン回数: 20回
- この記事を書いた人
- オシママサラ