英語、は楽しい。
今日は思った以上に集中しにくかったな…なんでやろか。カリキュラムと向き合っても全然頭に入ってこない感じ。だから散歩したよ。外に買い物行ったり、近所を散歩した。半年振りくらいにPokemon GOした。笑 クロバット好きなんです。
1.簡単日記
今日は近くのスーパーへ買物。お茶碗って打ってると思ったけど売ってないんですね。あと蒟蒻畑を買いました。凍らせて食べるのが好き。夏のライフハックだゎこれ。笑
明日はライブ…というか結婚式の余興で歌うからそのバンド練習。午前中2時間だけやけどその後ご飯とか行って諸々話したいな。みんな忙しいかな〜!
2.今日の学び
◆#Rails ルーティングがネストされているモデルでのform_for
— ShowGoGoGo@プログラミング勉強中 (@shshsshsh8) 2019年7月27日
messagesがgroupsにnestされている時、form_forの引数には親モデルinstance変数を第1引数、子モデルinstance変数を第2引数に設定必要。
例
form_for [@group, @message] do |f|
引数が1つだとnillエラーが発生。#プログラミング初心者
◆#Rails 三項演算子
— ShowGoGoGo@プログラミング勉強中 (@shshsshsh8) 2019年7月27日
if 条件式
true時の値
else
flase時の値
上記は三項演算子をifに用いると下記の様に記述可能。
条件式 ? true時の値 : false時の値
単純な条件ならこっちのほうがスッキリできる。#プログラミング初心者
◆#haml でeach、idを使用する時
— ShowGoGoGo@プログラミング勉強中 (@shshsshsh8) 2019年7月27日
hamlでeachやifなどのロジックを使用する時は先頭に「-」ハイフンをつける。
「=」を先頭につけるのは<%= %>の略。#プログラミング初心者
◆#Rails テストとは?
— ShowGoGoGo@プログラミング勉強中 (@shshsshsh8) 2019年7月27日
プログラムが自分の意図通りに動くか確かめること。
プロダクションコード…本番環境で実際に動かすコード
テストコード…テストを行うためのコード
RailsのテストコードはRSpecという独自の言語を使用する。
信頼性試験…より、出荷検査に似てる。#プログラミング初心者
◆#Rails テストコードの準備
— ShowGoGoGo@プログラミング勉強中 (@shshsshsh8) 2019年7月27日
・gem 'rspec-rails'をdevelopment, test環境下に配置してbundle install
・terminalでrails g rspec:installで基本fileを作成
・.rspecファイルに
--format documentation
を追加。これ必要。なかったらテストの結果が初学者にはまじでわからん。#プログラミング初心者
◆#Rails テスト基本構文
— ShowGoGoGo@プログラミング勉強中 (@shshsshsh8) 2019年7月27日
describe "hogefuga" do
it "テストの内容" do
expect( 条件 ).to マッチャ 値
end
end
上記を解説すると
describe " " do ~ end …後述するテストのまとまりの意味を" "へ記述
it "テストの内容" do ~ end …テストの内容を" "内へ記述#プログラミング初心者
expect( 条件 ).to …条件に入れた値が後述の値とマッチャな関係にあるかを記述する
— ShowGoGoGo@プログラミング勉強中 (@shshsshsh8) 2019年7月27日
マッチャ 値 …ここには値と等しいことを表すeqやクラスに含まれていることを表すinclude、バリデーションされればvalidなどを記載する。expectされたものを後述の値とどうするかを示す。#プログラミング初心者
Railsと英語で会話してるみたいだからテスト書くの楽しい。railsと会話してるみたい。
— ShowGoGoGo@プログラミング勉強中 (@shshsshsh8) 2019年7月27日
でもこれってどこがいってないかを確かめるためのもので、ここでエラーになったらデバッグしないとなんですよね。#プログラミング初心者
#今日の積み上げ
— ShowGoGoGo@プログラミング勉強中 (@shshsshsh8) 2019年7月27日
★Railsのテストの基本的な書き方。
★主催ライブの宣伝出演者2バンド紹介@twitter
★個人練習(発声、リズム、ボイパ)
今日は勉強になかなか集中できなくて気分転換に練習したり、散歩したり。そしたら一日あっという間に過ぎていった。時間を大切にしよ!#プログラミング初心者
今日は中身の実装が一段落して、テストコードの書き方について。
「テストとか必要なん?ローカルで自分で動きを確認したほうがコード書くより早いんじゃないん?」
って思ってたけどどうやらそういうわけにもいかないらしい。個人的に一番大きい理由は
他の人がファイルを見た時にちゃんと確認しているのかが確認できる。
これ大きいよね。人のコードレビューした時(まだしたことないけど)に自分で確認したかどうかはテストコードを見たらわかるもんね。これは便利だ。
もちろん、テストコードを書く理由は他にもあって、自分で確認するより早かったり確実だからとか自動化ができるからとかたくさん理由はあるみたい。今日はユーザーログイン周りをしたから、コントローラ側や総合テスト(複合した機能のテスト)を終わらせて次に進みたいな。
あと、テストコードを書く時になんのテストコードを書いてるのかとかを記述するんだけど、それがもちろん英文で。railsと英会話してるみたいで楽しかった。笑 やっぱり英語使うの楽しいな〜好きだ!
3.明日やりたいこと
テストコードの続き。非同期通信の実装にも入りたいな〜!
でも明日は練習があるからな〜…勉強時間は切り替えて集中して進めるぞ!
4.終わりに
土曜日でしたね。近所の公園では夏祭りの準備をしていました。きっと今晩と明日とかやっているんだろうな。世間の学校は夏休みですから。
今日もテストの書き方を勉強して成長したな〜!本番環境に出す前に確認するとか、スマホの出荷検査みたい!実際似てるよね。ここでだめなら対策打ってからまた確認して出す。
ということで明日も休みの人が多いだろうから休むなりなんなりで充実させましょ〜!
今日もありがとうございました(^o^)