mizdra's poem

雑なこと (日記/技術ポエム/メモ/…) を書くブログです.

2023年を振り返って

いつものやつです。

買ったものと音楽関係は別記事にしてます。

poem.mizdra.net

poem.mizdra.net

書いた記事

今年は個人ブログに 20 記事書いてました (去年は 24 記事)。

去年は 100 ブクマ超えが 8 つありましたが、今年は 2 つだけでした。ニッチな記事が多かったというのもありますが、読んでほしい人に読んでもらう、書きたいから書く気持ちが強まったのが大きく影響していると思います。id:rrreeeyyy さんと全く同じです。

これまでは技術的な記事を Qiita に書いたりはてなブログに書いたりしていたのだけど、 最近ははてブがいっぱい付いて嬉しいとかそういう気持ちが薄れてきて、たくさんの人に読んでもらうというよりも、 どちらかというと、読んでほしい人に読んでもらう、書きたいから書く、ぐらいの気持ちに落ち着いてきた。

2023 年振り返り - rrreeeyyy.com

記事の質に関しては全く手を抜いていないし、良いものが書けたと思っているので、今のところ問題には思っていませんが...。多くの人に読まれたいという情熱がより良いアウトプットを促す側面もあるので、情熱も大事にしたいとは思います。

登壇

Vue Fes Japan 2023 で、Embedded Language のツールを作るためのフレームワークである「Volar.js」の発表をしました。

speakerdeck.com

長年 Embedded Language のツールを作るのは大変な苦労を伴うものであり、ちょっとやそっとでは作れませんでした。しかし Volar.js を使うと、その優れた抽象レイヤーによって少ないコードで、優れた品質のツールが作れます。僕が作った typescript-plugin-asset もその 1 つです。100行満たないコードでこうした面白グッズも作れてしまいます。

www.mizdra.net

元々 Vue Fes Japan 2023 で話そうと考えてもなかったのですが、この記事を読んだ Vue Fes Japan スタッフの方 (@NozomuIkuta さん) から、是非 CFP 出してみませんかとお声掛け頂き、それがキッカケで登壇させていただくことになりました。この Volar.js を知った感動をどうにかして皆に知ってほしいと思っていたところだったので、まさに渡りに船でした。

一般の方には「Vue 界隈発の OSS がフロントエンドを取り巻く環境を大きく変えようとしている」という印象を与え、Language Server 実装者には Embedded Language の LS 実装の深淵を見せつけ、Embeded Language 実装者には LS 実装を手助けする強力な道具があると知らしめる。無事目的が達成できて大満足の発表でした。

イベントを開催して頂き、また発表を見に来てくださって、本当にありがとうございました!

OSS 活動

eslint-interactivehappy-css-modules のメンテナンスを引き続きやってました。happy-css-modules はちょっとしたバグ修正くらいでした。一方 eslint-interactive は ESLint Flat Config のサポートを目指して大改修をしている最中です。単純に Flat Config だけをサポートするならそう難しくないのですが、Legacy Config も同時にサポートするとなると、間に抽象レイヤーを挟む必要があって結構大変なんです。ESLint v9 が出るまでには間に合わせたいと思っていますが、果たしてどうなるか。

あと graphql-codegen-typescript-fabbrica という新作ツールも作りました。

github.com

www.mizdra.net

GraphQL + Relay な業務プロダクトで GraphQL のダミーレスポンスを書きまくっていたのですが、皆がそれぞれ自分のスタイルで書きまくって滅茶苦茶になったという背景があり...。誰でも綺麗にダミーレスポンスを定義できる道具が必要だろうということで作りました。自信作です。ただ、諸事情あってまだ仕事のプロダクトでは導入できてなくて、本当に使えるものなのかはまだよく分かっていない... 来年はどこかのプロダクトに導入してドッグフーディングしたいです。

あと関連して Relay と React Server Components の動向が気になってます。以下の記事でも言われているように GraphQL + Relay は React Server Components と解決したい問題が被っているので、React Server Components に乗っかっていくならメンタルモデルも開発手法も大きく変える必要があるなと。まだどう変わるかがあまりイメージできていないので、React Server Components をちゃんと触っていきたいなと思ってます。

