微妙な知識
4:51開始
月末にやりたいことを30分くらいやってから勉強開始でやや出遅れ。
毎日のドリル1つに躓きまくり、カリキュラムまでたどり着けず…。
なんとなくわかってるけどエラー出まくりで調べてたらなんとか正解にたどり着けた。
でもなんだか消化不良感…
・Class ABC def self.DEF ~ end ~end
クラスを呼び出しておこなうメソッド。ABC.DEFでselfメソッドを呼び出せる。
selfメソッドなんて存在自体忘れてたよ。。
・インスタンス生成
abc = ABC.new(def, ghi) でABCクラスに対してのabcという名前のインスタンスを生成できる。中身はdefとghi。def initialize ~ end でインスタンスの中身をインスタンス変数(@付くやつ)で定義しておくと、他のインスタンスメソッドにも使えて便利。
そのうちpythonも勉強したいんだけど、どう勉強するのがいいんだろ?
rubyをわかっていれば簡単に(?)理解できるものだろうか?
ruby on rails みたいなやつ、python には何があるんだろ?
時間見つけて調べ始めないとかな
ま、今週もがんばろ。
そろそろ体を休めないと?
5:21開始
昨日は勉強の日でなんだか疲れたのかな、全然起きれなかった
そろそろ一旦しっかり寝ないといけない感じ?
・コントローラー単体のテストコード
モデル単体がDBとのやり取り(データの有無とかカラムの縛りとか)を確認していたのに対して、コントローラー単体はリクエストに対してのレスポンスの確認をする。describe 'get #index' do ~ end 等で書く
・request spec
コントローラーのテストコードに特化した手法。…でも今までと何が違うのかはまだよくわからない
・request.status
処理が成功していれば200
・request.body
ブラウザに表示されるHTMLの情報を抜き出す
昨日ライフコーチさんと面談したら、ブログはそんな頑張らなくていいと言われた。
更新頻度落ちるかも。
無理せず続ける方針にしようかな。
やる気になれない日
4:52開始
昨日寝るの23時近くて起きれなかったなー
今日は勉強の日だから頑張らないと!
・if a&&b ~ end
aとbがtrueの場合の処理。aがfalseの時点でbを見ずにfalse判定される。
・if a||b ~ end
aとbのいずれかがtrueの場合の処理。aがtrueの時点でbを見ずにtrue判定される。
例えば if (a&&b)||c ~ end という書き方もできる。
・be_valid
正常系のテストコードで使うmatcher。expect().to be_valid
9:30から面談だから朝ごはん急がなきゃ。
テストコード続き
4:37開始
眠すぎて起きれないー
布団が恋しくて出れないー
気合足りなくて巻き返せてないー
・Faker
gem。名前とかemailとか適当なものを用意してくれる。Faker::Internet.free_emailとか。(number: 2)とか(min_length: 6)とかでバリデーションも付けられる。
・FactoryBot
テストコードの繰り返し記載を避けるために使う。spec/factories/models.rbにFactoryBot.define do ~ end で設定する。例えば、
factory :user do
nickname {Faker::Name.initials(number: 2)
end
で適当な2桁のnicknameが用意されて、テストコードでFactoryBot.build(:user)で呼び出せる。
・before
before do @user=FactoryBot.build(:user) end をテストコードに書けば、@userのインスタンス変数を使ってコードを簡略化できる。
テストコードはとりあえず理解できてる気がする。
まだ記憶としては微妙だけど、理解できてれば見返せばいいよね。
テストコード
4:04開始
この何日かは 時間の無さ+眠気 で全然理解できてなかったけど、最後の練習問題で一気にわかった気がしたテストコード。
・簡単なテストコードの時
RSpec.describe '簡単なテストコード' do
describe 'タイトル' do
it 'タイトル' do
expect(何かエラーになる式とか書く).to eq false
end
end
end
・モデルのテストコードの時、空欄ダメver.
RSpec.describe モデル名, type: :model do
describe 'タイトル' do
it '〇〇カラムが空だとだめ' do
abc = モデル名.new(column: ''とかのだめな時の中身書く)
abc.valid?
expect(abc.errors.full_messages).to include("エラーメッセージ")
end
end
end
rails cを使ってitの次の行から順に打っていくと何を書けばいいかわかる感じ。
itの中身は一旦falseにさせてからのexpect。まぁエラーの時のテストだしね。。
あれ、なんかわからないのスッキリしてよかったーとか思ってたけど、個人目標で2日遅れてたわ。
今日はやること立て込んでるからできないかもだけど、またがんばろっと。
時間がない!
予定より30分遅れてるからただ更新するだけ。
愚痴でごめんなさい。
時間がないのになんで私にばっかやること増えるのか不思議。
私にしかできないと言って携帯いじってるのなに?
代わりにやれること引き受けてくれ!
勉強進まずでした。
今日は愚痴しか出ない
5:43開始
なんで今日はこんなに遅いかというと、4時過ぎから家のことをしていたから。
こんなに早起きして自分の時間や睡眠時間を削っても報われない感…
私の人生、そんな人生だと思いたくないんだけどな…
・配列.each_with_index do |item, i| ~ end
配列のi番目にitemが入ってるよ を全itemに対してする
この配列使って 〇番目にあります の出力、挙動がよくわからずなかなか理解に苦しんで、結局カリキュラムを進められず。
全然だめじゃーん…
ただreturnで止めないとなーは思ってたんだけどね。プログラムを書けなきゃ意味ないね。