woshidan's blog

あいとゆうきとITと、とっておきの話。

Ruby on Railsのチュートリアル4(やっぱ怖いよ!git)

チュートリアルの6章を半日遅れで終わらせて、

無線LAN買ってきてセットしたので、Macで作業できるようになりました。

(今日の進捗はこれでいいですか、よくないですね)

 

こういうのは専門の人がセットして〜ってイメージだったけど(研究室などの人事的に)、

最近の無線LANは本体に自動セットボタンがついてるんですね。すごい(LANが)。

対応OSはWindowsのほうだけだったけど、それでも長押し一発でできたときは感動した。

 

以下、自分の振り返り用に今日の分について、やってて思ったことやわかったつもりになったこと。

 

テスト駆動開発について

capybaraのすばらしい自然言語性により、細かい仕様書みたいに見えてすごい。

ただなんだか「お前、なんとなく思いついたんじゃなくて、ちゃんとどう動くかわかってるんだろうな?」と聞かれているような気持ちです。こういう風に少し厳しめに「おらおらわかってないんだろ?」と聞かれるのは個人的性分として好きですが、勉強が大変だ。

 

MVCモデルについて

generate controller Users(複数形)

generate model User(単数系) 属性名:クラス名 (後でrbファイルから追加可能)

でモデルとそれを扱うコントローラを作る。

コントローラはいまのところビューを呼び出す指令を出すもの、というイメージで、

ビューは埋め込みrubyやscssによる動的に表示が決まるページを作成するためのソースコード

モデルはデータベースへやり取りするための取り決めが書いてあるソースコードで、おかしなデータが通らないがチェックしたり、データの値をもとにデータベースの中のデータを呼んできたりする、門番というかおまわりさんのようなイメージ。

 

rspecでテストを書く

テストのコード自体はオプションをつけなければ自動的に生成される気がするけれど、いまのところはチュートリアルどおり一応書いている(=単なる写経)。

describeでブロックを作ったりsubjectを指定したり、いろんな変数の指定の仕方があったはずだけれど、把握しきれてないです。

後の章でもテストでてくるでしょ!?って思ってます。

あと、違うページなどに対して、ほとんど同じ条件を試す場合についてはshared Exampleを使えば、差分を変数で指定してやるだけでよくなるらしい(恩恵に預かれるほど書いてない)。

 

続きに移る前に、

gitが質問するのも申し訳ないくらい全然わかってないことが改めて判明したので、

(自信を持って説明できるのは、なにか一段落ついたらadd .して、コメントつけてcommitするということくらい。二行! 画面幅によっては一行!)

まず、サルでもわかるgit入門からはじめて、次いで紹介してもらったgit記事で勉強することにします。