4/12(月)~4/18(日)の一週間の学習の振り返りをざっくり。
今週の目標&結果
今週の目標 | 結果 |
---|---|
debise課題の合格 | ◎ |
omniauth課題 | 4/25(日)までに提出予定 |
今週の学習時間
プラクティス外の学習・勉強会への参加は含めない。
日付 | 目標 | 実際 |
---|---|---|
4/12(月) | 2:00 | 3:30 |
4/13(火) | 2:00 | 4:30 |
4/14(水) | 2:00 | 0:00 |
4/15(木) | 6:00 | 5:30 |
4/16(金) | 2:00 | 2:00 |
4/17(土) | 6:00 | 7:00 |
4/18(日) | 6:00 | 8:00 |
合計 | 26:00 | 30:30 |
今週やったこと
4/12(月)
やったこと
- omniauth(1日目)
- 記事を読んでOAuthが動く仕組みの時系列を自分なりに整理した
考えたこと
- OAuthが何をするものなのか理解できた!
- 認証と認可のちがいについて理解が深まってきた。参考記事を読み進めて、ちゃんと理解できるようにしたい。
- 普段使ってるアプリがどういう仕組みで動いてるか知るのがとても面白い。この課題でGitHubやSNSのアカウントによる認証が実装できるようになると思うと、ワクワクする😃
4/13(火)
やったこと
- omniauth(2日目)
- OAuthについて調べた
- そもそもなぜOAuthを使うのか
- なぜクレデンシャル情報を使って認可しないの?
- 認可とは
- omniauth1.9で使うOAuthのバージョンは1.0と2.0どっち?
- OAuth2.0の仕組みを図で理解
- よく分からなかったところを中心にOAuth 2.0 の仕組みと認証方法 | murashun.jpの図にメモを追加した
- 認可コードとは
- oauh gemのREADMEを読む(omniauth gemとは別のもの)
考えたこと
- OAuthの仕組みを理解できた
- 疑問に思っていた「認可コード」が何かを理解できた
- 良い感じの図を作れた。コードを書いて詰まったときは自分がどこの処理を実装しようとしているかこの図を見て確認しよう
- deviseのユーザー認証はユーザーとアプリの1対1のやりとりでシンプルだったのに対して、 今回の課題はRails/devise/OAuth/omniauth/omniauth-github/GitHubと、たくさんの登場人物が出てきて難しい
4/15(木)
やったこと
- omniauth(3日目)
- 今日から課題に着手!
- ほとんど、deviseのomniauthの説明の通りに実装。 OmniAuth: Overview · heartcombo/devise Wiki
考えたこと
- 認可画面を表示するところまでいけた!
- READMEを見ながら、自分がやっていることを理解しながら課題を進められている。
- メンターさんにオススメしていただいた書籍を購入。ためし読みしてよさげだったのと、OAuthはちゃんと理解したほうがいいとのことなので買った。 雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド
4/16(金)
やったこと
- omniauth(4日目)
- 15(木)の日報提出
- <復習> deviseでコントローラをカスタマイズしたいときのルーティング追記方法
- OmniAuth: Overview · heartcombo/devise Wikiの続きを読む
考えたこと
- 「githubアクションがありません」とエラーが出る理由がわかった。ちゃんとREADMEを読めば書いてある。
- gemは、便利だからこそREADMEに書いてないカスタマイズをしたいときに、ちゃんと裏側の仕組みやコードやgemの依存関係?を理解していないと難しそうだなと思った。
GitHubでのログインと通常ログインを両方使えるようにする実装が難しそうなので、少し不安💦
4/17(土)
やったこと
- omniauth(5日目):GitHub認証ができた!
- devise課題の修正
考えたこと
- GitHubでログインできるようになった🎉 普段使っているアプリと同じ画面が自分のアプリに出てくると感動する。
4/18(日)
やったこと
- 17(土)の日報提出
- deviseの課題修正:すべて完了
- devise-i18nの正しい使い方
考えたこと
- i18nのプラクティスでtメソッドを自分で追記したので、今回もそうだと思い、i18n化を一番最後に行ったが、最初にdevise-i18nを行って、その後i18n化以外のカスタマイズをすればよかった😂 まさかdevise-i18n がtメソッドの追記まで全部やってくれるとは思わなかった。便利すぎる...!
- deviseとdevise-i18n、カスタマイズしていない場合はデフォルトのコードが適用される仕組みだが、どういう仕組みでデフォルトのコードが適用されているか仕組みが気になる。。手元にそのコードのファイルがないのに適用されているのがムズムズする。
今週の振り返り
✅ できたこと/できるようになったこと
- OAuthの仕組みを理解した
- 認証と認可のちがいが分かった
- devise-i18nの正しい使い方がわかった
- Qiita記事ではなくREADME(一次情報)を読んで課題を進めた
✅ "こうしたらもっと良かった"と思うこと
- 3月から学んだことをあんまりアウトプットできてない... ユーザーフォロー課題、コメント課題が重そうで、これに取り掛かり始めたら学んだことを忘れてしまいそう&課題に取り掛かってる途中で復習を挟みたくないので、ユーザーフォローに入る前にかならずブログにまとめる✍🏻