
В детстве у многих были грандиозные планы: «вырасту — стану космонавтом». Я же долго не разделял этой категоричности сверстников: мир казался слишком большим и интересным, чтобы выбирать что-то одно. Да и подготовка космонавтов — дело нелегкое.
К выпускному стало ясно, что технические науки — и есть мой профиль. По русскому и литературе я перебивался с тройки на четверку, а классика совершенно не трогала. Но парадокс: где-то в глубине души жило безудержное желание творить.
Привет, Хабр! На связи Владимир Туров, разработчик в Selectel. В этой статье — о моем пути: как и зачем технарю писать тексты, чем создание публикации на Хабре отличается от работы над книгой. Также делюсь тем, что у меня получилось.
Еще школьником, в 2015 году я отважился написать свою первую статью в «Песочницу» и получил заветное приглашение на Хабр. Для меня это стало серьезным достижением, хотя мало кто из друзей мог по достоинству оценить событие: не все понимали значимость инвайта. Но главной целью была не «инвитация», а желание рассказать о технологии iOSOpenDev, которая помогла мне разобраться в разработке под iOS.
Следующая статья появилась через полтора года, уже в университете. Преподаватель по предмету «Системное программное обеспечение» ценил нестандартное мышление и для «слишком умных» придумывал задачи из разряда «совместить несовместимое». Мой предшественник, например, сделал awk-raycaster — игровой движок в стиле Wolfenstein 3D на скриптах awk.
Одногруппники создавали на базе строкового редактора sed безумные вещи: просмотрщики BMP в терминале, sedmario, Flappy Bird и другие проекты. Проблема была одна: полное отсутствие литературы. Все-таки эти утилиты созданы для обработки текста, а не для игр.
Тогда я понял, что обязан описать свое решение. Во-первых, чтобы помочь будущим студентам. А во-вторых, у меня сложилось впечатление, что на Хабре любят «троллейбусы из буханки хлеба». И я рассказал.

В начале своего пути на Хабре я был наблюдателем. Восхищался авторами, которые умели объяснить сложное простым языком. Например, в разделе «Лучшее за все время» можно найти детальный разбор того, почему чип Face ID в iPhone может вывести сам себя из строя. Казалось бы, совершенно ненужная большинству читателей информация. Но как же интересно!
Уже не помню всех статей, вдохновлявших меня на старте, но перевод «Морской бой на BGP» оставил глубокую травму определил вектор моего развития.
Устроившись в Selectel, я сразу заинтересовался корпоративным блогом. Тем более что инструкция для новичков гласила: «Хочешь писать на Хабр? Приходи с темой, и мы поможем». Правки моих первых текстов были по-настоящему беспощадными. Редактор не просто поправлял ошибки, а переписывал предложения и иногда целые абзацы. С одной стороны, это больно било по самолюбию, но с другой — оказывалось невероятно полезно.
Вскоре в компании появилось ви́дение: лучше всего о технологиях расскажут те, кто с ними непосредственно работает. Сложилась взаимовыгодная ситуация: редакторы обучали технических специалистов качественному письму, а взамен получали глубокий и достоверный контент с минимальными затратами ресурсов.
Писать о рабочих задачах было скучновато: действительно интересные вызовы случаются не каждый день, да и NDA часто связывает руки. Пришлось выбрать путь «троллейбуса из буханки хлеба» — изучение новых технологий через краткосрочные личные проекты. Такой формат развязывал руки: я не был скован корпоративными стандартами, рисками сломать продакшен или необходимостью годами заниматься поддержкой кода. Да и цикл разработки статьи получался гораздо короче.
«Морской бой на BGP» и тот проект на sed прочно засели в памяти и мотивировали искать нестандартные применения привычным инструментам: «Морской бой» в PostgreSQL, xLights в Minecraft, «Крокодил» на Flipper Zero, «Тетрис» в QR-коде. Конечно, я не только «изобретал велосипеды», но и адаптировал доступную информацию: разбирал формат PNG, пайплайны в GitLab CI, писал инструкцию для Stable Diffusion.
В 2023 году мои старания заметил Олег @OlegSivchenko из издательства «БХВ» и предложил написать книгу о чат-ботах и искусственном интеллекте. С одной стороны, это было приятное признание, с другой — столкновение с суровой реальностью. Мои любительские, оторванные от реальной работы проекты создали ложное впечатление, что я профи в области ИИ.
Но я, человек, просто «нажимающий кнопки» и «крутящий крутилки», конечно, не мог тягаться с авторами, которых мне ставили в пример. Они в своих книгах объясняли сложнейшую математику обработки естественных языков и архитектуру нейросетей. От предложения пришлось отказаться: необходимые знания явно лежали за пределами моих компетенций.
Спустя год Олег написал снова, предложив более близкую мне тему программирования и проектирования информационных систем. Вот тут и закипела работа.
Черновик дался мне не так уж легко. Если статью на Хабр я пишу за пару дней, то на книгу ушло несколько месяцев упорной работы по вечерам. Как оказалось, самая большая трудность — выдержать единый стиль повествования.
Настроение скакало: то хотелось «похулиганить», добавив в примеры отсылки и ненавязчивые шутки, то, наоборот, тянуло в сухой академизм и предельную серьезность. Кроме того, по ходу дела всплывали нюансы, упущенные при планировании структуры. Приходилось искать для них подходящее место и аккуратно вписывать в уже готовый текст.
При долгой работе часто посещают мысли: «Да здесь же все очевидно, зачем я это пишу?». К счастью, мне удалось с ними справиться. В декабре 2024 года я сдал рукопись, а уже в июне 2025 моя книга «Проектирование информационных систем. Профессиональный подход» вышла в свет. Адресована она прежде всего новичкам, но и опытные разработчики найдут в ней пользу.