quramy.medium.com

また、先程 Volar.js の話で触れた typescript-plugin-asset も今年作ったものです。

ツール自体は素朴なものなのですが、Volar.js の変わったユースケースとして Volar.js 公式で紹介して頂けました。

ある問題を回避するために typescript-plugin-asset に導入したハックが、 Volar.js 側でケアされてハックが不要になるなど、typescript-plugin-asset の知見が Volar.js に影響を与える出来事がありました。僅かばかりですが、Volar.js に貢献できて嬉しかったです。

イベント参加

コロナが5類へと移行し、技術イベントが物理で開催される機会がふえたので、それに乗じて色々参加しました。

僕は 2020/4 にはてなに新卒で入社したのですが、その時に丁度コロナウイルスが流行したので、物理イベントというのはほとんど参加する機会がなかったんですよね。長いことインターネット上ではお互いに見ているけど、会ったことはないという方が結構いらっしゃるという。コロナ禍でもオンラインイベントはやっていたので、そういうところで登壇すれば色々な人とお会いする機会はありましたが、あまり僕はそういうのをやってきてなかったので。実際、JSConf JP 2023 の懇親会で「id:mizdra さんってイベントにあまり顔出されないですよね。」と言われたりしました。コロナが奪ったものです。

ともあれ物理イベントが増えた結果、色々な人々お会いできる機会に恵まれました。廊下や懇親会で深い話をしたり、色んな人と知り合えました。地道にブログを書いているのもあって、ブログ読んでいますとお声がけ頂くこともあって嬉しかったです。

来年も色々なイベントに出向いて、コロナに奪われたものを取り戻していれけばと思います。という訳で、皆さん YAPC::Hiroshima 2024 に来てください。

仕事

自分が関わっているサービスのローンチがあり、かつてないほど忙しかった! しかし無事ローンチできて、一安心しています。忙しかったけど、技術的には非常に面白くて飽きなかったです。

来年はほどほどくらいの忙しさで、面白いことをしていけた良いなと思います。

生活

引き続き埼玉の実家で過ごしています。歯列矯正をしているので、近所の歯医者から離れられない時期が続いてます。引っ越しは興味ありますが、あと 1 年くらいは歯列矯正が続きそうなので、果たしてどうなるか...。通院の間隔が長くなれば引っ越しに踏み切れるとは思いますが、それがいつになるか...。歯並びは順調に良くなってるので満足してます。

さいごに

来年もいい感じに過ごしたいですね。

2023年聞いてよかった曲

Summary

今年は1年の 15.8% は音楽を聞いていたそうです。冷静になってみると 15.8% すごいですね...。

聞いてよかった曲一覧

いつも通りほぼアニソンです。

以前はアニソンばっかりだったけど、会社で DJ やってる人の影響を受けて、エレクトロニックとか Remix とか、箱で流れてそうな曲を嗜むことが増えました。

Recap も公開しているので聴いていってください。

music.youtube.com

2023年買ってよかったもの

今年はそんなに散財しませんでした。精進します。

象印 EE‐DC35

www.zojirushi.co.jp

手入れが楽と言われているアレ。今まで加湿器は使ってなかったけど、よく肌がカサついたり、喉を悪くしていたので買ってみた。

手入れは楽なのは助かってるけど、僕の部屋で稼働させると出窓で結露しまくって困ってる。湿度が 40% を超えたあたりから急に湿度が上がらなくなって、窓を見るとめっちゃ結露している。これじゃ加湿器じゃなくて結露器だよ〜。

古い家なので断熱窓とかではないし致し方ない気はするが...どうにかならないものか... 窓に何か塗ったらマシになるのだろうか...

追記

サーキュレーターや結露防止シートを導入してはどうか、など色々情報を頂いています *1 *2。ありがとうございます!

Shokz OpenFit

poem.mizdra.net

5月に購入。Cleer ARC II とか、Anker Soundcore AeroFit とか、Oladance OWS Pro とか、色々なメーカーからオープンイヤーイヤホン出ているけど、Shokz のは軽くて寝転がってもポロッと落ちないのが良い。ほぼ毎日使ってる。今年買ってよかったものランキング1位です。

