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

.net C#

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

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

続きを読む

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

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

続きを読む

C#の”?”の使い方

C#の”?”(クエスチョンマーク)は、主にnull許容型や条件演算子に使用され、コードの安全性や可読性を向上させる。ここでは、”?”がどのように使われるかを具体例とともに解 ...

続きを読む

C#の”!”の使い方

C#の”!”(エクスクラメーション)は、コード内でさまざまな用途で使われる記号で、主に論理否定やnullチェックの意味を持つ。ここでは、”!”がどのように使われるかを具体例 ...

続きを読む

サーバーレス vs コンテナ:どう使い分けるか?

サーバーレス(AWS Lambdaなど)とコンテナ(Docker、Kubernetes)は、どちらもクラウド環境でのアプリケーション運用を効率化する技術だが、目的や用途によって使い分ける必要がある。サーバーレスとコンテナ ...

続きを読む

単体テストを実装する前提の実装

テスト対象のコードを分離する 単体テストを効果的に実施するためには、テスト対象のコードを他の依存関係から分離することが重要。依存関係に直接アクセスすると、テストが複雑になり、外部リソース(データベースや外部APIなど)に ...

続きを読む

.net coreアプリケーションのDockerイメージのマルチステージビルド

マルチステージビルドで下記に分けれれる 1. 基本環境の準備 (base ステージ) 2. ビルドステージ (build ステージ) 3. パブリッシュステージ (publish ステージ) 4. 実行ステージ (fin ...

続きを読む

WebApplicationFactoryを使ったASP.NET Coreのテスト

WebApplicationFactoryとは? WebApplicationFactoryは、テスト環境でアプリケーションを起動し、エンドポイントをテストできる便利なツール、WebApplicationFactoryを ...

続きを読む

Moqを使ったC#単体テスト

Moqとは? Moqは、C#で依存関係のあるクラスやインターフェースをモックするためのオープンソースのライブラリ。テスト対象のクラスが依存しているオブジェクトを、代替として実装できる。これにより、特定の環境を作成しなくて ...

続きを読む

ChatGPTにワードファイルを読み込ませる【C#】

ChatGPTにワードファイルをプロンプトに送り、感想などの返答をもらう:簡単なAPIでの実装コード 実践的には下記のようなものも必要 1. APIキーのセキュリティ対策 この実装ではAPIキーをコード内に直接記述してい ...

続きを読む