いつものやつです。
買ったものと音楽関係は別記事にしてます。
書いた記事
今年は個人ブログに 20 記事書いてました (去年は 24 記事)。
- next lint は lint 対象のディレクトリが制限されている - mizdra's blog
- ある Web ページに関するリソースのうち、ブラウザにリークしているものを調べる - mizdra's blog
- ネイティブモジュールに依存しない node-canvas 代替ライブラリを使う - mizdra's blog
- 試行錯誤を邪魔しない開発環境 - mizdra's blog
- CPU シミュレータを用いて継続的ベンチマークを安定化させる - mizdra's blog
- Next.js の getServerSideProps を共通化する - mizdra's blog
- Twitter に投稿したツイートを Mastodon に転送するようにした - mizdra's blog
- npm package を実装するための自分専用テンプレートリポジトリを作った - mizdra's blog
- Relay でも msw の handler を型付きで書く - mizdra's blog
- Next.js で SSR を強制する - mizdra's blog
- Node.js でフィクスチャーファイルを簡単に作成するライブラリを作った - mizdra's blog
- アセットの import を簡単にする TypeScript Language Service Plugin を作った - mizdra's blog
- Relay の %future added value, %other との向き合い方 - mizdra's blog
- Next.js で言語ごとに異なるアセット画像を埋め込む - mizdra's blog
- react-relay の useFragment で本来取得できるはずの field が欠損する現象について - mizdra's blog
- GraphQL のレスポンスのモックデータの作成を補助する TypeScript ライブラリを作った - mizdra's blog
- ESLint の Suggestions から学ぶ、コードの自動修正の奥深さ - mizdra's blog
- fetch の中断と Back/Forward Cache からの復元で発生する奇妙な現象について - mizdra's blog
去年は 100 ブクマ超えが 8 つありましたが、今年は 2 つだけでした。ニッチな記事が多かったというのもありますが、読んでほしい人に読んでもらう、書きたいから書く気持ちが強まったのが大きく影響していると思います。id:rrreeeyyy さんと全く同じです。
これまでは技術的な記事を Qiita に書いたりはてなブログに書いたりしていたのだけど、 最近ははてブがいっぱい付いて嬉しいとかそういう気持ちが薄れてきて、たくさんの人に読んでもらうというよりも、 どちらかというと、読んでほしい人に読んでもらう、書きたいから書く、ぐらいの気持ちに落ち着いてきた。
記事の質に関しては全く手を抜いていないし、良いものが書けたと思っているので、今のところ問題には思っていませんが...。多くの人に読まれたいという情熱がより良いアウトプットを促す側面もあるので、情熱も大事にしたいとは思います。
登壇
Vue Fes Japan 2023 で、Embedded Language のツールを作るためのフレームワークである「Volar.js」の発表をしました。
長年 Embedded Language のツールを作るのは大変な苦労を伴うものであり、ちょっとやそっとでは作れませんでした。しかし Volar.js を使うと、その優れた抽象レイヤーによって少ないコードで、優れた品質のツールが作れます。僕が作った typescript-plugin-asset もその 1 つです。100行満たないコードでこうした面白グッズも作れてしまいます。
元々 Vue Fes Japan 2023 で話そうと考えてもなかったのですが、この記事を読んだ Vue Fes Japan スタッフの方 (@NozomuIkuta さん) から、是非 CFP 出してみませんかとお声掛け頂き、それがキッカケで登壇させていただくことになりました。この Volar.js を知った感動をどうにかして皆に知ってほしいと思っていたところだったので、まさに渡りに船でした。
一般の方には「Vue 界隈発の OSS がフロントエンドを取り巻く環境を大きく変えようとしている」という印象を与え、Language Server 実装者には Embedded Language の LS 実装の深淵を見せつけ、Embeded Language 実装者には LS 実装を手助けする強力な道具があると知らしめる。無事目的が達成できて大満足の発表でした。
イベントを開催して頂き、また発表を見に来てくださって、本当にありがとうございました!
OSS 活動
eslint-interactive と happy-css-modules のメンテナンスを引き続きやってました。happy-css-modules はちょっとしたバグ修正くらいでした。一方 eslint-interactive は ESLint Flat Config のサポートを目指して大改修をしている最中です。単純に Flat Config だけをサポートするならそう難しくないのですが、Legacy Config も同時にサポートするとなると、間に抽象レイヤーを挟む必要があって結構大変なんです。ESLint v9 が出るまでには間に合わせたいと思っていますが、果たしてどうなるか。
あと graphql-codegen-typescript-fabbrica という新作ツールも作りました。
GraphQL + Relay な業務プロダクトで GraphQL のダミーレスポンスを書きまくっていたのですが、皆がそれぞれ自分のスタイルで書きまくって滅茶苦茶になったという背景があり...。誰でも綺麗にダミーレスポンスを定義できる道具が必要だろうということで作りました。自信作です。ただ、諸事情あってまだ仕事のプロダクトでは導入できてなくて、本当に使えるものなのかはまだよく分かっていない... 来年はどこかのプロダクトに導入してドッグフーディングしたいです。
あと関連して Relay と React Server Components の動向が気になってます。以下の記事でも言われているように GraphQL + Relay は React Server Components と解決したい問題が被っているので、React Server Components に乗っかっていくならメンタルモデルも開発手法も大きく変える必要があるなと。まだどう変わるかがあまりイメージできていないので、React Server Components をちゃんと触っていきたいなと思ってます。
また、先程 Volar.js の話で触れた typescript-plugin-asset も今年作ったものです。
ツール自体は素朴なものなのですが、Volar.js の変わったユースケースとして Volar.js 公式で紹介して頂けました。
ある問題を回避するために typescript-plugin-asset に導入したハックが、 Volar.js 側でケアされてハックが不要になるなど、typescript-plugin-asset の知見が Volar.js に影響を与える出来事がありました。僅かばかりですが、Volar.js に貢献できて嬉しかったです。
- Sync Volar 1.9 by johnsoncodehk · Pull Request #7 · mizdra/typescript-plugin-asset · GitHub
- typescript-vue-plugin caches getExternalFiles and hence doesnt have updated list of external files when new vue files are added · Issue #3555 · vuejs/language-tools · GitHub
イベント参加
コロナが5類へと移行し、技術イベントが物理で開催される機会がふえたので、それに乗じて色々参加しました。
- YAPC::Kyoto 2023
- Encraft #4 React/Next.js 最前線
- Vue Fes Japan 2023
- JSConf JP 2023
- 次世代 Web カンファレンス 2023
僕は 2020/4 にはてなに新卒で入社したのですが、その時に丁度コロナウイルスが流行したので、物理イベントというのはほとんど参加する機会がなかったんですよね。長いことインターネット上ではお互いに見ているけど、会ったことはないという方が結構いらっしゃるという。コロナ禍でもオンラインイベントはやっていたので、そういうところで登壇すれば色々な人とお会いする機会はありましたが、あまり僕はそういうのをやってきてなかったので。実際、JSConf JP 2023 の懇親会で「id:mizdra さんってイベントにあまり顔出されないですよね。」と言われたりしました。コロナが奪ったものです。
ともあれ物理イベントが増えた結果、色々な人々お会いできる機会に恵まれました。廊下や懇親会で深い話をしたり、色んな人と知り合えました。地道にブログを書いているのもあって、ブログ読んでいますとお声がけ頂くこともあって嬉しかったです。
来年も色々なイベントに出向いて、コロナに奪われたものを取り戻していれけばと思います。という訳で、皆さん YAPC::Hiroshima 2024 に来てください。
仕事
自分が関わっているサービスのローンチがあり、かつてないほど忙しかった! しかし無事ローンチできて、一安心しています。忙しかったけど、技術的には非常に面白くて飽きなかったです。
来年はほどほどくらいの忙しさで、面白いことをしていけた良いなと思います。
生活
引き続き埼玉の実家で過ごしています。歯列矯正をしているので、近所の歯医者から離れられない時期が続いてます。引っ越しは興味ありますが、あと 1 年くらいは歯列矯正が続きそうなので、果たしてどうなるか...。通院の間隔が長くなれば引っ越しに踏み切れるとは思いますが、それがいつになるか...。歯並びは順調に良くなってるので満足してます。
さいごに
来年もいい感じに過ごしたいですね。