今まで Mac 使いだったので Windows 機を持っていなかったのだけど、自作ツールの Windows サポートをする際に検証機がないと不便だったので購入。安くて速いと噂の Intel N100 が載ってる。検証機としては十分なスペックが出て満足してる。

僕が買った時は 26,000 円だったけど、今はクーポン併用でもっと安く買えそう。

Steam Deck OLED (1TB)

www.steamdeck.com

話題の8番出口をプレイしたかったので。EQ12 でも動きはするけど、最低画質にした上でウインドウサイズをめっちゃ小さくしないととても遊べなかった。

購入前はスペックに不安があったけど、8番出口が最高画質でヌルヌル動いたりと、意外と普通に遊べて驚いた。

OS は Linux ベースで、Proton という互換レイヤーで Windows 専用ゲームを動かしている。ギーク心をそそって大変良い。ゲーム遊んでいるとたまにクラッシュしてオイオイオイ〜となるけど、こういう互換レイヤーで頑張りが行われていることを考えると、可愛く感じられる。

partner.steamgames.com

12 月にまだ買ったばかりなのであんまり遊べてないけど、来年は色々ゲームを買って遊んでみようと思う。昔買ったけど Steam を起動するのが億劫で遊べていないゲームもあるので、そういうのもやりたい。

あと、排気風の匂いは新品のプラスチック製品っぽい感じでした。

automaton-media.com

密閉型イヤホン以外でWeb会議アドベントカレンダー 2023 7月21日目

密閉型イヤホン以外でWeb会議アドベントカレンダー 2023、7月21日目の記事です。

僕が最近買った密閉型以外のイヤホンを順に紹介していきます。

前提

  • 基本的に一日中イヤホン付けて音楽を聴きながら作業してる
    • 8〜10 h/day くらい
  • 仕事中は社用 MacBook Pro に接続して、仕事が終わったら私用 MacBook Pro に接続して音楽を聴いてる

ambie sound earcuffs

本体が C 字の形をしていて、それを耳たぶを挟み込むようにして装着するイヤホン。2021/12 に買って、つい最近まで使ってた。

装着方法の図解。耳たぶを挟むようにして装着する。公式のマニュアルである ambie sound earcuffs AM-01 取り扱い説明書 1P より引用。

とにかく本体が小さく軽いので、全く装着感を感じない。ずっと着けていられる。とにかく体への負担が少ないイヤホンを求めているならすごくオススメ。

個人的には寝転がりながら使用できるのが非常に魅力的に感じてる。寝転がってもポロッと落ちないし、仰向けなら枕とイヤホンが干渉することもない。寝転がりビリティがめっちゃ高い。

ただ本体の小ささゆえに、どうしてもバッテリーの持ちが悪い。保って 5 時間なので、お昼から使用開始して、残業タイムに突入したらバッテリーが切れる、みたいな感じ。

あと大きなドライバーユニットを載せられないので、音質はイマイチ。まあでも慣れるもので、ずっと音を聞いていたら音質の悪さは気にならなくなってくる。けど音質を求める人には合わないと思う。

(僕はやってなかったけど) カバーを着せ替えきるのも良いと思う。結構な種類のカバーが用意されてる。

ambie.co.jp

Oladanceウェアラブルステレオ

ambie よりもバッテリー持ち・音質が良いものが欲しい、ということで 2023/1 に購入。つい最近まで使ってた。

バッテリー持ちが良くて、なんと16時間も連続使用できる。1日1回充電してればまず日中切れることない。大きなドライバーユニット載せているので音も良い。

ただ本体サイズが大きいゆえに、長時間着けてると耳が痛くなる。6〜8時間くらいの連続使用が限界。

耳の裏にポンと載せて装着するタイプなので、寝転がるとポロッと取れるのも個人的にはイマイチ。寝転がりビリティはない。

OpenFit

ambie と Oladance のいいとこ取りをしたイヤホンが欲しい、ということで 2023/5 に購入。今のメインイヤホン。

耳の後ろのカーブに沿って本体を回して装着するようになってる。結構しっかり装着するので、寝転がっても落ちない。つまり寝転がりビリティがある。

