しばいぬ / kanakanho です。2024年の振り返りレポートを書きました。
はじめに
2024 年の終わりなので、備忘録を兼ねて 1 年のまとめを書きたいと思います。今年一年は研究が中心だったので去年と比べて外部発表する機会が少なくて悲しいです。
2024 のあゆみ
month | category | description |
---|---|---|
1月 |
個人開発 |
|
イベント |
||
2月 |
記事 |
|
イベント |
||
3月 |
記事 |
|
記事 |
||
梶研究室 |
||
イベント |
||
イベント |
||
4月 |
シス研 |
|
イベント |
||
5月 |
記事 |
|
記事 |
||
イベント |
||
6月 |
梶研究室 |
|
イベント |
||
シス研 |
||
梶研究室 |
||
7月 |
イベント |
|
イベント |
||
個人開発 |
||
記事 |
||
8月 |
イベント |
|
イベント |
||
イベント |
||
9月 |
シス研 |
|
梶研究室 |
||
個人開発 |
||
記事 |
||
記事 |
||
シス研 |
||
イベント |
||
10月 |
イベント |
|
イベント |
||
11月 |
イベント |
|
梶研究室 |
||
イベント |
||
イベント |
||
12月 |
イベント |
|
梶研究室 |
||
イベント |
一年を振り返って
研究活動
研究についてはまだどこでも発表していない(発表できる段階まで進んでいない)ので 2024のあゆみ には何も書けなかったのですが、確実にこの一年で一番打ち込んだことでした。共同研究としてVisionProのアプリ開発をしたり、個人の研究としてwebXRを開発したりしていました。研究する中で関連研究を読むところから始めたり、自分の研究の意義・新規性について考えたりというのは新鮮な体験なので面白いです。ただ新規性があるというのはつまりこれまで誰もやってこなかった実装をしなければならないということなので、実装の難易度が高くなってしまいます。ですが、完全に世界で自分しかやっていないのだと思うと、とてもワクワクした気持ちになりますし、楽しくできていると思います。
XRの実装を始めた年
昨年までは基本的なwebの技術を通じてアプリの作り方やAPIの仕組みについて学んでいました。今年に入ってからXRを活用したアプリの実装が始まりました。XRのアプリを実装していて特に感じたのはwebに記事が少ないという点です。リファレンスも日本語に対応したものが少ないです。実装のTipsが共有されていないため自分がアンチパターンを踏んでいるのかどうかが非常にわかりずらかったです。 webXRをR3Fで実装したときにはリファレンスに必要な情報が全て書かれているわけではなかったので、コードを読みにいって何の機能を持っているのかを確認しながら開発していました。そういった経験は初めてだったので面白かったです。ですが機能を実装するまでに時間がかかるのでもやもやの溜まる開発が多かった気もします。 Unityでの開発はそもそもUnityを触ってこなかったので技術のキャッチアップに苦労しました。しかもUnityはGUI上での操作が多くあるので単純にコードを書けばよいわけではないのでややこしさと再現性のなさに悩みました。 SwiftによるVisionPro開発は単純なアプリであればSwiftの知見が活かせるのと、コード上に全てが記述できるため開発体験はよかったと感じました。 いろいろ触った中で結局webのimmersive-ARが一番好きだと感じました。TSの優秀な型が利用できて、webAPIによるバックエンドとの連携の実装が分かりやすく、最低限のXRの機能に対応しているので書きやすい。ただ早くDOM Overlayに対応してほしいと切に願っています。仕様策定頑張ってほしい。 これまでの2Dのウィンドウを操作するわけではなく3D空間を操作するため、エンティティの操作に複雑な行列計算を必要するアルゴリズムを使えるようにならないといけなくて線形代数と幾何学の知識不足に泣いています。もっと数学頑張らないといけない…。
アウトプット
先に述べたとおりXRはその知見がほとんどwebに存在していないので、自分が実装できたところは積極的に記事にしていくようにしていました。書いた中でMetaQuest3 で DepthAPI を利用した オクルージョン の設定は自分の中でもっともいいねとストックされた記事になったので嬉しかったです。 それ以外ではLTや座談会など登壇する機会の多い1年でした。主にMatsuriba関係ではありますが…。去年そうした発表はハッカソンしかしてこなかったので進歩かなと思います。いろんな人と知り合いになって情報交換をできる仲間を来年以降も増やしていきたいです。 また今年はイベントの主催もしました。27Techというイベントを立ち上げ、2回開催しました。(27Techについて詳しくはこちら Vol.1レポート Vol.2 レポート)イベント運営の大変さが身に染みて感じて、改めてイベントをやってくれている方々への感謝を改めて感じます。司会者として話す機会が与えられたので前に立ってイベントの進行をしていました。イベント司会者はとても楽しいので今後も続けていきたいです。そしてもっとうまくなりたい!
GIS
今年はPLATEAUを中心にGIS系の情報のインプットも多かった。PLATEAU AWADEを見てデジタルツインっていいなと再認識し、それを組み込んだアプリケーションについて幅広く調べていました。またPLATEAU繋がりかつ研究室OBの井上さん繋がりで foss4g Tokai に参加できたのがよかったと感じています。GIS系には元々興味はあったのですが、なんか仕様が複雑で大変そうだなーと感じて避けていた部分があったので、あんなにライブラリとデータが充実しているとは知りませんでした。最初に参加したハンズオンで教えてくださったあさひなさんには感謝しかないです。
web
今年はあんまりwebに寄り添っていたわけではないのでキャッチアップは時々していましたが、早すぎる変化に置いて行かれていました。Next15/React19のキャッチアップが全然できていないのが悲しい。逆にHonoやAstroなど様々なフレームワークに触れてTSXではないTSの理解が深まりました。またフロントエンドのパフォーマンスというこれまで気にしていなかったところも考えられるようになってよかったです。多分大学生の間は何かしらの形でwebに触れ続けると思うので、今後もいろんな情報を仕入れ続けていきたいです。
UI / UX
相変わらず2024年もUI・UXを大切にした年でした。この2つは絶対に譲れないのだと改めて感じます。人のために存在しているプロダクトなのだからやはり使う人間に寄り添っていなければならないとより強く思うようになりました。これは毎年言っていますが、去年の自分が考えたUIは独りよがりで使う人を考えていないと感じる…。逆にこれを感じなくならないように自分をアップデートし続けたいです。
情報に対する想い
今年1番大きくあったのは自身の情報技術に対する向き合い方、今後何を目指すのかの言語化に挑戦していたところです。2024年の3月にイワケンさんと1on1をしたときに自分が何をしたいのかをひとことで表すと何になるのかと聞かれて、その時に自分自身で納得のいく答えを見つけられませんでした。今年の前半はそれを探していました。その中で「情報を豊かに扱える社会の実現」というワードが出てきました。詳しくは静かなインターネットにて書いているのでここでは省きますが、これからエンジニアとして自分がどのような道に進みたいのかが具体的に見えるようになったのでえよかったと思います。来年はインターンとかも始まってより企業研究に励んでいくと思うので、その中で自己分析ももっと行なっていきたいです。
終わりに
2024年は去年よりも活動的にいろんなイベントに参加して、研究活動に打ち込んだ1年間でした。研究についてはまだどこにも発表していないのであんまりお話が書けなくて悲しい。登壇の経験もたくさん積めて元から人前で話すのは苦手ではないので、楽しかったです。またやはりXR系の開発がさまざまできるようになったのが嬉しいです。去年の自分では技術力的に現状のXR開発についていくのはできないと思うので明確な進歩でした。来年以降もwebとXRとたまにのバックエンドで研究とプロダクトの開発を行なっていくと思いますのでいろんな技術の話しを取り込みながら開発をやっていきたいです。 また2024年は2023年よりももっといろんな人と話した交流した年でもありました。サークル内の人や研究室内の人、27Techに来てくれた人やそれ以外のイベントで話した人たち、そうした人たちの交流を今後ももっと大切にしていきたいです。いろんな人と技術の話もそれ以外の話もして、交流の輪を広げていけたらいいかなと思います。
追記
新しく学んだ技術
フロントエンド
- Astro
- Biome
- Marp
- storybook
バックエンド
- Hono
- Golang
- Gin
- Docker
- PostgreSQL
- Neo4j
- MinIO
GIS
- MapLibre GL JS
- Cesium.js
- PLATEAU
XR
VisionPro
- SwiftUI
- ARKit
- RealityKit
MeataQuest3
- Unity
webXR
- Three.js
- R3F
サービス
- Miro
- Figma
- cloud flare
- workers
- pages
- domain
- netlify
組版
- typst
DevOps
- GitLFS
通信
- HTTP
- WebHook
- WebSocket