博客
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・SHA...
-
Windows 应用不适合 Web 化的情形 ── 判断表与「拆分」这一现实解法
「想把公司内部的 Windows 应用改造成 Web」的需求正在增加,但对于涉及设备联动、本地文件处理、离线运行、高速录入界面的应用来说,Web 化反而可能带来成本上升与功能劣化。本文从 Windows 委托开发的实务视角,整理出适合与不适合 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),以及使...
-
不要用 using 包裹 HttpClient —— C# 业务应用的 HTTP 通信实务(创建模式・超时设计・重试)
C# 的 HttpClient 如果每次都用 using 创建会导致套接字耗尽,改成 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 入门 ── 让业务应用程序的日志接入操作系统标准机制
Windows 业务应用程序的日志,是不是只靠文件日志来解决?事件日志与 ETW,是运维人员和操作系统标准工具所能看到的另一层记录。本文整理三种手段的分工方式、.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/Socket)...
-
如何理解 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 与错误处理、结构体的 StructLay...
-
在 WinForms/WPF 应用中集成 Entra ID 认证 —— MSAL.NET 与 WAM Broker 的实务架构
本文以实务视角整理在 WinForms/WPF 桌面应用中集成 Entra ID(原 Azure AD)认证的步骤:公共客户端的思路、ROPC 被弃用的现状、应用注册、MSAL.NET 的 AcquireTokenSilent 模式、WAM Broker、令牌缓存的持久化,以及导入判断与运维中的坑。
-
业务应用的日期时间与时区 ── 从 DateTime 的陷阱到 UTC 存储原则、测试设计
服务器迁移后时间整整差了 9 个小时、只有海外分支机构的日期会变成前一天——本文从 DateTime 的 Kind 与隐式转换梳理日期时间事故的根本原因。内容涵盖与 DateTimeOffset 的取舍、UTC 存储与 ISO 8601 原则、TimeZoneInfo 与夏令时、和 SQL Server/SQLi...
-
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 桥接・权限边界等常见架构,以及命名管道的实现示例。