20201005_アウトプット・今週の振り返り
今日学んだこと
binding.pryとrails cの違い
「メッセージ」に「チャットルーム」のidがきちんと紐付けされているか、確認したい時に以下のような違いがある。
今回は、rspecを導入し、FactoryBotで生成されたダミーの中身を確認したい。
【binding.pry】実際の処理を止めて動作や中身を確認できる
確認したい直前に、binding.pryをVSコード上に書く。
# 対象ファイルの実行 〇〇@〇〇noMacBook-Air chat-app % bundle exec rspec spec/models/message_spec.rb # message_spec.rb内にて、定義していた変数を指定 [1] pry(#<RSpec::ExampleGroups::Message::Create>)> @message # @messageの中身を確認することができる => #<Message:0x00007ff9317016d8 id: nil, content: "Corrupti pariatur veniam ratione.", room_id: nil, user_id: nil, created_at: nil, updated_at: nil>
【rails c(console)】外から、新しい情報を加えたり、処理することができる
# 立ち上げ 〇〇@〇〇noMacBook-Air chat-app % rails c Running via Spring preloader in process 68296 Loading development environment (Rails 6.0.3.3) # 外から作るので、createしないといけない [1] pry(main)> FactoryBot.create(:message) # 作ったものを、変数の中に入れる [2] pry(main)> test = FactoryBot.create(:message) # 変数の中身を取り出す [3] pry(main)> test.room.id # @messageの中身を見ることができる => 13
rails全般
どんどん中の箱を開けていく時→ドット(.)を使って深堀する
別のものとの繋がりを持たせる時→コンマ(,)を使って繋げる
パラムスが絡む時→キーとバリューで表現する→シンボル(:)を使って表す。(引数で渡すときは()が多い。配列から取り出すときは[]が多い。)
テストコードについて
- モデルのテストコードと、結合テストコードについて学んだ。
積み残し(復習したいところ)
ピンポイントでわからないところは、昨日メンターさんに聞けたので無し。復習したいところをまとめておく。
devise rollback方法
カラム追加の方法
Rails勉強会
今週の振り返り
現在の戦略
(HOWよりも)WHYを大事にする
作業時間を確保する(平日4時間、休日10時間)
優先順位を決めて行う(約60%がテックキャンプのカリキュラムを進めること・仲間とのアウトプット、約20%がプロゲートで知識補う、約20%がブログでアウトプット)
達成具合
7日中、3日達成できた(合計36時間行ったものの、平日4時間と休日10時間のハードルを越せなかった。)
今週の振り返り(優先順位)
初めはカリキュラム中心に進めていたものの、MVCの理解が足りないため、分からなかった。
このまま進めていても、このカリキュラムの内容が無駄になってしまう気がしたため、遠回りは近道だと信じて、一旦プロゲート中心に復習をした。
遅れてしまったものの、MVCの理解が深まったおかげで、RailsとRubyの繋がりがやっと持てて楽しくなった。(WHYをずっと考えていると、後から急に繋がってくる!!)
週の後半からは、カリキュラムの巻き返しを行った。
今週の振り返り(作業時間)
作業時間確保は、理解を深めるにあたって大事だが、時間を超えるまで頑張ろうとしてしまい、睡眠時間が足りなかった(結果、集中力は落ちている気がする)
勉強時間と、睡眠時間の質は両方とも大事なので、方針を少し見直そうと思った。
来週から(戦略の改善)
(HOWよりも)WHYを大事にする
作業時間を確保する(原則、平日4時間、休日10時間)
ただし、 睡眠時間の0時〜6時を守ること。週35時間以上の勉強時間を確保できれば良しとする。優先順位を決めて行う(約60%がテックキャンプのカリキュラムを進めること・仲間とのアウトプット、約20%がプロゲートで知識補う、約20%がブログでアウトプット)
その他(チームミーティング)
今週のチームミーティングは、ざっくり言うと「自分でポジティブなルールを作り出せたら最強」という話でした。
本当にその通りだなと思ったので、取り入れていこうと思います。
方法
(1)今週あったポジティブなことを書き出す
(2)他の人の発表との、共通点を見つけ出す(つまり、ポジティブの本質は何なのか。)
(3)共通点を元に、それを偶発的ではなく、計画的に作り出せる方法を考える
自分に置き換えてみた
(1)今週あったポジティブな出来事
仕事で大きいミスが発覚したが、テックキャンプでの思考が活きて「現状の把握」をしっかり行った上で「仮説」を立てながら、一つ一つ確認や調整を行ったところ、解決に向かう見通しが立った。「迅速に対応出来ていて素晴らしいね」とまさかの上司からお褒めの言葉をもらえて嬉しかった。この件を通して、新しいことを学んで成長の糧になっていること。
MVCの意味がやっとわかって嬉しかったこと。
ローラの筋トレをやったこと。(キツイけど終わるとすっきりする)
コロナの講演会が大変勉強になったこと。(対策のアップデートしていなかったことに気が付く)
メンターさんに褒めてもらえて嬉しかったこと。
別のチームの方で、気が置けない仲間ができたこと。
ルビードリルやっと追いついたこと(笑)
職場の別のグループの先輩が、私のことを心配してランチに誘ってくれたこと。(とても癒された)
(2)他の人の発表との、共通点を見つけ出す(つまり、ポジティブの本質は何なのか。)
起きた「事実」に対して、どう捉えるかは自分次第。(それなら、ポジティブな主観の方が楽しい)
一人ではなく、誰かとの繋がりがもたらしている。
好きなことや、楽しみなことがそのまま、ポジティブに繋がっている。
(3)共通点を元に、それを偶発的ではなく、計画的に作り出せる方法を考える
アインシュタインの「どうして自分を責めるんですか?他人がちゃんと必要なときに責めてくれるんだから、いいじゃないですか。」という言葉を大事にする。(思考を変える)
誰かとの繋がりを持つ時に、感謝の念を持つ。小さなことでも、良いところに目を向ける。
ご褒美DAYを作る(戦略を達成できたら、週に1回くらいのペースでぶどうを食べることと、2週間に1回くらいのペースで夫と映画を見る)
以上です。 見ていただいた方、ありがとうございました。