4/18.log
log
今日もgrpcのログイン機能を作成していました。今日の進捗は大きく今日で機能の大半が作り終えました。明日からはちょっとずつディレクトリやコードの調整をしていきたいと思っています。
途中で研究もしていました。実は見つけなければならない処理のコードが見つかってテンションが上がっています。明日研究室に行った際良い報告ができそうです。
今日の進捗
今日はまずサーバーから送られてきたトークンをlocal storageに保存するように処理を追加してからトークンの確認をするようなミドルウェアを書き直しました。今まではトークンが決め打ちだったのでそれの改善ですね。処理としては送られてきたトークンの署名が秘密鍵と合致しているかを確認してあっていればそこからユーザー情報を取得→contextに追加といった感じで処理をしました。一部goのフレームワークのミドルウェアを参考にしてみました。
次はログイン機能というよりかは認証が必須なルートの作成、今回で言えばユーザー情報の取得を実装してみました。それも思いの外簡単に実装できました!トークンがあれば情報を送信、トークンがないor不正であった場合はエラー送信をしました。
これまでで新規登録・ログインができることが確認できました。後はログアウト、退会ですね。退会もcontextのidを元にユーザーを削除するだけで完了、ログアウトに関してはローカル内でトークンを削除するといった感じで処理しました。(サーバーの処理が何もないので)
今日はここまでができました。かなり進みました!だんだん見せることができるレベルに近づいてきたかな?
ゴルーチンについて
最近goの本を読んでいてその中でもゴルーチンについて書かれている章を見ていました。以前から思っていたのですがgoの用途をweb開発とした場合ゴルーチンの使い道は少ないですかね?一つのルートに対して処理が多い場合は有効だと思うのですがwebの場合そのようなことが少ない気がします。
ゴルーチンも使えば早いといったものではなく無闇に使うと処理の振り分けの関係上逆に遅くなるのでしっかり考えてから使っていきたいです。