派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】3時間でアプリ公開!ゼロからのプログラミングRails講座

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、ご登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

今回は、2017年1月21日に東京・渋谷で開催された「3時間でアプリ公開!ゼロからのプログラミングRails講座」の模様をご紹介します。

■今回のイベントのゴールは、

1. 経験ゼロから、学習のコツをつかむ
2. Webアプリケーションの開発に必要な知識を身につける
3. 3時間という短い時間の中でアプリを公開し、モチベーションをグッと向上させる

の3つです。これからプログラミングを本格的に学んでいきたい!という方、ぜひこの記事を参考にしてください。

イメージ

▲講師:株式会社Dive into Code代表取締役 野呂 浩良さん
株式会社リクルートで営業を務めたのち、株式会社ワークスアプリケーションズに転職。2014年にグロービス経営大学院大学MBA取得。1年間の独立・起業の過程で、エンジニアの人材不足を痛感し、ゼロから独学でプログラミングを学習。2ヶ月後には、ご自身でWebアプリケーションを開発した。2015年4月にはこれらの経験を活かし、プログラミングスクール「DIVE INTO CODE」を創業。

講師の野呂さんは、独学でプログラミングを学んだこれまでの経験から、「最初に学ぶべきことをきちんと知ることができれば、プログラミング学習の苦労は大幅に減らすことができる」と言います。

そのことから、講座はまず1時間ほどの講義から始まり、その後に実践ワークが行われました。

ここからスタート!Webアプリケーション開発の全体像を理解しよう

講義で教えていただいた内容、「プログラミングを初めて学ぶ方が知っておくべき、Webアプリケーション開発の全体像」をご紹介します。

・開発環境

開発環境とは、開発作業に必要な場所と道具のことです。プログラミングを始めてみよう!と思い立っても、まずはこの環境構築ができなければ、プログラムを書き始めることが出来ません。例えば以下のようなものがあります。

● OS(Windows, Mac OS, Linux)
● Webサーバー(Apache HTTP Server, Nginx)
● 開発言語のインタプリタやコンパイラ(Ruby)
● フレームワーク(Ruby on Rails)
● データベース(MySQL)
● バージョン管理ツール(Git※)

環境構築は時間がかかることも多いですが、Cloud9というサービスを使えば、簡単に完了することができます。

※参考: Gitとは
ソースコードのバージョン管理ツールです。ソースコードをコミットすることで、その時点でのファイルやディレクトリの状態を保存することができます。Gitを使うことで、何か問題が起きた時にアプリケーションを特定の時点まで戻す等の処理を簡単に行うことが出来ます。

▼野呂さんがおすすめするCloud9

イメージ

・プログラミング言語 Ruby

プログラミング言語は、人間に理解しやすい形で機械に命令を行なうことができる言語です。特にRubyは、Webアプリケーションの開発で広く使われており、開発者が日本人ということもあって、国内のIT業界ではもちろん、海外でも人気で、広く受け入れられています。また、初心者でも簡単に書くことができ、生産性が非常に高いことが特徴です。

▼Rubyが使われているサイト
・海外では GitHubやAirbnb など
・日本国内では cookpadやストアカ など

・Ruby on Rails

Ruby on Rails(以下Rails)は、Rubyで利用できるWebアプリケーションフレームワークのことです。

フレームワークとは、Webアプリケーションで必要な共通の機能や部品をあらかじめ用意をしてくれる、ひな型を意味します。フレームワークを採用すると、そのアプリケーションの重要な処理にだけ集中してコーディングすることができるので、開発生産性が非常に高くなるというメリットがあります。

イメージ

引用元:http://www.slideshare.net/norotime/rubyonrails-42709667

例えるなら銀行の窓口!?Railsの仕組み

次に、Railsの仕組みを理解していきましょう。
Railsはサーバーへのリクエストがあった際に、以下のような「ルーティング」という仕組みと、「MVC(Model-View-Controller)」という仕組みで、サーバーからのリクエストを処理します。

イメージ

引用元:http://www.slideshare.net/norotime/rubyonrails-42709667

これを野呂さんは、銀行の窓口に行ってお金を下ろすことに似ていると言います。

お客さまの来店<サーバーへのリクエスト>

案内スタッフが用件に応じて、どの窓口にいくべきかを教える<ルーティング>

窓口の受付スタッフはお客さまの用件を聞き実際の処理はバックオフィスに依頼をする<ControllerからModelにデータ処理を依頼>

その処理が終わると、受付スタッフはお金と通帳をお客さまに返却 <ControllerがViewをレスポンスとして返す>

身近にある例え話とわかりやすい図解を交えながらの説明により、Railsの経験がない方もきちんと理解をした上で、次の実践ワークに進むことが出来ました。

実際に手を動かす中で、効率よく学ぶポイントは?

今回はオンライン上の開発環境「Cloud9」を利用し、以下3つの実践ワークに取り組んでいただきました。

1. お試し Webアプリケーションの開発
2. Git でバージョン管理
3. Heroku※ でアプリケーションの公開

※解説: Herokuとは
無料で使えるWebアプリケーションのホスティングサービスです。Railsアプリをデプロイ(アップロード)することでアプリケーションを一般に公開することができます。Gitでバージョン管理されているRailsアプリケーションはコマンド一つでHerokuへデプロイすることができます。

各ワークとも、最初の20分間はご自身の力だけで進めていただき、その後10分間の解説を聞くというサイクルで進んでいきました。このように、「わからなくても実際に動かしてみて、その後に復習すること」が、効率よくプログラミングを学ぶポイントだと野呂さんは言います。

イメージ
イメージ

▲巡回しているメンターの方に質問をしたり、参加者同士でもお互いに教え合う様子もあったりと、和やかな雰囲気でした

90分のワークを含む3時間の講座の中で、実際に自分の書いたコードがアプリケーションとしてWeb上に公開できたことは、モチベーションも上がり、次に繋がるきっかけとなったのではないでしょうか。

ゼロからプログラミングを学ぶための「3つのコツ」

プログラミング学習では、以下のことを意識しながら学習を進めることが重要だそうです。

1.習うよりも慣れる
プログラミングは手を動かして自分でコードを書かないと身につきません。インターネットや書籍の情報を読んで知識をつけるだけでなく、実際に自分で書いて動かしてみることが重要です。

2.時間制限を設ける
30分以上のつまずきやわからないことがあったら、抱え込まずに質問しましょう。周りに質問できる人を見つけることや、プログラミングスクールを活用するのも一つの方法です。

3.守破離(しゅはり)の守から始める
プログラミングを始めると、「なぜこのようなコードの書き方をするんだろう」と疑問がでてくると思いますが、まずは書籍や教材の写経(丸写し)から始めてみましょう。

イメージ

学ぶだけじゃなく、モノやサービスを作る経験が次のステージに繋がる

実際にエンジニアとして仕事をしていくには、自分でサービスを作るほか、受託などを通じ実務経験をつける必要があるとアドバイスがありました。なぜかというと、エンジニアの求人案件には、「◯年以上の実務経験」という項目が含まれている場合が多いからです。

そのためDIVE INTO CODEでは、卒業生には受託開発を斡旋し、実務経験を積めるようサポートしています。ITSTAFFINGも、より多くの案件をご紹介させていただく可能性を高めるために、ご自身でプロダクトの開発をしていただくことを、おすすめしています。

また、ゼロからのきっかけとなる今回のようなイベントや、オウンドメディア「エンジニアスタイル」や「メールマガジン」での情報発信も行っておりますので、ぜひご活用ください!