Блог
Практические статьи KomuraSoft LLC о разработке сайтов, SEO, Google Ads, разработке для Windows, использовании существующих систем и расследовании сбоев.
ИИ-поиск по всему сайту
Поисковые запросы передаются в Cloudflare AI Search для формирования результатов. Не вводите персональные данные.
-
«Не отвечает»: как Windows определяет зависание и как проектировать так, чтобы оно не возникало
Windows считает окно неотвечающим, если 5 секунд не извлекает сообщения, и подменяет его фантомным окном. Разбираем критерий, типичные причины, проектировани...
-
Ложное пробуждение: почему wait на условной переменной возвращается без уведомления и как ждать в Windows
wait на условной переменной может вернуться и без уведомления (ложное пробуждение). Почему спецификация это допускает и как правильно ждать через while и пре...
-
Буфер обмена и перетаскивание: OLE-передача данных в бизнес-приложениях
Таблица из Excel вставляется «криво», а после закрытия исходного приложения вставить уже нельзя — оба случая объясняются тем, что буфер обмена держит одно и ...
-
WPR/WPA на практике: как разбирать «весь ПК тормозит» по всей системе
«Весь ПК тормозит» и «долго загружается» — проблемы, которые Диспетчер задач не объясняет. Их разбирают по общесистемной ETW-трассировке: записывают через wp...
-
Завершение работы Windows со стороны приложения — уведомления, перезагрузка и отключение питания
Ночная перезагрузка Windows Update повредила данные измерений — такую аварию можно предотвратить на этапе проектирования. По первичным источникам: как приним...
-
Доступность приложений Windows: UI Automation и разумное приспособление
На фоне поправки к Закону Японии об устранении дискриминации в отношении инвалидов, вступившей в силу в апреле 2024 года, статья на практике разбирает UI Aut...
-
Японские шрифты в бизнес-приложениях: JIS2004, IVS и пользовательские символы
Сбои японских символов в бизнес-системах становятся понятными, если разделить слой кодировки (данные) и слой шрифта (внешний вид). Разбираем смену глифов JIS...
-
От групповой политики к Intune — руководство по миграции для малого и среднего бизнеса
Когда подходит срок замены сервера AD, продолжать групповую политику или перейти на Entra ID и Intune? Для малого и среднего бизнеса разбираем, чем отличаютс...
-
Учётные записи служб Windows: LocalSystem, виртуальные учётные записи и gMSA
Службы Windows всё ещё запускают от LocalSystem? Статья сравнивает права и то, кем служба выглядит в сети, у LocalService, NetworkService, виртуальных учётны...
-
OneDrive «Файлы по запросу» и бизнес-приложения — какие предпосылки ломают заполнители и что с этим делать
CSV с рабочего стола не читается, импорт падает с «файл не найден» — причина может быть в KFM и «Файлах по запросу» OneDrive. Разбираем заполнители, как опре...
-
Как продлить работу старых приложений в Windows: режим совместимости, шимы и Compatibility Administrator
Почему после включения режима совместимости снова запускается старое приложение. Разбираем шимы (перехват API), типичные исправления, развёртывание через Com...
-
Глубины памяти Windows (часть 3) — объекты секций и копирование при записи: как устроены DLL и проецирование файлов
Разбираем объекты секций, проецирование образа и данных, общий кэш и копирование при записи: как DLL и общая память делят одни и те же физические страницы.
-
Интеграция с оболочкой Windows ── контекстное меню, сопоставление файлов и изменения в Windows 11
Почему в Windows 11 пункты контекстного меню оказываются за «Показать дополнительные параметры»: разбираем цепочку расширение → ProgID → verb, ограничения кл...
-
Корпоративный прокси и приложения Windows — как WinINET, WinHTTP и .NET выбирают прокси
Браузер выходит в интернет, а бизнес-приложение не проходит корпоративный прокси. Чаще всего WinINET, WinHTTP, переменные окружения и .NET читают разные пара...
-
Глубины памяти Windows (часть 2) — жизненный цикл физической страницы: пять списков и файл подкачки
Разбираем, как связаны база данных PFN, Standby, Modified, сжатие памяти и файл подкачки, и куда уходит физическая страница, когда её убирают из Working Set.
-
Захват пакетов в Windows на практике — pktmon, netsh trace и Wireshark
Сбой связи, в журнале приложения которого остаётся только «timeout», разбирают по пакетам, которые реально прошли по проводу. Даже на сервере без Wireshark з...
-
Глубины памяти Windows (часть 1) — момент, когда виртуальный адрес становится физической ОЗУ: ошибка страницы от начала до конца
Связываем VirtualAlloc, VAD, таблицы страниц, TLB, demand-zero и жёсткие ошибки страниц и разбираем момент, когда виртуальному адресу назначается физическая ...
-
Как читать коды ошибок Windows — Win32, HRESULT и NTSTATUS
Если появился 0x80004005, сначала разберите код, а не ищите его вслепую. Три системы Win32, HRESULT и NTSTATUS, шаблон 0x8007xxxx как упакованная ошибка Win3...
-
Экзамен SC весны 2024, задание 1 части PM: JWT alg=none, авторизация API и временные меры WAF
На материале задания 1 части PM экзамена IPA SC весны 2024 разбираем alg=none у JWT, авторизацию API, Mass Assignment, перебор четырёхзначного кода и временн...
-
Как читать «использование памяти» в Windows: Working Set, Private Bytes, Commit и файл подкачки
Столбец «Память» в диспетчере задач, Working Set, Private Bytes и Commit — это разные величины. Разбираем связь виртуальной и физической памяти Windows, роль...
-
Практики многопоточности на Java: что считать нормой в эпоху виртуальных потоков
В Java потоки не создают вручную: задачи отдают ExecutorService и виртуальным потокам. Разбираем, когда брать synchronized, а когда ReentrantLock, как остана...
-
Многопоточность на C: практические рекомендации — безопасно по правилам Win32 API
На C с Win32 потоки создают через _beginthreadex, внутри процесса берут SRW-блокировку и условные переменные, одиночные переменные обновляют Interlocked, ост...
-
Практические приёмы многопоточности в C++: как RAII и jthread убирают аварии из конструкции
В C++ гонка данных — это неопределённое поведение. Разбираем ловушку деструктора std::thread, остановку через jthread и stop_token, предотвращение взаимных б...
-
Практические рекомендации по многопоточности: .NET — что решить до добавления потоков
Проверенные приёмы проектирования на .NET/C#, чтобы код не «иногда падал или зависал»: не создавать потоки вручную и опираться на Task, сокращать разделяемое...
-
Разбор вопроса 2 дневного сеанса экзамена специалиста по обеспечению информационной безопасности, осень 5-го года Рэйва — файлы уносят через гостевой Wi-Fi
На материале вопроса 2 дневного сеанса экзамена специалиста по обеспечению информационной безопасности осенью 5-го года Рэйва (2023) статья разбирает, как ко...
-
Служба теневого копирования тома (VSS): как снимают резервную копию занятого файла
Занятый файл обычно нельзя скопировать из‑за нарушения совместного доступа — почему тогда это удаётся программам резервного копирования? Разбираем роли запра...
-
WMI/CIM из C# и PowerShell — практическое руководство по сведениям об оборудовании, мониторингу процессов и удалённым запросам
WMI/CIM — стандартный способ получить серийный номер ПК, следить за свободным местом на диске и ловить запуск процессов. Разбираем командлеты CIM вроде Get-C...
-
Групповая политика (GPO) на практике: как применяется, как проверить и когда брать Intune
Работаете в AD и не до конца понимаете, что значит «это настроено через GPO»? Разбираем устройство групповой политики и порядок LSDOU, как проверить применен...
-
Политика аудита безопасности Windows и расследование журнала событий на практике — как стать ИТ-службой, которая умеет читать 4625
Практическое руководство, чтобы ответить на просьбу «посмотрите журналы неудачных входов». Разбирает связь базовой и расширенной политики аудита, минимально ...
-
Windows LAPS на практике — больше не используем один локальный пароль администратора на всех ПК
Один локальный пароль администратора на всех ПК — благодатная почва для Pass-the-Hash: компрометация одной машины открывает остальные. Разбираем автоматическ...