修行編 - 4日目

やったこと

1. Redux with TypeScriptの導入

最低限動くカタチで実装しました。

「ReduxはVuexと比べてTypeScriptとの相性最高!」って言ってた人いたけどマジかよって感じです。

今回はこちらの typeafe-actionsというライブラリをAction CreatorとReducerで利用しました。

github.com

Next.jsとの接続はこちらの next-redux-wrapperでやっています。

github.com

毎回Storeの実装について考えるのも結構大変なので自分向けにRedux Boilerplateを作成しました。

github.com

自分で書いておきながらそもそもこれが型安全なのかどうか不安でいっぱいなので、温かいツッコミをお待ちしています。

2. API Clientの作成

某所で利用していたAPI Clientをそのまま持ってきました。

こちらも時間のあるときにいろいろなOSSの実装を見て勉強したいです。ロギングとかエラーハンドリングとか全然分かっていないので。

認証の仕組みについてはバックエンド側(Django)の仕様が未定なので実装を保留にしています。おそらくJWTかな。

github.com

3. Redux Sagaについて調べる

Thunkは以前利用していたものの、Sagaは未経験だったのでこの機会に入門。

API通信時の非同期処理だけでなく、様々なSide Effectsを管理できるmiddlewareのようですね。ジェネレーターを実践でゴリゴリ書いたことが無いので少し慣れが必要かも。

sagaのイメージ Sagaのイメージ図↑

まだまだ「全然わからん」というレベルなので公式のドキュメントと合わせてこちらの記事なんかも読みながら明日もう少し勉強したいです。

redux-sagaで非同期処理と戦う

4. ランニング

継続中です。

20時ごろの駒沢公園は花火に興じる子どもなども居て風情があります。

5. NBA Finals Game 2観戦

2-0だぜ!やったぜ!!

破られるのも時間の問題だろうなーと思ってた1試合最多3ポイント成功記録もCurryがあっさり更新。Greenのプレイメイキングが攻守に渡って冴えまくっていたり、ベンチメンバーの奮闘もあったりとファン冥利に尽きる一戦でした。

次回の第3戦はCLEでのアウェイマッチ。正直連勝はキビしいだろうとは思いますが、なるべくLeBronを消耗させるようなディフェンスが観れるのを楽しみにしています。

6. SES-12打ち上げミッション

Space XによるSES-12打ち上げミッションをライブで鑑賞。

www.youtube.com

夜間の打ち上げということでいつもほどの盛り上がりはありませんでしたが、相変わらず美しい仕事でした。

再利用されたBlock 4エンジンは今回は回収されていません。そろそろ全面的に耐用性に利点のあるBlock 5への移行が進んでいるようです。

次回のSpace Xによる打ち上げ予定は6/28(日本時間6/29)。ISSに向けてDragon補給ポッドを送り届けるようです。

フェアリングの回収も予定されているようなので今度こそ成功してほしい!前回は回収船のStevensまで15メールの地点に着水したようなので期待が高まります。

明日やること

しばらく会食や打ち合わせの日々が続きます。早朝や夜の時間を活用して生産性のレベルを維持していきたいです。

  • 会食 & オフィス訪問
  • Saga middlewareのリサーチ & 実装
  • ReactとReduxの接続
  • API接続テスト

みなさん良い1日を