概要
2024年がもう終わりになるので,仕事面やプライベートで学んだ技術を振り返る
振り返り
Elasticsearch・Lucene
仕事面でもプライベートでもElasticsearchやLuceneについての理解が深まった年だった.
特にElasticsearchのセグメント(LuceneのIndex)のチューニングできることも以下の記事から学べた
来年度からはセグメントのチューニングすることによるパフォーマンス改善方法も模索していきたい(そのためにプロファイリングの使い方も勉強…)
ちなみにSearch Profilerで見れるnext_docについては以下のQiitaで書いている.
デザインパターン
これは本業で自動化ツールを作る際に汎用的に作る要件が出てきたため,初めてデザインパターンのFactoryパターンを用いたツールの開発を行った.
デザインパターンは名前だけ知っていて実装をしたことがなかったので,これは非常に勉強になった
このツールのリリースは事情によりリリースはできなかったが,SREをやっているとまた自動化した要件が出てくると思うので,またこの知識を活かしていきたい.
デザインパターンの参考として,記事はもちろん以下の書籍が非常に参考になりました
WebRTC
今はPending中だが,副業でWebRTCを用いたサービス開発を行うために初めてWebRTCについて学んだ.正直今まで学んできた技術の中でも基礎のキャッチアップだけでかなり苦労した.
Vさんの以下の記事はすごい参考になった.今でもたまに読み返している
以下のWebRTC Meetupにも参加したが,これまで参加した勉強会の中で一番濃かった.
またWHEPに付いて調査していた際にVさんに反応をもらえたのは嬉しかった.
自分はKubernetesを本業でも運用していて,STUNnerがGAになったのは個人的に嬉しかったかも
アドベントカレンダーでも書いてあるのでぜひ
JVM, JITコンパイル, 暖気
本業で今年何を頑張ったかというと,Javaの暖気と自信を持って言える.それくらい暖気の難しさと戦った年だった.
まず暖気をするための理由でもあるJITコンパイルについて学んだ.そのための以下の資料は非常に参考になった
この書籍も非常に参考になった.
また暖気をどれくらい叩けばよいの?とかは以下の記事が参考になった
Kubernetes上でJavaアプリケーションを運用するうえでのノウハウが足りないなとも感じた.それくらい暖気が難しい.
ちなみに暖気に苦労した話はアドベントカレンダーにも書いてみた.
CRaCを使えばそのへんが楽になるのかなと思いつつ,まだ情報がなさすぎるから今後に期待したい
Karpenter
本業で今年にv1.0.0がリリースされたKarpenterを導入することになった.自チームで管理するマイクロサービスにKarpenterを乗せるために,DeepDive記事を読んだが非常に面白いOSSだと思った.挑戦的だし今後の進化に期待したい
ちなみにKarpenterの中断機能のPolicyであるWhenEmptyとWhenEmptyOrUnderutilizedの違いについてもアドベントカレンダーを書いた.
Istio・Envoy
Istioは本業で運用しているが,上で紹介した暖気を行うためにwarmupDurationSecsを導入する際に改めて調べてみた.
以下の記事は神です.
またwarmupDurationSecsの荷重変更がVirtualServiceの変更とは違いちゃんとした数式に基づいていたのが驚きだった.それについてもアドベントカレンダーを書いている.
IstioのwarmupDurationSecsはEnvoyのSlowStartModeが元になっており,サポートする際のPRが以下.
こういった便利な機能を自分でも作ってみたいと,このPRを見て何度も感じた.
Arch Linux
自分が持っているPCでLinux Desktopを持っていないなと思い,話題になっていた価格com割引のThinkPadを購入し,それにArch LinuxのDesktop環境を入れた.
まだ環境を整え中だが,来年はこれを使って色々試していきたい.

Booster Landing
これは完全にプライベートだが,SpaceXのBooster LandingをYouTubeで見て調べてしまった.(その勢いでNetflixのReturn to Spaceも一気見してしまった)
あそこまで技術が魔法のように見えたのは初めてだったから感動した.
またBooster Landingを再現しようとしているYouTubeもあり,何度も見ている.
宇宙業界は大学の頃から興味はあり,ちょこちょこ学んでいた.
SpaceXの技術を見て,更に宇宙業界のソフトウェア技術にも目を向けてみようと思った.
Astro
このブログはastro-notion-blogというOSSを使っており,元はJavaScriptのフレームワークである「Astro」が使われている.このブログを少し改造するにあたって,Astroを学ぶ必要があったため軽く勉強をしていた.
フロントエンドを普段触らない人間からしたら,少し癖が強いとも感じたが,雰囲気でも触れているのでまぁいいなとは思った.
kubebuilder
本業でも自宅ラズパイクラスタでも独自のコントローラを作る機会があったため,勉強した.
まずは以下の記事を元に作っていた.
以下のUdemyも買ってみたがこれもかなり良かったからおすすめ
Google Cloud
今年はGoogle Cloudの資格を取ることができた
本業ではAWSを基本的に使っているが,たまにGoogle Cloudを触ることもあるのでとても勉強になった.
ただ最近Google Cloudを触らなくなってきたので覚えた知識は忘れつつある…
最後に
今年は副業も始めてみたり,新しい技術に触れたりとかなり充実した1年だったと感じた.
ただアウトプットが少ないように感じたから来年は増やしていきたい.
あと,このブログもせっかく作ったのだから活用していきたい.