#1. «Управление памятью в .NET для профессионалов»

10 актуальных книг для IT-специалиста

Дата выхода: апрель 2020 года

Книга, проверенная командой разработки .NET из «Майкрософт», содержит 25 сценариев поиска и устранения неисправностей, призванных помочь в диагностике сложных проблем при работе с памятью. Приводится также ряд полезных рекомендаций по написанию кода, учитывающих особенности управления памятью и позволяющих избежать типичных ошибок. Управление памятью в .NET для профессионалов.

В книге представлены:

  • теоретические основы автоматического управления памятью;
  • глубокое погружение во все аспекты управления памятью в .NET, в т. ч. подробное описание реализации сборщика мусора (GC);
  • практические советы по разработке реальных программ;
  • правила использования инструментов, относящихся к управлению памятью в .NET;
  • эффективные методы работы с памятью, включая типы Span и Memory.

Об авторе: Конрад Кокоса – опытный проектировщик и разработчик ПО, независимый консультант, блогер, сооснователь сайта Dotnetos.org. Спикер конференции Dotnext (Jug.ru) Главная область интересов Конрада Кокосы – технологии корпорации «Майкрософт». Он программирует уже больше десяти лет, занимаясь решением проблем производительности и архитектурными головоломками в мире .NET, проектирует приложения и повышает их быстродействие.

Промокод на скидку в 25%: DotNet25

Перейти к книге

#2. «Разработка приложений на С++ с использованием Boost»

10 актуальных книг для IT-специалиста

Дата выхода: август 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 в действии»

«Kubernetes в действии»

Дата выхода: ноябрь 2018 года

Kubernetes по-гречески означает “рулевой”. Эта книга — проводник по неизведанным водам. Система контейнерной оркестровки Kubernetes безопасно управляет структурой распределенного приложения и последовательностью его выполнения, с максимальной эффективностью организуя контейнеры и службы. Kubernetes служит в качестве операционной системы для ваших кластеров, устраняя необходимость учитывать лежащую в основе сетевую и сервернуюй инфраструктуру в ваших проектах.

Это издание учит использовать Kubernetes для развертывания распределенных контейнеризированных приложений. Перед тем, как собрать свой первый кластер Kubernetes, вы начнете с обзора систем Docker и Kubernetes. Вы будете постепенно расширять свое начальное приложение, добавляя новые функциональные возможности и углубляя свои знания архитектуры и принципа работы Kubernetes. Также вы изучите такие важные темы, такие как мониторинг, настройка и масштабирование.

В книге представлены:

  • внутреннее устройство Kubernetes;
  • развертывание контейнеров в кластере;
  • обеспечение защиты кластеров;
  • обновление приложений с нулевым временем простоя

Об авторе: Марко Лукша (Marko Luksa)– инженер Red Hat, работающий на Kubernetes и OpenShift.

Промокод на скидку в 15%: OTUS15

Перейти к книге

#4. «Python. Книга рецептов»

«Python. Книга рецептов»

Дата выхода: июль 2019 года

Если вам нужна помощь в разработке программ на языке Python 3 или вы планируете заняться обновлением старого кода на Python 2, эта книга – ваш счастливый билет. Она наполнена практическими примерами, разработанными и протестированными в среде Python 3.3, поэтому станет уникальным подспорьем для опытных программистов, желающих сконцентрироваться на современных инструментах и идиомах. В книге приведены полноценные рецепты, охватывающие свыше 10 основных тем Python, а также задачи, имеющие широкий спектр областей применения. Каждый рецепт содержит примеры кода, которые вы можете использовать в своих проектах, а также включает обсуждение принципов работы данного решения.

Кратко о темах:

  • структуры данных и алгоритмы;
  • строки и текст;
  • числа, даты и время;
  • итераторы и генераторы;
  • ввод-вывод данных и работа с файлами;
  • преобразование и обработка данных;
  • функции;
  • классы и объекты;
  • метапрограммирование;
  • модули и пакеты;
  • сетевое и веб-программирование;
  • конкурентное программирование;
  • полезные скрипты и системное администрирование;
  • тестирование, отладка и исключения;
  • расширения на языке C.

Об авторах: 

Дэвид Бизли (David Beazley) — независимый разработчик программного обеспечения, преподает программирование разработчикам, ученым и инженерам. Он написал книгу «Python. Подробный справочник» и разработал несколько пакетов Python с открытым исходным кодом.

Брайан К. Джонс (Brian K. Jones) — системный администратор на факультете информатики в Принстонском университете.

Промокод на скидку в 15%:  OTUS15

Перейти к книге

#5. «Go на практике»

«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»

«Запускаем 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»

«Практика реактивного программирования в 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»

«Использование 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 и участвует в проектах по поиску информации, обработке естественного языка и распределенным вычислениям

Промокод на скидку в 15%:  OTUS15

Перейти к книге