はじめに
メリークリスマス!🎄 2024年も終わりですね。お世話になった皆様感謝です。20日に仕事を納めたので、2024年の活動を振り返ろうと思います!
今年の活動
ブログ
今年から個人ブログはイベント参加レポートのみとし、それ以外はZennか会社のブログで公開するようにした。合計16本でした。去年はZenn=2, 会社=8で今年Zenn=2, 会社=11なので本数自体は伸びた。今年の方が内容に時間がそこそこでかかっている記事が多い。
公開日 | 公開先 | 記事 |
---|---|---|
02/08 | 会社 | [小ネタ] Node.jsのストリーム書き込みでSystemErrorが出た場合の対処法 |
02/19 | 会社 | AWS GlueのジョブスクリプトをCIする構成(Rye 0.24.0利用) |
03/04 | 会社 | GitHub PagesのSourceにGitHub Actions(beta)を指定し、AsciiDocとSwaggerUIを公開する構成 |
03/21 | zenn.dev | GitHub Projectsに紐づくIssue一覧を取得する |
04/05 | 会社 | GitHub Actionsでコンテナ展開時にno space left on deviceで失敗する場合の暫定対応 |
05/01 | 会社 | GWなのでRaspberry Pi 5複数台をクラスタリングしてGrafana on Kubernetesを構築する |
05/07 | shuntaka.dev | CloudinaryのFreeプランのクレジットが枯渇した話 |
05/11 | shuntaka.dev | TSKaigi参加レポ |
05/26 | 会社 | S3上のオブジェクトを結合するnpmパッケージを公開した話(ESM, CJS対応) |
07/20 | 会社 | 「サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!」という内容で登壇しました |
09/01 | zenn.dev | [小ネタ] 関数にライフタイム引数を複数定義する必要がある場合の一例 |
10/20 | 会社 | axum on LambdaでHTTPレスポンスをストリーミング配信(Server-Sent Events)する |
10/31 | 会社 | CodeRabbitとGitHub連携時に必要な権限について調べてみた |
11/06 | 会社 | PR-AgentとBedrockでGitHubのPRをAIにレビューしてもらう |
11/24 | shuntaka.dev | VimConf 2024に参加しました! |
12/22 | 会社 | 自宅の消費電力を生成AIを使って簡易な分析、予測をしてみた |
何本か記事をベースに振り返ってみる
AWS GlueのジョブスクリプトをCIする構成(Rye 0.24.0利用)
Glueのテスト高コストかと思いきやAWSからコンテナが準備されており、手軽にローカルで動作確認が出来て便利だった。この仕組みおかげで保守性が非常によくなった。
GWなのでRaspberry Pi 5複数台をクラスタリングしてGrafana on Kubernetesを構築する
昔構築していたものの気づいたら放置していたので、構成を改めて再構築した。金をかければ続くだろうと思ったが、引っ越しの際に分解し、組み立て直しこそしたが有線前提なのでモデムの近くに構築する必要があり場所は確保したがまだ動かせるようにする時間が取れていない。。
S3上のオブジェクトを結合するnpmパッケージを公開した話(ESM, CJS対応)
icebergを運用していたとき(今やS3 Tableで名前がより知られた気がするが)、UNLOADクエリで結果のファイルが分散しそれを結合したい要件があったので作成した。issueが飛んできて対応したりもあったので、多少は使われているのかなと思う。
「サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!」という内容で登壇しました
社内イベントの登壇話。「サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!」つぶやきまとめ #devio2024に会場の反応をまとめている。
データ基盤整備の話と今まで趣味で作っていたブログの話どちらを話すか迷い、データ基盤に関しては本職の人と比べたら、Apache SparkでETLしているだけで大したことを話せなさそうだったので、ブログ話にした。2020年に作った仕組みで後半はどう改善するかと題してとりあえず自分が試したい技術を突っ込むという形になった。関数型TypeScriptやパスキー、Honoなど。それぞれ触りだけでもこの登壇を通して触れたのは非常に良かった。
axum on LambdaでHTTPレスポンスをストリーミング配信(Server-Sent Events)する
今年はRustの記事を計2本書くことが出来た。これはそのうちの1つ。あとで紹介する本を読んで、ブログサーバーサイドにしたいなーと思って書いた。
セッションと懇談会とても楽しかった。Neovimを毎日使っているが、設定ファイルとかプラグイン自作周りにあまり時間が取れていないのがかなしみ、、
最近書いた記事、生成AIを使ったLangGraphのアプリケーションを作るのがなかなか面白くとりあえず今年やったことはアウトプットしようと思い、IoTネタを絡めたらかなりの分量になってしまった。これを庭にしつつアンテナを貼り続けたいと思っている。
お仕事
11月-6月まではデータ基盤、ETLとかETLしたファイルを配信するHTTP API構築。7月-10月はネイティブアプリPoCのサーバーサイド、11月は社内の生成AI開発ツール検証、12月は生成AI活用PoCという感じだった。
11月からフル出社に切り替えた。家が近くなったし、補助も出るしという理由。なんだかんだリアルコミュニケーションが増えて幸福度が上がった気がする。
よかった技術書!
色々読んではいるのですが、最初から最後までしっかり読んだものだけ紹介する。
なっとく!関数型プログラミング
関数型プログラミング言語の名著を同僚に教えてもらい読み始めたらとても面白く、気づいたら全部写経してた。
スクラップに80件近くメモを書いた。
https://zenn.dev/shuntaka/scraps/57e807fb1480a3
RustによるWebアプリケーション開発 設計からリリース・運用まで
Webアプリ開発で学ぶ Rust言語入門も今年写経してなるほどねー、うんうん、それもRustだねという感じだったが、この本はいい感じにそのアップデート+アルファがあってよかった。
読んですぐこのブログ書いた。
axum on LambdaでHTTPレスポンスをストリーミング配信(Server-Sent Events)する
Webアプリは結局IOの取り回ししかないし、Rustで書くのはそこまで敷居高くない気がするので、自分のブログのサーバーサイドは置き換えてもいいかなと思った。
今年の活動(仕事以外)
引っ越し
埼玉(狭山市) から 東京(調布市)に引っ越した。新宿が近いとここまで便利なのかと痛感している。
お掃除ロボットやドラム式を導入して、より快適に暮らせるようになった。
ジムをやめた
今月限りでジムに行くのをやめた。距離的に問題ないところだったが、事前に調べてはいたが結果的にマシンとの相性がよくなかった。家トレ自重でうまく運動習慣をつけたいと思う。
旅行
今年は色々旅行した。サムネは富山の黒部ダム!
- 富山
- 飛騨高山
- 京都
- 日光/奥日光/鬼怒川
来年はコロナ前以降行っていない海外旅行も行ってもいいかなと思う。
振り返り
振り返りの振り返り
個人ブログの作り直し
自作ブログを以下の技術スタックで作り直したい。
- PlanetScale or Spabase
- Keysely
- trpc
また今年はパスキー元年で、パスキーの体験はパスワード認証と比べると圧倒的に楽で、事例やコードが公開されているので管理画面を作って導入してみたい。
3年前のNext.jsのコードが現代ではAppRouterベースに様変わりしているのでそのマイグレーションもしなきゃ...
サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!のおかげで少し進捗が出せた。リプレースは出来なかったが、パスキー認証周りは一通り作れたので満足。trpcは触って流行らないなと思ったので、やらなかった。
RustによるWebアプリケーション開発 設計からリリース・運用までが非常によく、axum on Lambdaで作り直したい気がしている。。
Rust
プログラミング言語のツールチェインがRustに置き換わった気がします。Biome, pnpm, Rye, Ruffなど。なのでRustである程度コードが書けるようにしたいです。ただWebシステムをというより、CLIやパーサーを作るのがいいのかなと思っています。Biomeがプラグイン機構を作って、RustからTSのASTを弄って静的解析ツールが作れたらRustとTSの学習になっていい気がする、、ここら辺研究してみたい。ただ趣味の時間で出来ることは限られていることをGoを趣味で書いて学んだので、3年くらいのタームである程度書けるようになればいいなと思っている。
ある程度インプットの時間は取れて、2本ブログを書いた。とはいえ片方はどちらかというとAWSの話。。
2024年と生成AI
2024年はGPT4をベースに、推論が強化されo1-proがリリースされた。自分も使っているが、コーディングやトラブルシュートの性能が非常に良い。働き方が大きく変わってしまった。
人がエディタを使ってコードを書くことは楽観的にみても、3年あるかどうかというところ。GitHub社(レベルの高いエンジニアが所属している会社)の業務内容でほぼAIが書いている。CursorやVSCodeやCopilot workspaceがよりAIとの親和性を高めて、clineのように基本的対話ベースでコードがほぼ完成してしまう世界に突入する。
とりあえず向こう3年は、今の自分のような仕事は、AIの設計、コードを最終チェックする人間になる気がしている。なので技術に対する洞察や理解は腐るものでもないかなと信じている。
エディタにプログラムを打ち込む行為自体が好きな自分にとって、これは悲しいことだが、コード書いて動かして技術の理解が深まるので、AIが書いたコードを実行するだけで理解が深まるのか?そういう学習方法に移行する気がしない、、
生成AIはスマホと同じで、得意とかそういう概念を超えてみんなが使うものになると思う。なので常に触り続けること、そして仕事がなくなる未来を考えすぎないことが大事かなと思っている。
この文章をo1-proに食わせるとこうまとめてくれます。すごいね。
- コーディングをAIに任せる流れは加速する一方で、最終的な判断・品質チェック・システム設計・根本的な技術理解といった部分は、人間が担うフェーズが必ず残る。
- 「自分でコードを書く・手を動かすこと」は依然として技術理解の要。今後はコードを書く領域が減るかもしれないが、好きで続けることで“読む”能力とあわせて、より深いインサイトを得られる可能性もある。
- 生成AIは当たり前の存在になっていくので、遠い未来を悲観的に考えすぎるより、どんどん触り続けて自分の強みを活かすのが有益だと思う。
2025年にやりたいこと
プライベートのことはあまり書きませんが、来年は今年以上に時間が無さそうで、来年頭また1度引っ越しする必要がありそうだったり。。とはいえ都心に出やすいところにいることは変わらないので、懇談会含めたオフラインイベントに積極的に参加したい。
趣味プログラミングはNeovimやNixとかやりたいことは尽きないけど、意識的にRustを書く時間を増やさないとなと思っている(今年はk8sやったりGrafanaやったり、生成AIやったりで発散してしまった気がする)。まずは盆栽を用意したい。ここら辺。
- LoxをRustで書く
- axumと関数型ドメイン駆動で、ブログサーバーサイドリプレースしたい
今年は1回はRust登壇したい。とはいえ書籍をなぞっていてもアウトプットは出来ないから、前述したようなテーマをもっと取り組みたい。いっそ社内登壇ネタをRustにするか。Lox本やりきって、7月発表しようかな。
毎年変節(節義を変えること。自分の信念を時流などにこびて変えること。また、従来の自分の主張を変えること)しているので、2024年末のコミットとして刻んでおきます。というか変節はいんだけど、着手したならやり切ることを来年は意識したい。
さいごに
今年はどんな年でしたかね。振り返って見ると例年より分量のあるブログとか登壇ネタを世に放出できた気がしています。今年が1番だと思います。とりあえずよくやった。
興味が散らかっているので、来年は多少深くより尖れるように、、尖りすぎて実体がなくなるくらいには攻めたい。
ではでは、みなさま良いお年をお迎えください🎍