重さは片耳約 8.3g。ambie (片耳約 4.6g) よりは重いけど、Oladance (片耳約 12.7g) よりは軽い。たまに疲れて外したくなることはあるけど、そういうことは滅多になくて、基本的に一日中着けていられる。

バッテリー持ちもまあまあ良くて、7時間くらいは持つ。残業中も切れない。

音質は Oladance ほど良くはないけど、ambie よりは全然良い。少なくとも音質悪いなーと感じることはない。

まさに ambie と Oladance のいいとこ取りをしたイヤホンと言って良いと思う。とにかく大満足してる。複数のホスト端末に接続を切り替えるのが大変 *1 なので、そこだけなんとかなってくれたら良いかなあ。

*1:別のホスト端末に接続を切り替えるには、今接続しているホスト端末側から OpenFit との接続を切って、それから別のホスト端末から OpenFit に接続要求を送らないといけない。本当は別のホスト端末から OpenFit に接続要求を送るだけで、OpenFit 側で今接続しているホスト端末との接続を切って、新しいホスト端末に接続を切り替えてほしい。SONY の WF-1000XM4 はそういう感じだったはず。

2022年を振り返って

いつもの振り返りです。

前回の振り返りも置いておきます (去年は振り返りサボっていたので2年前のものです)。

poem.mizdra.net

書いた記事

1ヶ月に1記事のペースで書いていたようです。

一方で、今年は深い学びが得られたり話題になるような、質の高い記事を多く出せていたように思います。

www.mizdra.net

www.mizdra.net

www.mizdra.net

developer.hatenastaff.com

www.mizdra.net

www.mizdra.net

www.mizdra.net

www.mizdra.net

また、こうした記事を読んだ方が、真似してみたエントリを書いてくださったり、自身の事例を紹介してくださったりといった出来事もありました。これぞインターネットという感じで感慨深かったですし、非常に嬉しかったです。皆さんありがとうございました!!

r7kamura.com

twitter.com

ryozi.hatenadiary.jp

enokawa.hatenablog.jp

zenn.dev

あと今年はチームでソフトスキルを学んでいこうという動きがあって、それに合わせてソフトスキルの話も書いてました。一言でソフトスキルといっても、得意なものから苦手なものまで様々ありますが、その中でも自分が得意としているものや、自分の型を持っているものについて、言語化してみました。正直書いた内容に対する手応えはよく分かってないのですが、言葉にする過程で頭の中が整理されてスッキリしました。

www.mizdra.net

www.mizdra.net

www.mizdra.net

www.mizdra.net

今年作った OSS

今年作ったのは happy-css-modules だけです。

github.com

作ったものは 1 つだけでしたが、コードの品質や機能性に拘ったりしていて、これだけでかなり学びが得られる良い教材だったと思います。コードを書くと沢山学べますね。

今年登壇したイベント

今年は2件登壇しました!

ここ数年弊社のイベントしか出てなかったのですが、流石にそろそろ登壇も増やしていきたいな...と思い、12 月に滑り込みで「#個人開発祭り #1」に登壇しました。発表内容について色々反応があったり、懇親会でも個人開発者同士で交流ができたりと、とても楽しかったです。

登壇はしませんでしたが、JS Conf JP にも視聴者として参加しました。Twitter 越しに交流はしていたけど口頭で喋ったことはない...という方々にご挨拶をしたり、情報共有をしたりできて楽しかったです。

来年は大きめのイベントに登壇してみたいですね。まずは proposal を出すところから...

インプット

平常通りWeb で見れる記事はめっちゃ読んでました。Twitter の TL も 7 割くらいは目を通してたと思います。

TL を研ぎ澄ませることに情熱を注いでいるので、欲しい情報が TL に流れてくるようになっているのですが、全然情報を読んだり見たりするペースが追いついてない! インプット用に使ってる Chrome for Android のタブの数を今見てみたら、700 枚と書いてありました *1。インプットが少なすぎて困り果てている訳ではないので、それほど深刻には捉えてないです。もうちょっとインプットの時間増やしても良いかもなーくらい。

