7月の振り返り
生活習慣
運動習慣を継続中です。
健康的なのですが、同じことを繰り返しているのでメリハリがなくなってきました。
プログラミング関連
個人開発
個人開発をおこなっていました。
主に、「認証認可」、「API 設計」、「ER 図」、「デザインカンプ」、「Atomic Design」などに取り組んでいました。
「テスト」がまったく手をつけられていないので、着手したいですが、「Atomic Design」を意識したフロントエンドの実装が難しくで時間をとっています。
また、インフラ、ネットワークの方に時間をまったくとれていないです。
1 週目
一般的な攻撃方法と,Node.js のアプリケーションの脆弱性を学びました.
Firebase Authentication から passport.js と jwt を用いた認証認可の実装に挑戦しました.
一応できましたが,脆弱性がどこにあるのか怖いです.
2 週目
Firebase Authentication を使うと,セッションの管理が難しそうなのと,DB も Firebase に依存してしまいそうなので,やめました.
なので jwt を用いた,認証を導入していました.
時間がかかりましたが,一応完成しました.
次から,認可処理について取り組んでいきます.
3 週目
個人開発をすすめています。
バックエンドの改修していました。
フロントエンドで Atomic Design の練習をしていました。
設計として、draw.io を使って ER 図と画面遷移を作成していました。
4 週目
個人開発を進めました。
バックエンドは一通り完成したので、フロントエンドを作成していきます。
5 週目
フロントエンドを主に注力していました。
フロントエンド
1 週目
useContext を用いた,ログインユーザ情報,ログイン関数,ログアウト関数をグローバルに取得する方法を作りました.
また react-router-dom を用いたルーティングによって,ログイン状態によってリダイレクトするかどうかの処理(と Layout を付与する処理)ができるようになりました.
2 週目
react-router-dom を用いたルーティング処理に,リロード時にもログイン状態を保存する処理を追加しました.
また,AtomicDesign にも興味がでてきたので,この本で学んでいます.
3 週目
AtomicDesign をこの本で学びました。
フロントエンドのパフォーマンスやテストについて学ぶことができました。
4 週目
デザインカンプを作成していました。
配色の選び方が難しいですね。
5 週目
Atomic Design を実践していました。
実践しようとすると逃げ道がいくらでもあること、デザインカンプ通りにつくれないこと、storybook の仕様になれないことなどに苦戦しています。
バックエンド
1 週目
今まで作成したバックエンドに passport-jwt を組み込んでいました.
routing-controller と組み合わせることもできましたが,Cookie にデフォルトで組み込む方法がなさそうなのが残念です.
2 週目
routing-controllers は,いろいろ不完全な箇所があるので,express を用いた,一般的なバックエンドを作ることにしました.
この記事とソースコードがとても参考になります.
過去に参考にしたときには,よくわからない箇所が多くありましたが,今読むと重要性がわかります.
SignIn,SignUp,の API と/user/me
のエンドポイントを作成しました.
3 週目
typedi やリファクタリングをおこないました。
4 週目
API の作成をしました。
typeorm の中間テーブル作成方法を学びながら実装していました。
orm は多対多を簡単に対応できるのがいいですね。
また、Swagger で OpenAPI の設計もおこなっていました。
一通りの API を作成できたとおもいます。
5 週目
API の修正をすこしだけおこないました。
インフラ
1 週目
特になし
2 週目
特になし
3 週目
特になし
4 週目
特になし
5 週目
特になし
データベース
1 週目
特になし
2 週目
typeorm を使っています.
3 週目
ER 図を作成しました。
4 週目
特になし
5 週目
typedi で中間テーブルを自動生成する方法について学びました。
ネットワーク
1 週目
特になし
2 週目
特になし
3 週目
特になし
4 週目
特になし
英語
7 月 11 日に TOEIC を受け、結果は 835 点でした。
目標点は 900 点なので、道のりが長く感じました。
技術記事
1 記事目 「TypeScript で passport-jwt を用いた api サーバー作成」
7/2(金)に作成
2 記事目 「"Error: invalid expiresIn option for string payload" の解決方法 (Node.js, passport.js, jwt)」
7/9(金)に作成
3 記事目 「routing-controllers に passport を適用させる方法」
7/16(金)に作成
4 記事目 「jwt-decode で unknown」
7/23(金)に作成
5 記事目 「react-router-domでLayoutとPrivateRouteを導入する」
7/30(金)に作成
知識の Buffer
- winston
- mailggun
- agenda
- async await
- helth エンドポイントパタ=ン
- nestjs
- node.js から DB サーバーにヘルスチェックをおこなう
- jwt
趣味
読書
1冊目「Clean Architecture 達人に学ぶソフトウェアの構造と設計」[2018, Robert C.Martin]
2冊目「Team Geek Google のギークたちはいかにしてチームを作るのか」[2013, BrianW.Fitzpatrick/BenCollins‐Sussman]
3冊目 「Atomic Design ~堅牢で使いやすい UI を効率良く設計する」[2018, 五藤佑典]
4冊目 「ハッカーと画家 コンピュータ時代の創造者たち」[2005, ポール グレアム (著), Paul Graham (原著), 川合 史朗 (翻訳)]
映画観賞 「龍とそばかすの姫」
美術観賞 STEPS AHEAD: Recent Acquisitions
絵を書く
90 秒ドローイングを引き続き続けています。
あまり時間をとれていないのですが、藤本タツキ先生のルックバックを見て創作意欲がわきました。
何か描きたいです。
最後に
モチベーションが低下していて、個人開発の進捗がイマイチなのですが、記録をつけるといがいと進んでいることがわかりました。
8月中にはテストも含めて完成を目指します。