例年通り、2024年の振り返りと2025年の目標っぽいものを書いてみます。
目次
2024年の振り返り
2023年の振り返りと2024年の目標 - メモ的な思考的な で立てた目標っぽいものについて、ブログの記事を中心に振り返ってみます。
身近な技術の素振り・深堀りをして、技術のキャッチアップを継続
2024年は自分がほしかったものを作ってた感じでした。
JetBrains IDEのプラグイン Railroads の開発
Railwaysがメンテナンスされなくなり不便だったので作りました。
- Railroads Plugin for IntelliJ IDEA & RubyMine | JetBrains Marketplace
- RubyMine 2023.3系から、rails routes を便利に扱える Railways プラグインが動かなくなったので、代替プラグイン Railroads を作りました - メモ的な思考的な
また、作るときに学んだことも忘れないよう、記事に残しました。
- IntelliJ Platform Plugin Templateを使って、「エディタのコンテキストメニューからダイアログを表示する」だけのJetBrains系IDEプラグインを作ってみた - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、Kotlin UI DSL Version 2 や Swing を使って、ToolWindow上にコンポーネントを表示してみた - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、RubyMineなどのIntelliJ IDEA以外のIDEがRun Pluginで起動するようにしてみた - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、ApplicationManagerやToolWindowManagerを使って、Actionの中でToolWindow上のlabelを更新してみた - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、ToolWindow上で、TextFieldの入力値に従って絞り込み可能なテーブル(JBTable)を表示してみた - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、ToolWindow上で、CellRendererを使ってテーブル(JBTable)の列に画像を表示してみた - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、ToolWindow上で、DialogWrapperとPropertiesComponentを使って、設定の保存と読み込みを行ってみた - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、ToolWindow上で、テーブルの絞り込み条件入力で使うコンポーネントを SearchTextField にしてみた - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、ToolWindow上で、Dialog・Balloon・StatusBarなどを使って改行ありのメッセージを表示してみた - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、開発環境にある公開したくない情報を local.properties に定義してビルドする - メモ的な思考的な
- IntelliJ Platform Pluginの開発にて、Task.Backgroundableを使って重い処理をバックグラウンド実行してみた - メモ的な思考的な
- IntelliJ Platform Plugin開発にて、Plugin Signing を試してみた - メモ的な思考的な
- IntelliJ Platform Plugin開発にて、KotestやBasePlatformTestCaseを使ったテストコードを書いてみた - メモ的な思考的な
- routes.rbに色々なルーティングを定義したRailsアプリを作ってみた - メモ的な思考的な
- IntelliJ Platform PluginのRailroadsについて、新しいバージョン 0.2.0 をGitHub Actionsでpublishしてみた - メモ的な思考的な
JetBrains IDEプラグインを作る中で Kotlin の K2 に関する話題を見かけることもあったため、Kotlin Fest 2024にも出かけて話を聞いてきました。
#KotlinFest Kotlin Fest 2024 に参加しました - メモ的な思考的な
自作RDBMSの作成
いつかは作ってみたいなーと思っていたのですが、会社の合宿でのLTをきっかけに作ることができました。企画・運営してくださった方々に感謝です。
機能的には、RDBMSの基本的なところに加え、PostgreSQLプロトコルの実装やWasm対応もできてよかったです。
まともなRDBMSとして使うには機能が全然足りないですが、元々知りたかった機能・範囲は最低限実装できた気がします。
- 書籍「Database Design and Implementation」の SimpleDB をベースに、必要最低限の機能を持つ RDBMS を Ruby で実装してみた - メモ的な思考的な
- RubyのSocket.tcp_server_loopでechoサーバを作り、その通信を ngrepで確認してみた - メモ的な思考的な
- Rubyを使って、psqlとメッセージを交換できるPostgreSQL風TCPサーバを作ってみた - メモ的な思考的な
- Ruby製の自作RDBMSにて、PostgreSQLプロトコルに対応して psql でメッセージを交換できるようにしてみた - メモ的な思考的な
- ruby.wasmにてRubyスクリプトをWasm化し、Wasmtimeで動かしてみた - メモ的な思考的な
- Ruby製の自作RDBMSをruby.wasmにてWasm化し、Wasmtimeで動かしてみた - メモ的な思考的な
食べたリンゴの割合をグラフする化アプリの移行
Cloudflareへ移行してみました。
Cloudflare Pages・Workers + Hono + React + Chart.js で食べたリンゴの割合をグラフ化してみた - メモ的な思考的な
また、リンゴの系譜図的な機能も欲しくなったので追加しました。なお、データ整備工数の都合上、対応している品種は少なめです。
Cloudflare Pages + TanStack Router + TanStack Query + CSS Grid Layout で、りんごの系譜図を作ってみた - メモ的な思考的な
移行するにあたり調べたことは記事にしてあります。
- React + react-chartjs-2 + Chart.js を使って、Pie chart を表示してみた - メモ的な思考的な
- Hono + React + Chart.js + TanStack Router + TanStack Query を使って、Hono製APIのレスポンスをPie chartとして表示してみた - メモ的な思考的な
- TypeScript + Bun + SQLite + Drizzle ORM な環境にて、Drizzle Kit の各コマンドを試してみた - メモ的な思考的な
- TypeScript + Bun + SQLite な環境にて、SQLのDDLをDrizzle ORM で書いてみたり、初期データの投入(seed)をしてみた - メモ的な思考的な
- JetBrains IDEで外部キーを表示できるよう、Cloudflare D1向けJDBC driver「d1-jdbc-driver」を修正するプルリクを作った - メモ的な思考的な
- Bun + TypeScript + @atproto/api で、Blueskyの自分の投稿を取得してみた - メモ的な思考的な
- React + react-chartjs-2 + Chart.js を使って、デフォルトの Legend の代わりに HTML Legend を表示してみた - メモ的な思考的な
- CloudflareのService Bindings RPC を使って、Bun + Hono な Pages と Workers を連携してみた - メモ的な思考的な
- 親子情報を持つテーブルとSQLの共通テーブル式(CTE)を使って、曽祖父母までの祖先を取得する - メモ的な思考的な
その他
仕事は相変わらず各方面に詳しい同僚が増えたり囲まれたりして福利厚生...!ってなってます。
技術スタックは変わりませんが、Terraformにさわったり、システムのフルサイクルに携わったりしていい感じです。
腰痛を再び起こさないよう、ストレッチや筋トレの継続
年の途中までは継続できていた気がします。
ただ、11月くらいに久しぶりに重い風邪を引いて寝込み、それ以降習慣から外れてしまったことに今気づきました...
継続していた頃に比べると体の調子が悪くなってる気がします。
英語勉強を継続的に行う
今年もウォーキングのお供としてラジオを聴いたりシャドーイングしたりしてました。
中学生の基礎英語 レベル2 - NHK
エピソードを繰り返し聴く回数はまちまちですが、途切れることなく続けられました。そのおかげか、2023年よりは初回で聞き取れる内容が増えたような気がします。
一年を通じて健康で過ごす
今年も8月は無事に過ごせました。
前述のように11月くらいに重い風邪を引いたくらいでした。下半身をあたためることを意識しているので、腰のトラブルはなかったです。
一方、健康診断はやや不穏な空気を感じる項目が出てきました。
その他
イベント参加
イベントが色々とかぶってしまい、現地で参加したカンファレンス系のイベントは前述の Kotlin Fest 2024 くらいでした。
一方、技術書典には毎回参加できて良かったです。
GitHub
色々作っていたせいか、コミット数は増えました。
ドラクエウォーク
2024年は293万歩でした。去年よりさらに45万歩くらい減りました。色々なものと時間が取り合いになった結果、起動時間や歩数が減った感じです。
一方、運動の習慣化という意味では、2024年も継続できていたので良しとしたいです。
旅行
リンゴをテーマに行ってきました。楽しかったです。
2024年リンゴの旅 - メモ的な思考的な
梅酒
お酒に対する個人的なステータスとして
- そもそも弱い
- 飲んだ翌日はパフォーマンスが最低になる
- あまりお酒の味がわからない
ことから、お酒は週末に1回、適当なものを嗜むくらいでした。
そんな中、ついうっかり「全国梅酒まつり」で梅酒を試飲したところ、多様な味があることに気づいてしまいました。
2024年における梅酒の好みはこのあたりです。複数の梅酒を飲み比べる中で醸造酒ベースは翌日に残るとわかったので、基本的に蒸留酒ベースです。
なお、多くの梅酒は1本720mlなのですが、個人的には量が多すぎのようです。現在、消費 < 供給となっていて在庫が増えてます。
また、この影響か健康診断の数値が落ちてるのも気がかり...
2025年の目標っぽいもの
今年は色々ありそうなのと継続は大事なので、去年と同じ感じです。
- 身近な技術の素振り・深堀りをして、技術のキャッチアップを継続
- 腰痛を再び起こさないよう、ストレッチや筋トレの継続
- 筋トレは再開したい
- 英語勉強を継続的に行う
- 始めたものを続ける感じで
- 読む・聴くがメイン。書く・話すは余裕があれば...
- 一年を通じて健康で過ごす
- 無事是名馬な精神で
ということで、今年もよろしくお願いします。