やったこと

4日間出勤

成人の日があったので4日。
初日は睡眠少なめなのもあって体調が悪く、仮眠をとった。
寝てシャワー浴びたらすこぶる調子が良くなってめっちゃ進んだのでコンディションはとても大事。
仕事自体はまあまあ順調。
ただ近くにやることはあれど遠くの目標を意識できていない感があるので、その辺はっきりさせていきたい。
入社後1on1があったりチーム体制が変更されたりでちょっとバタバタしております。

趣味

週末は東京。
ライブはあったが友人と会う予定はお流れ。

ライブの感想は2週目終わってからまとめたい。
記憶xハジマリ/Aozora/sesame/絶対Darli'n/Ray あたりが印象に残ってる。
今回は割とセトリ覚えている方だった。
なお界隈の人たちの顔と名前はほぼ忘れていた模様。
関連付けられない記憶は本当に弱いので…
曲名とメロディも紐付かない程度には絶望的である。

半年ぶりにかき氷も食べてきました。

趣味の方は久々にエロゲを1.7本くらいやった。
ensembleとHulotteの最新作。
レビューも書く予定。
去年の振り返りと新年の目標も書かなきゃ…。
いろいろ書きたいことはあるけど文章にするのが下手。

VTuber熱はだいぶ落ち着いてきて、みこち以外は内容を選んで見る感じになってきた。
最推しと推し(10人以下くらい)以外の配信はほぼスルー。
おかげでだいぶ時間が空いてるので、何か新しいこと始めるチャンスかもしれない。

読んだもの

会社で借りた本が読めていないので読みたい…。
そろそろ返さなきゃなんだよなー。
TypeScriptとatomic designの本だけど、要点だけでも読んどきたい。

JSのデコレータの話
https://qiita.com/taqm/items/4bfd26dfa1f9610128bc
Angularでかなりお世話になってたけど、個人的にはデコレータは可読性が辛い。
KotlinやJavaでは使うんだけど、あまり好きな記法ではないので普及しないでほしいのが正直なところ。
メジャーなライブラリで取り入れられたらまあ仕方ない。

Goのerror handlingの話
https://zenn.dev/nekoshita/articles/097e00c6d3d1c9
xerrorsを使ってたんだけど、見た感じpkg/errorsの方がメンテされているのでそちらが良さそう。
WithStackパターンが綺麗なのは同意だし、Wrapが使いやすいのも同意。
1人で作るならWithStackだけどチームならWrapで統一かなー。
すでにWithStackされているかを判定してWithStackをつけるかそのまま返すかを判断するUtil作ってそれ使うのが一番良さそう。(出来るかは知らん

React hooksのテスト
https://zenn.dev/bom_shibuya/articles/5c3ae7745c5e94
https://wp-kyoto.net/testing-own-custom-react-hook-by-using-testing-library-react-hook-with-jest/
https://note.com/gota_disney/n/n356468dcbbd6
https://github.com/testing-library/react-hooks-testing-library
RTL+Jestの話で出てきてたやつ。
あんまり読めてないので書くときに読みたい。

storybook+nextjs+Visual Regression Test
https://tech-broccoli.life/articles/engineer/add-storybook-for-nextjs/
https://storybook.js.org/blog/get-started-with-storybook-and-next-js/
https://qiita.com/shimopino/items/e143b3d1a942e577dc31
https://zenn.dev/kyoncy/articles/7b3fad3f1d88c4
https://buildersbox.corp-sansan.com/entry/2021/03/18/110000
https://developers.cyberagent.co.jp/blog/archives/29784/
https://tech.recruit-mp.co.jp/front-end/visual-regression-testing/
UIを担保するための技術としてVRTを調べていた。
CIへの導入が面倒そうだけど、DOMのsnapshotより良い可能性はある。
まあこれもe2eとかと同じくそのうち導入したいというお話。

RTL+Jest
https://zenn.dev/erukiti/articles/unit-testing-react-2021
https://jestjs.io/ja/docs/snapshot-testing
https://jestjs.io/ja/docs/mock-functions
https://tech.studyplus.co.jp/entry/2020/10/05/090000
https://zenn.dev/takepepe/articles/testing-with-nextjs
https://qiita.com/ossan-engineer/items/4757d7457fafd44d2d2f
導入したので後はやりながら調べる感じ。
読みもの・調べ物としては今回が最後かな。
Integration test/Unit testを書きつつpage/snapshot/e2eには手を出さないのが直近。

Goの型について
https://gospecreading.connpass.com/event/234881/
https://zenn.dev/syumai/articles/77bc12aca9b654
https://qiita.com/behiron/items/89bf7292aec48b097fe4
https://zenn.dev/nobishii/articles/99a2b55e2d3e50
Go1.18の仕様勉強会を見て、ジェネリクスにおける型同一性の話が面白かったので後追いで調べた。
~やtype setsは新しい概念だけど、interfaceによる縛りは既存に近いしunderlying typeはもともとあった。

そこのお前! 余計なuseMemo1個に含まれるオーバーヘッドは余計なdiv 0.57個分だぜ!
https://qiita.com/uhyo/items/59124425ca1dee3da891
はい。
useMemoやuseEffectは積極的に使いましょう。

DesignDocについて。
https://nhiroki.jp/2021/03/31/design-docs
https://tkybpp.hatenablog.com/entry/2020/08/03/090000
https://please-sleep.cou929.nu/20091116.html
社内でDesignDocという用語の認識が違ったので気になって調べていた。
設計の考えを書くものという認識で、大きな枠組みに対してモノを作っていくときに指針となるもの。
システムの目的を明確にしつつどのような技術を採用した、しなかったやスコープを書いておくもの。
詳細な機能には踏み込まない。
みたいな感じかなーと。
何を・なぜ・どのように作るかということを書いたエンジニアの指針と思っている。

TDD本。
シンプルイズベスト。
疑念をテストに書いたらできるだけ簡単な方法でテストを通す。
その実装に不吉な香りを感じても修正の必要が発生するまでは放置で良い。
予測、推測で実装を進めない。

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

pageの新規作成時のコンポーネント分割とテストの実践がメイン。
あとOIDCが分からん問題。
記事読まなきゃ。

APIのinterface考えつつ作ってからのフロント実装とか相変わらずリファクタとか。
ライブラリ周りは型付けが面倒なこともあるので謎の型が出てきたりする。
RTLは導入してテストのサンプルだけ作った。
広げていくのはコンポーネント整理後かな、やらんかもしれんけど。
API周りで相談することが多かったので少しだけバックエンドの知識がついた気がする。

Goの仕様見るイベントに2回参加したのでGo1.18にちょっと詳しくなった。
やはりGenericsが楽しみ。
https://tip.golang.org/doc/go1.18

今週の調子と感想

年月日にしないと分からんくなってきたのでタイトルに年をつけました。
ここまで続いていることがかなり驚きなので自分を褒めたい気分。

来週も東京の予定なのですが、怪しくなってきたね…。
大阪でも東京でも同じようなもんなのでライブがあれば行く予定。
これが終わればあとは引きこもり生活になりそう。

さて今週は「Ray」。

とてもensemble感のある曲。