部落格
KomuraSoft LLC 針對網站製作、SEO、Google 廣告運用、Windows 開發、既有資產活用與故障調查,分享可在實務中活用的觀點。
全站 AI 搜尋
搜尋關鍵字會傳送至 Cloudflare AI Search 以產生結果,請勿輸入個人資料。
-
什麼是 EDI?如何讓企業間的訂購作業更輕鬆 ── 從傳真、電子郵件、手動輸入邁向資料連動
EDI 是一種讓訂購單、請款單等交易資料能在企業之間的系統中直接交換的機制。本文將淺顯易懂地說明 EDI 與傳真、電子郵件的差異、如何減少手動輸入與抄錄錯誤,以及將接單、庫存、出貨、請款串連起來的優點。
-
業務應用程式的日本年號・國定假日・結算日處理 ── 抗改元設計與 JapaneseCalendar・營業日計算實務
報表要顯示「令和8年」、營業日計算要排除國定假日、20日結算次月底付款──日本業務應用程式特有的日期處理,背後藏著「日後會變動的規格」:改元、國定假日的法規修訂、月底的進位。本文整理以 JapaneseCalendar 顯示年號、抗改元的設計方式,國定假日不可寫死在程式碼中的原因,以及運用內閣府 CSV 建立國定...
-
Process Monitor(ProcMon)實戰指南 ── 在10分鐘內找出「設定未被讀取」「ACCESS DENIED」的原因
「明明已經修改了設定檔,卻沒有生效」「昨天還能正常運作,今天卻無法啟動」──在動手修改原始碼之前,Process Monitor(ProcMon)能從檔案、登錄檔存取的實際情況中找出原因。本文從不具調查現場的角度,解說 Filter 的實務用法、NAME NOT FOUND、ACCESS DENIED、SHARI...
-
Windows 應用程式該不該 Web 化 ── 判斷表與「拆分」這個現實解方
「想把公司內部的 Windows 應用程式 Web 化」這樣的需求正在增加,但對於牽涉設備連動、本機檔案處理、離線運作、高速輸入介面的應用程式來說,Web 化反而可能導致成本增加、功能劣化。本文從 Windows 委外開發的實務角度,整理適合與不適合 Web 化的判斷表,以及不將整體 Web 化、而只將部分功能搬...
-
WinForms/WPF 應用程式的多語言化 ── resx、附屬組件與文化特性切換的實務
本文從實務角度整理 Windows 桌面應用程式的多語言化,包括 CurrentCulture 與 CurrentUICulture 的差異、resx 與附屬組件(Satellite Assembly)所構成的資源機制、WinForms 的 Localizable 屬性、WPF 現實可行的方式選擇、執行時的語言切...
-
CSV不是「純文字」而已 ── C# 業務應用程式的 CSV 實務(字元編碼・Excel 相容性・注入攻擊防範)
整理業務應用程式在 CSV 讀寫時容易出事故的典型模式──用 Split(',') 自行解析、無 BOM 的 UTF-8 在 Excel 中亂碼、開頭零消失、CSV 注入攻擊──從 RFC 4180 的規則、.NET 中 Shift_JIS 的處理方式(CodePagesEncodingProvider),到用 ...
-
不要用 using 包住 HttpClient ── C# 商用應用程式的 HTTP 通訊實務(生成模式・逾時・重試)
C# 的 HttpClient 若每次都用 using 生成,會導致 Socket 枯竭;改用 static 又無法跟上 DNS 變更──本文從 Windows 商用應用程式的實務角度,整理這兩大問題的成因,以及透過 PooledConnectionLifetime、IHttpClientFactory 的正確生...
-
用 PerfView 與 dotnet-trace 找出「變慢」的原因 ── .NET 效能調查實務入門
當商用應用程式「變慢」「CPU 卡住不動」「偶爾當掉」時,該用哪個工具看什麼?本文整理 PerfView 與 dotnet-trace 的角色分工、CPU 取樣的讀法(inclusive/exclusive)、用 ThreadTime 調查阻塞時間,以及與 EventSource 自訂事件組合使用,涵蓋實務上的效...
-
BtoB 企業的 Google 廣告小額投放 ── 用每月數萬日圓做出成果的設計與每週操作程序
本文是給想用每月數萬日圓預算開始投放 Google 廣告的 BtoB 企業的實務指南。內容涵蓋平均每日預算與請款上限的運作機制、轉換追蹤的整備、聚焦高意圖關鍵字、否定關鍵字與搜尋字詞報表的每週操作,以及小額預算下的出價策略選擇,皆以 Google 官方資訊為依據整理。
-
打造能被地區名搜尋到的網站 ── 中小企業的本地SEO實戰指南(地區頁面與Google商家檔案)
用「地區名稱+行業」搜尋卻找不到自家公司的中小企業,適用這篇整理。內容涵蓋修正本地SEO的先後順序:整理Google商家檔案、統一NAP資訊、設計地區頁面、網站端的基礎建設,以及在Search Console上衡量成效,全部以Google官方資訊為依據整理成實務步驟。
-
Windows 事件記錄・ETW 入門 ── 讓業務應用程式的日誌搭上 OS 標準機制
Windows 業務應用程式的日誌,是不是只靠檔案日誌解決?事件記錄與 ETW,是維運人員與 OS 標準工具能看到的另一個層級的記錄。本文說明三種手段的分工、.NET 的寫入方式、透過 EventSource 進行 ETW 儀器化、收集與調查的實務,以及來源未註冊、日誌肥大化等常見陷阱。
-
不只是 appsettings.json ── Windows 商用應用程式的組態管理實務(環境別設定・機密資訊・寫入位置)
本文從實務角度整理 Windows 商用應用程式的組態管理,涵蓋 appsettings.json 的分層、IConfiguration 與 IOptions/IOptionsSnapshot/IOptionsMonitor 的選用方式、環境別設定、可寫入設定的存放位置、機密資訊的處理、執行期設定變更,以及從 a...
-
小村軟體為什麼用日本數位廳設計系統做網站 ── 便宜和品質可以兼顧
整理小村軟體的網站製作為何以日本數位廳公開的設計系統為基礎。說明設計工序的標準化為什麼能降低費用,又為什麼反而讓品質更穩定,並說明哪些案件不適合這種做法。
-
增加 BtoB 網站的詢問數 ── 修正順序的全景地圖(從集客到表單)
當 BtoB 網站的詢問數遲遲無法成長時,許多公司會先從集客(SEO・廣告)下手。但真正有效的順序,是先用量測找出瓶頸,整頓好作為承接頁面的服務頁面,修正表單等動線之後,最後才加上集客。本文將服務頁面設計、詢問動線改善、電子郵件到達率、聊天機器人、SEO・廣告、內部連結等各篇文章,依修正順序整理成一張地圖,並整理...
-
Windows 業務應用程式的列印與 PDF 輸出 ── System.Drawing.Printing / WPF / 報表函式庫的取捨
本文以要件別判斷表整理 PrintDocument 的 WinForms 列印、WPF 的 FlowDocument/FixedDocument 列印,以及 PDF 輸出的各種選項。並從實務角度說明分頁控制、DPI 落差等實作陷阱,以及從 Windows 服務列印、依賴預設印表機的風險。
-
網站改版案例:宮崎運輸公司 Douzu Carry Service ── 從舊網站繼承了哪些內容、又是如何繼承的
以宮崎運輸公司 Douzu Carry Service 的網站改版為例,說明在動手設計之前先完成 URL 盤點、301 規劃與內容保留檢查的實際做法。
-
中小企業網站製作費用 ── 行情一覽表與報價單的讀法
整理中小企業在索取網站製作報價前應該知道的內容:依目的與規模區分的費用行情、報價單內容明細的讀法,以及各價格帶能做到什麼、做不到什麼。
-
把OSI參考模型看得明明白白 ── 解剖一個HTTP請求的七層結構
不靠死記硬背來理解OSI參考模型,而是看真實的東西。本文用C#組出一個承載HTTP GET請求的Ethernet訊框並加以解剖,透過十六進位傾印和Wireshark確認L2〜L7如何以位元組序列的形式一層層物理地嵌套在一起。文章從實務角度整理各層與.NET API(HttpClient/SslStream/Soc...
-
如何理解 Windows 的工作階段隔離 ── Session 0・RDP・多使用者同時執行
整理 Windows 應用程式開發者容易混淆的「工作階段」概念。說明服務無法顯示 UI 的 Session 0 隔離原因、RDP 連線時工作階段的行為、具名物件的工作階段隔離,以及共用 PC・RDS 環境常見的設計失誤,從實務角度解說。
-
VB6 / Access 業務應用程式的延命與遷移 ── 保留・包裝・取代的判斷表
VB6 應用程式與 Microsoft Access 業務應用該如何判斷是直接保留、只包裝一部分延命,還是全面取代?本文整理執行環境現況、ACE 的 32bit/64bit 問題、共用資料夾多人使用風險,以及升級至 SQL Server 的判斷表與實務步驟。
-
用 WinDbg + SOS 解讀當機傾印檔 ── 收集之後的實務分析入門
本文說明如何用 WinDbg 與 SOS 擴充功能實際讀取已收集的 Windows 當機傾印檔。內容涵蓋符號路徑設定、以 !clrstack・!pe・!dumpheap -stat・!gcroot 追蹤例外與記憶體洩漏的方法、原生當機的 !analyze -v,以及與 dotnet-dump analyze 的使...
-
防止 Windows 應用程式重複啟動 ── 具名 Mutex 與重複執行時的視窗前置
整理業務用 Windows 應用程式的常見需求「不讓同一個應用程式啟動兩次」,如何用具名 Mutex 實作。涵蓋 Global\ 與 Local\ 命名空間差異在 RDP 環境中的陷阱、擁有執行緒限制與 AbandonedMutexException、考量 SetForegroundWindow 限制下的既有執行...
-
在 C# 中安全呼叫 Win32 API — P/Invoke 實務指南(DllImport / LibraryImport / CsWin32)
本文整理在 C# 中透過 P/Invoke 呼叫 Win32 API 或原生 DLL 時的實務要點:DllImport 與 LibraryImport 的差異、CsWin32 自動產生簽章、字串封送的陷阱、用 SafeHandle 管理控制代碼、SetLastError 與錯誤處理、結構的 StructLayou...
-
在 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/SQLit...
-
Windows 桌面應用程式的 UI 自動測試 ── UI Automation 的原理與用 FlaUI 打造不易損壞的測試
本文從 Windows UI Automation 的原理(樹狀結構、AutomationId、控制項模式)整理 WinForms/WPF 應用程式的 UI 自動測試。內容涵蓋以 FlaUI 實作的最小範例、WinAppDriver 的現況、透過 AutomationId 設計與條件等待讓測試不易損壞的方法,以及...
-
WPF 高 DPI 對應──「不是應該對 DPI 很強嗎」卻仍模糊、暈邊的原因與對策
WPF 以 DIP(1/96 英吋)進行版面配置,一開始就是 System DPI Aware,但移到 DPI 不同的螢幕時整體會暈邊,點陣圖與細線也會模糊。本文從實務角度整理原因判斷、.NET Framework 4.6.2/.NET 上的 Per-Monitor DPI 對應宣告方式、UseLayoutRou...
-
C# 操作 Excel 時 EXCEL.EXE 殘留的問題 ── COM 參照釋放模式與替換判斷
本文從 COM 參照計數與 RCW 的運作原理,整理 C# 透過 Microsoft.Office.Interop.Excel 操作 Excel 時 EXCEL.EXE 進程殘留的問題。內容涵蓋「兩個點規則」的陷阱、Marshal.ReleaseComObject 派與 GC 派兩種釋放模式、以 Hwnd 定位 ...
-
WinForms 的高DPI支援 - 4K螢幕顯示模糊、版面跑掉的原因與實務對策
本文從 DPI 虛擬化與 DPI 感知模式(System Aware / Per-Monitor V2)的角度,整理 WinForms 應用程式在4K螢幕、150%縮放環境下顯示模糊、版面跑掉的原因,並說明 .NET 與 .NET Framework 各自的設定方式、AutoScaleMode 與設計工具的陷阱,...
-
Windows 的行程間通訊該怎麼選 ── 具名管道 / TCP / gRPC / 共享記憶體 / COM 判斷表
整理 Windows 應用程式之間該如何選擇溝通方式。以判斷表整理具名管道、本機 TCP、gRPC、共享記憶體、檔案協作、COM 各自的強項與陷阱,並從實務角度說明 UI+服務分離・32bit/64bit 橋接・權限邊界等典型架構,以及具名管道的實作範例。