Публикации

Приручаем красную панду

Приручаем красную панду

Redpanda – замена Kafka для тех, кто не любит JVM.

Redpanda Go
Подробнее
Логи в Go

Логи в Go

Go – это язык программирования, который часто используется в backend-разработке. Backend-сервисы иногда принимают в качестве конфигурационного параметра путь к log-файлу. В среде Unix такой подход не считается хорошим дизайном, поскольку не задействует мощь стандартных потоков stdout и stderr, предоставляемых каждой Unix-программе.

Go
Подробнее
Код во второй четверти XXI века. Часть 2

Код во второй четверти XXI века. Часть 2

Статья готовится к публикации.

coding metrics uml
Подробнее
Код во второй четверти XXI века. Часть 1

Код во второй четверти XXI века. Часть 1

2025-й год завершил эпоху классической разработки ПО. Эта эпоха началась крахом «пузыря доткомов» 10 марта 2000, но привела к распространению сети Интернет по всей планете, в том числе с применением низкоорбитальных спутниковых сетей. Сейчас мы не мыслим экономику без коммуникаций в сети, но 25 лет назад интернет стал одним из немногих, если не единственно возможным, «социальным лифтом» для множества людей. В том числе и для меня. Я полагаю, что что-то подобное ждет нас и в 2026-м. Инструменты разработки изменились радикально, но «новой экономики», где неосязаемые активы преобладают над ресурсными, снова не случится, несмотря на обещания AI-визионеров. В пользу такого вывода у меня есть ряд соображений.

AI LLM coding
Подробнее
Волновая архитектура на практике

Волновая архитектура на практике

Дракон сложности живет в стейт-машинах. Дракон не злой и не добрый, это часть природы мира, и с ним бесполезно сражаться. Слабого сложность поглотит, а сильный в случае своей победы сам станет Драконом. Это происходит снова и снова: OOP, FP, DDD, любые подходы и фреймворки, созданные для борьбы со сложностью, в итоге обрастают собственной — инструментальной, не меньшей, чем та, с которой они пытались справиться.

архитектура мобильных приложений
Подробнее
Архитектура для кросс-функциональных команд

Архитектура для кросс-функциональных команд

Вопросы архитектуры в IT традиционно делятся на «общепринятые практики» и «велосипеды», однако граница между ними остается размытой. Причина проста: архитектура должна эволюционировать вместе с ростом компании, и появление кросс-функциональных команд — один из неизбежных этапов такой эволюции.

архитектура мобильных приложений
Подробнее
Архитектура сложных клиентских приложений

Архитектура сложных клиентских приложений

Представлен современный взгляд на архитектуру и методологию разработки сложных клиентских приложений. Здесь слово «клиентских» означает независимость от платформы (iOS, Android, Web, Flutter и т.п), а «сложных» — подразумевает наличие как синхронизируемого с бэкендом клиентского состояния, так и множественных источников событий.

архитектура мобильных приложений
Подробнее