4/22.log
log
今日は午前中ひたすらバックエンドの実装・調査をしていて午後過ぎにはtcp/ipに関する勉強、PCへのまとめをしていました。
昨日までである程度grpcにおけるクリーンアーキテクチャの適用はできていてDIに関しても専用のインジェクターを作ることによって解決させました!とりあえず昨日の夜には動くことを確認。それからは動作確認を通して今まで動いていた機能が動いているかの確認をしていました。それを通して幾つか修正。jwt周りのバグが多かったですね。
バグを修正していた
例えばjwtのトークンを作成するときにisserに意図しない空値が入ってしまい無視されてしまったので期限切れの時間だけが記載されたトークンが入っていました。これはjwtのデバッグページを見て発見、修正しました。
後はjwtの暗号化のメソッドが違っていて思ったように動いていなかったり、ハッシュされたパスワードが正しいかの確認をするような機能でも絶対に通らないような組み合わせで記載されていたりしました。jwtの暗号化メソッドのよって必要な値や特徴が変わったりするんですかね?調査したいと思います。
リントやファイル構成、wireの調査
golangci-lintの調査をしていました。これに関しても幾つか修正した方が良いと思われた箇所があったので修正することにしました。結構納得する修正案が来たりして面白いですね。たまにそれ修正いる?みたいなことも指摘されますが。
ファイル構成も考えていました。こちらのリポジトリを参考にして考えていました!ただこれによって得られたコードの変化は今のところないです。参考にならなかった訳ではなくこのリポジトリ構成自体はアプリケーションそのものというよりかはアプリケーションの外側の構成なので今変更を加える必要性はあまり感じなかったといった感じです。幾つか実装すると便利になりそうなものはあったので参考にさせて頂こうと思っています!
wireの調査もしていました。goのdiを解決してくれるようなものですね。まだ動かしてすらないので明日あたりに実際に動かしてみたいと思います。まだ注入するようなものが少ないので得られるメリットは少ないですがアプリケーションが大きくなるごとに得られる恩恵も大きくなりますよね!
アーキテクチャの確認
後はクリーンアーキテクチャに関して今のアーキテクチャが正しいか、思ったような動きをしているかを確認していました。調査結果として気になる部分はあるが依存関係はしっかりしているといった結果を得ました。気になる部分に関しては随時直していきたいです。
バックエンドは明日、明後日あたりで一旦終えてフロントの実装もししていく予定です。フロントも最低限しか実装できていないのでエラーの処理、認証トークンの自動付与あたりはしていきたい。デザインというよりかはまだロジック追加のフェーズです。