on Railsニキ
ついに俺にもRails案件が回ってきた
— Shalman(シャルマン) (@_shalman_) 2016年9月30日
俺PHPerなんだが。いずれ対峙するとは感じていたが、まさかこんなに早いとは…
ゼロ知識でも勝手にアサインのがインターンの良いところ。社員だったら責任重く感じてフレキシブルにできないと思う。
Railsチュートリアルをやる
何かと有名なこのサイト。1週間くらいで全章やってみた。
全部やれば「Twitterモドキ」がつくれる。
ことはじめ
ローカル環境にApacheは立ってるので、Railsを動かすにはApacheにPassengerモジュール突っ込めばいいっぽい。
でもせっかくだし、Vagrant使ってローカル汚さず仮想環境でやってみた。結果むしろめんどい感じになったがvagrantに慣れるという意味ではよかったと思う(思いたい)。
いい感じに環境設定できてるBOXを探す。あった。
GitHub - rails/rails-dev-box: A virtual machine for Ruby on Rails core development
rbenvがなかったので、apt-getとかでinstallして2.3系に変更。ちなみにrailsの最新は5系らしいが、チュートリアルだと4系の解説だったので、そちらで行なった。
rails server -b 0.0.0.0
でバインドオプションつけて、ブラウザから http://localhost:3000 にて確認しろーってチュートリアルにはあるが、いちいち面倒なので、.bashrcのaliasesあたりに
alias s='rails s -b 0.0.0.0'
でエイリアス登録⇨sourceコマンドで有効。s打っただけで鯖が立ち上がるようズボラ設定にした。
-dでdaemon起動もできるが、vagrantがたまに暴走するとプロセス強制終了したりしないといけなかったので、手動にしといた。
編集するのにいちいちFTPソフトでいじるのは面倒、vagrantfile直下がデフォルトで共有なので、rails本体はそこにインストール。
たまにherokuデプロイやgitの解説があったが、そこは読み飛ばし。git管理はしたがherokuはやってない。
所感
これってTDDチュートリアルじゃね
TDDについて
Ruby/railsについて
- Ruby言語自体は、大学の授業で"Hello World"レベルだったのでほぼ初心者。シンボルとかあったきがする(遠い目)
- すごくオブジェクト指向だった(10.minutes.agoとか)
- MVCのFWはLaravelやCodeigniterを触れているので、ディレクトリ構造に違和感なくできた。
- 変数どこで宣言してるのかわからんね。
- 関数呼び出しに()括弧を省略できるのが違和感ある。
- たまに命名が単数なのか複数なのかわからなくなる。
- ActiveRecordで分からなくなったらConsoleで試す。
- 命名して宣言しているのか、railsの機能で予約語みたいになっているのかがまだ分からない。
- railsが意図を汲み取ってくれるあたり、親切だが気持ち悪さも感じる。
こんな感じ。「railsは慣れれば楽で、他のFWが触れなくなる」ってのもなんとなく理解できた。
何回か会員サイトを作ったことがあるが、今回のチュートリアルのようにお手本がなかったのでかなり参考になったと思う。
チュートリアルの内容は結構膨大で、後半あたりコードはコピペばっかりだったが、RESTFulなサービスを作ることになったらまた見返したい。