べんきょうのきろく

毎日こつこつ…プログラミング勉強の記録。

微妙な知識

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で止めないとなーは思ってたんだけどね。プログラムを書けなきゃ意味ないね。