Блог
Практические статьи KomuraSoft LLC о разработке сайтов, SEO, Google Ads, разработке для Windows, использовании существующих систем и расследовании сбоев.
ИИ-поиск по всему сайту
Поисковые запросы передаются в Cloudflare AI Search для формирования результатов. Не вводите персональные данные.
-
Безопасная конкурентность в Ada — практическое руководство по задачам и защищённым объектам
Вводная статья о встроенной в язык Ada конкурентности — задачах и защищённых объектах. Рассматриваем рандеву (entry/accept), выборочный accept, взаимное искл...
-
Введение в формальную верификацию с SPARK ── От контрактов Ada к математическому доказательству
Практическое введение в формальную верификацию с помощью SPARK — подмножества языка Ada. В статье рассматривается переход от контрактов (Pre/Post) к доказате...
-
Притягательность языка Ada — типы как язык проектирования и опора для ПО, работающего десятилетиями
Рассказываем о притягательности языка Ada: строгая типизация, ограничения диапазона, разделение спецификации и реализации через пакеты, контрактное проектиро...
-
Что такое MFC в Windows: основы для сопровождения существующих приложений
Разбираем обзор Microsoft Foundation Classes (MFC): связь с Win32, структуру приложения, карты сообщений, архитектуру Document/View, DDX/DDV и нюансы, важные...
-
Что сделать перед утилизацией Windows PC — практический чек-лист по стиранию данных, отвязке учётных записей и резервному копированию
Разбираем, что нужно сделать перед утилизацией, передачей, продажей или возвратом по лизингу Windows PC: резервное копирование, стирание данных, BitLocker, у...
-
Что такое PDB (Program Database) — разбираемся в отладочной информации, символах и Source Link
Разбираем, что такое PDB (Program Database), с практической точки зрения: что в нём есть и чего нет, разницу между Debug и Release, Portable PDB, Source Link...
-
Что такое Roslyn: читаем, исправляем и генерируем код C# с точки зрения компилятора
Разбираем Roslyn (.NET Compiler Platform): Syntax Tree, SemanticModel, Workspace, Analyzer, Source Generator и то, где и как их применять на практике.
-
Аутсорсинг и контрактная разработка Windows-приложения: что стоит прояснить перед заказом
Перед тем как заказать аутсорсинг или контрактную разработку Windows-приложения, разберём, что нужно прояснить: доработка существующего ПО, интеграция с обор...
-
Алгебраические типы данных в .NET Framework и .NET — как выразить состояние и результат через тип
Рассматриваем, как использовать алгебраические типы данных — в первую очередь суммарные типы и размеченные объединения — в .NET Framework и .NET, и какие пре...
-
Как правильно работать с токенами олицетворения в Windows — заимствование прав на уровне потока и безопасный откат
Разбираем токены олицетворения в Windows — токены доступа, первичные и потоковые токены, уровни олицетворения, RevertToSelf и WindowsIdentity.RunImpersonated...