Принцип подборки книг
Тема backend-программирования крайне многообразна. Литература разделена по аспектам:
-
Архитектура сайтов
-
Технологии
-
Языки программирования
Среди книг есть те, что подойдут всем, и есть те, что адресованы либо новичкам, либо профессионалам. При всех достоинствах книг и их авторов, популярная литература не предназначена для самообразования. Постигать искусство программирования следует под руководством опытных наставников. Лучше всего осваивать профессию на специализированных курсах.
Архитектура сайтов
Представленные в этом разделе книги посвящены краеугольной теме построения надежного сайта с дальнейшим поддержанием и укреплением его надежности.
Улучшение проекта существующего кода
Авторы: Мартин Фаулер, Кент Бек и Джон Брант
В книге известный эксперт в области объектных технологий и разработок на Java Мартин Фаулер с соавторами:
-
Рассказывает о современных практиках проектирования
-
Демонстрирует эффективные паттерны и фреймворки
-
Анализирует типичные ошибки неопытных и чересчур самоуверенных разработчиков
Авторы показывают читателям, как исправить и оптимизировать сомнительный или откровенно неудачный проект. Рефакторинг кода по Фаулеру — это совокупность дискретных изменений кода, дающих в конечном счете накопительный эффект. Эта тонкая работа позволяет предотвратить, казалось бы, неизбежный распад проблемного приложения.
Процесс «реанимации» кодов проиллюстрирован семью десятками примеров на языке Java. Принципы Фаулера применимы к кодам на любом языке ООП, что делает издание особенно ценным.
Плюсы:
Минусы:
-
Предназначена сугубо для профессионалов, новичку покажется сложной
-
Практически невозможно найти в бумажном виде даже в интернет-магазинах
-
Примеры только на Java
Второе издание вышло в 2019 году, но информация актуальна по сей день.
Чистая архитектура. Искусство разработки программного обеспечения
Автор: Роберт Мартин
Роберт Мартин — автор бестселлеров «Идеальный программист» и «Чистый код». В новой книге он дает полезные советы программистам-новичкам и разработчикам с небольшим опытом, учит их не бояться принимать самостоятельные решения.
Автор дает четкие и лаконичные инструкции по разработке архитектуры сайтов. Книга универсальна и поможет как backend-разработчикам, так и специалистам смежных специальностей (frontend, аналитика данных, DevOps-инженеры).
Плюсы:
Минусы:
Как справочное руководство книга не вполне актуальна, но как введение в профессию достойна того, чтобы ее прочесть.
Release it! Проектирование и дизайн ПО для тех, кому не все равно
Автор: Майкл Нейгард
Учебник — оптимальный вариант для программиста уровня junior. Он вышел еще в 2016 году, но остается неплохим учебным пособием для студентов и «шпаргалкой» для молодых специалистов. Автор помогает разработчикам сократить время проб и ошибок, неизбежных в начале карьеры.
Книга посвящена тому, как сделать программный продукт надежным, устойчивым к внешним воздействиям и по возможности свободным от багов. Автор приводит множество проверенных шаблонов проектирования и не меньшее количество антишаблонов, взятых из неудачного опыта разработчиков.
Большинство примеров кода написаны на Java. Однако советы универсальны вне зависимости от языка программирования, на котором читатель пишет программный код.
Базы данных
Без регулярного обращение к серверным и внешним базам данных разного объема и назначения невозможно представить труд backend-разработчика.
MySQL по максимуму
Авторы: Вадим Ткаченко, Бэрон Шварц и Петр Зайцев
Книга написана в 2012 году и переиздана в 2018 году. Позиционируется как «написанная экспертами для экспертов». Однако много полезной информации там найдет и начинающий backend-разработчик.
В пособии прописаны алгоритмы работы в SQL, разработки индексов и запросов для настройки сервера, балансировки нагрузок, перечислены приемы поддержания доступности БД и восстановления доступа после отказов.
Плюсы:
-
Универсальность. Подойдет всем backend, вне зависимости от базового языка программирования
-
Доскональность в подборе материала
-
Обилие примеров
Минусы:
PostgreSQL 15 изнутри
Автор: Егор Рогов
Широкому кругу студентов и квалифицированных программистов работа доступна в электронном виде. Предыдущее издание книги увидело свет в 2022 году. Автор оперативно реагирует на обновления продукта.
На 662 страницах капитального труда автор подробно рассказывает о функционале системы PostgreSQL и ее отличиях от других систем управления базами данных. Книга состоит из следующих разделов:
Работа отличается четкой структурой. Всего в ней 29 глав, каждая из которых посвящена отдельному аспекту СУБД. Для новичка книга Рогова будет сложна. Но если вы хотите совершенствоваться в backend-разработке, иметь этот учебник на рабочем столе будет полезно.
Языки программирования
Junior-специалисту для работы в backend нужно знать хотя бы один язык программирования. Middle и senior не ограничиваются этим и владеют сразу несколькими ЯП.
Автостопом по Python
Авторы: Кеннет Ретц и Тани Шлюсс
Вышедшая в 2017 году книга рекомендуется как новичкам, так и «питонистам» со стажем. В ней наглядно показано, что Python, воспринимаемый многими как «язык для обучения и мелких проектов», на самом деле не так прост.
Golang для профи
Автор: Цукалос Михалис
Наиболее актуальной книгой по языку Go можно считать фундаментальное 720-страничное руководство Цукалоса, изданное в 2021 году. Целевая аудитория ясна из названия. Нно если новичок ставит перед собой цель освоить «язык будущего», книгу стоит иметь в библиотеке.
PHP: Правильный путь
Тем, кто выбрал для работы в backend язык PHP, обязательно к скачиванию руководство «PHP: Правильный путь». Оно доступно в русской и английской версии только онлайн. Это быстрое руководство с лучшими практиками языка, поддерживающее стандарты написания кода.
В дополнение начинающим разработчикам на PHP стоит обзавестись книгойВладимира Дронова «Laravel 8 быстрая разработка веб-сайтов на PHP». Она посвящена тонкостям самого популярного фреймворка языка.
Вы не знаете JS
Автор: Кайл Симпсон
Изучающим JavaScript стоит прочитать работу Симпсона. Название парадоксальное, но зачастую попадает в точку. Книга вышла в 2021 году и не потеряла актуальности. Автор познакомит с областями видимости, замыканиями, ключевым словом this и объектами — концепциями, которые должен знать любой программист на JS.
Выводы
Единого руководства по backend-разработке не существует по определению — слишком многогранна область программирования. Выбирая литературу, ориентируйтесь на базовый язык и на проблемы, с которыми вы столкнулись в ходе учебы или работы. Многие книги доступны только в англоязычной версии, но и на русском языке немало полезной литературы.