というタイトルで.NETラボで喋ってきました。 スライドはこちら。 登壇の録画はこちら。
クラウドでアプリケーションを動かす上で HTTP リクエストの回復力を高める事は極めて重要です。それは何故か? クラウドでアプリケーションを動かすという事は、ホスティング環境は動的であり、ネットワークの問題やサーバー側の問題など様々な問題によって…
.NET 8 世代で追加された、という言い回しが微妙なところです。.NET 8 で追加された、というと語弊があるので仕方ないのですが。 ともあれ、.NET 8 のリリースと同時に Microsoft.Extensions 系パッケージも v8 系がリリースされています。 この記事では Mic…
OpenTelemetry の Python 実装であるところの opentelemetry-python と計装ライブラリ群である opentelemetry-python-contrib。 この記事ではこれらを使うときに自分が色々踏み抜いた点を紹介します。 Django に対する計装が機能しない Processor/Exporter …
実際のところ Observability とは一体なんなのでしょうか? 「Observability とは?」と自問自答した際、どのような回答が内から生じるでしょうか? わりとボヤけた答えしか返ってこなかったりしませんか? という事で、この記事ではその問に対して明確に返…
Microsoft MVP を受賞しました。カテゴリは Developer Technologies です。 Twitter もとい X の方では4週間以上前に受賞報告(?)をしていたりします。 この度 Microsoft MVP を受賞しました...! これからも C#/.NET を中心にいろいろやっていきます...! pic.…
generic type における open type と unbound type の違い、あるいは closed type と bound type の違いを明確に説明できますか? この記事では open/closed type 及び bound/unbound type の厳密な言葉の定義について取り扱います。 とはいえ、ぶっちゃけ厳…
C# のデファクトの logger である Microsoft.Extensions.Logging で出力した構造化ログを BigQuery で引く時に一工夫するとなにかと楽ですよ、というお話。 課題 解決策 関連記事 課題 Microsoft.Extensions.Logging は以下のような構造化ログを出力します。…
なんか登壇したりブログ書いたりをやたらとしていた一年でした。 ブログ 振り返ってみるとたくさん書いてますね...。 一番読まれたのは 【C#】C# の async/await は実際にどうやって動いているか。 でした。 文章量みればお察しいただけると思いますが、書き…
この記事は Qiita C# Advent Calendar 2023 23 日目の記事です。 登壇版 OpenTelemetry について プロジェクトの主要なコンポーネント API 及び SDK という言葉について 仕様のステータス 各言語のサポート状況 OpenTelemetry Collector OpenTelemetry Colle…
現代の .NET では "zero-byte reads" という最適化が随所で行われています。 この記事ではその "zero-byte reads" とはなんなのか、という事についてつらつら書いていこうと思います。 そしてそれに深く絡むピン留めのお話も。 どんな最適化か。 ピン留め手…
というタイトルで.NETラボで喋ってきました。 スライドはこちら。 登壇のアーカイブはこちら。 40 分程度です。
みんな大好き TaskCompletionSource。 TaskCompletionSource は死ぬほど重要かつ便利な class なのですが、TaskCompletionSource.Task を await した時の continuation (= await 後に行われる継続処理) がどこのスレッドで実行されるか意識しないと危険だよ…
.NET Worker Service 便利ですよね。 Generic Host が最高という話でもある。 この記事では dotnet new worker コマンドを叩いて作成したテンプレのような、Generic Host を用いた console application における health check のお話をしたいと思います。 we…
C#er 的には 「TypeScript でも [MemberNotNullWhen] に相当する事をやりたいんだけど、どうするの?」でだいたい伝わるお話。 C#er ではないなら「TypeScript の class のメンバ変数が null でない事を保証するメソッドを呼んだあとに、該当のメンバが null…