今年のアウトプットを振り返る
Zenn
ブログ投稿38本
登壇
.NETラボ勉強会2023年1月~12月すべて
dotnet-communities.connpass.com
dotnet-communities.connpass.com
サマリー
現在のノートPCの状況
見事にステッカーだらけになりました。
ライブコーティング対決中はじまた!と思ったらへいしゃー!のステッカーど真ん中に付けててありがたさが溢れてるとこd(´Д` )♪←名古屋から直参加#dotNETConf pic.twitter.com/wrug0qR9IZ
— odasho@mabl (@odashoDotCom) 2023年12月19日
このように指摘あるとおりmablのステッカーが中央!
さて、mablはなんと読むでしょう?もちろん、mablって読みます。決して、某チョコレート菓子の名前みたいな読み方ではないです。
ノートPC買っちゃった
4/20までの特別価格で本来20万位するものが約14万ととっても安くなっていたので思わずぽちり。
今年はオフラインで登壇する機会もありそうな予感なのでそろそろノートPCも必要そうかなと思っていたところ。
1.3キロとそこそこ軽くCPUはかなりパワフルでストレージは1TBと結構余裕がある構成なので長く使えそうな感じ。
しかも、ディスプレイの解像度が異様に高いのがポイント。
数あるフロントエンドフレームワークの中でBlazor WebAssemblyを選択する理由
先日の.NET Conf 2022 Recap EventでフロンドエンドフレームワークにはReactやVueなど様々なフレームワークがある中であえてBlazor WebAssemblyを選択する理由は何ですかというような質問がありました。
それに自分なりの回答を考えてみた。
もちろん、回答に合ったようにチームのスキルベースとしてC#とかBlazorのスキルを持っていてJavaScriptのそれよりも上であるためにBlazor WebAssemblyを選択するというのも一つの答えだろう。
私からの回答として2つ上げておきたい。
1つは、Blazor WebAssemblyテンプレートにあるASP.NET Core Hostedのオプションの存在である。
これを指定した場合、通常のClientプロジェクトに加え、ServerプロジェクトとSharedプロジェクトが作られる。
ClientプロジェクトはBlazor WebAssemblyのプロジェクトなので説明不要と思われる。
ServerプロジェクトはASP.NET Core Web APIプロジェクトとして作成される。
そして、Sharedプロジェクトは両者の共通オブジェクト定義のプロジェクトである。わかりやすくいうとWebAPIでやりとりするJSONの型定義がここでしておき、Clientプロジェクト、Serverプロジェクト双方から参照されているので、Clientプロジェクトではデシリアライズ時の型指定を、Serverプロジェクトではシリアライズの型定義をSharedプロジェクトのクラスを使ってあげることで、OpenAPIでありがちなサーバ側とクライアント側での定義が違うためにうまくいないということが発生しにくくなるというメリットがあります。
2つめに、クライアント側、サーバ側双方ともにC#とすることができるので、昼間に紹介されていたMessagePackなどの高速シリアライザーを採用することができます。
同じ言語が動作する環境であるのでオーバヘッドの大きいテキストシリアライザーに縛られる必要もないわけです。