2022年を振り返って

2022年を振り返るよ。
買ってよかったもののまとめはこちら

目次

仕事

今年も去年に引き続き、Webフロントの案件が多い一年だった。

全体的な役割としては、アプリ(Android/iOS)チームとWebフロントチームのリード、あとはサービス全体の技術責任者、になるのだろうか。なんか色々なことに手を出してて大変になりつつある気はする。IC的な働き方ができれば一番いいんだけど、チームも小さいし、そもそも今の会社ではそういうキャリアパスはあんま整ってなさそうな雰囲気を感じる。まあサービス的な結果を出せていれば技術的には結構好きにやらせてもらえるので、その点は満足している。

AndroidアプリにJetpack Compose導入した

すべりこみで一画面Jetpack Compose化できた。
Compose Compiler の Kotlin バージョンアップ対応が結構遅いので、Kotlin Multiplatform Project で新機能使いたくてもなかなか更新できない、というのが地味にストレスだった。KSPくらいのペースで追随してってくれるとありがたいのだけれども。

Android 開発の新標準を使いたいと思うと Kotlin Multiplatform Project の新機能使えない、というのはなにか本末転倒的というか、釈然としない。まあ Compose Compiler のバージョン制約を強制的にオフにする、という選択肢もないわけじゃないのでそのへんもしっかり検証していくべきか。

社内副業

ちょっと別チームが作ってるOSSの書き直ししたりした。
Fluxやろうとしたもののイベントバスで各所がスパゲッティになっちゃってた感じだったのを、丹念に解きほぐしてシュッとさせた感じ。

社内副業なので実質残業だったりするわけで、ゴリゴリ自分の時間が減っていく。副業的なもの一度やってみたかったし面白くはあったけど、自分には副業向いてないなー、と思った。お金になるのはありがたいけど、この時間で何かしら自分のコード書きたい。

Nuxt.jsで既存サービスのリニューアル(進行中)

これも引き続きの案件。

今年は単純なリニューアルだけでなく、大規模な新機能追加が二件あった。今年はわりとマネジメントやったりCI/CDの整備とか周辺固めるような動き方がメインだった気がする。

来年は1件新規アプリの作成が決定してるから、そこで Nuxt3 の検証をしつつ、Nuxt2 で作ってる本家アプリの Nuxt3 移行準備を進める予定。

Nuxt/Bridge も試してみたけど、まだうまく動かない印象。Nuxt3 のバックポートである Nuxt 2.16.0 がリリースされてからが本番かも。

個人(プロジェクト)

今年は社内副業に結構時間取られたりしてあまり目に見える成果に結びつかなかった。

ちょこちょこ CodeMirror とか Jetpack Compose の Glance(AppWidgetの方)触ったりはしていたので、来年は何かしら形にしたい。

Chrome拡張機能版OmnitweetyのManifest v3対応 & リファクタ

Chrome拡張機能の仕様が大幅に変わってて、対応期限がだいぶ迫ってきたので対応するための更新を行った。ついでにコードを1から書き直してみた。

BeforeAfter
VueVue2Vue3
状態管理Vuex-
UIライブラリVuetifytailwindCSS x Headless UI
ビルドツールWebpackVite
Chrome拡張機能開発ツールWebpack/手動@crxjs/chrome-extension-tools

@crxjs/chrome-extension-toolsが便利で、Manifest周りの作成と開発時のホットリロードが大変助かった。

UI は Vuetify から tailwindCSS と、一部めんどいコンポーネントだけ Headless UI という構成に書き換えた。Vuetify もサッと UI 組むぶんにはそれなりのものができていいんだけど、ちょっと凝ったものを作ろうと思うとVuetifyの作法を知った上で色々カスタマイズしなきゃならないのが微妙だなー、と思った次第。ある程度 HTML/CSS 書けるのであれば、結局自分で組んでしまったほうが楽。あとはまあ、別件で tailwind UI 課金してた、というのもデカい。

Manifest v3 では background script が Service Worker になる関係で LocalStorage にアクセスできなくなる点が、Omnitweety 的には一番大きい変更点だった。
しかしこれも Chrome Storage API へのマイグレーションコードを一度書いてしまえばそれで済む話なので、特に問題なく移行できた。

あああとめんどくさかった点で言えば、気がついたらまた Twitter の OAuth 認証を自前実装していた。Node.js 対応の OAuth ライブラリは結構あるんだけど、クライアント側での動作に対応してるライブラリはあまりなかった。あるいはあってもメンテが止まってたり。旧バージョンの Omnitweety は browserify の互換モジュール使って無理やり動かしてたんだけど、そのモジュールもやっぱりメンテ止まってるしよーわからなかったので自分で実装してしまった。

