Топ книг по программированию, вышедших на русском языке в 2018 году
В топ вошли книги на темы веб-разработки, языков программирования, DevOps, чистой архитектуры и алгоритмов, ОС, безопасности, deep learning и Big Data.
54К открытий54К показов
2018 год был достаточно богат на выход русскоязычной литературы по программированию. К сожалению, всё вместить в одну подборку невозможно, поэтому мы отобрали лучшие книги по различным категориям:
- веб-разработка;
- языки программирования;
- красивый код и алгоритмы;
- ОС и безопасность;
- DevOps и системное администрирование;
- глубокое обучение и Big Data.
Веб-разработка
React — это JavaScript-фреймворк для создания пользовательских интерфейсов (UI). Книга «React в действии» рассказывает о том, как работать с этой библиотекой и какие смежные инструменты можно использовать.
В первой половине книги приводятся основы React и его компонентов, а также фундаментальные концепции работы фреймворка. Вы изучите чистый React без транспиляции и синтаксических помощников, а также постепенно освоите различные виды компонентов: от статических к динамическим и интерактивным. Во второй половине книги рассматриваются базовые методы жизненного цикла, создание потока данных и форм, а также тестирование приложений на React и их архитектуру. Также вы изучите взаимодействие с Redux, познакомитесь с серверным рендерингом и React Native.
В книге «Node.js в действии» рассказывается о системах построения интерфейса, популярных веб-фреймворках Node.js, создании с нуля веб-приложений на базе Express, работе с базами данных в Node.js, а также тестировании и развертывании веб-приложений.
Второе издание книги было существенно переработано, чтобы оно соответствовала текущим трендам развития Node.js. В частности, в книгу были включены главы о работе с Node.js в сочетании с инструментами командной строки и о создании настольных приложений на базе Electron.
Книга рассказывает о проектировании взаимодействия — практике проектирования интерактивных цифровых продуктов, сред, систем и сервисов. Обычно проектирование взаимодействия нацелено на форму, однако автор Алан Купер утверждает, что не менее важно уделить внимание проектированию поведения пользователя. Поэтому в этой книге рассматривается целеориентированный подход к взаимодействию. Ведь если проектировщики концентрируются на целях пользователей (то есть на причинах, по которым те используют данный продукт), на их ожиданиях, мировоззрении и склонностях, то им удаётся создать мощные решения, с которыми приятно работать.
Четвёртое издание книги было издано на русском языке ещё в 2016 году, однако издательство «Питер» допечатало книгу, и теперь вновь можно приобрести её бумажную версию.
Языки программирования
Книга будет полезной для всех, кто хочет разрабатывать на языке Swift приложения для операционных систем от Apple (macOS, iOS, tvOS, watchOS), а также Linux.
Четвёртое переработанное издание книги содержит следующие изменения и дополнения:
- Весь материал обновлён в соответствии со Swift 4.1 и Xcode 9.
- Добавлено большое количество нового учебного материала, в частности, связанного с практической разработкой приложений под iOS.
- Доработана глава, посвящённая типу данных String.
- Исправлены опечатки.
- Материал для начинающих программистов теперь находится в отдельных блоках. Нововведение позволит читателям с опытом разработки на других языках не отвлекаться на ненужный им материал.
Книга рассказывает о таком методе разработки, как разработка на основе тестирования (Test-Driven Development, TDD) программ на языке Python. Чтобы читатель оценил все возможности такого подхода, в книге подробно описывается процесс разработки реального веб-приложения от начала до конца. В результате вы научитесь создавать и выполнять тесты до написания любого фрагмента вашего приложения, писать минимальный объём кода для прохождения тестов, а также освоите основы Django, Selenium, Git, jQuery и Mock.
Во втором издании книги весь материал был обновлён в соответствии с Python версии 3.6.
Книга подробно описывает актуальную версию стандартной библиотеки шаблонов языка C++ (STL), вышедшей в 2017 году. С её помощью вы освоите работу с контейнерами, алгоритмами, вспомогательными классами, лямбда-выражениями и другими инструментами современного С++. Чтобы читатель закрепил материал на практике, в книгу вошли более 90 примеров, которые демонстрируют всю мощь STL и похожи на части реальных проектов. Многие из них лягут в основу более сложных программ.
Изучение всех возможностей C++ позволит создавать более качественное и производительное ПО, и книга «С++17 STL. Стандартная библиотека шаблонов» сможет в этом помочь.
Автор книги Мэтт Харрисон пишет код на языке Python с 2000 года. В прошлом он работал в области научных исследований, управления сборкой и тестированием, бизнес-аналитики и хранения данных. В последние годы он обучает людей Python, поэтому структура и материал этой книги основаны на его практическом опыте преподавания этого языка.
Несмотря на относительно малый размер книги (около 270 страниц), в ней простым языком освещаются многие аспекты Python, включая основы, контейнеры, словари, функции, индексирование и срезы, классы, исключения, работу с библиотеками и операции ввода-вывода.
Во многих книгах по C# и .NET тема кросс-платформенной разработки рассматривается только на базовом уровне. Однако книга Марка Дж. Прайса призвана упростить жизнь разработчикам, стремящимся написать на С# код, одинаково работающий на разных платформах. Вы ознакомитесь с инструментом Xamarin.Forms и освоите тонкости работы с Visual Studio 2017.
Первое издание книги было основано на C# 6.0 и не выходило на русском языке, однако текущая третья версия вышла на русском языке летом 2018 года и охватила уже C# 7.1.
Автор книги Себастьян Дашнер отразил в ней свой реальный опыт в изучении Java EE 8, поэтому книга не похожа на обычное справочное руководство по синтаксису API. Она хороша как для начинающих, так и для опытных разработчиков, уже изучивших API и стремящихся освоить все «фишки» платформы.
Платформа Java EE 8 вобрала в себя множество нововведений, связанных с последними трендами в разработке корпоративных приложений: работу с контейнерами, улучшенные API для обеспечения безопасности, возможности работы с облачными хранилищами и микросервисной архитектурой и многое другое. В книге вы найдёте множество материала по Java EE 8, включая:
- проектирование больших приложений;
- реализация сквозной функциональности;
- использование контейнеров;
- создание облачно-нативных приложений и приложений без зависимостей;
- написание автоматизированных тестов;
- проектирование распределённых систем.
Красивый код и алгоритмы
Книга «Чистая архитектура» продолжает цикл книг Роберта Мартина, в который входят книги «Чистый код: создание, анализ и рефакторинг» и «Идеальный программист. Как стать профессионалом разработки ПО». В ней автор даёт своё видение концепций архитектуры и дизайна приложений. Книга не предлагает несколько вариантов решений проблем на выбор, а объясняет, как именно и почему нужно сделать именно так, как описано в книге.
«Чистая архитектура» будет полезной для разработчиков любого уровня, системных аналитиков и архитекторов. Благодаря советам, приведённым в книге, вы сможете писать более продуманные программы, подняться по карьерной лестнице и, возможно, повлиять на людей на вашей работе, отвечающих за архитектуру программ и крупных сервисов.
Реактивное программирование — это парадигма программирования, ориентированная на потоки данных и распространение изменений. С её помощью можно создавать эффективные распределённые системы и писать производительный код для JVM (Java Virtual Machine).
Книга рассказывает о шаблонах проектирования (design patterns), поэтому она подойдёт опытным разработчикам на Java и Scala. С этой книгой вы узнаете, как:
- организовать поток задач;
- наладить обмен сообщениями между элементами программы;
- обеспечить параллельную и конкурентную обработку;
- создать надёжные, отказоустойчивые и гибкие приложения.
Книга поможет изучить основы Computer Science: концепцию объектно-ориентированного программирования (ООП), алгоритмы и структуры данных, теорию вычислений и архитектуру компьютеров. Для практических примеров используется язык Java как наиболее универсальный и достаточно мощный язык. Они охватывают различные области, включая прикладную математику, физику и биологию, числовые методы, визуализацию данных, синтез звука, обработку графики и финансовое моделирование.
Благодаря универсальности книги она рекомендуется для прочтения всем, кто хочет начать изучение компьютерных наук.
ОС и безопасность
Монументальный труд Майкла Керриска, признанный по всему миру, вышел и на русском языке. «Linux API. Исчерпывающее руководство» представляет собой подробный справочник по более чем пяти сотням системных вызовов и библиотечных функций Linux и UNIX. Вы изучите:
- эффективные чтение-запись файлов;
- использование сигналов, часов и таймеров;
- создание процесса и исполнение программы;
- безопасность программ;
- разработку многопоточных программ на базе POSIX-потоков;
- создание и использование общих библиотек (shared library);
- межпроцессное взаимодействие через каналы, очереди сообщений, разделяемую память и семафоры;
- создание сетевых программ с помощью API сокетов.
Книга является официальным руководством по популярному дистрибутиву Kali Linux. Благодаря ему можно научиться использовать и настраивать Kali Linux с нуля. В частности, вы узнаете о том, как:
- установить Kali Linux и работать с командной строкой;
- использовать менеджер пакетов Debian: установка и настройка пакетов, обновление Kali Linux и создание собственных настраиваемых пакетов;
- компилировать ядро Linux;
- создавать собственные ISO-образы;
- обеспечить шифрование и защиту конфиденциальной информации.
Если взять изначальное понятие хакинга (поиск изысканого и неочевидного решения), то многие программисты являются в какой-то степени хакерами. С помощью знаний принципов программирования можно находить уязвимости, а навыки обнаружения уязвимостей помогают создавать программы. Поэтому многие хакеры занимаются тем и другим одновременно, ведь найти нестандартные решения можно как для написания оригинальных программ, так и для поиска слабых мест компьютерных систем.
Данная книга не содержит в себе каких-то готовых рецептов взлома чего-либо. Она даёт читателю необходимую базу для понимания основных направлений хакинга, например, реверс-инжиниринг и эксплуатацию уязвимостей, безопасность веб-приложений, криптографию и беспроводные сети. Кроме того, в книге даны основы языка Си и ассемблера.
Седьмое издание книги «Внутреннее устройство Windows» наиболее полно раскрывает принципы работы основных компонентов Windows 10. Согласно рейтингу NetMarketShare за декабрь 2018 года, Windows 10 лидирует в списке самых популярных ОС.
Книга будет полезна:
- Разработчикам. Глубокие знания функционирования целевой платформы помогут писать более производительные и безопасные приложения для Windows.
- Системным администраторам. Сисадмины, знающие принципы работы Windows, смогут разобраться с поведением системы, повысить производительность системы и провести диагностики сбоев.
- Специалистам по ИБ. Они смогут найти многие потенциальные «бреши» в безопасности системы.
DevOps и системное администрирование
Система Kubernetes предназначена для автоматизации развёртывания, масштабирования и управления контейнеризированными приложениями. Однако развёртывание распределённого приложения с помощью Kubernetes требует определённых знаний. Тут на помощь придёт книга «Kubernetes в действии».
Сначала книга рассмотрит системы Docker и Kubernetes. После того, как вы соберёте первый кластер Kubernetes, вы сможете его постепенно развивать, добавляя новые функциональные возможности и углубляя свои знания архитектуры и принципа работы Kubernetes. В процессе вы изучите основные такие аспекты работы с контейнерами, как мониторинг, настройка и масштабирование.
Методология DevOps находится на стыке разработки и операционного управления. Одна из главных целей подхода в том, чтобы разработчики и системные администраторы тесно взаимодействовали для быстрого запуска и обновления продукта. Разработчики должны уделять внимание поддержке программного продукта, а сисадмины — сообщать о проблемах продукта и обеспечить комфортный процесс работы.
Чтобы продукт стал удобным для дальнейшей поддержки, требуется настроить немало функций, например конфигурацию через центральную службу, внедрение простым копированием, отсутствие внешних зависимостей и полезные метрики. Как это настроить, расскажет книга «Философия DevOps. Искусство управления IT». Она познакомит вас с техническими, культурными и управленческими аспектами DevOps-культуры и позволит организовать работу так, чтобы вы получали удовольствие от разработки, поддержки и использования ПО.
Книга рассказывает о Site Reliability Engineering — технологии от Google, обеспечивающей бесперебойную работу и постепенное развитие программных систем любой сложности. Благодаря Site Reliability Engineering компания сохраняет работоспособность своих сервисов: Google Search, Google Maps, Gmail и прочих. Поэтому в книге изложены концепции и идеи, которые были разработаны опытными специалистами Google на протяжении долгого времени.
После введения в Site Reliability Engineering книга доступно излагает читателю управление рисками сервиса, понятие целевого уровня качества обслуживания, вред от рутинных задач, способы мониторинга распределённых систем, опыт Google по автоматизации процессов, технологии выпуска ПО и обеспечение простоты работы с сервисом. В следующей части книги акцент переносится на диагностику работы продукта, действия при возникновении критических ситуаций, включая высокие нагрузки и сбои в системе, а также обеспечение надёжности сервиса. Последняя часть книги посвящена управлению инженерами, отвечающими за сопровождение системы.
Глубокое обучение и Big Data
Автор Александр Сенько рассказал на примере сервисов Microsoft Azure и Amazon Web Services (AWS) об особенностях обработки больших данных (Big Data). Книга поделена на 4 раздела:
- Введение. Автор пояснил, что такое облако и Big Data, а также рассказал о видах архитектур систем, оперирующих Big Data.
- Хранение данных в облаке. В разделе рассмотрены различные типы хранилищ, включая реляционные и нереляционные базы данных, хранилища общего назначения, реляционные хранилища больших DWH и хранилища данных типа Data Lake.
- Отправка данных в облако. Автор объяснил особенности загрузки потоковых данных и трансформации данных.
- Анализ данных в облаке. Рассматриваются три типа анализа: интерактивный, потоковый и пакетный.
Франсуа Шолле, создатель известной библиотеки для работы с нейросетями Keras, достаточно простым языком постарался объяснить, что такое глубокое обучение (deep learning). Для этого он поделил книгу на две части. В первой части он объяснил необходимые теоретические основы, в частности, дал математическую базу, введение в нейронные сети и основы машинного обучения. Во второй части книги Шолле рассмотрел несколько примеров на языке Python из разных областей. В книге вы также найдёте инструкции по работе с библиотекой Keras и инструментом Jupyter Notebook.
Если вы не нашли в нашей подборке книгу, которую вы ждали и с удовольствием прочитали, поделитесь ей в комментариях.
Читайте интересные статьи и книги по программированию, решайте задачки, записывайтесь на онлайн-курсы, ходите на крутые события — постоянно развивайтесь как специалист, и ваши усилия многократно окупятся.
54К открытий54К показов