Исполняем желания на Новый год 🎄
Напишите письмо Тирексу и получите инфраструктурную поддержку для проекта.
Краткий обзор
С самого начала решил разделить книгу на две части: теорию и практику. Первая посвящена обзору технологий и инструментов. Чтобы наглядно раскрыть их плюсы и минусы, я ввел сквозной пример — волшебное Тридевятое королевство, в котором внезапно возник запрос на цифровизацию.
Так удалось абстрагироваться от рутинных задач реального мира и избежать споров о методах, которые уже доказали свою эффективность.
Теоретическая часть
Глава 1. Методологии разработки ПО. Фундаментальная, пусть и немного сухая часть. Она учит общему архитектурному языку и помогает оценивать стоимость рисков на каждом этапе разработки.
Глава 2. Выяснение требований. Посвящена видам требований к программному обеспечению. Разбираются отличия формальных требований, которые предъявляются к программному обеспечению, от нужд пользователя.
Глава 3. Архитектурные шаблоны и стили. При разработке информационных систем есть несколько высокоуровневых принципов ее организации. В этой главе разбираются на примерах наиболее популярные из них.
Глава 4. Принципы разработки ПО. Разработка — процесс долгий, содержит очень много деталей, которые определяются волевыми решениями. Некоторые из них признаны на практике и проверены временем, а значит, об этом тоже нужно рассказать.
Глава 5. Технологии. Самая большая глава с максимально разнообразным содержимым — рассматриваются основополагающие подходы для эффективного хранения, передачи и обработки информации.
Глава 6. Тестирование. Абсолютное покрытие тестами — миф, но грамотный подход к тестированию позволяет свести риски ошибок к минимуму. Учимся применять эти знания на практике.
Глава 7. Развертывание. На примере веб-технологий разбираем путь доставки ПО от команды разработки до конечного пользователя.
Глава 8. Балансировка нагрузки. Погружаемся в проблемам сетевого взаимодействия и распределению запросов пользователей между узлами информационной системы.
Глава 9. Обслуживание. После релиза программное обеспечение нужно сопровождать: получать обратную связь и устранять ошибки, которые не были обнаружены при тестировании. Изучаем способы наблюдения и поддержки уже развернутого в продуктовой среде ПО.
Глава 10. Отказоустойчивость, резервирование и надежность. В работе оборудования тоже возможны сбои. Хотя программист зачастую не может предотвратить подобные ситуации, он тем не менее обязан позаботиться о плане восстановления информационной системы.
Практическая часть
Как уже говорилось выше, цель работы — продемонстрировать логику проектирования информационных систем. Рассматриваем в том числе ситуации, когда в существующем продукте появляются внезапные бизнес-требования, влекущие за собой существенные изменения, в том числе на уровне архитектуры.
Глава 11. Проектирование неинтерактивного редактора изображений. Разрабатываем утилиту командной строки, заложив в нее расширяемость через публичные интерфейсы. Именно этот проект станет примером того, как одно «внезапное бизнес-требование» может потребовать радикального пересмотра всей архитектуры.
Глава 12. Проектирование текстового блога. Пример веб-проекта, который акцентирует внимание на компромиссе между скоростью разработки и количеством функций. Минимальный вариант может быть сделан практически без создания бизнес-логики. Но подходит ли это под бизнес-требования?
Глава 13. Проектирование сервиса конвертации файлов. Еще один веб-проект, который на словах очень прост. Но как адаптироваться к большому количеству запросов от пользователей, как обеспечить безопасность и не раздать «бесплатные» ресурсы сверх нормы?
Глава 14. Проектирование интернет-магазина в Telegram. Что если одна разрабатываемая информационная система полностью зависит от другой, над которой нет контроля? Для решения задачи нужно адаптироваться в интерфейсам, которые предоставлены, а не которые хочется.
Глава 15. Проектирование плагина для отправки проекта из программы 3D-моделирования. Продолжение главы 14, но обсуждается не веб-технологии, а ПО на компьютере пользователя.
Заключение
Тут я немного споткнулся на том, чем завершить эту статью. Библиографическая запись книги? Хвала Selectel за программу поддержки авторов? Какая-то кастомная реклама наших продуктов? Дежурное предложение «работали, работаем и будем работать»? Давайте я лучше просто поделюсь небольшим выводом, который сделал для себя на пути от первой статьи на Хабре до собственной книги.
Даже самые странные проекты, но сделанные с душой, интересом и энтузиазмом могут привести к великим свершениям. Даже если это очередной «троллейбус из буханки хлеба». Не бойтесь творить странное. Только так можно познать, как что‑то устроено.
Туров В. Проектирование информационных систем. Профессиональный подход. — СПб.: БХВ-Петербург, 2025. — 208 с.
