• システム開発に関わる内容をざっくりと書いていく

.net C#

接続文字列 TrustServerCertificate でハマるポイント

SQL Server へ接続するとき、証明書エラーで止まって TrustServerCertificate=True を付けたくなる場面がある。開発では楽だが、意味を理解せず本番に持ち込むと「暗号化しているつもりが検証し ...

続きを読む

ざっくり C# OperationCanceledException と Timeout の違い(CancellationToken の概念)

非同期処理のログで「止まった」「キャンセルされた」「タイムアウトした」がごちゃまぜになりやすい。C# では、その土台に CancellationToken があり、表面に出る例外が OperationCanceledEx ...

続きを読む

C# FormatException / パース失敗の原因と対策

FormatException やパース失敗は、入力文字列と想定フォーマットのズレで起きる。日付・数値・GUID・Enum 変換でよく踏み、ロケールやトリム漏れが原因になりやすい。「例外で落とすか、TryParse で返 ...

続きを読む

C# HttpClient タイムアウト設定方法

HttpClient で外部 API を叩いていると、「たまに固まる」「タイムアウトで落ちる」が起きやすい。設定箇所が複数あるので、逆引きできるように整理する。 この記事では、どこにタイムアウトがあるかと現場での決め方を ...

続きを読む

System.NullReferenceException C# 発生原因と対策

System.NullReferenceException は、C# で一番よく見る例外のひとつ。「オブジェクト参照がオブジェクト インスタンスに設定されていません」と出て、処理が止まる。 この記事では、よくある発生原因 ...

続きを読む

C# DateTime フォーマッタ

C# の DateTime.ToString() に使用するフォーマット文字列を試し、出力結果とコードスニペットを確認できます。 フォーマット文字列(例: yyyy-MM-dd HH:mm:ss.fff): 現在時刻で生 ...

続きを読む

【C#】WebApplicationFactoryでケースごとに個別にモックを適用した結合テストの実装

C# の xUnit を使用し、WebApplicationFactory を活用して 個別ケースごとに異なるモックを適用 する結合テストの実装方法を解説。 本記事のポイント WebApplicationFactory ...

続きを読む

【C#】テストフレームワークを使った結合テストと単体テストの違い

C#のテストフレームワーク xUnit を使用して、 の違いを実装ベースで解説 今回の方針: 結合テスト(Integration Test)とは? 結合テストは、実際の環境(DBや外部API)と統合した状態で動作を確認す ...

続きを読む

金額計算にdoubleを使ってはいけない理由

金額や通貨の計算でdoubleを使うのはNG。理由は、浮動小数点演算による丸め誤差が発生するから。doubleは数値を2進数で表現するため、一部の10進数(例: 0.1や0.2)を正確に表現できない。これが累積すると、金 ...

続きを読む

C# async/awaitの必要性(処理観点)

1. 非同期処理が多いバックエンドでは基本的に必要 C# のバックエンド開発では以下のような非同期処理が一般的: これらを同期処理として実行すると、スレッドがブロックされ、バックエンドのスケーラビリティが低下。一方、as ...

続きを読む