≀И эта статья ответит на вопрос, зачем вообще читать книги в 2023 году при великом разнообразии онлайн-курсов.
39 книг-мастридов для разработчиков, которые хотят освежить знания, быть в курсе новых технологий и прокачать свои навыки.
Каждое издание из подборки расширяет знания по целому ряду тем, связанных с разработкой.
Для вашего удобства добавил рейтинг, ссылки на переводы и картинки для тех, кто просто добавляет статью в закладки, не читая. Enjoy на новогодних праздниках или прямо сейчас.
Учитывая объемы технической литературы для ИТ-специалистов, найти хорошие книги непросто. К тому же, многие книги, особенно привязанные к конкретным языкам, быстро устаревают.
Поэтому для этой подборки выбраны книги, информация в которых востребована на сегодняшний день и применима на практике. Авторы хорошо объясняют сложные концепции, уделяют внимание нюансам, а многие при жизни канонизированы в мире ИТ :)
Из книг можно узнать больше, чем из вузовских лекций или онлайн-курсов. Хорошие книги, с которыми вы можете учиться в собственном теме, легче выбрать, чем хорошие курсы. Нормально ли в 2023 году читать книги, которые были написаны более 20 лет назад?
Есть книги, которые практически не устаревают. Старые книги получают новые редакции, учитывающие современные тренды чистого кода.
Помимо очевидной классики с актуальными переизданиями, подборка включает новинки. Там, где это возможно, указано наличие перевода. Ни одна из приведенных ниже ссылок не является партнерской.
ЧАСТЬ 1. ИДЕАЛЬНЫЙ КОД
Clean Architecture a Craftsman’s Guide to Software Structure and Design
Рейтинг: 4.7*
*здесь и далее издание выбрано по самым высоким оценкам на Amazon
Перевод: есть**
**здесь и далее при наличии перевода на русский язык ссылка стоит на сайт издательства, если не указано иное
Роберт Мартин маститый автор с полувековым опытом и бестселлерами, ставшими классикой: «Идеальный программист» и «Чистый код». «Чистая архитектура» на этом фоне ничем не удивляет: это тщательно выверенный сборник житейской мудрости для начинающих программистов.
Роберт Мартин дает прямые и лаконичные ответы на ключевые вопросы архитектуры и дизайна. Книга охватывает множество реальных сценариев и приложений, с которыми вам приходится сталкиваться в повседневной работе: например, основные принципы проектирования программного обеспечения, управления данными и различные парадигмы программирования. Вы увидите, как грамотно проектировать архитектуру приложения и писать чистый код, а также познакомитесь с признаками «плохого кода».
The Clean Coder: A Code of Conduct for Professional Programmers
Рейтинг: 4.6
Перевод: есть
Конечно, без этой книги Мартина подборка будет не полной. «Чистый код» вот уже более 10 лет учит методам и инструментам настоящих мастеров в программировании.
Важный момент: самого кода в книге фактически нет. В ней идёт речь о полезных софт-скиллах, которые нужны в самом начале пути разработчика: о процессе написания кода, отношении к задачам и TDD. Будет много историй в духе «система была закончена в срок – а потом мы все уволились». Зато книга доступна самому широкому кругу айтишников (и менеджеров).
Pattern-Oriented Software Architecture, Volume 1, A System of Patterns
Рейтинг: 4.1
Перевод: есть
Еще один долгожитель из далекого прошлого – первое издание вышло аж в 1996 году. Русское издание появилось 20 лет спустя.
Хотя ПО и технологии развиваются стремительно, есть вещи, которые особо не меняются. Большинство современных успешных программных систем имеют в основе схожие модели; паттерны часто повторяются, потому что «работает – не трогай». В этой книге рассматриваются эти паттерны на разных уровнях абстракции. Авторы излагают принципы использования паттернов проектирования и приводят их каталог.
The Art of Readable Code
Рейтинг: 4.7
Перевод: есть, но на сайте ph_piter отсутствует
После многих лет написания и чтения кода вы начинаете ценить, когда он хорошо написан. Если код легко читать, значит, скорее всего, вам будет проще масштабировать и отлаживать.
«The Art of Readable Code» демонстрирует и анализирует сотни примеров плохо написанного кода, объясняет типичные ошибки и показывает пути решения проблем. В книге рассматриваются различные темы: форматирование, написание качественных комментариев, уточнение циклов и логики для уменьшения сложности, организация кода и многое другое.
Growing Object-Oriented Software, Guided by Tests
Рейтинг: 4.5
Перевод: нет
Как запланировать «качество» кода в самом начале проекта? Книга описывает важность настройки deployment environment – эта задача позволяет сразу выявлять потенциальные интеграционные ошибки на ранней стадии написания кода.
Книга предлагает рассмотреть преимущества модели «ходячего скелета» (walking skeleton) — наипростейшей версии приложения, которая в своей реализации затрагивает все слои приложения.
Авторы рассказывают о принципах «закона Деметры» (набор правил проектирования при разработке, в частности ООП, накладывающего ограничения на взаимодействия объектов (модулей)), «пирамиде тестирования» (Unit, Integration, End-to-End) и других инструментах, которые сделают ваше приложение лучше.
Refactoring: Improving the Design of Existing Code (2nd Edition) (Addison-Wesley Signature Series (Fowler))
Рейтинг: 4.7
Перевод: есть, на сайте издательства не обнаружен
Мартин Фаулер проливает свет на процесс рефакторинга и описывает лучшие приемы его реализации. Книга дает отличные идеи, где и когда следует углубленно изучать код, чтобы сделать его более читабельным и производительным.
Оригинальное издание вышло в 1999 году, но многие советы будут актуальны еще 20 лет. В 2018 году вышло второе издание, в которой каждая глава актуализирована под текущие реалии разработки. Автор добавил новые техники улучшения кода и примеры на JavaScript.
Теперь перед вами более 70 методов рефакторинга.
99 Bottles of OOP
Рейтинг: без рейтинга
Перевод: нет
Книга предлагает конкретные приемы рефакторинга и принципы ООП для постоянного использования.
О возможностях рефакторинга в одну строку (можно изменять только одну строку кода за раз) оригинально рассказано на примере песни о 99 бутылках…
bottles of beer on the wall
bottles of beer!
Take one down, pass it around
<number — 1> bottles of beer on the wall!
Сэнди Метц незаслуженно малоизвестен в России. Хотя вы могли слышать о книге «Практическое объектно-ориентированное программирование в Ruby», я больше рекомендую «99 Bottles of OOP».
Extreme Programming Explained: Embrace Change, 2nd Edition (The XP Series)
Рейтинг: 4.5
Перевод: есть
Автор Кент Бек скорее всего вам уже знаком: отец экстремального программирования, паттернов проектирования, JUnit и TDD, герой сотен статей. Программный материал по eXtreme Programming вышел в 1999 году. Читатели познакомились с практикой TDD, CI/CD, небольших релизов, постоянного рефакторинга.
Книга как «золотая классика» до сих пор актуальна для любого программиста, желающего повысить производительность своей работы и получить удовольствие от программирования.
Design Patterns: Elements of Reusable Object-Oriented Software
Рейтинг: 4.7
Перевод: есть (2-е издание)
Золотая книга по ООП: четыре паттерна, представленные в этой книге в 1994 (!) году, до сих пор используются для создания надежного кода.
В книге объясняются различные паттерны, которые можно использовать для разработки: творческие, структурные и поведенческие. Вы можете использовать даже их комбинацию, чтобы улучшить свой код. Эта книга может дать вам некоторые альтернативные структуры, которые могут оживить ваш код и улучшить его читабельность или производительность.
Есть нюанс: frozen_coder упоминал, что «Паттерны объектно-ориентированного проектирования» при всём заслуженном величии морально устарели: «есть бесплатная и прекрасно иллюстрированная альтернатива с примерами не на smalltalk — каталог паттернов». Кажется, что ссылка на каталог тоже битая – ничто не вечно в интернете. Если вы знаете альтернативу, поделитесь в комментариях.
The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)
Рейтинг: 4.8
Перевод: есть (2-е издание) (по оригиналу есть хороший конспект)
Если у вас нет никакого опыта разработки, это книга для вас. Ее цель – помочь изучить саму суть разработки программного обеспечения, независимо от какого-либо языка, фреймворка или методологии.
Первое издание «The Pragmatic Programmer» вышло в 1999 году и с тех пор разошлась по цитатам во множестве статей. Что касается актуальности материала, секрет прост – авторы говорят о фундаментальных принципах построения рабочего процесса, которые с течением времени радикально не меняются, а лишь адаптируются.
Что это значит на практике? Да очень просто. Вот цитата из книги от nanton:
Неумышленное дублирование. Разработчики не осознают, что дублируют информацию. Обычно это происходит как следствие ошибок или неувязок на глубинном уровне (например, один и тот же атрибут прописывается в нескольких объектах), и устранение требует реорганизации. В некоторых подобных случаях принцип позволительно нарушать ради производительности, но только в пределах класса.
Согласитесь, трудно поспорить. Книга подбрасывает много тем для размышлений: от личной ответственности и карьерного роста до конкретных методов, который позволяют сделать код легким для адаптации и повторного использования. Впрочем, не ждите глубокого погружения – книга дает только общие представления без детализации.
The Hitchhiker's Guide to Python: Best Practices for Development
Рейтинг: 4.4
Перевод: есть, на сайте издательства отсутствует
«Автостопом по Python» написан сотнями авторов по всему миру. В отличие от других подобных книг, здесь не так много собственно кода. Речь больше идет о философии, определяющей путь, который ведет программиста к улучшению читабельности кода. Книга, скорее, не для новичков. Издание ориентировано на тех, кто хочет сделать код красивее, увидеть примеры плохого и хорошего стиля.
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
Рейтинг: 4.7
Перевод: есть
Это книга «принципов», посвященная философии DevOps и лучшим практикам совместной разработки. Актуальна для технарей, которые хотят продолжить свою карьеру на какой-либо руководящей должности.
В ней подробно описаны некоторые истории, призванные развенчать мифы о культуре DevOps, а также представлены некоторые примеры из самых известных технологических компаний.
Лишь несколько затронутых тем:
• как внедрить непрерывную доставку в практики развертывания;
• как разобраться в концепциях CI/CD;
• как согласовать деловые и ИТ-практики.
«The DevOps Handbook» остается одной из самых известных и наиболее основополагающих книг в области DevOps.
Clean Code: A Handbook of Agile Software Craftsmanship
Рейтинг: 4.7
Перевод: есть, но можно ограничиться изучением конспекта от AGregory
Даже плохой код может работать, но ежегодно бесчисленное количество часов и значительных ресурсов теряется из-за плохо написанного кода. «Clean Code» — один из основополагающих учебников по тематике «чистого кода».
Основная аудитория книги — Java-разработчики. Кроме того, книга была выпущена в 2009 году и некоторый контент уже устарел (например, примеры кода).
Нужно учитывать особенности книги. SergeyT указывал на ряд проблемных и сомнительных моментов… Оставляю на ваше усмотрение – как неотъемлемую часть «золотого фонда».
Learning Go
Рейтинг: 4.6
Перевод: есть
Мы в #CloudMTS с особыми пиететом относимся к Go. Это легкий для входа из любого стека, безопасный, быстрый в разработке язык. На нем написано много облачных технологий: Docker, Kubernetes, Terraform, CockroachDB, etcd, NSQ, Consul. Как вишенка на торте – распространен в open source.
Поэтому нельзя пройти мимо « Learning Go» – эта новая книга содержит основные сведения, необходимые для написания понятного и идиоматичного кода. Независимо от вашего опыта, вы научитесь думать как разработчик Go. Автор Джон Боднер представляет паттерны проектирования, принятые опытными разработчиками Go, исследует и обосновывает их использование.
Fundamentals of Software Architecture: An Engineering Approach
Рейтинг: 4.6
Перевод: есть, на сайте издательства не обнаружен
Исследования заработной платы по всему миру регулярно помещают архитекторов программного обеспечения в десятку лучших профессий, однако не существует реального руководства, которое помогло бы разработчикам стать архитекторами. «Fundamentals of Software Architecture» старается заполнить этот пробел.
Книга представляет собой первый всесторонний обзор многих аспектов архитектуры программного обеспечения:
• шаблоны
• идентификация, связность, разделение и гранулярность.
• эффективное управление командой, встречи, переговоры, презентации и многое другое.
• инженерные методы и подходы к эксплуатации, радикально изменившиеся за последние несколько лет;
• архитектура как инженерная дисциплина: воспроизводимые результаты, метрики и конкретные оценки, которые повышают строгость архитектуры программного обеспечения.
Авторы дают примеры на самых популярных языках программирования, таких как Java, C #, JavaScript и др.
Head First Design Patterns: A Brain-Friendly Guide: Building Extensible and Maintainable Object-Oriented Software
Рейтинг: 4.7
Перевод: есть
Для тех, кто не хочет изобретать велосипед, есть шаблоны: уроки, извлеченные теми, кто до вас столкнулся с проблемами проектирования софта. С этой книгой вы можете воспользоваться лучшими практиками, а также узнаете о полезных принципах ООП.
«Head First Design Patterns» включает примеры действительно важных шаблонов. Вы узнаете, когда и при каких условиях ими необходимо пользоваться, как применить их в ваших проектах.
Примеры написаны на Java, поэтому не помешает знать этот или другой объектно-ориентированный язык.
В 2022 году вышло новое издание.
Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
Рейтинг: 4.6
Перевод: нет
В архитектуре программного обеспечения не бывает простых решений. Вместо этого есть много сложных проблем или проблем, для которых нет лучших практик. Разработчикам постоянно приходится выбирать между двух зол различными компромиссами. С помощью этой книги вы научитесь критически относиться к компромиссам, связанным с распределенными архитектурами.
Авторы обсуждают стратегии выбора подходящей архитектуры. Они исследуют, как определить степень детализации обслуживания, управлять и разделать контракты между сервисами, находить и взвешивать различные компромиссы.
Effective Java, 3rd Edition
Рейтинг: 4.7
Перевод: есть (ищите по названию «Java: Эффективное программирование. 3-е издание»)
Java уже не та… как минимум не та она со времен первого издания «Effective Java», совпавшего с релизом Java 6. «Effective Java» – классика, получившая долгожданное обновление, чтобы вы могли в полной мере использовать новейшие библиотеки и функции языка.
Как и в предыдущих изданиях, главы «Effective Java» – это отдельные эссе, в которых подробно описаны проблемы и решения с примерами кода. Автор детально описывает приемы от экспертов, создававших платформу Java. Объясняет, что нужно делать, а что делать не следует, для получения надежного, эффективного и понятного кода.
Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy
Рейтинг: 4.6
Перевод: нет, но есть подробный обзор
Как разработчик, вы должны не только следить за постоянно меняющимися технологическими трендами, но и понимать бизнес-стратегию в основе ПО. Эта практическая книга предоставляет набор шаблонов, принципов и практик для понимания бизнес-стратегии и согласования стратегического проектирования с потребностями бизнеса.
Автор показывает, как различные методы приводят к надежной реализации бизнес-логики и помогают разрабатывать перспективные проекты и архитектуру программного обеспечения. Вы изучите взаимосвязь между проектированием, ориентированным на предметную область (Domain-Driven Design), и другими методологиями. Вы также изучите реальную историю внедрения DDD в начинающей компании.
Microservices Patterns: With examples in Java
Рейтинг: 4.6
Перевод: есть
Это практическое руководство научит, как разрабатывать и развертывать приложения на основе микросервисов.
В книге рассматриваются следующие темы:
• коммуникация внутри микросервисной архитектуры;
• управление транзакциями с помощью саг;
• построение бизнес-логики в микросервисной архитектуре;
• запросы внутри микросервисов;
• тестирование микросервисов.
Особенность: рекомендуется для опытных разработчиков, которые хотят перейти от монолитной архитектуры к распределенной системе.
Cracking the Code Interview: 189 Programming Questions & Solutions
Рейтинг: 4.7 (и почти 8000 голосов, ого!)
Перевод: есть
Название говорит само за себя: тут 189 вопросов и ответов, которые помогут вам пройти собеседование в ИТ. Мировой бестселлер, переживший множество переизданий – квинтэссенция сотен интервью и тысяч вопросов, задаваемых кандидатами и интервьюерами в ведущих мировых корпорациях.
Code Complete: a Practical Handbook of Software Construction, 2nd Edition
Рейтинг: 4.6
Перевод: есть, на сайте издательства не обнаружен
Всесторонний анализ лучших практик создания хорошо написанного ПО. Книгу давно отнесли к мастридам для разработчиков – более 10 лет первое издание считалось одним из лучших практических руководств по программированию.
Второе издание учитывает современное состояние отрасли. Автор Стив Макконел, признанный одним из наиболее влиятельных людей в отрасли разработки ПО, дополнил книгу сотнями новых примеров, иллюстрирующих искусство программирования.
Patterns of Enterprise Application Architecture
Рейтинг: 4.6
Перевод: есть, на сайте издательства не обнаружен
Еще одна классическая книга Мартина Фаулера, который на этот раз знакомит с простой концепцией: с развитием технологий базовые принципы проектирования и решения общих проблем создания компьютерных систем остаются неизменными. Руководствуясь этим правилом, автор определяет более 40 наиболее употребительных подходов, оформив их в виде типовых решений.
Шаблоны корпоративных приложений в этой книге столь же актуальны сегодня, как и на момент выхода в 2002 году. Книга содержит краткое руководство по разработке корпоративных приложений, а также подробное описание самих шаблонов. Однако в отдельных моментах издание устарело: вы не найдете ничего о REST, облаке или JSON. Издание содержит примеры кода на Java и C#.
Working Effectively With Legacy Code
Рейтинг: 4.6
Перевод: есть, на сайте издательства не обнаружен
Легаси-код по-прежнему остается одной из самых сложных проблем для многих компаний. Авторы предлагают стратегии работы с большими, непроверенными базами устаревшего кода. Кроме того, вы узнаете, как подготовить легаси-код к тестированию и как определить, где код нуждается в изменениях.
В книге приводятся примеры на Java, C++, C и C#, а также даются советы по работе с унаследованным не объектно-ориентированным кодом.
ЧАСТЬ 2. DATA SCIENCE, MACHINE LEARNING И АЛГОРИТМЫ
The Machine Learning Simplified: A Gentle Introduction to Supervised Learning
Рейтинг: 4.7
Перевод: нет
Новинка 2022 года по основам машинного обучения для начинающих. Авторы фокусируют внимание на подготовку и моделированием данных. В книге подробно разбирают сложные концепции и алгоритмы на простых примерах. Дополнительно есть открытый репозиторий, содержащий примеры кода Python.
Practical Statistics for Data Scientists: 50 Essential Concepts
Рейтинг: 4.5
Перевод: есть (2-е издание)
Перед вами книга обо всех основополагающих принципах статистики, которые необходимо знать ИТ-специалисту: дескриптивная статистика, выборочные распределения, проверка гипотез, A/B-тестирование и т.д.
Кроме того, учебник включает фрагменты кода на R и Python, чтобы вы могли на практике использовать теоретические концепции. Книга рассчитана на специалистов в области Data Science, обладающих некоторым опытом работы с R.
Naked Statistics: Stripping the Dread from the Data
Рейтинг: 4.6
Перевод: есть
Не нужно лишний раз напоминать, зачем разработчику (любому) необходимо понимать статистику — основу для большей части информации, которую мы потребляем каждый день.
«Naked Statistics» объясняет основополагающие принципы и методы общей теории статистики на примерах из реальной жизни. Например: «Как Netflix узнает, какие фильмы вам понравятся?», «Что вызывает рост заболеваемости аутизмом?» и, наконец, «Почему никогда не следует покупать лотерейный билет?».
Многие главы дополнены приложениями с основными формулами и графиками. Также автор добавил обзор основных инструментов и программ для работы с данными.
The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition (Springer Series in Statistics)
Рейтинг: 4.6
Перевод: нет
Обширный (767 страниц в оригинале), фундаментальный труд по основам Data Science. Книга будет интересна тем, кто ищет точку входа в огромный мир машинного обучения. В издании раскрыто большое количество разных тем: метод опорных векторов, классификация, нейронные сети, случайные леса, обучение без учителя и т.д.
Business Data Science: Combining Machine Learning and Economics to Optimize, Automate, and Accelerate Business
Рейтинг: 4.4
Перевод: нет
Объяснение фундаментальных концепций науки о данных для тех, кто хочет использовать математику в принятии бизнес-решений. Когда речь идет о классическом программировании, очень часто приходит искушение забыть, а зачем мы это всё делаем, и заняться «чистым кодом. «Business Data Science» ставит во главу угла пользу для бизнеса.
Учебник включает материалы о том, как ML и AI могут использоваться для решения бизнес-задач, как использовать инструменты машинного обучения для принятия бизнес-решений, как устранять разрыв моделями в теории и практическими реализациями.
Algorithms to Live By
Рейтинг: 4.5
Перевод: есть
Идеальный способ с легкостью погрузиться в мир алгоритмов и связанных с ними концепций, научиться использовать их в повседневной жизни. Авторы в доступной всем ИТ-специалистам форме рассказывают о проблемах принятия решений и выборе оптимального решения в заданное время и с минимальными затратами.
Здесь, впрочем, ничего не говорится непосредственно о программировании. «Algorithms to Live By» не учит писать все алгоритмы сортировки на разных языках. Задача книги в другом – структурировать знания и помочь найти новые, подчас неожиданные способы использования алгоритмов.
Building Machine Learning Powered Applications: Going from Idea to Product
Рейтинг: 4.4
Перевод: нет
Короткая (260 страниц), но, судя по отзывам, насыщенная практическими рекомендациями книга, в которой речь идет о сложностях процесса развертывания моделей и подходах к решению этих проблем. Простое для понимания руководство поможет ориентироваться в процессе разработки приложений на основе машинного обучения. Автор сосредоточился на следующих аспектах:
• задачи и инструменты ML и их практическое применение;
• процесс развертывания и подводные камни;
• тонкая настройка моделей ML;
• мониторинг моделей после этапа развертывания.
Книга рекомендуется всем специалистам, которые уже занимаются или только планируют разработку приложений для работы с данными. В качестве практики вам предложат по инструкции создать учебное ML-приложение.
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2nd Edition
Рейтинг: 4.6
Перевод: нет
Современное практическое руководство по разработке приложений на Python, ориентированных на обработку данных. Полезно для разработчиков, которые планируют работать с библиотеками для эффективного решения широкого круга аналитических задач: NumPy, Pandas и Matplotlib. Во втором издании код переписан под версию Python 3.6, добавлены сведения о последних версиях библиотек.
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 3rd Edition
Рейтинг: 4.5
Перевод: есть (пока не для третьего издания)
Машинное обучение во всей его красе: обучение с учителем, обучение без учителя, глубокое обучение, обучение с подкреплением и т.д. И всё это в одной из новинок – третье издание вышло в октябре 2022 года.
Используя популярные библиотеки и фреймворки Sciki-Learn, Tensorflow, Keras, автор дает множество конкретных рекомендаций, как решать различные проблемы реального мира. Читателю потребуются начальные знания Python, хотя строгих требований к написанию кода нет.
Machine Learning Yearning
Рейтинг: без рейтинга, распространяется бесплатно
Перевод: есть
Людям, интересующимся машинным обучением, представлять автора не нужно. Примечательно, что Эндрю Ын, помимо того, что сам является ученым со множеством регалий, также выступил сооснователем образовательной платформы Coursera.
В небольшой книге «Machine Learning Yearning» Ын делится знаниями о том, как структурировать проекты машинного обучения. alexey_nichnikov выпустил перевод книги прямо на Хабре, можно ознакомиться по ссылке.
Deep Learning with Python, 2nd Edition
Рейтинг: 4.7
Перевод: есть, издание 2022 года
Автор, Франсуа Шолле, создал Keras — библиотеку глубокого обучения, адаптированную для работы поверх TensorFlow. Шолле понятно объясняет сложные концепции, не вдаваясь в математику. Если раньше вы изо всех сил и безрезультатно пытались понять глубокое обучение, книга вам поможет.
Также книга будет полезна, если вы хорошо разбираетесь в Python, но хотели бы знать больше о deep learning и Keras. Каждая глава содержит множество практических примеров с построчными пояснениями кода.
Deep Learning (Adaptive Computation and Machine Learning Series)
Рейтинг: 4.5
Перевод: вероятно нет
Ветераны Хабра помнят, что об этом издании я рассказывал еще в 2017 году в хрестоматийной подборке «Что читать о нейросетях», где прямо назвал ее «священной книгой сверточных нейронных сетей и глубокого обучения». С тех пор много воды утекло (например, куда-то отвалилась ссылка на бесплатную электронную версию), а вот книга совсем не устарела.
Итак, три эксперта на 800 страницах подробно разжевывают математические концепции и методы глубокого обучения для студентов, исследователей и разработчиков. Тем не менее, «оставь надежду всяк сюда входящий» – будет тяжело. Авторы углубляются в глубокий матан, лежащий в основе различных алгоритмов.
40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python
Рейтинг: 4.3
Перевод: нет
Разработчикам книга дает ответ вопрос, как использовать алгоритмы для решения реальных проблем и создания эффективного кода. Материал потребует знание Python.
Это руководство знакомит с фундаментальными алгоритмами, а также фокусирует ваше внимание на современных решениях в машинном обучении, рекомендательных системах и криптографии.
Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People
Рейтинг: 4.6
Перевод: есть(а также обзор, в котором nikolaysmartynov осторожно замечает, что «не программисты и начинающие разработчики наверняка найдут книгу легкой в чтении и увлекательной»).
«Grokking Algorithms» рассказывает, как применять алгоритмы к вашим ежедневным задачам. Автор начинает с классических алгоритмов и постепенно переходит к сложным вопросам сжатия данных и ИИ.
Особенность: книга представляет собой полностью иллюстрированное (более 400 иллюстраций!), доступное руководство, однако примеры кода на Python.
Introduction to Algorithms, Third Edition
Рейтинг: 4.6
Перевод: есть, на сайте издательства не обнаружен
Большое руководство по алгоритмам всех видов. Это редкий пример книги об алгоритмах, которая доступна практически всем читателям: от начинающих разработчиков до профи. Не даром ее используют во многих учебных заведениях в качестве пособия и справочника.
Книга рассказывает о структурах данных, быстрых алгоритмах, полиномиальных алгоритмах для решения, казалось бы, неразрешимых задач, теории графов, вычислительной геометрии т.д.
Третье издание было выпущено в 2009 году. Для 4-го издания книги в 2022 году на сайте обещаны примеры алгоритмов на Python.
***
Заключение: как еще улучшить свой код
Воспользоваться облачными решениями для разработчиков
Узнать, что рекомендуют DevOps-инженерам технические специалисты #CloudMTS
Получить облако со скидкой 30%
Автор:
randall