それよりも、情報を仕入れる媒体が偏っているほうが深刻です。書籍もほとんど読んでないし、Podcast もほとんど聞いてません。なんか好きなペースで消費できないことや、分量が多すぎることが合わないんですよね... こういう媒体にも面白い情報が溢れているので、勿体ないなと感じてます。

お風呂の時間や、掃除や掃除の時間は耳が空いているので、その時間に Podcast 聞くようにしたらハマるかな? とか続けられるような工夫がないかを考えてます。あと読書のほうでは、Web記事っぽく読んでみたりとか。最近『エリック・エヴァンスのドメイン駆動設計』を読んだ時に、気になる章だけ好きな順番で読むようにしたら、意外とテンポよく 5 章ほど読めたので、これはいけるんじゃないかと思ってます。

また、仕入れた情報の活用法は去年からちょっと傾向が変わったように思います。面白そうな記事を見つけたら、その情報を知りたがってそうな人がいる社内の slack チャンネルに流すようにしてました。「これ面白かったです」とペタッと貼るだけで、あとは興味のある人が集まってきて勝手に盛り上がるので、それを眺めてヨシヨシ...とやってました。これは良かったので来年もまた続けたいですね。

あとはコードを書くために、他の人が書いたコードを読む機会、というのが今年は圧倒的に増えました。この記事のやり方をもとに、.zhistory から手元に git clone したリポジトリ一覧を洗い出してみたのですが、全部で 37 リポジトリありました。

7 割くらいは happy-css-modules の実装過程で clone したものですね。既存のライブラリやツールの実装と happy-css-modules の挙動を合わせる必要があったので、コードリーディングしまくってました。コードを書くと、他の人のコードをついでに読むタスクが発生してお得。

仕事

今年は異動がありました。9月まではマンガビューワ (GigaViewer) を作るチームに居たのですが、10月から別の部署で仕事をしてます。

マンガチームでは Perl のレガシーな Web アプリケーションを徐々に Next.js 化していくプロジェクトを担当してました。去年の12月くらいから準備して、半年かけてリリースをしました。

GigaViewer はマルチテナントアーキテクチャを採用しており、Next.js 化された部分でも、それを引き継いでマルチテナントアーキテクチャにしています。Next.js を使ったマルチテナントは事例がほとんどなくて、参考にするものがなく苦労しました。「Perl で実現されていたアレを Next.js でどうやって実現するか」「実現できないのであれば、Next.js way になるようにアプリケーションをどう合わせていくか」などのことを、ひたすら考えてました。チャレンジングなプロジェクトで、id:mizdra のフロントエンドの専門性も活かせたので、とても楽しかったです。一方で、Next.js 化のまだ道半ばで異動したことで、Next.js 化が進行するにつれて遭遇するであろう様々な面白い問題と戦ったり *2、初期の設計の不味いところが自分に跳ね返ってくる体験ができなかったのはちょっと勿体なかったなあと思ってます。まだまだやることあるので、興味ある人いたら入社してください!!!

異動後のチームはまだまだ不慣れで頑張りましょうという感じ... うまく行かないなあと思う日が続いてますが、しぶとく食らいついていってます。異動したばかりなので自分は赤ちゃんという気持ちで過ごしてます。

あと今年から社内で「フロントエンドエキスパート」という肩書をもらいました。Web フロントエンドエンジニアという職種が確立できるよう、社内でフロントエンドのことだけやっていてもバリューが出せるような場を作るべく活動してます。バックエンドとフロントエンドの分離を推進したり、フロントエンドの情報を社内横断で共有する会の運営をしたり、バックエンドの言語として Node.js/TypeScript が採用しやすいよう周辺技術の検証をしたり...(Prismaの記事とかがそれ)。 できる範囲で、地道に自分のやり方でやってます。目に見えるような分かりやすい成果が出にくい活動なので、うまくやれてるのだろうか〜と常に不安なりながら過ごしてます。自分なりにうまくやれてるんじゃないかと思ってるのですが、どうでしょうねー。

生活

去年同様実家で過ごしてます。東京へ出るまでに時間がかかって色々なチャンスを失ってしまっている気がしてならなくて、一人暮らししたいなあと最近は思ってます。引きこもっているせいで交友関係が良くない状態なので改善したいです。

