3.Railsを知る。4.Herokuを知る。Railsで作れたよやったねというお話です。期間は1週間で10時間分くらいずつかけて、5ヶ月くらいだと思います。週末にコツコツ、、、ということはなく、週末はやる気がでずに手につかなかったので、平日の忙しい時に寝る間を削ってやっていた感じです。参考書のリンクはまとめて下におきました。Webを支える技術を読みました。クラサバの開発がメインだったので、Webの考え方を知るところから始めました。以前にASP.NETの開発をやったとき、Webのことがわからない+ASP.NETがわからないというはさみうちを受けたせいで大爆発した覚えがあります。今回はそもそものところを理解したいなという心積もりでした。Webサーバーはリクエストにレスポンスを返すだけ。ステートレスであること、がWebで最も重要なファクターであると認識しました。セッション管理をしたいという発想自体が実はイレギュラーなんだなぁというのは新発見。HTTPメソッドは7つしかないからシンプルですごい!でも使うのは2つだけという現実。RESTfulという理想が現実を侵食するのはいつになるのでしょうか。Webといったらスクリプト言語が熱い。Perl,PHP,Python,Rubyの中からRubyでやってみることにしました。Railsというのが凄いらしいというのは私も目にしていましたので。そこでまずRubyの勉強から。最初はWindowsにRubyを入れて色々と動かそうとしていましたが、どうにもWindows環境は相手にされていないらしく何をするにも一々引っかかるので断念。Linuxを使って見ることになりました。業務ではSoralisサーバーを使用していましたが、コンパイルやデプロイは決まった手順を繰り返すだけなので理解していなくても使えてしまうのです。Ubuntuというディストリビューションが初心者向きだという情報を目にしたので、秋葉原で中古ノートPCを買ってきて、そこにUbuntuを入れることにしました。すげえWindowsと全然違う!ターミナルを黒画面に緑文字にしてcdとlsをタカタカタカターンと連打することでスーパーハッカー気分を味わうことができます。LinuxはLinuxで大変でした。apt-getでさくっとインストールができるのはいいものの。なにげなく入れたRubyは1.8。ソースからと思いましたが、まず「./」の意味がわからない。カレントディレクトリ。コンパイルはできない、あれがないとか、これがないとか。他にもreadlineがないとかopensslがないとかzlibがないとか。そんな有名どこ以外にも、エラーは出続けました。解決できないまま1週間調べ続けたとかもわりとありました。あるときRVMというものに気づいて入れてみたりしました。Rubyのいろんなバージョンを切り替えながら使える!すごい!とまあ、そんな困難をいきつつLinuxでどうにか環境を作りました。Linux使いはこういうのを平気でこなすんですか?怖いです。Ruby自体については初めてのRubyを読みました。型宣言しなくてもいいんだなーとか思いながら読みます。ブロック変数とかなかなかわかりづらいです。今もよくわかってないです。型宣言がないせいでわけがわからなくなることも多かったです。あるメソッドをto_sしても動かない、実はそのクラスにto_sはないとか、戻り値は単数っぽい名前だけど、実はリストで返ってくるメソッドとか。そんなんコンパイルした時点で教えろよ!みたいな。え?コンパイルはない?ソウデスカ、ソウデスネ。みたいな気分になったりしました。手始めにTwitterのBotなどを作ったりしました。20行くらいでできたので驚くことしきり。動く擬似コードとはよく言ったものです。Rubyで書いたCOBOLになってしまわないように、今後はその言語らしい書き方っていうのを学びたいと思います。アプリケーションプログラミングを読みました。Railsをやっていきます。本を読みながらコントロールの役割、モデルの役割、ビューの役割、を理解していきます。scalfordでできる雛形をみて、どの部分が何をしていくかを確認します。NoMethodErrorを死ぬほど見ました。あとrailsはDBの抽象化が凄いです。schemeファイルを書き換えるだけとか凄い。DBのsqliteからPostgreSQLに切り替えてもDb:migrateで元通りとか凄い。このへんは感動しました。ところでRailsってビューにタグがいっぱい入ってくるのがなんか気持ち悪いです。ビューにロジックが入らないようなフレームワークはあるんでしょうか。JSPも不思議なタグばかり増えて結局よくわからないとかになりがちでしたし。なんとなくRailsがイメージできたら仕様を起こします。