tetu式

ゲームと音楽・作曲の自己満足と悩みどころの多いプログラムのブログ。

Ruby on Railsの環境構築と勉強

Goに続いて今度はRubyにも手を出しました。
前からずっと気になっていた言語ではあるのですが、自分が贔屓してるソシャゲでもRubyが使用されていると知って
俄然興味が湧いてきたという感じです。

で、その中でもRuby on Railsというように
Rubyの超有名フレームワークとしてRailsがセットになっていることが多いということで
合わせてRailsにも触れて見た次第。

で、思ったこと。

これはいきなり始めていい気になってはいけない。


最初、ひとまずRubyがわからなきゃそもそも話にならんということで
しばらくはRuby言語そのものの勉強を進めていました。

このあたりはフレームワークだけ知っててもどうしようもないですし、
基礎の基礎ということで。

で、一通りいろいろ知った後でMacRails環境をこさえるかーといったところでめちゃめちゃ詰まりました。

なんで詰まったかっていうとRailsをインストールする(環境を作る)手段がやたらと豊富である & 情報がやや古い(最新のRailsではない)というのがありました。
おまけに自PCのMacの環境次第でインストール時に権限やらなんやらーで素直に行かなかったことがありました。
要は素直に行かなかった時に対処する記事が少なすぎて手詰まりだったわけです・・・

で、Rails環境を作る上で大事なことは、インストールする環境が同じであることが望ましいという結論に至りました。

色々試した結果、一番すんなりいったのが下記記事様。

初心者でもかんたん!Ruby on Rails の開発環境の構築手順(Mac/Windows 両対応) | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト

仮想環境VagrantRuby on Rails環境を作るというやり方です。

詰まったのは一点だけで、sshfs のインストール(Mac 編)のタイミングでsshfsでリモートしているVagrantRuby on Railsソースを
自分のローカル環境に落とすという操作ですがこの時に

remote host has disconnected

というメッセージが表示されてローカル環境に落とせませんでした。
自分の環境のせいかもしれないですが解決策としては、プライベートキーを明示的に指定したらうまくいきました。

sshfs vagrant@192.168.33.10:/home/vagrant/app app -o IdentityFile=/Users/xxxxx/vagrant/centos7/.vagrant/machines/default/virtualbox/private_key

これでローカル環境でソース編集したものがリモート先に反映されるという環境ができました。

次にRailsをどう使っていけばいいのかということで参考になったのが下記記事様。

小学生でもわかるRuby on Rails入門 | OpenBook

小学生でもわかるとありますが、単純にRails触ったことないって人向けにめちゃめちゃ優しく書かれてます。
注意点としては先ほどのVagrantRuby on Rails環境を作っている場合、railsに関するコマンドは
作成したアプリのフォルダまで移動した上で、頭に「bin/」をつけることくらいですかね。
この辺りはパスを通したりすればいいのでしょうが・・・

で、一通り記事の内容を通したところで思ったのがこれはいきなり始めていい気になってはいけない。

当たり前の話なのですが、フレームワークはそもそも素の言語でめんどくさいことを別な記法で簡潔に対応していくことで
開発速度をあげたり、記法によるバラツキを抑えて統一感を持たせるということに意義があります。
なのでRuby言語を覚え、加えてRailsも覚えるという二重の勉強コストがどうしてもかかってしまいます。

常日頃別の用途でRuby言語を使っているならいいかもしれませんが、二つ合わせて初めて今回触ったのでこんな所感になりました。

後から知ったのですが、Rails自体のバージョンアップがなかなかに激しく、前にできたことができなくなったりというのが結構あるみたいです。
なのでバージョン毎に丁寧に記事があったとしても、最新のRailsで互換性があるかは分からず二度手間になりそうです。

最近のバージョンでは(対策はちゃんとあるけど)jqueryを初期サポートしなくなったというものがあります。

プロジェクト毎にRailsのバージョンも固定となりそうですがその度覚えることが増えるというのもなかなか難儀ですね・・・