ブログ
ホームページ制作、SEO対策、Google広告運用、Windows開発、既存資産活用、不具合調査について、実務で役立つ考え方を発信します。
サイト内AI検索
検索キーワードは結果生成のため Cloudflare AI Search に送信されます。個人情報は入力しないでください。
-
Windowsのセッション分離をどう理解するか ── Session 0・RDP・複数ユーザー同時実行
Windowsアプリ開発者が混乱しがちな「セッション」の概念を整理します。サービスがUIを出せないSession 0分離の理由、RDP接続時のセッションの挙動、名前付きオブジェクトのセッション分離、共有PC・RDS環境でありがちな設計ミスまでを実務目線で解説します。
-
VB6 / Access業務アプリの延命と移行 ── 残す・包む・置き換えるの判断表
VB6とAccessの業務アプリを、残すか、延命するか、置き換えるかをどう判断するか。ランタイムの現状、ACEの32bit/64bit問題、共有フォルダー多人数利用のリスク、SQL Serverへのアップサイズまで判断表で整理します。
-
WinDbg + SOSでクラッシュダンプを読む ── 収集した後の実務解析入門
WindowsクラッシュダンプをWinDbgとSOS拡張で読む手順を解説します。シンボルパスの設定、!clrstackや!dumpheapによる例外とメモリリークの追い方、!analyze -v、dotnet-dump analyzeとの使い分けまで整理します。
-
Windowsアプリの多重起動防止 ── 名前付きMutexと二重起動時のアクティブ化
業務Windowsアプリの多重起動防止を名前付きMutexで実装する方法を整理します。Global\とLocal\の違いによるRDP環境の落とし穴、AbandonedMutexException、既存インスタンスの前面化まで解説します。
-
C#からWin32 APIを安全に呼ぶ ── P/Invoke実務ガイド(DllImport / LibraryImport / CsWin32)
C#からWin32 APIをP/Invokeで呼ぶ実務ポイントを整理します。DllImportとLibraryImportの違い、CsWin32による自動生成、文字列マーシャリングの罠、SafeHandle、32/64bit差異まで実装例つきで解説します。
-
WinForms/WPFアプリにEntra ID認証を組み込む ── MSAL.NETとWAMブローカーの実務構成
WinForms/WPFデスクトップアプリにEntra ID認証を組み込む手順を整理します。パブリッククライアントの考え方、アプリ登録、MSAL.NETのAcquireTokenSilent、WAMブローカー、トークンキャッシュの永続化まで解説します。
-
業務アプリの日時とタイムゾーン ── DateTimeの罠からUTC保存の原則、テスト設計まで
サーバー移設で時刻が9時間ずれる──日時事故の原因をDateTimeのKindと暗黙変換から整理します。DateTimeOffsetとの使い分け、UTC保存の原則、TimeZoneInfoと夏時間、TimeProviderによるテスト設計まで解説します。
-
WindowsデスクトップアプリのUI自動テスト ── UI Automationの仕組みとFlaUIで作る壊れにくいテスト
WinForms/WPFアプリのUI自動テストを、Windows UI Automationの仕組みから整理します。FlaUIによる最小実装、AutomationId設計と条件待機で壊れにくくする方法、CI無人実行の罠まで実務目線で解説します。
-
WPFの高DPI対応 ── 「DPIに強いはず」なのにぼやける・にじむ原因と対処
WPFはSystem DPI Awareですが、DPIの違うモニターへ移すと全体がにじみ、ビットマップはぼやけます。原因の切り分け、Per-Monitor DPI対応、UseLayoutRoundingなど定番対処、WindowsFormsHost混在の罠まで整理します。
-
C#のExcel操作でEXCEL.EXEが残る問題 ── COM参照の解放パターンと置き換えの判断
C#からExcelをCOM操作するとEXCEL.EXEプロセスが残る問題を、COM参照カウントとRCWの仕組みから整理します。2ドットルールの罠、ReleaseComObjectとGCによる解放パターン、置き換え判断まで解説します。
-
WinFormsの高DPI対応 ── 4Kモニターでぼやける・崩れる原因と現実的な対処
4KモニターでWinFormsアプリがぼやける・崩れる原因を、DPI仮想化とDPI認識モード(System Aware / Per-Monitor V2)から整理します。.NETと.NET Frameworkの設定方法、AutoScaleModeの罠まで解説します。
-
Windowsのプロセス間通信をどう選ぶか ── 名前付きパイプ / TCP / gRPC / 共有メモリ / COM 判断表
Windowsアプリ同士の連携手段をどう選ぶか。名前付きパイプ、ローカルTCP、gRPC、共有メモリ、ファイル連携、COMの得意分野と落とし穴を判断表で整理し、定番構成と名前付きパイプの実装例まで解説します。
-
C#でSQLiteを業務アプリに使う ── WALモード・排他制御・破損対策・EF Coreとの使い分け
Microsoft.Data.SqliteでSQLiteを業務アプリに組み込む実務知識を整理します。WALモード、SQLITE_BUSYと書き込み一本化、型マッピングの罠、VACUUM INTOによるバックアップ、EF Coreとの使い分けまで解説します。
-
Windowsサービスの作り方と運用 ── タスクスケジューラとの使い分けからBackgroundServiceのサービス化まで
常駐処理をWindowsサービスにすべきか、タスクスケジューラで足りるのか。判断表と.NET Worker Serviceによるサービスの作り方、実行アカウント・回復オプション・安全な停止処理まで実務目線で整理します。
-
IEモードの次はWebView2でいいのか ── ActiveXが動かない制約と現実的な移行設計
WebView2の基本構造、EvergreenとFixed Versionの配布戦略、ユーザーデータフォルダーの罠、ネイティブとWebの連携方法、そして「ActiveXは動かない」という制約を踏まえたIEモード依存システムからの現実的な移行順序を、社内システム目線で整理します。
-
Windowsアプリのデータ保存先の選び方 ── SQLite / JSON / レジストリ / Access 判断表
Windowsデスクトップアプリのデータをどこに・何で保存するか。AppData/ProgramDataの使い分け、SQLite・JSONファイル・レジストリ・Access(.accdb)それぞれの得意分野と落とし穴を判断表つきで整理し、破損対策やビット数問題まで実務目線で解説します。
-
タスクスケジューラのタスクが実行されない・0x1で終わる ── 原因の切り分けと安全な運用設計
Windowsタスクスケジューラの実行アカウントとログオン種別、0x1で終わる典型原因、履歴の有効化、多重起動防止、PowerShellの正しい呼び出し方まで、定期実行を運用に乗せる設計指針を整理します。
-
Power Automateで業務を自動化する ── クラウドフロー・デスクトップフローの使い分けとエラー処理設計
Power Automateのクラウドフローとデスクトップフローの違い、PowerShell/VBAとの使い分け、ライセンス、エラー処理、UI自動化の安定化、認証情報の安全な扱いまで、業務自動化を運用に乗せるための実践的な設計指針を整理します。
-
Adaのジェネリックプログラミング ── 型で契約を書き、再利用をゼロコストで実現する
Adaのジェネリックプログラミングを、総称サブプログラム、総称パッケージ、仮サブプログラム、型カテゴリ、実務上の設計指針まで体系的に解説します。型安全な再利用とゼロコスト抽象化の考え方を整理します。
-
Adaによるリアルタイムシステムプログラミング ── 優先度・周期・実行時間制御の実践
AdaのAnnex D(リアルタイムシステム)を8つの実践的なコード例で学びます。タスク優先度、Ceiling_Locking、delay untilによる周期実行、Ravenscarプロファイル、タスク別実行時間計測まで段階的に整理します。
-
Fableが使えなくなったけど諦めるな ── OpenRouter Fusion+中華LLM+レビュー層で凌ぐ
Fableには遠く及びません。ですがOpenRouter Fusionで5つの中華LLMを組み合わせ、gpt-5.5-pro または Codex PRレビューを重ねれば、素のgpt-5.5よりはずっとマシなコーディングエージェントになります。
-
Adaにおける安全な並行処理 ── タスクと保護オブジェクトの実践ガイド
Adaの言語組み込み並行処理であるタスクと保護オブジェクトの入門記事です。ランデブー(entry/accept)、選択的アクセプト、保護オブジェクトによる排他制御、タイムアウト付き呼び出し、タスク優先度まで整理します。
-
SPARKによる形式検証入門 ── Adaの契約から数学的証明へ
Adaのサブセット言語SPARKによる形式検証の実践的な入門記事です。契約(Pre/Post)から証明へステップアップする方法、GNATproveの使い方、ループ不変条件、データフロー契約、証明レベル、そして実プロジェクトへの適用方法までを整理します。
-
Ada言語の魅力 ── 型で設計を語り、数十年動き続けるソフトウェアを支える言語
Ada言語の魅力を紹介します。強い型付け、範囲制約、パッケージによる仕様と実装の分離、契約による設計、言語組み込みのタスク、SPARKによる形式検証、GNATとAlireでの開発環境まで、高信頼ソフトウェアを支える設計思想を整理します。
-
WindowsのMFCとは何か ── 既存資産を保守するための基礎知識
Microsoft Foundation Classes(MFC)の概要、Win32との関係、アプリケーション構造、メッセージマップ、Document/View、DDX/DDV、保守時の注意点を整理します。
-
Windows PCを廃棄する前にやっておきたいこと ── データ消去・アカウント解除・バックアップの実務チェックリスト
Windows PCを廃棄・譲渡・売却・リース返却する前にやっておきたいことを、バックアップ、データ消去、BitLocker、Microsoftアカウント、OneDrive、仕事用アカウント、開発者PC特有の秘密情報、廃棄証跡の観点から整理します。
-
PDB(プログラムデータベース)とは何か ── デバッグ情報・シンボル・Source Linkを理解する
PDB(Program Database / プログラムデータベース)とは何か、何が入っていて何が入っていないのか、Debug / Release、Portable PDB、Source Link、シンボルサーバー、ダンプ解析との関係まで実務向けに整理します。
-
Roslynとは何か ── C#コードをコンパイラの視点で読む・直す・生成する
Roslyn(.NET Compiler Platform)の概要、Syntax Tree、SemanticModel、Workspace、Analyzer、Source Generator、実務での使いどころと注意点を整理します。
-
Windowsアプリ 外注・受託開発を依頼する前に整理したいこと
Windowsアプリの外注・受託開発を依頼する前に、既存ソフト改修、装置連携、COM/ActiveX、配布・更新、保守の整理ポイントを解説します。
-
代数的データ型を.NET Framework / .NETで使う ── 状態と結果を型で表す設計
代数的データ型、特に直和型・判別共用体を.NET Frameworkや.NETで使う方法とメリットを、F#、C#のクラス階層、record、OneOf、C# 15 union previewまで含めて整理します。