やったこと

5日間出勤

フロントで気になる挙動を色々見たり潰したり。
この辺は調査→修正なのでまだ見ぬ問題を探すという意味で好きなんだけど、あんまり周りに理解されない気がする。
リファクタリングとか潜在的なバグと比べてまだ表に出て来る分だけましだけど。
QAエンジニアって多分こういう役割なんだろうなーと思いながらやってた。
Warningログ絶対潰すマン。
あとはプロダクトの将来について話したりした。
結局ユーザーの声聞かないと分かんないね。

趣味

6年ぶりくらいの友人と会いました。
久々すぎたけどまあまあ話せた気がする。
ゲーム系は技術的にも考え方的にも結構違って面白い。
共通の部分もあるんだけど、人気があるのと趣味の分野なので最終的な方向が違う感じ。

サッカーの話題でも。
アーセナルが三連敗の後TOP6に連勝していてもうよく分からん。
一時期はCL行けると思っていたが、レギュラーが居なかった場合が不安定すぎてやっぱり無理かってなってる。
CL行けると補強も良くなりそうなのでなんとか確保して来季に繋がるといい。

ゲームはロードモバイルがそろそろ終わりそうです。
城Lv25は無課金では無理だった。
最適化すれば夢ではないかもなーとも思ったけど、そこまでの労力はかけられん。
まあ楽しかったからよし。

勉強会でLTしてきました。
こちらもすごい久しぶりで楽しかった。
figmaで資料作ったり、考えをまとめて言語化するのは定期的にやってもいいかも。
アウトプットは自分の為でないとやる気がしないので程々だけど。

読んだもの

https://akeno41.notion.site/2022-4-18-24-43fb77f6def64b2ca260593c777491da
一言コメントが書けていない…。
まあ読んでますよということで。
本を読むのとどっちがいいんだろうね。

技術的なことを殴り書きするコーナー

コンポーネントの挙動と相性問題。
とあるコンポーネントライブラリで、コンポーネント内に実装と状態が閉じすぎていてコンポーネントを再生成する処理を入れないと初期化出来ない問題があった。
そのまま使う分には便利なんだけど、カスタマイズしづらい点がAngularMaterialを思い出させた。
下手に使う側に触らせるとバグの元なんでいいんだけど、propsでサポートするとか欲しかったなーと。
あと汎用的な良い設計という矛盾した話になりそう。

ライブラリについて考える。
どんなサービスがどんな依存が許されるのかを考えている。
サービスを作る際。
フロントエンドなら根本的にはReact or VueとNext or Nuxt 以外に依存したくないのはある。
現実的に特定部分においては他のライブラリへの依存は発生する。
SWR/MUI/NextAuth/Apollo/gRPCあたり。
どこまで安定したものに依存できるかと、不安定な依存をどれだけ局所的に抑え込めるかを気にしたい。
変わった際に切れるようにとか他に置換できるようにとか。
ライブラリを作る際はこれより厳しいと思っている。
基本的に何にも依存したくない。
それは汎用的にどこまで使えるかを決めるから。
それに依存した瞬間に使用者も依存が発生するし、簡単に変えられなくなる。
標準ライブラリで済ませることができるのがベスト。
使用用途を絞るならって感じだけど、それでも自作できるものはしたほうがいいかもと思う。

SWRとエラー処理について。
jsのtry-catchを用いたデータフェッチをしたくないという記事を見て、もっと過激派なのでそれはそうとなった。
jsにおいてtry-catchはそもそも使うべきではないので…。
throwした段階でpanicを覚悟するべきだし、自分でcatch出来ると思わないほうがいい。
promiseもrejectされた際はcatchして正常系に絶対に戻すべき。
方法としてはResult型を作るとかUnion型で返すとかあるけど後者が推し。
標準でサポートされていない内容を実装のコアに含めたくないのと、言語サポートがないパターンマッチは辛いのよね…。

今週の調子と感想

カフェインに依存している…。
抜くのに結構つらい思いする割に飲むとすぐこうなるのはきついね。

さて今週は「月の彼方で逢いましょう」。

toneの新作は来るのか…?
スタッフさんの参加的に別メーカーの作品になっていきそう。