Sakiのプログラミング学習ブログ

プログラミングについて学んだことや、学習の振返りを書いています。

週報 3/22(月)~3/28(日)

3/22(月)~3/28(日)の一週間の学習の振り返りをざっくり。

今週の目標&結果

今週の目標 結果
i18nの合格 修正中
kaminariの合格 再提出完了
deviseの課題 来週には提出できそう

今週の学習時間

ラクティス外の学習・勉強会への参加は含めない。

日付 目標 実際
3/22(月) 2:00 4:15
3/23(火) 6:00 7:30
3/24(水) 2:00 2:15
3/25(木) 6:00 8:00
3/26(金) 2:00 3:30
3/27(土) 6:00 4:30
3/28(日) 6:00 4:15
合計 30:00 34:15

先週から再開した朝活のおかげで、目標時間を超えられた🎉

今週やったこと

3/22(月)

やったこと

  • devise #1
  • deviseの課題用のブランチを新しく切ってチェックアウト
  • Notionを使ってdeviseの要件の把握
  • WebアプリのDB利用の課題に合格をもらえたのでマージ
  • 週報書いた

3/23(火)

やったこと

考えたこと

  • 記事の通りに行ったらユーザー登録の機能はできたが、応用力が皆無。
  • ユーザーの一覧ページをどうやって作るのか?新しいページのルーティングの設定方法は?
  • 画面遷移図をつくって把握した方がいいと思った。
  • 郵便番号・住所・自己紹介はおそらくuserテーブルに追加するんだろうけど、どうやってやるんだろう。
  • アカウント登録のページと本棚のページがつながっていないからボタン作ってリンク貼るか、リダイレクトさせるようにせねば。
  • 色々メモしたが、何をやっているかいまいち分かっていない。Railsの教科書をもう一度読み直したほうがいいかも。
  • ファイルがどんどん増えるrails gコマンドを使うのがこわい。
  • Rails・deviseと仲良くなりたいので、もっとコードを書いて慣れていきたい💪

3/24(水)

やったこと

  • 23(火)の日報提出
    • 昨日のcodezineの記事の、コマンドやコードの意味を振り返った
  • devise #3

考えたこと

  • Railsが広大で、何も分からない状態だけれども、ユーザー認証機能を自力で作れるようになったらとても嬉しいので、急がば回れの精神でがんばりたい。

3/25(木)

やったこと

  • progate:Rails Ⅰ~Ⅱ途中
  • devise #4
    • 画面遷移図作成
    • rails g controller users indexでusersコントローラ作成
    • Usersモデルにカラム追加
    • railsでDBを確認する方法
    • rails db:migrateを無かったことにする方法

考えたこと

  • Userモデルにカラムを追加できたのと、画面遷移図を分かりやすくかけたのがよかった
  • Railsが何も分からなくて辛い...という気持ちになりかけているので、一番とっつきやすいprogateで学習することにした。
  • ページの作り方はわかったけど、ユーザー一覧ページと詳細ページを作成するために、どこにどうファイルを作ればいいか分からない。
  • 明日も引き続きprogateをやりながらdeviseを考える。画面遷移図を書いたことで、やるべきことが目に見えてクリーンになった✨
  • 疑問:/users というパスにユーザー一覧のページを作りたいのだけど、deviseですでに/users/~のページが作られている。 コントローラはdeviseだけど、パスは/users/~ がすでにある状態。この場合、deviseで作ったcontrollerをいじればいいのか 新しくrails g controller users indexでページを作るのか? →メンターさんから、「devise のcontrollerはそのdeviseの機能に専念させたほうがあとからツラくならない」と教えていただいたので、rails g contrller user indexでuserコントローラーを作ることにした。

3/26(金)

やったこと

  • devise #5
    • Userモデルにカラムを追加して、viewで表示する
    • formヘルパーを学ぶ
    • autofocus: trueautocomplete: "email"の意味を理解
    • アカウント登録画面でユーザー名なども入力できるようになった!

f:id:Saki-Htr:20210328210525p:plain

考えたこと

  • Userモデルに追加したカラムを、ユーザー登録画面に表示できた!目に見えると嬉しい。

3/27(土)

  • 日報提出
    • 25(木)
    • 26(金)
  • devise
    • deviseで作られた画面(ルーティング)の確認
    • ユーザー一覧画面/ユーザー詳細画面を作成:rails g controller Users index show
    • strongパラメーター設定
    • 既存のカラムに後から制約をつけたかったが、できず
    • バリデーション:登録時全部を入力必須にする

やったこと

  • devise #6
    • ユーザー一覧とユーザー詳細ページのルーティングができた!
    • deviseが用意してくれるルーティングの範囲と、自分で用意しなければいけないルーティングの範囲が分からず混乱していたが、わかってきた

考えたこと

  • 何が分からないか分からない状態は抜け出せたと思う。来週には提出したい。

3/28(日)

やったこと

  • devise #7
    • link_toで、ユーザー一覧から詳細画面にとべるようにする
    • ユーザー詳細画面の作成
    • マイページに編集リンク作る
    • kaminari実装
  • i18nの提出物にコメントする
  • kaminariの再提出

考えたこと

  • コントローラでUserモデルやBookモデルに対して使えるメソッドが分かってないから知りたい。new,find_by,allぐらいしか知らない。書籍をしっかり見たほうがよさそう。
  • どこのページにどのリンクを貼るかってユーザーの使い勝手において大事だろうな〜
  • ページができてきて嬉しい。
  • コミットの粒度こんな感じでいいのかな。コミットまとめられるらしいのでこまめにやってしまってる。

今週の振り返り

  • deviseがどんな機能を実装してくれるか、どんなルーティングを作ってくれるか分かった。
  • 月曜の時点で、Railsの知識は「Railsの教科書」を一周読んだ程度で、コントローラやモデルについては結構忘れていて、ビューしかちゃんと分かってない状態だった。その状態で火曜にdeviseを実装して、何も分からない状態だったが、progateをやりなが課題を進めたら、どこのファイルに何を書くべきかや、rails gコマンドが何をしてくれているかの理解が深まった。
    やっぱり、アウトプット駆動で教材をやった方が身につくなと思った。
  • 今週は出勤日全部、早起きしてカフェで2時間学習した!えらい😆

来週の目標

deviseの課題を来週中には提出したい。 - パスワード再設定をメールに送信する - ログインしたないとユーザー情報も本棚も見れないようにする - アプリケーションルートと、ログイン完了後のリダイレクト先を、ユーザー詳細ページにする

あたりで時間がかかりそうだな〜と思っている。i18n化はdevise-i18n-viewというgemをうまく使いこなせれば、そんなにかからなさそう。
だんだんRailsのことが分かってきて、「もっとRailsのことを知りたい!」というポジティブな気持ち。 次のomniauthの課題から難易度もグッと上がるらしいので、progateや独習Railsで基本をおさえていきたい。