Почему большинству разработчиков не следует писать свою собственную CMS

Понимаю, вы разработчик. Вы смотрите на WordPress и думаете: «Я мог бы создать что-то лучше этого раздутого беспорядка, даже во сне». Вы смотрите на кривую обучения Drupal и задаётесь вопросом, не были ли создатели тайными садистами. И даже не заставляйте меня начинать на экзистенциальный кризис, который заключается в попытке объяснить Joomla клиенту в 2025 году. Но вот в чём дело — и я говорю это с любовью — вероятно, вам не стоит создавать собственную CMS....

16 августа 2025 06:01 · 5 минут · 1055 слов · Maxim Zhirnov

Дизайн, основанный на предметной области: от теории к коду - Руководство для практиков

Когда я впервые столкнулся с Domain-Driven Design (DDD), у меня возникло ощущение, будто я Алиса, которая преследует Белого Кролика в кроличьей норе. «Нацеливайтесь на ядро бизнеса! Убиквитарный язык! Стратегические слои проектирования!» — кричали книги. Но как эти концепции воплощаются в реальный код? Вы здесь, потому что пролистали бесчисленные учебники и всё ещё задаётесь вопросом, с чего начать. Давайте разберёмся с этой терминологией, используя практичный подход, ориентированный на код. Трёхногий стул реализации DDD Прежде чем мы погрузимся в код, давайте визуализируем основу....

3 августа 2025 14:00 · 4 минуты · 693 слова · Maxim Zhirnov

Аргументы против того, чтобы всегда использовать архитектуру, управляемую событиями

Когда я впервые столкнулся с архитектурами, управляемыми событиями (EDA), у меня возникло ощущение, что я обнаружил секретный ингредиент для создания масштабируемых и элегантных систем. «Независимые компоненты, реагирующие на события? Гениально!» — подумал я. Но после того как я увидел, как команды тонут в сложных потоках событий и борются с асинхронными призраками, я понял, что одежда императора оказалась пустой — иногда клей бывает крепче помады. Ловушка сложности: когда гибкость становится удушающим фикусом Давайте начнём с безобидно названного проектирования системы с минимально связанными компонентами....

1 августа 2025 06:01 · 4 минуты · 1 слово · Maxim Zhirnov

Ошибочность 'быстрого провала': когда черепаха бежит наперегонки с кодом зайца

Когда Agile-движение обещало превратить разработку программного обеспечения в высокоскоростную гонку, оно упустило одну важную деталь: даже Рикки Бобби делал пит-стопы. Мантра «Fail Fast, Fail Often» стала священной коровой в технологических кругах, но этот «Хакерский ход Мэри» часто приводит к совершенно противоположному тому, чего мы хотим — стабильным системам и осмысленным итерациям. Философия Fail Fast не является изначально неправильной, но вред от неё заключается в том, что её воспринимают как универсальную истину, а не как стратегию, зависящую от контекста....

25 июля 2025 06:01 · 5 минут · 1 слово · Maxim Zhirnov
Почему вам следует время от времени писать немасштабируемые приложения

Почему вам следует время от времени писать немасштабируемые приложения

Преодоление одержимости масштабируемостью Начнём с кощунственной мысли: иногда написание заведомо немасштабируемого кода — это профессиональный выбор. Я знаю, знаю — это как предложить шеф-повару иногда недожаривать курицу. Но выслушайте меня, прежде чем хвататься за вилы. Нужен был прототип ещё вчера? Внутренний инструмент, которым пользуются три человека? Экспериментальная функция с вероятностью внедрения 5%? Жертвовать масштабируемостью здесь — не лень, а стратегическая сортировка. Думайте о долге по масштабируемости как о финансовом долге: иногда небольшой, намеренный заём позволяет вам воспользоваться возможностью....

8 июля 2025 06:00 · 3 минуты · 602 слова · Maxim Zhirnov