Eat, Play, Nap and Code

食とあそびと昼寝とプログラミング学習

週報 2021/7/5(月)〜2021/7/11(日)

f:id:eatplaynap329:20210713160556p:plain

📚 1週間の感想

こんちは!夏だ!! 夏がとても苦手なので早く10月になってほしいと願うばかりですが、10月になったらフィヨルドブートキャンプ入学2年目になってまう…!

私はフィヨルドブートキャンプに2020年10月1日に入学して、今全体の進捗度64%くらいです。 あと残ってるプラクティスは、Rails、JS、テスト、オブジェクト指向、チーム開発、自作サービスでかなりボリュームがあるものばかりなので、卒業までまだまだ道のりは遠いです…😭

悲観的に考えるとワシの人生大丈夫なのか?と言う気持ちもあるんですが、最近はコミュニティ内での交流が増えてきて、受講生や卒業生からプラクティスの進め方や就活についてアドバイスをいただけたり雑談できることが心の支えになっています。

もともと最短で卒業して強いプログラマーになってガンガン稼いで圧倒的成長みたいなタイプじゃないので、自分のようなゆるく適当に遊んでる人にも居心地のいいスクールで良かったなって思ってます。

プログラミングの学習をするために仕事をしていないこと自体に理解を示してくれる人はたくさんいますが、勤勉にやってないと怒られるムードがあるというか、私くらいのんびりやってる姿勢に理解を示してくれる人はマジでいないので…

📚 もくじ

📚 今週やったフィヨルドブートキャンプのプラクティス

  • Rails の基本を理解する
  • Railsi18n を理解する
  • kaminari を使ってページング処理を実装する
  • devise を使ってユーザー認証を実装する

📚 目標と成果

目標 成果 来週の課題
現場Railsざっくり読み終える だいたい! 独習Rails
i18nの課題提出 kaminariまで提出した -

📚 学習時間

日付 時間
7/5(月) 07:30
7/6(火) 05:30
7/7(水) 06:30 ​
7/8(木) 05:30
7/9(金) 04:15
7/10(土) 01:00
7/11(日) 05:00
合計 35:15

📚 週報

📅 7/5(月)

💪 やったこと

  • チェリー本輪読会参加。
  • 現場Railsなんか分かんなくなっちゃったので一旦最初からやりなおすことにした〜
  • Sendagaya.rbに参加してみた。
    • Railsデバッグ方法について教えていただいた。
    • エラーメッセージが出て怖いと思うかもしれないけど、実際の人間同士のコミュニケーションより遥かに楽だと言われ、確かに〜〜!と思った。コンピューターはどこが間違ってるのか丁寧に教えてくれるし、別にたくさんエラーを出しても変わらない態度で接してくれるし…

🍕 感想

  • チェリー本を再読していて、学習スタートした当初と比べると本当にめっちゃいろいろ分かってきた!と思っていたけど、やっぱりまだまだ分からない・知らないことばっかりだな〜
  • 外部のコミュニティに参加すると、自分の理解度が客観的に観察できるのがいいなと思った。ブートキャンプ内だと説明しなくてもコンテキストで理解してもらえるが、外部ではそうではないので。具体的に知りたい・分からないことを言語化して質問する力が鍛えられそう。
  • 一方で、ブートキャンプ内ではあまり練られた質問ではなくても聞きたいことを教えてもらえる環境だと(外部と比較して)痛感するため、ブートキャンプ内で聞くハードルも下がりそう。

📅 7/6(火)