以前作った yshrsmz/twitter4kt が一応 Kotlin Multiplatform Project で実装してあるのでそれを Kotlin/JS に対応させて使っても良かったんだけど、それもめんどくさくて再実装。そもそもクライアント側でリクエストしないほうがいいのではとか色々論点はあるけどまあ仕方ない。ブラウザ側の暗号APIが触れたのは良かったかな。

レポジトリはこちら: yshrsmz/omnitweety
Chrome Web Store はこちら: Omnitweety

AndroidDagashiのUIリニューアル

https://androiddagashi.github.io/

Vuetify を消して tailwindCSS を利用したフルスクラッチにリニューアルした。

tailwind UI や Zenn など参考にしつつ、だいぶシンプルでいい感じに仕上がったと思う。

来年はこれも Nuxt3 へ移行予定。

個人(エンタメ)

今年遊んだゲーム

メインシナリオクリアまで遊んだのはこの辺。

  • Horizon Forbiddn West
  • Elden Ring
  • 十三機兵防衛圏
  • Stray
  • スプラトゥーン3
  • ポケットモンスター バイオレット
  • エースコンバット7

その他 Ghostwire: Tokyo とか アノー:ミューテーショネム とか GTA5 とか、途中で放置してるのもいくつか…。アノー:ミューテーショネム は雰囲気いいので最後までやりたいなあ。今年は Steam Deck も手に入れたので、来年からは積みゲーが一層捗りそう。

個人(生活)

Kindle 1ヶ月1万円生活

ふと思い立って明細数え上げてみたら、Kindle で毎月数万(詳細に書くと自分もビビるのでごまかす)使っていたらしい。Twitterやらなんやらで面白いマンガを見つけるとすぐに全巻揃えてしまうのがだいたいよくない(が、止められない)

Amazon が予算管理機能つけてくれないのがすべての元凶なんだけど、流石にどうにかしないとなー、と思って制限をかけてみた。
もちろん決めただけの制限なんて一週間ももたずに破綻するので、なんとか仕組み化してみる。

そこで導入したのがプリペイドのクレジットカード。色々選択肢はあるけど、今回は SMBC のVポイントアプリで使える、リアルカードのないクレジットカードにしてみた(なおメインバンクが SMBC だなー、Amazon クレカも裏側はSMBCだなー、という程度で決めたので効率についてはあまり検討できていない)。

給料日になったらこのカードに1万円チャージして、Kindleの決済はすべてこれで行おう、という計画である。
幸い Kindle 用のカード、とか設定できたので一度設定したらあとはかんたんだった。

もちろん Amazon クレカでの決済よりはポイントの還元率下がるんだけど、上限なし買い放題よりはマシかな、という判断。

8月末くらいからこの運用にしているけど、今のところはうまくいっている。とはいえだいたい一週間くらいで予算消化してしまうことも多く、欲しい物リストが膨れ上がる日々が続いている。

大猫が癌になった

3匹いるうちの、一番古参のメインクーン雄。

8月の健康診断でしこりが見つかって、大学病院にいって検査したら線維肉腫だった。

で、9月に手術して一応取れたはずだったんだけど11月にまたしこりぽいものに気づいて、また大学病院で検査したら再発だった。今度は大きすぎて取り切れないし、前回手術で切除した箇所の両側?にできてしまっている、ということで手術はなしに。余命、長くても半年くらい。

8月に健康診断でしこり見つかったときは「なんでこんな大きなしこりに気づかなかったんだろう?」ってちょっと落ち込んだけど、9月末の術後から10月末〜11月頭の再発見までを考えると、ほんとにすごい速度で癌大きくなっていることがわかり、「これはまじで注意してないとわからんわ」となんか納得した。猫は人間の4倍早く歳を取る、というけれどホントに一瞬でしこりできて大きくなるので癌やばい。

とりあえず来るべき日に向けて、本猫には少しでも快適に過ごしてもらいたい…と試行錯誤中。

今9歳だから、長ければこの倍くらいは一緒にいられると思ってたのになあ。

COVIDにかかった

12月に社用で沖縄に行ったらもらってきてしまった。

ワクチンは3回接種済みだけどかかるときはかかる。でも熱もそこまで上がらず(38度前半)、三日目からは仕事できるくらいには回復したからやはりワクチンは偉大。ちなみに4回接種済みの妻も、最終的に感染はしたものの感染するのも遅かったし熱も症状もほとんど出なかった。ワクチンは偉大。

罹患中は鼻が全く効かなくなって焦ったけど、治ったあとは嗅覚も戻ってきたので一安心。後遺症的には咳と痰が残ってるので、年明けに後遺症外来とか行って見る予定。


そんな感じの2022年だった。
来年はもーちょい個人プロジェクトの時間増やしたい