#1. «Управление памятью в .NET для профессионалов»
Дата выхода: апрель 2020 года
Книга, проверенная командой разработки .NET из «Майкрософт», содержит 25 сценариев поиска и устранения неисправностей, призванных помочь в диагностике сложных проблем при работе с памятью. Приводится также ряд полезных рекомендаций по написанию кода, учитывающих особенности управления памятью и позволяющих избежать типичных ошибок. Управление памятью в .NET для профессионалов.
В книге представлены:
- теоретические основы автоматического управления памятью;
- глубокое погружение во все аспекты управления памятью в .NET, в т. ч. подробное описание реализации сборщика мусора (GC);
- практические советы по разработке реальных программ;
- правила использования инструментов, относящихся к управлению памятью в .NET;
- эффективные методы работы с памятью, включая типы Span и Memory.
Об авторе: Конрад Кокоса – опытный проектировщик и разработчик ПО, независимый консультант, блогер, сооснователь сайта Dotnetos.org. Спикер конференции Dotnext (Jug.ru) Главная область интересов Конрада Кокосы – технологии корпорации «Майкрософт». Он программирует уже больше десяти лет, занимаясь решением проблем производительности и архитектурными головоломками в мире .NET, проектирует приложения и повышает их быстродействие.
Промокод на скидку в 25%: DotNet25
→ Перейти к книге
#2. «Разработка приложений на С++ с использованием Boost»
Дата выхода: август 2020 года
Эта книга предназначена для разработчиков, стремящихся улучшить свои знания о Boost, и тех, кто хочет упростить процесс разработки приложений. Предполагается, что читатель знаком с C++ и имеет базовые знания стандартной библиотеки.
Начиная с основ C++, читатель перейдёт к изучению того, как библиотеки Boost упрощают разработку приложений. Увидите, какую работу можно выполнить во время компиляции и на что способны контейнеры Boost. Научитесь разрабатывать качественные, быстрые и портативные приложения. От манипулирования изображениями до графов, каталогов, таймеров, файлов и работы в сети – каждый найдет для себя интересную тему. Напишите программу один раз и используйте ее в операционных системах Linux, Windows, macOS и Android. Обратите внимание, что знания, полученные в ходе прочтения этой книги, не устареют, поскольку все больше и больше библиотек Boost становятся частью стандарта C++.
В книге представлены:
- новые типы данных для повседневного использования;
- использование умных указателей для управления ресурсами;
- вычисление времени компиляции;
- использование библиотеки Boost для многопоточности;
- параллельном выполнении различных задач;
- будете выполнять повседневные задачи, связанные со строками, с помощью библиотек Boost;
- научитесь разбивать все процессы, вычисления и взаимодействия на задачи и обрабатывать их независимо друг от друга;
- изучите основы работы с графами, трассировкой стека, тестированием и межпроцессным взаимодействием;
- рассмотрите различные вспомогательные макросы, используемые для обнаружения возможностей компилятора, платформы и функциональности Boost.
Об авторе: Антон Полухин — представитель России в Международном комитете по стандартизации C++, разработчик и автор многих библиотек Boost, руководитель группы Общих Компонент в Яндекс.Такси, сопредседатель РГ21 C++ и модератор https://stdcpp.ru спикер на конференциях РГ21, Corehard (Сообщество в Республике Беларусь) , C++ Russia (Jug.ru) , корпоративный консультант по вопросам C++ https://apolukhin.github.io
Промокод на скидку в 25%: Boost25
→ Перейти к книге
#3. «Kubernetes в действии»
Дата выхода: ноябрь 2018 года
Kubernetes по-гречески означает “рулевой”. Эта книга — проводник по неизведанным водам. Система контейнерной оркестровки Kubernetes безопасно управляет структурой распределенного приложения и последовательностью его выполнения, с максимальной эффективностью организуя контейнеры и службы. Kubernetes служит в качестве операционной системы для ваших кластеров, устраняя необходимость учитывать лежащую в основе сетевую и сервернуюй инфраструктуру в ваших проектах.
Это издание учит использовать Kubernetes для развертывания распределенных контейнеризированных приложений. Перед тем, как собрать свой первый кластер Kubernetes, вы начнете с обзора систем Docker и Kubernetes. Вы будете постепенно расширять свое начальное приложение, добавляя новые функциональные возможности и углубляя свои знания архитектуры и принципа работы Kubernetes. Также вы изучите такие важные темы, такие как мониторинг, настройка и масштабирование.
В книге представлены:
- внутреннее устройство Kubernetes;
- развертывание контейнеров в кластере;
- обеспечение защиты кластеров;
- обновление приложений с нулевым временем простоя
Об авторе: Марко Лукша (Marko Luksa)– инженер Red Hat, работающий на Kubernetes и OpenShift.
Промокод на скидку в 15%: OTUS15
→ Перейти к книге
#4. «Python. Книга рецептов»
Дата выхода: июль 2019 года
Если вам нужна помощь в разработке программ на языке Python 3 или вы планируете заняться обновлением старого кода на Python 2, эта книга – ваш счастливый билет. Она наполнена практическими примерами, разработанными и протестированными в среде Python 3.3, поэтому станет уникальным подспорьем для опытных программистов, желающих сконцентрироваться на современных инструментах и идиомах. В книге приведены полноценные рецепты, охватывающие свыше 10 основных тем Python, а также задачи, имеющие широкий спектр областей применения. Каждый рецепт содержит примеры кода, которые вы можете использовать в своих проектах, а также включает обсуждение принципов работы данного решения.
Кратко о темах:
- структуры данных и алгоритмы;
- строки и текст;
- числа, даты и время;
- итераторы и генераторы;
- ввод-вывод данных и работа с файлами;
- преобразование и обработка данных;
- функции;
- классы и объекты;
- метапрограммирование;
- модули и пакеты;
- сетевое и веб-программирование;
- конкурентное программирование;
- полезные скрипты и системное администрирование;
- тестирование, отладка и исключения;
- расширения на языке C.
Об авторах:
Дэвид Бизли (David Beazley) — независимый разработчик программного обеспечения, преподает программирование разработчикам, ученым и инженерам. Он написал книгу «Python. Подробный справочник» и разработал несколько пакетов Python с открытым исходным кодом.
Брайан К. Джонс (Brian K. Jones) — системный администратор на факультете информатики в Принстонском университете.
Промокод на скидку в 15%: OTUS15
→ Перейти к книге
#5. «Go на практике»
Дата выхода: январь 2017 года
Go – превосходный системный язык. Созданный для удобной разработки современных приложений с параллельной обработкой, Go предоставляет встроенный набор инструментов для быстрого создания облачных, системных и веб-приложений. Знакомые с такими языками, как Java или C#, быстро освоят Go – достаточно лишь немного попрактиковаться, чтобы научиться писать профессиональный код. Книга содержит решения десятков типовых задач в ключевых областях. Следуя стилю сборника рецептов – проблема/решение/обсуждение – это практическое руководство опирается на основополагающие концепции языка Go и знакомит с конкретными приемами использования Go в облаке, тестирования и отладки, маршрутизации, а также создания веб-служб, сетевых и многих других приложений.
Кратко о темах:
- десятки конкретных практических приемов программирования на Go;
- использование языка Go для создания обычных и облачных приложений;
- разработка веб-служб RESTful и микрослужб;
- практические приемы веб-разработки.
Об авторах:
Мэтт Батчер (Matt Butcher) – архитектор программного обеспечения компании Deis.
Мэтт Фарина (Matt Farina) – ведущий инженер группы передовых технологий в компании Hewlett Packard Enterprise.
Оба автора книги «Go на практике»являются техническими писателями, лекторами и активными участниками проектов с открытым исходным кодом.
Промокод на скидку в 15%: OTUS15
→ Перейти к книге
#6. «Запускаем Ansible»
Дата выхода: апрель 2018 года
Среди множества систем управления конфигурациями Ansible обладает неоспоримыми преимуществами. Он минималистичен, не требует установки программного обеспечения на узлах, а также легок в освоении. Второе издание книги научит вас выстраивать продуктивную работу в кратчайшие сроки, будь вы разработчик, разворачивающий код в производственной среде, или системный администратор в поисках более эффективного решения для автоматизации. Авторы книги расскажут вам, как написать сценарий (скрипт управления конфигурациями Ansible), установить контроль над удаленными серверами, а также задействовать мощный функционал встроенных декларативных модулей. Вы поймете, что Ansible обладает всеми функциональными возможностями, которые вам необходимы, и той простотой, о которой вы мечтаете.
Кратко о темах:
- узнайте, чем Ansible отличается от других систем управления конфигурациями;
- используйте формат файлов YAML для написания собственных сценариев;
- изучите пример полного сценария для развертывания нетривиального приложения;
- администрируйте машины Windows и автоматизируйте конфигурацию сетевых устройств;
- производите развертывание приложений на Amazon EC2 и других облачных платформах;
- используйте Ansible для создания образов Docker и развертывания контейнеров Docker.
Об авторах:
Лорин Хохштейн (Lorin Hochstein) является старшим инженером по программному обеспечению (Senior Software Engineer) команды Chaos в компании Netflix. Он также работал старшим инженером по программному обеспечению в компании SendGrid Labs, был ведущим архитектором облачных сервисов (Lead Architect for Cloud Services) в компании Nimbis Services и занимал должность ученого в области компьютерных наук в Институте информатики Университета Южной Калифорнии (University of Southern California’s Information Sciences Institute).
Рене Мозер (Rene Moser) занимает позицию системного инженера в компании Swiss, является разработчиком ASF CloudStack, автором интеграции CloudStack в Ansible и ключевым членом сообщества Ansible с 2016 года.
Промокод на скидку в 15%: OTUS15
→ Перейти к книге
#7. «Практика реактивного программирования в Spring 5»
Дата выхода: июль 2019 года
Современному бизнесу необходимы программные системы нового типа, способные оставаться отзывчивыми при любых нагрузках. Эту потребность можно удовлетворить с использованием приемов реактивного программирования; однако разработка таких систем – сложная задача, требующая глубокого понимания предметной области. Для разработки отзывчивых систем разработчики Spring Framework придумали и создали проект Project Reactor. Данная книга начинается с основ реактивного программирования в Spring. Вы исследуете многочисленные возможности построения эффективных реактивных систем с помощью Spring 5 и других инструментов, таких как WebFlux и Spring Boot. Познакомитесь с методами реактивного программирования и научитесь использовать их для взаимодействий с базами данных и между серверами. Освоите навыки масштабирования с Spring Cloud Streams и научитесь создавать независимые и высокопроизводительные реактивные микросервисы.
Кратко о темах:
- откроете разницу между реактивной системой и реактивным программированием;
- исследуете преимущества реактивных систем и область их применения;
- освоите приемы реактивного программирования в Spring 5;
- получите представление о Project Reactor;
- построите реактивную систему с использованием Spring 5 и Project Reactor;
- создадите высокоэффективный реактивный микросервис с использованием Spring Cloud;
- научитесь тестировать, выпускать и осуществлять мониторинг реактивных приложений.
Об авторах:
Олег Докука (Oleh Dokuka) – опытный инженер-программист, обладатель награды Pivotal Champion и один из основных вкладчиков в развитие Project Reactor и Spring Framework. Он хорошо знает, как устроены оба фреймворка, и ежедневно популяризирует идеи реактивного программирования с использованием Project Reactor. Наряду с этим Олег использует Spring Framework и Project Reactor в разработке программного обеспечения, поэтому он не понаслышке знает, как создавать реактивные системы с применением этих технологий.
Игорь Лозинский (Igor Lozynskyi) – старший https://otus.ru/lessons/java-specialization/, в основном создающий надежные, масштабируемые и невероятно быстрые системы. Имеет за плечами более чем семилетний опыт работы с платформой Java. Увлекается интересными и динамичными проектами как в своей жизни, так и в разработке программного обеспечения.
Промокод на скидку в 15%: OTUS15
→ Перейти к книге
#8. «Использование Doker»
Дата выхода: январь 2017 года
Контейнеры Docker предоставляют простые быстрые и надёжные методы разработки, распространения и запуска программного обеспечения, особенно в динамических и распределённых средах. Из книги вы узнаете, почему контейнеры так важны, какие преимущества вы получите от применения Docker и как сделать Docker частью процесса разработки. Вы последовательно пройдете по всем этапам, необходимым для создания, тестирования и развёртывания любого веб-приложения, использующего Docker. Также вы изучите обширный материал — начиная от основ, необходимых для запуска десятка контейнеров, и заканчивая описанием сопровождения крупной системы с множеством хостов в сетевой среде со сложным режимом планирования. Издание предназначено разработчикам, инженерам по эксплуатации и системным администраторам/
Кратко о темах:
- начало работы с Docker — создание и развёртывание простого веб-приложения;
- использование методик непрерывного развёртывания для продвижения вашего приложения к активному промышленному использованию несколько раз в день;
- изучение различных возможностей и методик для регистрации в системных журналах и наблюдения за многочисленными контейнерами;
- исследование сетевой среды и сетевых сервисов: как контейнеры находят друг друга и каким образом можно установить соединение между ними;
- распределение и организация кластеров контейнеров с целью балансировки нагрузки, масштабирования, устранения критических сбоев и планирования;
- обеспечение безопасности системы, следуя принципам «глубокой или много-уровневой защиты» и минимальных привилегий;
- применение контейнеров для построения архитектуры микросервисов.
Об авторе:
Эдриен Моуэт (Adrian Mouat) — является руководителем отдела научных исследований в компании Container Solutions. Он занимается многими программными проектами — от небольших веб-приложений до крупномасштабного программного обеспечения для анализа больших объёмов данных.
Промокод на скидку в 15%: OTUS15
→ Перейти к книге
#9. «Глубокое обучение»
Дата выхода: ноябрь 2017 года
Глубокое обучение — это вид машинного обучения, наделяющий компьютеры способностью учиться на опыте. Книга содержит математические и концептуальные основы линейной алгебры, теории вероятностей и теории информации, численных расчетов и машинного обучения в том объеме, который необходим для понимания материала. Описываются приемы глубокого обучения, применяемые на практике, в том числе глубокие сети прямого распространения, регуляризация, алгоритмы оптимизации, сверточные сети, моделирование последовательностей и др. Рассматриваются такие приложения, как обработка естественных языков, распознавание речи, компьютерное зрение, онлайновые рекомендательные системы, биоинформатика и видеоигры. Наконец, описываются перспективные направления исследований: линейные факторные модели, автокодировщики, обучение представлений, структурные вероятностные модели, методы Монте-Карло, статистическая сумма, приближенный вывод и глубокие порождающие модели. Издание будет полезно студентами и аспирантам, а также опытным программистам, которые хотели бы применить глубокое обучение в составе своих продуктов или платформ.
Кратко о темах:
- базовый математический аппарат;
- известные алгоритмы глубокого обучения;
- линейная алгебра, теория вероятностей и фундаментальные концепции машинного обучения;
- основы машинного обучения;
- глубокие сети прямого распространения;
- регуляризация в глубоком обучении;
- оптимизация в обучении глубоких моделей;
- сверточные сети;
- моделирование последовательностей: рекуррентные и рекурсивные сети;
- выбор алгоритма для конкретного приложения, а также сбор и анализ полученных в данных для улучшения системы машинного обучения.
Об авторах:
Ян Гудфеллоу (Ian Goodfellow), исследователь, работающий в компании OpenAI. Изобрел различные алгоритмы машинного обучения, в т.ч. порождающие состязательные сети, и внес вклад в различные программы машинного обучения, включая библиотеки TensorFlow и Theano.
Иошуа Бенджио (Yoshua Bengio), профессор факультета информатики и исследования операций, директор Монреальского института алгоритмов обучения. Основная цель его исследований – понять те принципы обучения, которые порождают интеллект. Читает курс по машинному обучению и руководит большой группой студентов и аспирантов. Редактор журнала Journal of Machine Learning Research, заместитель редактора журнала Neural Computation. Участвовал в организации различных конференций, семинаров и симпозиумов по машинному обучению.
Аарон Курвилль (Aaron Courville), доцент факультета информатики и исследования операций в Монреальском университете, член Монреальского института алгоритмов обучения (MILA).
Промокод на скидку в 15%: OTUS15
→ Перейти к книге
#10. «Глубокое обучение для поисковых систем»
Дата выхода: декабрь 2019 года
Глубокое обучение поисковых систем решает самые сложные задачи, в частности позволяет получать релевантные результаты при неточных условиях поиска и плохо проиндексированных данных, извлекать изображения с минимальными метаданными. С помощью таких современных инструментов, как DL4J и TensorFlow, вы сможете применять мощные методы глубокого обучения, не обладая специальными знаниями в области науки о данных или обработки естественного языка. Книга покажет вам, как это сделать. Вы узнаете, как глубокое обучение связано с основами поиска, такими как индексация и ранжирование, и изучите подробные примеры, позволяющие улучшить поиск, используя библиотеки Apache Lucene и Deeplearning4j. В ходе чтения вы освоите сложные темы: поиск по изображениям, перевод пользовательских запросов, проектирование поисковых систем, совершенствуемых по мере обучения.
Кратко о темах:
- генерация синонимов;
- точное и релевантное ранжирование;
- поиск по языкам;
- поиск изображений на базе содержимого;
- поиск с использованием рекомендательных систем.
Об авторе:
Томмазо Теофили – инженер-программист, работающий с открытым исходным кодом и искусственным интеллектом. Он состоит в организации Apache Software Foundation и участвует в проектах по поиску информации, обработке естественного языка и распределенным вычислениям