💪 やったこと

  • チェリー本輪読会参加。
    • チェリー本輪読会、私が主催している会で読み終わったら、後継者を見つけて継続させるのもよさそうという話が雑談タイムで出た。いや勿論やりたい人がいれば私たちがやってる間でも主催した方がいいと思うけど!!
  • 現場Railsのタスク管理アプリ、途中で作り直そうと思ってDB削除とディレクトリの削除をしてからrails newしたら、NoMethodError: undefined method `railties_load_path' for nil:NilClassというエラーに見舞われ、しばらく自力で頑張ってみたが分からないので質問タイムで画面共有して解決していただいた。Ruby3.0.0とRails6.1.4で起こる不具合っぽい。以下作業ログ。
# engine.rbのi18nの行で問題が出ているのでi18nの情報を見る
> gem info i18n
#=> i18n (1.8.10)

# Railsのバージョンを確認
> rails -v
# => Rails 6.1.4

# Rubyのバージョンも確認→Rubyのバグかも?
> ruby -v 
# => ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19]

# 3.0.1に変える
> rbenv global 3.0.1 

# i18nをアンインストール
> gem uninstall -a i18n  

> bundle install 

# tmpディレクトリで新しいrailsアプリを立ち上げる→できた!
> cd /tmp && rails new foo
  • Rubyのパッチバージョンはどんどんバージョンアップしたほうが良さそう。

🍕 感想

  • 環境構築でハマると辛い…。しかしRubyRailsのバージョンを変えたり、PC自体を再起動してからtmpディレクトリでファイルを作って原因を探るという方法を教えていただいたので、経験値がUPした感じがする!

📅 7/7(水)

💪 やったこと

  • チェリー本輪読会参加。
  • 独習Railsと参考リンクを読んでたらi18nのプラクティスが進められそうな感じがしたので、gemインストールして進めてみた。
  • やるべきことは分かったものの、どこに何の翻訳ファイルをどんな名前で設定すべきかが分からないので挫けそうになった。しかし先日のSendagaya.rbで「初心者のうちはまず動くものを作ることに集中すべき」と言うアドバイスをいただいたのを思い出し、とりあえず書いて日本語版はできた。
  • notice文の日本語の翻訳を書いたら英語に切り替えると英語の翻訳が見つからないとエラーになるので、英語の方も翻訳ファイルを編集しないと駄目なのか。明日やって提出したいな〜

🍕 感想

  • 今日の輪読会21人参加(含ラジオ)なので今までで最多だな〜
  • 輪読会後のもくもく今日はいつもより集中できた気がする!

📅 7/8(木)

💪 やったこと

  • チェリー本輪読会参加。
    • 途中で著者の伊藤さんが参加してくださりびっくりしたがありがたかった!
  • i18nの提出物を作成した。
    • 英語の辞書ファイルを設定するのはすぐできた。
    • rubocopにも怒られなかった。今までRubyのファイル1つずつでしかrubocopを通したことがなかったので、Railsのように全てのファイルを見てほしいとき特別なオプションが必要なのかと思ったがrubocopコマンドだけで全てのファイルを見てくれているっぽかった。
  • デフォルトの表示言語を英語または日本語に切り替えるという必須要件に若干手こずった。ルーティングの設定の際にenjaを必須で入れるような設定を書いてしまったので、Rails 国際化 (i18n) API - Railsガイドを読み直し、config/routes.rbを書き直した。

  • あとはデフォルトの表示言語を設定しているファイルが、config/application.rbなのか、config/initializers/locale.rbなのかが分からなかったが、config/application.rbを修正するとhttp://localhost:3000/booksにアクセスした際反映されてるっぽかったので、そっちを英語に修正してアクセスしてスクショを撮ってDONE。

🍕 感想

  • やっとi18n対応の提出物が作れた〜〜!時間はかかったけどちょっとずつRailsのファイルの場所や書き方が分かってきたので先のプラクティスに進みながらより深い理解ができればいいな〜。
  • 競プロをやってる受講生とお話して、いろんなTipsを教えていただいた。あと自分の段階でC問題解けないのは普通だと分かってかなりホッとした😅

📅 7/9(金)

💪 やったこと

  • kaminariの課題提出できた〜〜!
    • gitのブランチ切り替えはめちゃくちゃ緊張したけど、一応問題なくできたと思う。
    • 最初、参考URLを読んで実装してみたもののこれでいいのかよくわからなかった。午前中のもくもく会で受講生の方に聞いてみたところ、デフォルトの設定が25件ずつ表示になっていて、データ自体が3件しかなかったのでブラウザ上で確認できていないことが分かった。
    • 本のデータを増やすのと、デフォルトの1ページあたりの表示件数を減らしてみたらできていたのでヨカッタ
  • deviseのプラクティスにちょっとだけ着手。人の日報を見たり経験者の話を聞いたり。
    • 深みにハマりすぎず、サクサク進めたい。けどまあRails分からないし現場Railsめげてしまったけどもう一回やりなおしてもいいかな?とも思ってる。
  • チェリー本輪読会参加。
  • 20時からタマキ (id:shirotamaki)さんに主催いただき、KPT1回目を行った。
    • 毎回振り返りやってるしそんなに必要ないかもなと思ったけど、やってよかった!自分ひとりで考えていると極端な考えに陥りがちだけど、メンバー同士で話していると抱えている問題を解決する第3のアイディアが出てくる。
    • 参加メンバーのいっしー (id:isshi-hasegawa)さんがものごとは良くする努力をしていかないとどんどん悪くなると仰っていて、自分も完全に同意なので、どんどん改善する手間を惜しまないようにしたい。

🍕 感想

  • コミュニケーションツールがDiscordになってから、フィヨルド内のコミュニケーションが活発になっていていいな!前のZoom時代の質問タイムは入ったばかりの頃めちゃくちゃ敷居が高く感じたな〜
  • こういう個人のがんばりではなく仕組みを変えて(ZoomとSlack→Discord)問題を解決するフィヨルドの運営側の姿勢を自分も見習っていきたい。

📅 7/10(土)

💪 やったこと

  • 昨日のKPTの結果できたDiscordのもくもく部屋で日報を書いてみた。もくもく部屋の詳細はいっしーさんのブログ参照。

isshi-hasegawa.hatenablog.com

  • ABC参加。途中で友達から電話がかかってきたのでA問題しか解いてなくてもともとしょぼいRatingがさらに下がってもうた😭

🍕 感想

  • 用事があって外出していたのだけど、スマホでDiscordを見てみるともくもく部屋が賑わっていて羨ましかった!
  • 昨日のKPTでちょっと話したけど、自分が輪読会主催した際の方法をブログにまとめてみようと思う。

📅 7/11(日)

💪 やったこと

  • Kyoto.rbに参加し、るりまの読み方を学んだ。
    • 参加されていたブートキャンプ生ふーが(id:fuga__ch) さんのブログでのまとめが素晴らしいので行かなかったひとはこれを読めばよさそう。
    • Rubyコミュニティたくさんあるけど、Discordの音声で集まれるコミュニティは気楽で参加しやすいのでいいな〜と思った!
  • もくもく部屋で現場Rails読み直し。
  • 昨日のABCのB問題解いた。チェリー本輪読会で得た知識を活用して結構いい感じに書けたけど変数名が今見るとおかしい(nを2回使ってしまった)。
n, x = gets.chomp.split(" ").map(&:to_i)
array = gets.chomp.split(" ").map(&:to_i)
new_array = array.map.with_index(1) {|n, i| i.even? ? n -= 1 : n }
puts x >= new_array.sum ? 'Yes' : 'No'

🍕 感想

  • ABCのC問題解けなくてもいいかと日和ってる自分にムカついてきた!!ので数Aの復習を始めてみた。
  • もくもく部屋のおかげで日曜でも勉強できたので感謝。

📚 来週の目標

  • i18n合格
  • kaminari合格
  • devise提出