2022/1
1月は5冊読んだ。途中,リズムを崩したりもあったが思うように勉強できてよかった。インターンばかりに行っていて,アウトプットばかりになっていたから,4月まではインプット重視でやっていく。ReactとアルゴリズムとCS関係を読んでいくつもり。
1.Metaprogramming Ruby
Rubyに対する理解を深めたいと思い読んだ。事前にEffective Rubyも読んでいたこともあって理解できることが多かった。デバッグでRailsのコードを読む参考になったり,OSSに挑戦する足掛かりになった気がする。
2.りあクト!①
Reactをもう一度ブラッシュアップするために読み直し。去年の3月頃にざっと読んで終わってしまったいたけど,thisや複雑な型の定義方法からtsconfig.jsonの設定に至るまで新たに学べることが多かった。
3.りあクト!②
Reactに至るまでの経緯,VueやAngularとの比較(Vueは他のライブラリの全部盛り,Angularはstateの管理が大変になっていきそう?)などが学べた。またクラスコンポーネントと関数コンポーネントとの違い(クラスコンポーネントは最新のstateとpropsが取得できる)や各種Hooks,特にCustom Hooksに切り出して,presentational compoentとcontainer componentに分けるべきという内容はかなり意識しないといけないなと感じた。Custom Hooksに切り出すことで,ロジックのテストもそこで行える。
4.りあクト!③
useReducerを直近で勉強していたこともあって,Reduxを理解することができた。現状では,useContextを使用して,状態の管理もできるが,複数の状態を管理するときにトップレベルのコンポーネントのネストが増えるなどの問題あり。マイクロフロントエンドなども考えるとReduxのように親要素で全ての状態を管理するよりは,GraphQLを使ってコンポーネントごとに状態を管理する方がトレンド。他にもRedux Toolkit やRedux-sagaなどが学べた。加えて,これからの新技術であるsuspenseやconcurrent モードなど。Reactがかなり奥が深いなと改めて感じた。
5.りあクト!④
テストについて勉強したくて読んだ。API通信やredux-sagaに関してはunit test を書いて,snapshot test は storybookと併用して書く。その他は,cypressとかでE2E testを行う。設計に関しては,Thinking in Reactをよく読んでみる。
P.S. 以下のものを買って,快適さが爆上がりした。来年も初売り行きたい。