Ch.2 Ruby on Railsでの開発②|『Webエンジニアの教科書』まとめ #3

f:id:lib-arts:20190125203414p:plain

#1では連載の経緯と課題本とした『Webエンジニアの教科書』の1章についてまとめました。

 詳細は#1を読んでいただければと思いますが、技術開発系の仕事をするにあたってはこだわりや尖ったスキル(例えば機械学習やる上での数学やフロントやる上でのデザインスキルなど)がない場合はWeb開発者のキャリアパスを目指すのが良いと思います。この連載では未経験者・初心者向けにWeb技術の入門にあたる内容をまとめていきます。スクールに通うかどうか迷っている方などをメインの想定読者として考えています。

#2では課題本の2章のRuby on RailsのSection-07のMVCまで取り扱いました。

#3では08の「Railsでアプリケーション開発」が分量多かったため、こちらを1回で取り扱おうと思います。
(本はさほど高価ではないし購入の上読んでいくことを推奨します。何も知らない前提であれば学ぶ内容が非常に多いと思います)

 
1. Section_08の内容に関して(Railsでアプリケーション開発)
1.1 Railsの開発環境を整える
1.2 Railsを触ってみる
1.3 OAuth認証、非同期処理
1.4 参考資料(Michael Hartlチュートリアル
2. まとめ


1. Section_08の内容に関して(Railsでアプリケーション開発)
1.1 Railsの開発環境を整える

◆ rbenvの導入
まず、開発環境を整えます。整えるにあたって、rbenvというツールが紹介されています。こちらを導入するメリットとしては、開発環境がプロジェクト毎に異なっている場合のスイッチコストを下げるというところにあります。Pythonを使用する際にpyenvというツールがあるのですが、ツール自体は非常に似ており用法も近いです。

ちょっと本の内容が古いので、流れをローカルのMacで追ってみたものについて共有できればと思います。
VagrantやDockerなどで仮想化する方法もありますが、Chapter-08で扱ってるようなのでここでは簡易化のため飛ばします。本はCentOS6.5が前提のようですが、MacOSのターミナルはLinux系とそこまで変わらないので、基本的に大体は書いてある通りに進めていっても問題ないです。

まずはrbenvやruby-buildをGitHubから落としてきます。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

これでユーザーディレクトリ下(/Users/user_name/、$HOME)に隠しフォルダの形式で.rbenvを構築し、その下のディレクトリに対しruby-buildもコピーされています。ここで"rbenv --version"と叩いてもエラーが出るのですが、理由としてはパスが通っていないからです。パスを設定するにあたってはbashに設定を記述しておくと良いです。「.bash_profile」辺りに記述とありますが、個人的にはPythonがメインなので「.bash_rb」を作成しました。(入門にあたっては動けば十分なので、特にこだわらなくて良いと思います。)
「$ vi ~/.bash_rb」でファイルを開き以下を貼り付けて保存します。($はMacのターミナルの表示なので以下全てのケースにおいてコマンドとして出てくる際の$は貼り付けないでください。)

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

貼り付けた後は「$ source ~/.bash_rb」を実行します。これによりrbenvにパスを通すことができ、コマンド実行することができるようになります。

$ rbenv --version #この行を実行
rbenv バージョン情報
$ rbenv install -l #この行を実行
(インストール可能なRubyのリスト)

上記のような動作確認ができればrbenvの導入はうまくいっています。

 

Rubyのインストール
次にRubyのインストールを行います。rbenvが入っていれば比較的スムーズに入れることができます。本だと2015年の内容になっているので2.1.5を使っていますが、「rbenv install -l」の実行結果としては2.6.0がありました。最新のものだと安定していない場合も多いし普段使わないRubyを詳しく調べるのもコストパフォーマンスが悪そうだったので、今回は2.5.2を選択しました。(個人的な勉強の目的ならこのくらい適当でも良いかなと思います)

$ rbenv install 2.5.2

上記を実行すればRubyの2.5.2のバージョンをインストールすることができます。インストールが終わったら下記のコマンドを叩いて、インストールができているかの確認とバージョンの設定を行ってください。

$ rbenv versions # この行を実行、rbenvでインストール済みのRubyのバージョンの確認
* system
2.5.2
$ rbenv global 2.5.2 # この行を実行、ここでRubyのバージョンを設定
$ rbenv versions # この行を実行、rbenvでインストール済みのRubyのバージョンの確認
system
* 2.5.2
$ ruby --version # この行を実行、rbenvのパスが通ってるか再度確認(失敗するケースはここで違うバージョンが出てくるケースは多い)
ruby 2.5.2...

上記までできればRubyのインストールまでは完了となります。


1.2 Railsを触ってみる

Railsのインストール
次にRailsのインストールや実行に関してです。Rubyのパッケージ管理のコマンドであるgemを用いて諸々進めていきます。

$ gem install rails --no-ri --no-rdoc

ちなみに下記をインストール後「$ rails -v」で確認するのですが、エラーが出るかもしれません。パスの読み込み直しが必要なようで、先ほど作成した.bash_rbをもう一度sourceを使って読み込み直すことで解決しました。

$ rails -v #この行を実行($は不要)
Rails 5.2.2

上記が確認できればRailsのインストールは成功しています。

 

Railsの簡単な実行(ローカルにサーバを立てる)

$ rails new sample
$ cd sample
$ rails server

適当なディレクトリで上記三行を実行したのちに「http://0.0.0.0:3000/」にアクセスするだけで下記のような画面が確認できます。これで簡単な動作確認ができたことになります。

f:id:lib-arts:20190125214906p:plain

 

1.3 OAuth認証、非同期処理
1.4でご紹介するMichael Hartlのチュートリアルの方が初心者向けだと思うので、ここは飛ばして1.4の方を見ていただく方が良いのではと思います。

 

1.4 参考資料(Michael Hartlチュートリアル

Ruby on Rails チュートリアル:実例を使って Rails を学ぼう
RailsベースでWeb開発を学ぶなら上記が良いと思います。情報量が豊富です。こちらのドキュメントではCloud9が推奨されていますが、1.1と1.2で構築できていればローカル環境で進めていっても問題ないのかなと思います。
1,3,5,6章あたりを読んでMVCの構成だったり、git管理やデプロイなど含めたWeb開発の基本などを抑えると良いのではと思います。後半はTwitterのクローンのようなアプリの製作なのですが、若干複雑になっていくので1,3,5,6章を読んだ後に興味が湧いたら進めるで十分だと思います。
久しぶりに見たら以前と違って有料プラン系色々と出てきてるみたいなのですが、Web版は無料のようです。個人的に現状のようなUIは好きではないですが、内容自体は非常にしっかりしているので、お勧めさせていただきました。

 

2. まとめ
環境構築系のトラブルはなかなか大変ですが、そこさえクリアできれば色々と動かせて楽しいです。
初心者のうちは環境系のトラブルはなかなか一人でやると大変なので、クラウドIDE(開発環境)か、環境構築だけ知り合いに頼むでも良いかもしれません。