ねののお庭。

かりかりもふもふ。

2022年振り返り。

今年(2022)は3月で大学院を卒業し、4月から労働者になるタイミングだったりしました。 労働者はつらいね(特に事務手続き)。

ソフトウェア関係

去年(2021)あたりから自分が GUI を TypeScript + React (Next.js) で書くようになっている事もあり、 今年は C# と TypeScript の相互運用 (型とか SignalR とか) をより勝手良くする事を主眼に置いたライブラリ等を OSS として作っていました。 振り返ってみると3作つくってますし、かなりアクティブなのでは...!? 個人的な趣味で作ってはいるのですが、お仕事でもゲフンゲフン。

  • nenoNaninu/Tapper
    • C# の型から TypeScript の型を生成するライブラリ/ツール。
      • C# の型に属性をアノテーション + .NET tool 1コマンドで C# コード解析してTypeScript コードを出力。
    • JSON と MessagePack でのシリアライズをサポート。
  • nenoNaninu/TypedSignalR.Client.TypeScript
    • TypeScript の SignalR client を強く型付けするためのコードを生成するライブラリ/ツール。
    • C# の interface に属性をアノテーション + .NET tool 1コマンドで C# コード解析してTypeScript コードを出力。
      • ユーザ定義型については内部で Tapper を使っているので、SignalR の MessagePack hub protocol を TypeScript でも容易に使えるようになりました...!
        • というかこれがしたくて Tapper を MessagePack 対応前提で作っていたりします。
  • nenoNaninu/TypedSignalR.Client.DevTools
    • SignalR でも SwaggerUI 的なのが欲しい!という当然の需要を満たすためのライブラリ。
    • ミドルウェアの追加の属性のアノテーションだけで SwaggerUI みたいな SignalR 用の開発用UIを自動構築。
    • 12月20日にリリースしたてほやほや...!

これらのライブラリ全部が全部 Roslyn を叩く代物なので、Roslyn 力がだいぶあがりました。 Roslyn 周りのお話は9月に .NET ラボで発表しているので是非。スライドはこちら。 これからは Source Generator の時代でもあるので、Roslyn 力があがったのは来年以降もいろいろレバレッジが効くんじゃないかな?と思っています。

ちなみに Tapper リリースしたの3月31日(ギリ学生)なのですが、年内の出来事な感じが全然しないですね。 まぁ卒業が年内のイベントな感じがミリもしないからそんなものか...。 時が早い...。

お仕事では結構 TypeScript + React 書いてる時間も結構長いので React 力もあがってきた気がします。フロントエンドの文化圏はなんかこう、まだ馴染めていませんが。

研究

MADiMa 2022 という ACM Multimedia 2022 (Lisbon) の workshop で発表するなどをしてきました。そして Best Paper Award 🏆を受賞したりしました。

自分が研究室に所属していた期間、世界的に Covid-19 が大爆発していたため国際会議に論文だしても海外に行くこと能わず、という大変残念な状況だったのですが(国内含めて一度もオフラインが無かった...!)、ようやく海外にオフラインで出向くことができて大変嬉しい。 弊社ありがとう。 さらに Best Paper Award 🏆 も頂けたので、文句なしで最高ですね。観光客があまりいない教会が凄くよかったです

あと画像ラボの8月号に寄稿したりもしました。

まぁ、大学院は卒業してしまったため、新規ネタで研究をするとかはもう無いのでこれが最後の主著での学会発表かもな~と思ったりすると感慨深くもあります。

良かったお話。

今年新規に爆誕させたもの...ではないのですが、私は C# の SignalR client を強く型付けするための nenoNaninu/TypedSignalR.Client というライブラリを公開しています。 そこで David Fowler 氏にこのようなコメントもらった事はかなり嬉しい出来事でした。 David Fowler 氏何者だよっていうと、SignalR の生みの親。凄い人。

当時の私↓

テンションがぶち上り、他の事そっちのけで .NET 7 から SignalR に導入された client results を TypedSignalR.Client でサポートしてリリースするなどしていました。そんな事で TypedSignalR.Client は .NET 7 の最新機能含めて使えるようになっています。偉い(?)。

来年の抱負とか

来年も C# を中心としてあれこれ作ったりしていくぞ~と思っています。強く目標を掲げたところでその時抱えている課題と創作意欲次第な感じがするので、がんばるぞい、くらいの感覚で。

それはそうと、某アニメの影響でエレキギターを始めました。 もとからやりたかったのですが、学生の時は金(はドールとカメラに消え)も時間(は研究やらコーディングに消え)も無かったので出来なかったのですが、労働者になった事だし~と謎のいいわけをしてギターをお迎えしてしまいました。 🍆でお迎えするつもりだった広角レンズの変わりに。 学生に休みはないけど労働者には明確な休みがあるから (結局コードと対峙してる事が多いですが) 練習の時間も学生の頃より取りやすいんじゃないですかね! 1年後でも最低限継続していられるようにはしたいと思います。 いやほんとに。このタイミングでギター買ったオタク共の8割は1年後には埃被ってる状況だと思うので、なんとか最低限継続くらいは...。 来年の振り返りが楽しみですね!!