一人暮らしをすれば、ふらっと人と会って話したりしやすくなりますし、そういうのに憧れますが、引っ込み思案で果たして上手くいくかな... 今まで色々な失敗をしたり、迷惑を掛けてきたので... (すみません...)

出かけやすい状況を作るところから、少しずつ始めていきたいです。

買ってよかったもの

  • WF-1000XM4
    • 電車用
    • 最高
  • ambie sound earcuffs(アンビーサウンドイヤカフ) AM-TW01
    • 買ったのは 2021/12 だけど、去年振り返りしてないので 2022年分にランクインしてみる
    • 無茶苦茶楽で最高。付けてないのと同然。
    • OpenComm みたいに後ろに線がないので寝転がれる
    • 一日中使う運用だと、お昼休憩〜定時くらいでバッテリーが切れてしまうのが難点
  • Razer Kraken
    • ゲーム用
    • 安いのに快適で最高
  • SwitchBot スマートリモコン ハブミニ
    • 最先端のガジェットにたまには触れてみようよ、と家族を奮い立たせてリビングに設置した
    • Google Nest Hub と組み合わせて、声でライトやテレビを ON/OFF できるようにしてる
    • 手がふさがってるときや、リモコンから遠い場所から ON/OFF できるのが便利で、使いこなしてもらってる。買ってよかった。
  • アイリスオーヤマ 静音シュレッダー 家庭用
    • そのまま捨てるのが気まずい紙ゴミを気軽に捨てられるようになった
    • 掃除が捗って最高

Nreal Air とかも買ったのですが、まだうまく使いこなせてないんですよね... dアニメストアが見れないし、購入した度付きレンズの度が微妙に悪くてイマイチ使えてない…*3

あとこれ以外に高額な買い物で、歯列矯正があります。歯並び悪すぎて顎の調子が悪いので、そろそろやるか…という気持ちで始めました。健康保険対象外なので良いお値段します。まだまだ治療に時間掛かるのでやってよかったと思えるのは再来年くらいかなー。

音楽

今年 YouTube Music でよく聞いた曲リストです (ほぼアニソン)。

music.youtube.com

個人的ベストソングは以下です (順不同)。

読んでよかった漫画

どれも良かったです。

観てよかったアニメ

  • ぼっち・ざ・ろっく!
  • ヤマノススメ Next Summit
  • Do It Yourself!! -どぅー・いっと・ゆあせるふ-
  • リコリス・リコイル

どれも良かったけど、実は下3つは途中までしかまだ観てない… そのうち観ます。

総括

今年のアウトプットは絶好調で、量・質、ともに高いレベルを達成できていたと思います。「よく頑張った!!!」と自分に言ってやってます。記事読みましたよーと声を掛けてもらえる機会も増えてきたように感じていて、順調に外部への露出を広げていくことができてそうです。この調子で来年も頑張りたいと思います。

私生活は一人暮らしするところからかなーと考えてますが、歯列矯正のためにかかりつけの歯科医院からしばらく離れられないので、様子を見つつという感じになりそうです。

来年もいい感じに過ごしたいですね。

*1:同じページが何枚も開かれてたり、既に読み終えたものが残っていたりしますが、それでも読みたいタブ 300 枚くらいあると思います。

*2:とはいえ、近いうちに確実に遭遇する大きな問題については、異動前に解決方法についてまとめておく活動をしてました。フロントエンドエキスパートなので!

*3:1年前のメガネ処方箋使って発注したら、微妙に度が低いものがやってきてしまった。完全に僕が悪いです。

whywiper

この記事は whywaita Advent Calendar 2021 11 日目の記事です。10 日目は id:hogashi さんで、秘蔵UserCSS大放出祭 でした。

blog.hog.as


突然ですがこちらをご覧下さい *1

f:id:mizdra:20211211175314p:plain

こちらもあわせてご覧下さい。

poem.mizdra.net

明日は id:nersonu さんです。

*1:ワイパー素材は https://www.irasutoya.com/2016/04/blog-post_332.html を使いました。whywaita さんのロゴの使用は本人の許可を頂いています。