CTO Genesis Media Вячеслав Одиноков более 11 лет работает в IT. В Genesis прошел путь от Senior Front-End Developer до CTO. В своей колонке для AIN.UA он поделился лучшими книгами о веб-разработке, которые были полезными для развития его собственной карьеры.
Большую часть своего карьерного пути в IT я провел в качестве full stack-веб-разработчика. Активное участие во всех этапах разработки веб-приложений требует разносторонней квалификации. Еще с того времени я взял за правило добавлять в свой список для прочтения литературу из множества сфер и о разных темах. Лучшее я собрал в эту подборку.
Илья Григорик, High Performance Browser Networking: What every web developer should know about networking and web performance
Когда на собеседованиях я спрашиваю, чем занимается фронтенд-разработчик, то часто слышу, что он отвечает только за то, что видит пользователь. Почему-то почти никто не говорит о том, как эта видимая часть появляется в браузере пользователя.
В моем представлении фронтенд-разработчик в первую очередь выбирает оптимальные форматы ресурсов, порядок и способы доставки этих ресурсов (скриптов, стилей, шрифтов, картинок и прочее) в браузер пользователя, а уж затем реализует пользовательский интерфейс и обеспечивает удобство использования сайта.
В книге достаточно полно описаны “способы” доставки, их особенности, ограничения и сферы применения. Сегодня быстродействие сайтов – крайне актуальная тема, а Илья Григорик является специалистом в вопросах производительности в вебе. У него множество полезных статей, которые можно прочитать здесь.
Александр Швец «Погружение в паттерны проектирования»
Книга также доступна на украинском и на английском
Паттерны проектирования — это решение проблем, которые часто встречаются при разработке программного обеспечения. На сегодняшний день это весьма популярная тема. О них спрашивают на собеседованиях в IT-компаниях, используют в разработке и обсуждают в сообществах, когда ищут различные применения в тех или иных частных случаях.
На мой взгляд, у Александра хорошо получилось объяснить каждый из шаблонов на понятных примерах. Их можно реализовать на многих языках программирования, улучшить свой код или же с их помощью подготовиться к собеседованию.
У автора также есть сайт. Там можно найти описание шаблонов и полезные сведения о рефакторинге кода.
Professor Frisby, Mostly adequate GUIDe to functional programming
Книга также доступна на украинском (контрибьютор GitHub: Главы 1-7) и русском (контрибьютор GitHub: Главы 1-8)
В свое время эта книга произвела на меня сильное впечатление. До тех пор я имел лишь поверхностное понимание о принципах функционального программирования. Книга помогла сложить более целостную картину. Многие понятия, описанные автором, я стал применять в повседневной разработке, что помогло сделать код более предсказуемым.
Так как о функциональном программировании последние годы говорят много, книгу стоит прочитать хотя бы для того, чтобы понимать, в чем суть и какая цель.
К счастью, она написана довольно легким языком и местами с юмором. Автор не ныряет слишком глубоко в технические детали, но и не использует чересчур упрощенные аналогии. Кроме полезных примеров в конце глав найдете упражнения, с помощью которых можно себя проверить.
Также по следам книги создали онлайн-курс на egghead.
Pramod J. Sadalage, Martin Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence
Книга также доступна на русском
Мне всегда нравилась идея “полиглотизма” в разработке: выбирать технологию или язык в зависимости от задачи. Идея вроде очевидна, но я часто вижу, как специалисты ограничивают себя одной технологией и пытаются натянуть на нее решение.
Эта книга стала для меня отличным подспорьем на пути к “полиглотизму” в вопросах работы с данными. Считается, что с помощью NoSQL можно создать более производительные, легче масштабируемые и проще программируемые системы. Авторы доступно объясняют устройство и работу различных СУБД, а также демонстрируют возможные пути их использования.
Michael T. Nygard, Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Книга также доступна на русском
Эта одна из самых любимых книг.
Иногда, разрабатывая продукт, мы забываем, что он будет жить не в вакууме, а в мире, где полно всяких ограничений и неожиданностей. Книга заставляет задуматься над внутренними особенностями вашего продукта, а также о его готовности к жизни в реальном мире среди возможных атак, внезапных наплывов пользователей, нестабильной работы интернета или дорогого трафика у пользователей, блокировок используемых вами сервисов и т.п.
Автор добавил примеры на Java с пояснениями и комментариями, в которых будет несложно разобраться.
Я всегда в поиске новой полезной информации, поэтому если вы тоже увлекаетесь темой веб-разработки, призываю делиться и вместе расширять список качественной литературы.
Автор: Вячеслав Одиноков, CTO Genesis Media