ブログ
ホームページ制作、SEO対策、Google広告運用、Windows開発、既存資産活用、不具合調査について、実務で役立つ考え方を発信します。
サイト内AI検索
検索キーワードは結果生成のため Cloudflare AI Search に送信されます。個人情報は入力しないでください。
-
Windows仮想化の深層(第2回) ── カーネルからも見えないメモリ:VBS・HVCI・Credential Guardの仕組み
対応ハードウェアへのクリーンインストールで既定有効になるVBSは、ハイパーバイザーとSLATでカーネルより強い隔離を作ります。VTL、セキュアカーネル、HVCI、Credential Guardの構造を解説します。
-
Windows仮想化の深層(第1回) ── あなたのWindowsはどこで動いているのか:ハイパーバイザーとパーティション
Hyper-Vを有効にするとホストのWindows自体がルートパーティションとしてハイパーバイザーの上で動きます。VT-x、SLAT、VMBusの役割まで、仮想化の土台を解説します。
-
Win32スレッドプールAPI ── CreateThreadpoolWorkで「スレッドを作らない」並行処理
ネイティブコードでCreateThreadを乱立させていませんか。Vistaで刷新されたWin32スレッドプールAPIのwork・timer・wait・ioの4オブジェクト、クリーンアップグループ、コールバックでの禁止事項までを一次情報にもとづいて解説します。
-
名前付きパイプの実務 ── Windowsプロセス間通信の定番を設計からセキュリティまで
Windowsのプロセス間通信の定番・名前付きパイプを実務目線で解説します。バイト/メッセージモードの選択、複数クライアントを捌くサーバー設計、ACLと偽装のセキュリティ、.NETのNamedPipeStreamまで、一次情報にもとづき整理します。
-
スリープ復帰で壊れるアプリ ── 電源イベントの仕組みと復帰に強い業務アプリの作り方
ノートPCを開いたら業務アプリの通信が切れていた――原因はスリープを想定しない設計です。WM_POWERBROADCASTによる通知の流れ、Modern Standbyの挙動、切断・再接続の設計、スリープ抑止と調査コマンドまでを一次情報で解説します。
-
DllMainとローダーロック ── 「DLLの初期化で何もするな」と言われる本当の理由
DllMainでLoadLibraryやスレッド同期をしてはいけないのはなぜか。全DLL通知を直列化するローダーロックの仕組みから、デッドロックが成立する典型シナリオ、遅延初期化などの正しい設計、ハング調査の手順までを一次情報で解説します。
-
「応答なし」の正体 ── Windowsがアプリを「固まった」と判定する仕組みと、固まらない設計
Windowsの「応答なし」は、ウィンドウが5秒間メッセージを取り出さないとOSが判定し、幽霊ウィンドウに差し替える仕組みです。判定の内部動作から、固まる定番原因、UIスレッドから重い処理を追い出す設計、ハングの調査手順まで解説します。
-
スプリアスウェイクアップ ── 条件変数が「通知なしに目覚める」理由とWindowsでの正しい待ち方
条件変数のwaitは通知が来ていなくても目覚めることがあります(スプリアスウェイクアップ)。仕様がそれを許す理由をWindowsの実装から解き明かし、whileと述語で書く正しい待ち方をWin32・C++・C#のコードで示します。
-
クリップボードとドラッグ&ドロップの仕組み ── OLEデータ転送を業務アプリで正しく扱う
Excelの表を貼ると崩れる・コピー元を閉じると貼れない――正体は同じ内容を複数形式で置くクリップボードの仕組みです。標準形式・遅延レンダリング・OLEドラッグ&ドロップから履歴とクラウド同期のポリシーまで解説します。
-
WPR/WPA実践 ── 「PC全体が重い」をシステム全体から調べる性能調査入門
「PC全体が重い」「起動が遅い」など、タスクマネージャーでは追えない性能問題は、OS全体のETWトレースを採って読むWPR/WPAで調べられます。wpr.exeでの採取手順から、WPAでのCPU・待ち時間・ディスクI/Oの読み方まで解説します。
-
アプリから見たWindowsのシャットダウン ── 終了通知・再起動・電源断を正しく生き延びる
Windows Updateの夜間再起動で計測データが壊れた――そんな事故は設計で防げます。WM_QUERYENDSESSIONやPRESHUTDOWNによる終了通知の受け方、数秒で終える後始末、電源断に耐える保存設計までを一次情報で解説します。
-
Windowsアプリのアクセシビリティ入門 ── UI Automationと合理的配慮の義務化に備える
2024年4月施行の改正障害者差別解消法を背景に、スクリーンリーダーがWindowsアプリを読む仕組みUI Automationを軸として、WinForms/WPFでの名前付け、キーボード操作、コントラスト、検証ツールまで実務目線で整理します。
-
日本語フォントと文字の落とし穴 ── JIS2004・異体字セレクタ・外字を業務アプリでどう扱うか
「画面と帳票で葛の字の形が違う」「氏名の字が出ない」──業務システムの文字トラブルは、文字コード(データ)とフォント(見た目)の層を分ければ整理できます。JIS2004の字形変更、異体字セレクタ、外字の実務対応を解説します。
-
グループポリシーからIntuneへ ── 中小企業のデバイス管理移行ガイド
ADサーバーの更改を機にグループポリシーを続けるか、Entra ID+Intuneへ移るか。適用の仕組みの違い、ライセンス、Group Policy analyticsでの棚卸し、5段階の移行シナリオとつまずきどころを中小企業向けに整理します。
-
Windowsサービスのアカウント選定 ── LocalSystem・仮想アカウント・gMSAの使い分け
WindowsサービスをLocalSystemで動かし続けていませんか。LocalService・NetworkService・仮想アカウント・ドメインユーザー・gMSAの権限とネットワーク上の身元を判断表で比較し、最小権限で運用する選び方を解説します。
-
OneDrive「ファイル オンデマンド」と業務アプリ ── プレースホルダーが壊す前提と対策
デスクトップのCSVが読めない、取込処理が「ファイルが見つかりません」で落ちる――原因はOneDriveのKFMとファイル オンデマンドかもしれません。プレースホルダーの仕組みと属性判定、アプリ・情シス双方の対策を解説します。
-
Windowsアプリ互換の仕組み ── 互換モード・シム・Compatibility Administratorで古いアプリを延命する
互換モードにチェックを入れると古いアプリが動くのはなぜか。正体であるシム(APIフック)の仕組み、代表的なシムの機能、Compatibility Administratorとsdbinstによる組織展開、効かない限界、延命か移行かの判断までを解説します。
-
Windowsメモリの深層(第3回) ── セクションオブジェクトとコピーオンライト:DLLとファイルマッピングの正体
セクションオブジェクト、イメージ/データマッピング、共有キャッシュ、コピーオンライトをつなぎ、DLLや共有メモリが物理ページを共有する仕組みを解説します。
-
Windowsシェル統合の今 ── 右クリックメニュー・ファイル関連付け・Windows 11の変化
Windows 11で右クリックメニューが「その他のオプションを確認」に隠れる理由を、拡張子→ProgID→verbという関連付けの基本、従来型シェル拡張の注意点、IExplorerCommandとMSIX/sparse packageの新方式まで整理して解説します。
-
社内プロキシとWindowsアプリ ── WinINET・WinHTTP・.NETのプロキシ解決を整理する
ブラウザーではつながるのに業務アプリだけ社内プロキシを越えられない。原因の多くはWinINET・WinHTTP・環境変数・.NETのどのプロキシ設定を誰が読むかの食い違いです。PACとWPAD、認証プロキシ、TLSインスペクション、切り分け手順まで整理します。
-
Windowsメモリの深層(第2回) ── 物理ページの一生:5つのリストとページファイルの真実
PFNデータベース、Standby、Modified、メモリ圧縮、ページファイルをつなぎ、Working Setから外れた物理ページの行き先を解説します。
-
Windowsのパケットキャプチャ実務 ── pktmon・netsh trace・Wiresharkの使い分け
アプリのログに「タイムアウト」としか残らない通信障害は、実際に線を流れたパケットを見ると一段深く調べられます。Wiresharkを入れられないサーバーでもOS標準のpktmon・netsh traceで採取できます。採取と解析の使い分けを実務手順で解説します。
-
Windowsメモリの深層(第1回) ── 仮想アドレスが物理RAMに変わる瞬間:ページフォルトの一部始終
VirtualAlloc、VAD、ページテーブル、TLB、デマンドゼロ、ハードフォルトをつなぎ、仮想アドレスが物理RAMへ割り当てられる瞬間を解説します。
-
Windowsのエラーコードを読み解く ── Win32エラー・HRESULT・NTSTATUSの三層構造
0x80004005が出たら、検索の前にまず分解。Win32エラー・HRESULT・NTSTATUSの三層構造、0x8007xxxx=Win32エラーの包み直しという最重要パターン、err.exeやPowerShellでの調べ方まで解説します。
-
情報処理安全確保支援士 令和6年春 午後問1解説 ── JWTのalg=noneとAPI認可、WAFの暫定対策
情報処理安全確保支援士試験 令和6年春 午後問1を題材に、JWTのalg=none、API認可、Mass Assignment、4桁認証コードの総当たり、WAFによる暫定対策を解説します。
-
Windowsの「メモリ使用量」は何を表しているのか ── Working Set・Private Bytes・Commit・ページファイルを正しく読む
タスクマネージャーのメモリ、Working Set、Private Bytes、Commitは同じ値ではありません。Windowsの仮想メモリと物理メモリの関係、ページファイルの役割、メモリ不足やリーク調査で見るべき指標を解説します。
-
マルチスレッドの実務ベストプラクティス Java編 ── 仮想スレッド時代の定石
Javaのマルチスレッドはスレッドを直接作らずExecutorServiceと仮想スレッドに乗るのが定石。synchronizedとReentrantLockの使い分け、割り込みによる協調停止、ConcurrentHashMapの原子操作、SwingのEDTまで実務の原則を整理します。
-
マルチスレッドの実務ベストプラクティス C言語編 ── Win32 APIの流儀で安全に書く
C言語×Win32のマルチスレッドは、_beginthreadexでのスレッド作成、SRWロックと条件変数、Interlocked、停止イベント+WaitForMultipleObjectsの停止設計が定石。TerminateThreadの危険とDllMainの制約まで整理します。
-
マルチスレッドの実務ベストプラクティス C++編 ── RAIIとjthreadで事故を構造から消す
C++のマルチスレッドはデータ競合が未定義動作になる世界。std::threadのデストラクタの罠、jthreadとstop_tokenによる停止設計、scoped_lockのデッドロック回避、atomicの正しい位置づけ、Win32同期APIとの使い分けまで整理します。
-
マルチスレッドの実務ベストプラクティス .NET編 ── スレッドを増やす前に決めておくこと
「スレッドを立てたら、たまに落ちる・固まる」を防ぐ設計の定石を.NET/C#向けに整理。スレッドを自分で作らずTaskに乗る、共有可変状態を減らす、ロックの規律、CancellationTokenでの停止設計、UIスレッドの扱いまで解説します。