Блог
Практические статьи KomuraSoft LLC о разработке сайтов, SEO, Google Ads, разработке для Windows, использовании существующих систем и расследовании сбоев.
ИИ-поиск по всему сайту
Поисковые запросы передаются в Cloudflare AI Search для формирования результатов. Не вводите персональные данные.
-
Стоимость сайта для малого и среднего бизнеса — таблица цен и как читать смету
Перед запросом сметы на сайт малому и среднему бизнесу полезно знать ориентиры по цели и масштабу, как читать разбивку сметы и чего ждать — и чего не ждать —...
-
Как ясно представить модель OSI — разбираем один HTTP-запрос по семи уровням
Разбираем модель OSI на реальном кадре. Собираем на C# Ethernet-кадр с HTTP GET, разбираем его и в Wireshark видим, как уровни вложены друг в друга. Сопостав...
-
Как устроена изоляция сеансов Windows — Session 0, RDP и одновременная работа нескольких пользователей
Разбираем понятие «сеанса», которое часто путает разработчиков Windows-приложений. С практической стороны объясняем, почему изоляция Session 0 не даёт службе...
-
Продление эксплуатации и миграция приложений VB6 / Access — таблица решений: оставить, обернуть или заменить
Как решить, оставить ли бизнес-приложение на VB6 или Access как есть, продлить ему эксплуатацию или заменить. Таблица решений собирает состояние рантайма, пр...
-
Как читать аварийные дампы в WinDbg + SOS — практика анализа после сбора
Разбираем, как читать аварийный дамп Windows в WinDbg с расширением SOS: настройка пути к символам, поиск исключений и утечек через !clrstack и !dumpheap, ко...
-
Защита Windows-приложения от повторного запуска — именованный Mutex и активация окна при втором старте
Разбираем, как в бизнес-приложении Windows запретить повторный запуск через именованный Mutex. Разберём ловушку RDP из-за разницы Global\ и Local\, Abandoned...
-
Безопасный вызов Win32 API из C# — практическое руководство по P/Invoke (DllImport / LibraryImport / CsWin32)
Разбираем, как на практике вызывать Win32 API из C# через P/Invoke: чем DllImport отличается от LibraryImport, как CsWin32 генерирует сигнатуры, ловушки марш...
-
Аутентификация Entra ID в WinForms и WPF: MSAL.NET и брокер WAM
Как добавить вход через Entra ID в десктопное приложение WinForms или WPF: общедоступный клиент, регистрация приложения, AcquireTokenSilent в MSAL.NET, броке...
-
Дата, время и часовые пояса в бизнес-приложениях — ловушки DateTime, хранение в UTC и тесты
После переноса сервера время сдвигается на 9 часов. Разбираем, откуда берутся такие сбои: Kind у DateTime и неявные преобразования. Дальше — когда брать Date...
-
UI-автотесты десктопных приложений Windows — UI Automation и устойчивые тесты на FlaUI
Разбираем UI-автотесты WinForms и WPF с устройства Windows UI Automation. Минимальная реализация на FlaUI, AutomationId и ожидание по условию, чтобы тесты не...