YOLOv8-OBBによる回転検出モデルの学習からC#デプロイまでの実装ガイド
環境セットアップと準備
YOLOv8の回転バウンディングボックス(OBB)機能を使用するには、Ultralyticsの公式リポジトリからソースコードを取得します。リポジトリにはOBBタスク用のモジュールが統合されています。環境構築については、以前のバージョンのYOLO環境があればそれを流用できますが、新規に構築する場合は以下のコマンドで必要なライブラリをインストールします ...
8月4日 23:29 投稿
Entity Framework クエリパフォーマンス最適化の実践手法
基本的な最適化戦略
Entity Framework (EF) はデータアクセス層の開発効率を向上させますが、適切な設定がなければパフォーマンス低下を招きます。以下に主要な改善手法を解説します。
遅延ロードの制御
遅延ロードはデフォルトで有効ですが、不要な場合は無効化し、必要な関連データは明示的に取得します。
var context = new SchoolDbContext();
context.Configuration. ...
8月3日 20:34 投稿
C#におけるExcelファイルの高速読み込みとセル操作技術
Excelファイルとの連携は、業務系アプリケーション開発で頻出するタスクです。以下では、実践的な要件に応じた複数のアプローチを紹介します。パフォーマンス、互換性、保守性の観点から、それぞれの手法の特性を明確に区別し、現代的なC#環境に即した実装例を提供します。
方法1:OLE DBによる高速データ抽出(推奨)
COMオブジェクトに依存せず、軽量かつ高速な読み込み ...
7月26日 17:24 投稿
C#におけるNull Objectパターンの実装と活用
Null Objectパターンは、null参照による条件分岐や例外発生を回避するための構造的デザインパターンです。特に、オブジェクトが存在しない状況を「無意味な値」ではなく「振る舞いを持つデフォルト実装」として表現することで、クライアントコードの堅牢性と可読性を向上させます。
問題の背景
従来の実装では、サービス層から返されるオブジェクトがnullである可能性に対 ...
7月19日 00:35 投稿
SQL ServerからC#エンティティクラスを自動生成するT-SQLスクリプト
SQL Serverの既存テーブルから、C#のPOCOモデルクラスを効率的に生成するための汎用T-SQLスクリプトを提供します。このスクリプトは、システムカタログビューを活用してカラム名、データ型、NULL許容性、および拡張プロパティ(コメント)を抽出し、整形されたC#コードを出力します。
以下のスクリプトを実行する前に、対象テーブル名を変数 @TargetTable に設定してくだ ...
7月17日 19:58 投稿
C#の核心機能:抽象クラスからリソース管理まで
抽象クラスの特性
抽象クラスは抽象メソッドを含み、そのメソッドは実装を持たず派生クラスでオーバーライドされる必要があります。インスタンス化は不可能です。
public abstract class Geometry {
public abstract double CalculatePerimeter();
}
public class Rectangle : Geometry {
public double Width { get; set; }
public double Height { get; set ...
7月14日 03:05 投稿
MQTTnet 3.1.2によるMQTTブローカー実装とクライアント操作
MQTTプロトコルを用いたメッセージングシステムの実装例を示す。サーバー側にはMQTTnet 3.1.2を採用し、クライアントは最新バージョン4.1.0を使用する。
ブローカー実装
MQTTブローカーを構築するための基本実装:
using MQTTnet;
using MQTTnet.Server;
using System.Text;
namespace MqttBroker
{
public class BrokerService
{
private IMqttServer _ ...
7月12日 16:30 投稿
Entity Framework 6の基本操作
データベースとエンティティの設定
まず、EF6を用いたDBFirstアプローチで簡単なデモを作成します。従業員とその持ち物であるデバイスの関係を例にします。
-- データベース作成
CREATE DATABASE SampleDB;
GO
USE SampleDB;
GO
-- 従業員テーブル作成
CREATE TABLE [dbo].[Worker]
([worker_id] INT IDENTITY(1, 1) NOT NULL,
[worker_code] NVARCHAR(20),
[worke ...
7月10日 23:42 投稿
C#におけるswitch式とパターンマッチングの高度な使い方
C#のswitchステートメントは、単なる定数比較を超えて、型チェック、条件付きフィルタリング、および複雑なオブジェクト構造へのパターンマッチングをサポートします。C# 7以降で導入されたパターンマッチング機能により、switchは型安全かつ表現力豊かな分岐機構へと進化しました。
パターンベースのcaseラベル
caseラベルは「パターン」で構成され、以下の種類が混在可 ...
7月9日 22:00 投稿
.NET/C# ソースコードアナライザーとコード修正プロバイダーの開発と配布方法
開発環境の準備
Visual Studioの拡張開発ワークロードをインストールする必要があります。まだインストールしていない場合は、公式ドキュメントを参照してセットアップを完了してください。
プロジェクトの作成
Visual Studioを起動し、新しいプロジェクトを作成します。プロジェクトテンプレートから「Analyzer with Code Fix (.NET Standard)」を選択します。プロジェク ...
7月8日 23:47 投稿