Привет, Хабр! Меня зовут Глеб Тильтиков, я Chief Technical Officer платформы МТС OmniChannel. Сегодня поделюсь подборкой книг, которые помогут ИТ-специалистам расширять кругозор, прокачивать скилы и быть в тренде разработки. В ней книги про Go, высоконагруженные приложения, микросервисы, разработку ПО, а еще вспомним игры, которые мы все так любим. Надеюсь, вам понравится!
Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin's Creed и дальше
Автор: Тайнан Сильвестр
Эта книга в целом продвигает профессию разработчика, что-то вроде гида по геймдеву с крутыми примерами. В ней рассказывается об играх, в которые все играли и играют, и о том, как мыслили программисты, когда старались сделать их успешными.
Автор (он в отрасли 15 лет) подробно рассматривает процесс создания игр, акцентируя внимание на том, как объединить эмоции, впечатления, игровую механику и мотивацию геймеров. Сильвестр анализирует примеры из популярных игр, таких как Super Mario, Doom и Assassin's Creed, чтобы показать приемы создания хороших проектов. Он размышляет, как создать игровую механику, вызывающую эмоции, объединить сюжет и интерактивность. А еще рассказывает о том, как грамотно планировать процесс работы, проводить тестирование игровых механик и анализировать результаты, чтобы последовательно улучшать игру.
Сильные стороны книги:
Наглядность: автор делится кейсами известных игр, что помогает лучше понять, как применить теорию на практике.
Глубокий анализ: Сильвестр подробно разбирает различные аспекты геймдизайна — от механики до эмоционального отклика игроков.
Доступность изложения: книга написана понятным языком.
Паттерны проектирования
Авторы: Эрих и Элизабет Фримен
Книга предназначена для разработчиков программного обеспечения, архитекторов ПО, студентов и всех, кто хочет научиться создавать качественный код, который легко поддерживать.
Это один из лучших гидов по классическим паттернам проектирования в программировании. Он раскрывает ключевые паттерны для решения распространенных проблем при разработке ПО. Основное внимание уделяется практике: автор не просто теоретизирует, а демонстрирует, как использовать паттерны в реальных проектах.
Каждый паттерн рассматривается через несколько аспектов:
какую задачу он решает;
проблемы, которые возникают без его использования;
примеры из реальной разработки.
Авторы добавили диаграммы, визуализации и код, чтобы облегчить понимание сложных концепций. А еще книга написана простым и живым языком, есть юмор. Это помогает лучше воспринимать материал.
Сильные стороны:
практика: есть много примеров из реальной разработки;
удобная структура: каждая глава посвящена отдельному паттерну.
Обязательно прочитайте, не упускайте возможность!
Apache Kafka. Потоковая обработка и анализ данных
Авторы: Ния Нархид, Гвен Шапира, Тодд Палино
В книге подробно и доступно объясняется, как настроить и развернуть кластеры Kafka, спроектировать устойчивые и масштабируемые системы. Тут же о нюансах архитектуры Kafka и как использовать ее возможности на полную катушку.
Ния Нархид — одна из создателей Kafka в LinkedIn и соучредитель Confluent, компании, которая поддерживает платформу. Гвен Шапира и Тодд Палино тоже внесли значительный вклад в развитие инструмента.
Сильные стороны:
Экспертность: авторы — разработчики Kafka, так что в их глубоком понимании темы можно не сомневаться.
Практическая направленность: содержит подробные примеры и рекомендации по использованию Kafka в реальных проектах.
Доступность изложения: книга вполне понятна как новичкам, так и опытным специалистам.
Буду краток: «Apache Kafka. Потоковая обработка и анализ данных» — просто мастхэв.
Terraform: инфраструктура на уровне кода
Автор: Евгений Брикман
Книга написана для системных администраторов, инженеров DevOps и разработчиков, которые хотят научиться управлять инфраструктурой с помощью Terraform.
В этом издании автор подробно объясняет, как использовать Terraform для конфигурирования, запуска и управления облачной инфраструктурой. Раскрываются такие темы, как установка Terraform, основы синтаксиса, управление состоянием, создание модулей для повторного использования, работа с конфиденциальными данными и интеграция с различными провайдерами. Особое внимание уделено практическим примерам и рекомендациям.
Сильные стороны:
Наглядность: автор предоставляет реальные примеры кода и сценарии использования.
Актуальность: третье издание полностью переработано и дополнено, отражает последние изменения и улучшения в Terraform.
Ценный источник знания для тех, кто хочет освоить Terraform. Не пропустите.
Site Reliability Engineering: надежность и безотказность как в Google
Авторы: Бетси Бейер, Нейл Ричард Мерфи, Крис Джоунс и Дженнифер Петофф
Книга — мастхэв для инженеров SRE, DevOps-специалистов, системных администраторов и разработчиков. Всех, кто хочет узнать, как создавать и поддерживать масштабируемые, надежные и высокодоступные софтверные системы.
Авторы раскрывают философию и методы Site Reliability Engineering (SRE) — подхода, который Google использует для управления собственными системами. Книга охватывает темы автоматизации, инцидентов, мониторинга, планирования ресурсов и работы с ошибками. В каждом разделе приводятся примеры из опыта Google, показывающие, как применять принципы SRE в реальных условиях.
Ключевые темы — баланс между скоростью разработки и стабильностью, управление бюджетом ошибок, автоматизация процессов для повышения надежности и эффективное управление инцидентами.
Сильные стороны:
Практические знания: подробный разбор подхода SRE с примерами из опыта Google.
Универсальность: комбинация теории и практики, а это позволяет легко адаптировать методы из книги к собственной работе.
Экспертность: советы и стратегии от ведущих специалистов в области надежности систем.
Мой вердикт: относительно сложно, но интересно.
Язык программирования Go
Авторы: Алан А. А. Донован и Брайана У. Керниган
Будет полезна программистам, которые хотят изучить Go с нуля или углубить свои знания в этом языке. Соответственно, подходит как для начинающих, так и для опытных разработчиков. Авторы предлагают детальное введение в язык Go, стартуя с основных концепций и синтаксиса и постепенно переходя к более сложным вопросам. Книга охватывает такие темы:
типы данных и структуры управления;
функции и методы;
пакеты и модули;
конкурентность и параллелизм;
работа с файлами и сетью;
тестирование и отладка.
Сильные стороны:
Экспертность: Брайан У. Керниган — признанный специалист в области компьютерных наук, что придает книге дополнительную ценность.
Глубокое погружение: рассматриваются как базовые, так и продвинутые темы, так что она полезна для широкого круга читателей.
Особое внимание уделено практическим примерам и упражнениям, которые помогают читателю закрепить полученные знания и применить их на практике.
Высоконагруженные приложения. Программирование, масштабирование, поддержка
Автор: Мартин Клеппман
Книга будет полезна разработчикам, архитекторам и техническим руководителям. В общем, всем специалистам, кто причастен к созданию и поддержке масштабируемых и надежных систем обработки данных.
Автор подробно рассматривает ключевые принципы, алгоритмы и компромиссы, необходимые при разработке высоконагруженных систем. Книга делится на три основные части, каждая из которых посвящена теоретическим аспектам работы с распределенными системами и базами данных. На примере внутреннего устройства популярных программных пакетов и фреймворков обсуждаются такие темы, как модели хранения данных и разновидности баз, репликация и шардинг, распределенные транзакции, вопросы согласованности и устойчивости к сбоям в распределенных системах.
Сильные стороны:
Глубокий анализ: автор детально разбирает внутренние механизмы современных систем обработки данных, что помогает читателю понять их работу на фундаментальном уровне.
Реальные примеры: анализ кейсов популярных программных пакетов и фреймворков.
Структурированный подход: четкое деление на части и главы, отличная структура.
Эта книга станет ценным ресурсом для специалистов, стремящихся глубже понять принципы создания высоконагруженных систем и применять их в своей работе.
Создание микросервисов. 2-е издание
Автор: Сэм Ньюмен
Книга может быть интересна архитекторам, программистам, тестировщикам и специалистам по эксплуатации. Всем, кто хочет узнать нюансы проектирования, разработки, развертывания, тестирования и обслуживания микросервисных систем.
Во втором издании автор обсуждает актуальные темы, связанные с созданием, масштабированием и управлением микросервисной архитектурой. Книга охватывает современные решения для моделирования, интеграции, тестирования, развертывания и мониторинга автономных сервисов. Примеры из реальной практики помогают понять, как получить максимальную отдачу от этих архитектур.
Сильные стороны:
Актуальность: обновленное издание показывает последние тенденции и практики в области микросервисов.
Широкий охват тем: рассматриваются все аспекты разработки и эксплуатации микросервисов — от моделирования до мониторинга.
Хорошая книга, рекомендую!
Чистая архитектура. Искусство разработки программного обеспечения
Автор: Роберт Мартин
Книга предназначена для программистов, системных аналитиков и архитекторов. В общем, для айтишников, которые хотели бы улучшить свои навыки в области проектирования и создания устойчивых, масштабируемых и легко поддерживаемых систем.
Автор делится личным опытом и подробно рассматривает ключевые аспекты разработки ПО. Он объясняет принципы и практики чистой архитектуры, уделяет внимание разделению системы на компоненты и взаимодействию последних. Обсуждаются методы управления зависимостями, использование инверсии управления и подходы к тестированию, которые помогают обеспечить высокое качество кода.
Сильные стороны:
Универсальность: информация из книги применима к проектам любого масштаба и индустрии — от стартапов до крупных корпоративных систем.
Широкий круг читателей: подходит как для новичков, желающих понять основы архитектуры, так и для опытных разработчиков.
Долговечные принципы: автор делает акцент на идеях, которые остаются актуальными вне зависимости от изменений в технологиях или инструментах.
На сегодня все. Если, по вашему мнению, каких-то книг не хватает, дайте знать! А если вас интересуют книги по конкретным темам или решениям, тоже пишите — сделаем еще одну подборку.
Больше подборок в нашем блоге на Хабре: