Более 28 лет опыта разработки на .NET — архитектура, практики, паттерны, реальный код, с ИИ и без него.

Блог разработчика C#.NET: архитектура, паттерны, практики, примеры кода, опыт разработки с 1989 года.

Тема дня
Разработчик-инженер или промпт вместо кода
Опубликовано 15.09.2026 04:54:00 в категории Искусственный интеллект
Статья о том, как меняется профессия программиста: раньше мастерство измерялось умением писать код, теперь всё больше решает то, как вы формулируете задачу для ИИ в промпте. В статье отдельно разобраны параллели между промпт-инжинирингом и архитектурным мышлением, а также типичные ошибки в промптах.
Недавно добавлено
Spec-Driven Development: обзор инструментов
Опубликовано 01.10.2026 06:12:00 в категории Искусственный интеллект
Агенты научились писать код быстрее, чем мы успеваем его читать. Но скорость оказалась не главной проблемой — главной стало то, что агент не помнит, о чём вы договорились вчера. В этой статье рассмотрим подход, который пытается эту проблему решить, и инструменты, которые его реализуют: GitHub Spec Kit, Kiro, OpenSpec, BMAD Method, Tessl и ещё несколько.
Опубликовано 22.09.2026 01:09:00 в категории Искусственный интеллект
Наверное вы уже знаете что такое  Large language Model (LLM) и может быть даже знаете (или хотя бы слышали) про Computer Vision (CV), но задумывались ли вы, какие еще бывают типы моделей?
Опубликовано 21.09.2026 04:45:00 в категории Искусственный интеллект
Каждый инструмент нужно использовать правильно и по назначению. Поэтому решил создать список полезных советов для Claude Project.
Подключаем Claude Code к новому проекту
Опубликовано 19.09.2026 06:40:00 в категории Искусственный интеллект
Я хочу в этом видео показать, что я делал и как, чтобы подключить к старому проекту ИИ-агента (Claude Code).
Факт дня
В Америке примерно 2.383.000 человек носят фамилию Смит.
Открыть
Мои курсы на Stepik.org

Этом курс о том, что нужно знать чтобы правильно настроить ИИ-агента (Claude Code). Чтобы эффективно использовать токены. Чтобы работа с агентом была продуктивной и успешной. А еще про то, как заставить ИИ-агента писать правильный код. То код, который соответствует правилам и принципам Code Style вашего проекта. Я покажу настройки своего реального проекта, которые вы сможете использовать для своих проектов.

  • Уроков: 51
  • Тестов: 76
  • Видео: 59 минут
  • Учеников: 1

Курс про объектно-ориентированное программирование от разработчика .NET с опытом более чем 25 лет. Практическое программирование с обучением. Рассказ о том, как правильное использование подходов ООП в C# может существенно упростить жизнь разработчика.

  • Уроков: 23
  • Тестов: 38
  • Видео: 2 часа 6 минут
  • Учеников: 0

Вы этом курсе речь пойдет про управление состоянием объекта в приложениях на Blazor на платформе ASP.NET Core. На ваш выбор будет представлено четыре способа, которые основываются на разных принципах. Немного теории и практическое программирование, которое представлено в формате видео.

  • Уроков: 16
  • Тестов: 14
  • Видео: 42 минуты
  • Учеников: 3

В этом курсе о том, что такое "Микросервисная архитектура". Основы построения, протоколы коммуникации. А также про ее "плюсы" и главное про ее "минусы", которые, на первый взгляд, трудно заметить. Также я озвучу некоторые заблуждения на тему микросервисной архитектуры.

  • Уроков: 16
  • Тестов: 12
  • Видео: —
  • Учеников: 4
Юмор дня

Сообщения из прошлого века

Разное
Сообщения на пейджер

1. "Леша, у нас родилась девочка! Спасибо тебе большое. Пока, Серега".
2. "Папа, позвони домой. Не могу найти опилки от хомяка".
3. "Я нахожусь на кладбище у бабушки Шуры, сегодня 5-летие смерти. Скоро приеду. Привезу много вкусного. Целую, мама.
4. "Это Сергей Юрьевич, сын Андрея".
5. "Максим, спасибо тебе и папе, что были на могилке у бабушки. Целую, бабушка".
6. "Андрюша, мы купили шикарный намордник, приезжай".
7. "Купи туалетной бумаги и что-нибудь попить".
8. "Дорогой, я не уехала на дачу, потому что мне не открутить руль".
9. "Жора, ты жив? Меня терзают смутные сомнения".
10. "Миша, это мама. У меня к тебе большая просьба, забери у Ильи противогаз, он может в нем пойти купаться и утонуть. Это мне сказал Валера. Позвони мне и выброси его по дороге".
11. "Катя, приходил разгневанный спаренный сосед по поводу неработающего телефона".
Читать полностью
12. "Ты что, опять снял штаны и не слышишь пейджера?"
13. "Я даже сесть не могу. Спасибо за прекрасный праздник. Света".
14. "Коля, я жду тебя у заднего прохода."
15. Приходите пешком. Поедем на мне.
16. Кассовый аппарат сломан. Чек пищит и не лезет. Лариса.
17. Милый, забери срочно Машеньку из детского сада. Приезжай, будем варить холодец!
18. "Милая я спускаюсь, меня не целуй, я с женой"
19. Лена, забери у бабушки в красной сумке КЛЮЧИ ОТ БЕНЗОПИЛЫ...
20. "Купи ТУАЛЕТНУЮ БУМАГУ и езжай домой СРОЧНО!!!!!!"
21. Привези колбасу, яйца, туалетную бумагу, шампунь и что-нибудь на десерт.
22. Валера, отбей мне что-нибудь. Маша.
23. Дорогой, по дороге домой купи одну сосиску, у нас сегодня гости. Дорогая.
24. Матом тебя прошу, приезжай скорее!
Открыть
Интересные новости
Spec-Driven Development: обзор инструментов
Общая
01.10.2026 06:14:39

