タグ「技術相談」の記事
「技術相談」タグが付いた記事の一覧です(39件)。新しい順に掲載しています。
-
障害対応は復旧で終わらない ── 小さな開発チームのためのポストモーテム(再発防止)の型
障害を「直して謝って終わり」にすると同じ障害を繰り返します。SREのblameless postmortemの考え方を小規模チームのWindowsアプリ保守向けに翻訳し、1時間で書けるテンプレート、直接原因と寄与要因の分け方、再発防止策の強度判断表、実施のトリアージまでを実務ガイドとしてまとめます。
-
ADR(Architecture Decision Record)入門 ── 小規模開発で「なぜこの設計にしたか」を残す最小の方法
コードは「何をしているか」は語りますが「なぜそうしたか」は語りません。Michael Nygardが提唱したADR(Architecture Decision Record)で、1決定=1ファイルのMarkdownとして設計判断の理由を残す方法を、テンプレート・書く/書かないの判断表・小規模受託開発での運用・実例...
-
テストのないレガシー業務アプリに安全に手を入れる ── 特性化テストとリファクタリングの実践
テストのない業務アプリを「触ると壊れそうで直せない」と感じている方向けに、現在の挙動を固定する特性化テスト(ゴールデンマスター法)の具体手順、テストを差し込む継ぎ目(seam)の作り方、どこまで整備するかの判断表、リファクタリングと機能追加を混ぜない運用ルールをC#の例とともに解説します。
-
「何秒で動けば満足か」を決め忘れないために ── IPA「非機能要求グレード」で非機能要件を整理する
システム開発で「速度が遅い」「障害対応が想定外」と揉める原因の多くは、非機能要件の決め忘れです。IPAが公開する「非機能要求グレード」の6大項目、グレード表とモデルシステムの使い方、中小企業の業務アプリでの現実的な活用方法を、発注側にも分かりやすく解説します。
-
自社開発のWindowsアプリがウイルス扱いされたら ── Microsoft Defenderの誤検知対応と、性能影響との付き合い方
配布した自社開発のWindowsアプリがMicrosoft Defenderにウイルスとして検知・隔離されたときの正規の対処を整理します。機械学習・クラウド保護・レピュテーションという現代のウイルス対策の仕組み、Microsoftへの誤検知報告(ファイル申請)、隔離からの復元、除外設定の正しい入れ方とリスク、Pe...
-
スリープ・休止・Modern Standbyと長時間稼働アプリ ── 「夜中に止まっていた」を設計で防ぐ
計測・監視・データ収集など長時間動き続けるWindowsアプリが「朝見たら止まっていた」となる原因を、S3スリープ/休止/Modern Standbyの違いから整理します。スリープ中のスレッド・タイマー・TCP接続の挙動、SetThreadExecutionStateと電源要求による抑止、PowerModeCha...
-
Arm版Windowsで業務アプリは動くのか ── x64エミュレーション(Prism)とネイティブDLL・COMの現実
Snapdragon搭載のCopilot+ PC導入で増える「Arm機で業務アプリは動くのか」という質問に、開発者・情シス向けに答えます。Windows 11のx64エミュレーション(Prism)の仕組み、ドライバー・シェル拡張など動かない層、x64とArm64をプロセス内で混在できないルール、.NETのAnyC...
-
ソースコードも仕様書もないシステムを引き継いだら ── 止めずに運用・保守するための実務手順
開発会社の廃業や担当者の退職で、ソースコードも仕様書もない業務システムだけが残った ── そんな状態から運用・保守を始めるための実務手順を整理します。動いている環境の保全とバックアップ、実行ファイル・DB・連携先の棚卸し、挙動からの仕様復元、逆コンパイルの技術的な可能性と法的な留意点、延命・ラップ・再構築の判断、...
-
MAX_PATHとWindowsのパス・ファイル名の落とし穴 ── 260文字制限、予約名、末尾ドット、大文字小文字
Windowsの「ファイルが見つかりません」障害の定番原因であるパス・ファイル名の制限を整理します。MAX_PATH=260文字の内訳、\\?\プレフィックスとLongPathsEnabled+マニフェストによる長パス有効化、.NET Framework / .NET(Core)での挙動差、CON・NULなどの予...
-
ネットワークドライブとUNCパスの落とし穴 ── 業務アプリでファイルサーバー(共有フォルダ)を扱う実務
業務アプリからファイルサーバー(共有フォルダ)へ出力・取り込み・監視を行うときの定番トラブルを整理します。ドライブ文字(Z:)がログオンセッション単位でありサービスや昇格プロセスから見えない理由、Windowsサービスの実行アカウントごとに共有側で必要な権限、資格情報とエラー1219、切断・遅延前提の設計、SMB...
-
Windowsアプリのタスクトレイ常駐とトースト通知 ── NotifyIconの落とし穴とAppNotificationの選び方
業務Windowsアプリをタスクトレイに常駐させ、トースト通知でユーザーへ知らせる実装を整理します。NotifyIconの正しい使い方と「閉じるでトレイへ」の設計、Explorer再起動時の再登録、トーストAPI3種(Windows App SDK AppNotification / Community Tool...
-
VB6アプリはいつまで動くのか ── ランタイムのサポート状況と現実的な.NET移行の進め方
VB6アプリケーションはいつまで動くのか。VB6ランタイムのサポートポリシー(Windows 11でも動作対象)と、IDEサポート終了済みという非対称な現状を整理し、全面リライト・自動変換・段階移行の判断表、移行前の棚卸し、VB6と.NETの非互換、C#とVB.NETの選択までを実務ガイドとしてまとめます。
-
業務アプリの和暦・祝日・締め日処理 ── 改元に強い設計とJapaneseCalendar・営業日計算の実務
帳票の「令和8年」表示、祝日を除いた営業日計算、20日締め翌月末払い──日本の業務アプリ特有の日付処理は、改元・祝日の法改正・月末の丸めという「あとから変わる仕様」を抱えています。JapaneseCalendarによる和暦表示と改元に強い設計、祝日をハードコードしてはいけない理由と内閣府CSVを使った祝日マスタ運...
-
Process Monitor(ProcMon)実践ガイド ── 「設定が読まれない」「ACCESS DENIED」を10分で特定する
「設定ファイルを直したのに反映されない」「昨日まで動いていたのに今日から起動しない」──ソースコードに手を入れる前に、Process Monitor(ProcMon)ならファイル・レジストリアクセスの実態から原因を特定できます。フィルタの実務的な使い方、NAME NOT FOUND・ACCESS DENIED・S...
-
WindowsアプリのWeb化、しない方がいいケース ── 判断表と「分割」という現実解
「社内のWindowsアプリをWebにしたい」という要望は増えていますが、装置連携・ローカルファイル処理・オフライン運用・高速入力UIを抱えたアプリでは、Web化がコスト増と機能劣化を招くことがあります。Web化に向くケース・向かないケースの判断表と、全部Web化ではなく一部だけWebに出す分割構成という現実解を...
-
WinForms/WPFアプリの多言語化 ── resx・サテライトアセンブリ・カルチャ切り替えの実務
Windowsデスクトップアプリの多言語化を、CurrentCultureとCurrentUICultureの違い、resxとサテライトアセンブリによるリソースの仕組み、WinFormsのLocalizableプロパティ、WPFでの現実的な方式選択、実行時の言語切り替え、レイアウト・書式・RTLまで含めて実務目線...
-
CSVは「ただのテキスト」ではない ── C#業務アプリのCSV実務(文字コード・Excel互換・インジェクション対策)
業務アプリのCSV入出力で事故が起きる典型パターン──Split(',')による自作パース、BOMなしUTF-8のExcel文字化け、先頭ゼロ落ち、CSVインジェクション──を整理し、RFC 4180のルール、.NETでのShift_JISの扱い(CodePagesEncodingProvider)、TextFi...
-
HttpClientをusingで囲んではいけない ── C#業務アプリのHTTP通信実務(生成パターン・タイムアウト・リトライ)
C#のHttpClientを毎回usingで生成するとソケット枯渇、staticにするとDNS変更に追従しない──この2大問題の仕組みと、PooledConnectionLifetime・IHttpClientFactoryによる正しい生成パターン、タイムアウト設計、Microsoft.Extensions.Ht...
-
PerfViewとdotnet-traceで「遅い」を特定する ── .NETパフォーマンス調査の実務入門
業務アプリが「遅い」「CPUが張り付く」「たまに固まる」とき、どのツールで何を見ればよいのか。PerfViewとdotnet-traceの役割分担、CPUサンプリングの読み方(inclusive/exclusive)、ThreadTimeによるブロック時間の調査、EventSource独自イベントとの組み合わせま...
-
appsettings.jsonだけじゃない ── Windows業務アプリの構成管理実務(環境別設定・秘密情報・書き込み先)
Windows業務アプリの構成管理を、appsettings.jsonの階層化、IConfigurationとIOptions/IOptionsSnapshot/IOptionsMonitorの使い分け、環境別設定、書き込み可能な設定の置き場所、秘密情報の扱い、実行中の設定変更、app.configからの移行まで...
-
Windows業務アプリの印刷とPDF出力 ── System.Drawing.Printing / WPF / 帳票ライブラリの使い分け
PrintDocumentによるWinForms印刷、WPFのFlowDocument/FixedDocument印刷、PDF出力の選択肢を、要件別の判断表として整理します。改ページ制御やDPIのずれといった実装の落とし穴、Windowsサービスからの印刷、既定プリンター依存の危険まで実務目線で解説します。
-
OSI参照モデルをはっきりイメージする ── HTTPリクエスト1個を7層に解剖する
OSI参照モデルを暗記ではなく実物で理解します。HTTP GETリクエスト1個を運ぶEthernetフレームをC#で組み立てて解剖し、L2〜L7がバイト列として物理的に入れ子になっている様子をヘックスダンプとWiresharkで確認します。各層と.NET API(HttpClient / SslStream / ...
-
Windowsのセッション分離をどう理解するか ── Session 0・RDP・複数ユーザー同時実行
Windowsアプリ開発者が混乱しがちな「セッション」の概念を整理します。サービスがUIを出せないSession 0分離の理由、RDP接続時のセッションの挙動、名前付きオブジェクトのセッション分離、共有PC・RDS環境でありがちな設計ミスまでを実務目線で解説します。
-
VB6 / Access業務アプリの延命と移行 ── 残す・包む・置き換えるの判断表
VB6アプリケーションとMicrosoft Access業務アプリを、このまま残すか、一部だけ包んで延命するか、置き換えるかをどう判断するか。ランタイムの現状、ACEの32bit/64bit問題、共有フォルダーでの多人数利用リスク、SQL Serverへのアップサイズまでを判断表と実務手順で整理します。
-
WinDbg + SOSでクラッシュダンプを読む ── 収集した後の実務解析入門
収集したWindowsクラッシュダンプをWinDbgとSOS拡張で実際に読む手順を解説します。シンボルパスの設定、!clrstack・!pe・!dumpheap -stat・!gcrootによる例外とメモリリークの追い方、ネイティブクラッシュの!analyze -v、dotnet-dump analyzeとの使い...
-
Windowsアプリの多重起動防止 ── 名前付きMutexと二重起動時のアクティブ化
業務Windowsアプリの定番要件『同じアプリを2回起動させない』を、名前付きMutexで実装する方法を整理します。Global\ と Local\の名前空間の違いによるRDP環境での落とし穴、所有スレッド制約とAbandonedMutexException、SetForegroundWindowの制限を踏まえた...
-
C#からWin32 APIを安全に呼ぶ ── P/Invoke実務ガイド(DllImport / LibraryImport / CsWin32)
C#からWin32 APIやネイティブDLLをP/Invokeで呼ぶときの実務ポイントを整理します。DllImportとLibraryImportの違い、CsWin32によるシグネチャ自動生成、文字列マーシャリングの罠、SafeHandleによるハンドル管理、SetLastErrorとエラー処理、構造体のStru...
-
WinForms/WPFアプリにEntra ID認証を組み込む ── MSAL.NETとWAMブローカーの実務構成
WinForms/WPFデスクトップアプリにEntra ID(旧Azure AD)認証を組み込む手順を実務目線で整理します。パブリッククライアントの考え方、ROPC廃止の現状、アプリ登録、MSAL.NETのAcquireTokenSilentパターン、WAMブローカー、トークンキャッシュの永続化、導入判断と運用の...
-
業務アプリの日時とタイムゾーン ── DateTimeの罠からUTC保存の原則、テスト設計まで
サーバー移設で時刻が9時間ずれる、海外拠点だけ日付が前日になる──日時事故の原因をDateTimeのKindと暗黙変換から整理します。DateTimeOffsetとの使い分け、UTC保存とISO 8601の原則、TimeZoneInfoと夏時間、SQL Server/SQLiteとの境界、TimeProvider...
-
WPFの高DPI対応 ── 「DPIに強いはず」なのにぼやける・にじむ原因と対処
WPFはDIP(1/96インチ)でレイアウトされ最初からSystem DPI Awareですが、DPIの違うモニターへ移すと全体がにじみ、ビットマップや単線はぼやけます。原因の切り分け、.NET Framework 4.6.2/.NETでのPer-Monitor DPI対応、UseLayoutRoundingなど...
-
C#のExcel操作でEXCEL.EXEが残る問題 ── COM参照の解放パターンと置き換えの判断
C#からMicrosoft.Office.Interop.ExcelでExcelを操作するとEXCEL.EXEプロセスが残る問題を、COM参照カウントとRCWの仕組みから整理します。2ドットルールの罠、Marshal.ReleaseComObject派とGC派の解放パターン、HwndからPIDを特定する最終手段、...
-
WinFormsの高DPI対応 ── 4Kモニターでぼやける・崩れる原因と現実的な対処
4Kモニターや150%スケーリングでWinFormsアプリがぼやける・レイアウトが崩れる原因を、DPI仮想化とDPI認識モード(System Aware / Per-Monitor V2)から整理します。.NET/.NET Frameworkそれぞれの設定方法、AutoScaleModeとデザイナーの罠、段階的な...
-
Windowsのプロセス間通信をどう選ぶか ── 名前付きパイプ / TCP / gRPC / 共有メモリ / COM 判断表
Windowsアプリ同士の連携手段をどう選ぶか。名前付きパイプ、ローカルTCP、gRPC、共有メモリ、ファイル連携、COMの得意分野と落とし穴を判断表で整理し、UI+サービス分離・32bit/64bitブリッジ・権限境界などの定番構成と、名前付きパイプの実装例まで実務目線で解説します。
-
C#でSQLiteを業務アプリに使う ── WALモード・排他制御・破損対策・EF Coreとの使い分け
Microsoft.Data.SqliteでSQLiteを業務Windowsアプリに組み込む実務知識を整理します。接続文字列とプーリング、WALモードの仕組み、SQLITE_BUSYと書き込み一本化、トランザクションによる高速化、型マッピングの罠、VACUUM INTOによるバックアップ、EF Coreを使うべき...
-
Windowsサービスの作り方と運用 ── タスクスケジューラとの使い分けからBackgroundServiceのサービス化まで
常駐処理をWindowsサービスにすべきか、タスクスケジューラで足りるのか。判断表と、.NET Worker Service(UseWindowsService)によるサービスの作り方、実行アカウント・回復オプション・イベントログ・安全な停止処理まで、運用に乗せるための設計を実務目線で整理します。
-
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自動化の安定化、認証情報の安全な扱いまで、業務自動化を運用に乗せるための実践的な設計指針を整理します。