Агенты научились писать код быстрее, чем мы успеваем его читать. Но скорость оказалась не главной проблемой — главной стало то, что агент не помнит, о чём вы договорились вчера. В этой статье рассмотрим подход, который пытается эту проблему решить, и инструменты, которые его реализуют: GitHub Spec Kit, Kiro, OpenSpec, BMAD Method, Tessl и ещё несколько.

Вышел FreeCAD 1.1.4
Программное обеспечение
01.10.2026 04:12:40

В конце сентября 2026 года состоялся выпуск открытого параметрического трёхмерного редактора FreeCAD 1.1.4, позволяющего создавать объёмные модели и чертежи их проекций. Сборки проекта доступны для Windows, MacOS и Linux. Выпуск FreeCAD 1.0.0 состоялся в ноябре 2024 года. Проект был публично анонсирован на форуме OpenCascade в 2003 году разработчиком по имени Юрген Ригель (Jürgen Riegel).

Microsoft представила WSL 3.0 с поддержкой запуска Linux-контейнеров в Windows
Программное обеспечение
01.10.2026 04:12:00

Microsoft представила подсистему Windows для Linux (Windows Subsystem for Linux - WSL) 3.0, позволяющую запускать Linux‑приложения в Windows. Новая ветка примечательна реализацией возможности для запуска Linux‑контейнеров в Windows и переходом на ядро Linux 6.18. Исходный код применяемых в WSL утилит командной строки, фоновых процессов для Linux‑окружений, графического стека wslg, сервисов для запуска контейнеров и виртуальной машины опубликован на GitHub под лицензией MIT. Версия WSL 2.0 вышла в сентябре 2023 года.

Поменяли object на Lock — и два потока встретились в критической секции
Архитектура и паттерны
01.10.2026 01:45:07

В .NET 9 появился новый тип System.Threading.Lock, рекомендуемый как замена object для синхронизации. Но компилятор разворачивает lock по-разному для каждого типа: для object используется Monitor, а для Lock — собственный механизм EnterScope().

Проблема возникает, когда один экземпляр Lock попадает в переменную типа object или передаётся через универсальный метод — два потока начинают захватывать разные механизмы блокировки на одном объекте, нарушая взаимное исключение (в тесте зафиксировано 106 тысяч одновременных входов в «критическую секцию»). Решение: включить предупреждение CS9216 как ошибку сборки, избегать универсальных обёрток с lock по параметру типа и хранить замки как явный Lock, а не object.

О пользе CHECK-ограничений в MSSQL: как план запроса ускорился почти в 6 раз
Архитектура и паттерны
01.10.2026 01:44:28

Статья показывает, как CHECK-ограничения в MSSQL помогают оптимизатору запросов строить более эффективные планы выполнения. Реальный пример: после добавления ограничения, определяющего допустимые значения колонки State (0-10), число прочитанных строк упало почти в 6 раз — с 659796 до 114496, а логические чтения снизились с 11268 до 2301.

Ключевая идея: сервер преобразует условие «NOT IN (0, 6, 8)» в эквивалентное «IN (1, 2, 3, 4, 5, 7, 9, 10)» и вместо сканирования широких диапазонов индекса выполняет серию точечных переходов, а при противоречии в условиях WHERE может вовсе исключить обращение к данным. Для приложений на Entity Framework автор рекомендует библиотеку EFCore.CheckConstraints для автогенерации ограничений на основе enum-типов.

Вопрос дня
Кто из российских команд выйграл первый кубок УЕФА? (© karni-shua)
Открыть
Полезности
Опубликовано 08.09.2021 17:40:01 в категории Полезности
Комментариев: 1
В этом посте постарался собрать всё самое полезное, что может помочь максимально быстро найти новую работу разработчику.
Шаблоны микросервисов
Опубликовано 03.08.2021 14:50:19 в категории My Frameworks
В статье речь пойдет про Nimble Framework. Шаблоны позволяют ускорить процессы, потому что исключают рутину. Не за чем делать одно и тоже много раз, можно просто использовать наработки и опыт других людей. Причем сфера применения шаблонов абсолютно не важна. Как часто вы создаете микросервисы?
Опубликовано 02.07.2021 16:10:26 в категории Полезности
Комментариев: 3
Интересные, полезные ссылки на книги, видео, статьи и другие материалы, которые могут быть полезные разработчикам.
Опубликовано 22.05.2021 23:22:50 в категории Теория и практика
Серия видео роликов с вопросами и ответами на них, которые присылают подписчики youtube-канала и читатели блога, а также и подписчики boosty.to. Ответы на разные вопросы по разным темам: о принципах программирования, паттернах, правилах, законах, библиотеках, nuget-пакетах, инструментах, сборках и многое-многое другое.
Что-то пошло не по сценарию и завершилось ошибкой. Перезагрузить страницу (F5) 🗙

Переподключаем сервер...

Переподключение сломалось... Пробуем еще раз сек.

Не получилось переподключится.
Пожалуйста, обновите страницу F5

Сессия была поставлена сервером на паузу.

Восстановить сессию не получилось.
Пожалуйста, обновите страницу F5.