Скачать книги категории «Программирование»

Обработка естественного языка в действии

Последние достижения в области глубокого обучения позволяют создавать приложения, с исключительной точностью распознающие текст и речь. Что в результате? Появляются чат-боты, ведущие диалог не хуже реальных людей, программы, эффективно подбирающие резюме под заданную вакансию, развивается превосходный предиктивный поиск, автоматически генерируются аннотации документов. Благодаря новым приемам и инструментам, таким как Keras и Tensorflow, сегодня возможно как никогда просто реализовать качественную обработку естественного языка (NLP).

«Обработка естественного языка в действии» станет вашим руководством по созданию программ, способных распознавать и интерпретировать человеческий язык. В издании рассказано, как с помощью готовых пакетов на языке Python извлекать из текста смыслы и адекватно ими распоряжаться. В книге дается расширенная трактовка традиционных методов NLP, что позволит задействовать нейронные сети, современные алгоритмы глубокого обучения и генеративные приемы при решении реальных задач, таких как выявление дат и имен, составление текстов и ответов на неожиданные вопросы.

Классические задачи Computer Science на языке Python

Многие задачи в области Computer Science, которые на первый взгляд кажутся новыми или уникальными, на самом деле уходят корнями в классические алгоритмы, методы кодирования и принципы разработки. И устоявшиеся техники по-прежнему остаются лучшим способом решения таких задач!

Научитесь писать оптимальный код для веб-разработки, обработки данных, машинного обучения и других актуальных сфер применения Python.

Книга даст вам возможность глубже освоить язык Python, проверить себя на испытанных временем задачах, упражнениях и алгоритмах. Вам предстоит решать десятки заданий по программированию: от самых простых (например, найти элементы списка с помощью двоичной сортировки), до сложных (выполнить кластеризацию данных методом k-средних). Прорабатывая примеры, посвященные поиску, кластеризации, графам и пр., вы вспомните то, о чем успели позабыть, и овладеете классическими приемами решения повседневных задач.

Python: Искусственный интеллект, большие данные и облачные вычисления

Пол и Харви Дейтелы предлагают по-новому взглянуть на Python и использовать уникальный подход, чтобы быстро решить проблемы, стоящие перед современными айтишниками. Вы на практике познакомитесь с революционными вычислительными технологиями и программированием на Python – одном из самых популярных языков.

В вашем распоряжении более пятисот реальных задач – от фрагментов до 40 больших сценариев и примеров с полноценной реализацией. IPython с Jupyter Noteboos позволят быстро освоить современные идиомы программирования Python. Главы 1–5 и фрагменты глав 6–7 сделают понятными примеры решения задач искусственного интеллекта из глав 11–16. Вы познакомитесь с обработкой естественного языка, анализом эмоций в Twitter®, когнитивными вычислениями IBM® Watson™, машинным обучением с учителем в задачах классификации и регрессии, машинным обучением без учителя в задачах кластеризации, распознавания образов с глубоким обучением и сверточными нейронными сетями, рекуррентными нейронными сетями, большими данными с Hadoop®, Spark™ и NoSQL, IoT и многим другим. Вы поработаете (напрямую или косвенно) с облачными сервисами, включая Twitter, Google Translate™, IBM Watson, Microsoft® Azure®, OpenMapQuest, PubNub и др.

Бизнес-моделирование и анализ данных. Решение актуальных задач с помощью Microsoft Excel

Уэйн Винстон научит вас быстро анализировать данные, принимать решения, подводить итоги, составлять отчеты, обрабатывать данные и строить аналитические модели в Microsoft Excel 2019 и Office 365. В новом шестом издании вас ждут более 800 бизнес-задач, основанных на реальных ситуациях, а также обсуждение новых инструментов и функций. Где бы вы ни работали – в крупной корпорации, небольшой компании, государственной или некоммерческой структуре, – это поможет вам увеличить прибыль, снизить издержки или эффективно управлять производством.

Прочитав эту книгу, вы сможете cпрогнозировать результаты выборов, научитесь определять точки безубыточности, рассчитывать вероятность выигрыша в кости или победы любимой команды в турнире.

Хотите обогнать конкурентов? Решайте в Excel реальные задачи!

Глубокое обучение в картинках. Визуальный гид по искусственному интеллекту

Глубокое обучение стало мощным двигателем для работы с искусственным интеллектом. Яркие иллюстрации и простые примеры кода избавят вас от необходимости вникать в сложные аспекты конструирования моделей глубокого обучения, делая сложные задачи доступными и увлекательными.

Джон Крон, Грант Бейлевельд и замечательный иллюстратор Аглаэ Бассенс используют яркие примеры и аналогии, которые позволяют объяснить, что такое глубокое обучение, почему оно пользуется такой популярностью и как эта концепция связана с другими подходами к машинному обучению. Книга идеально подойдет разработчикам, специалистам по обработке данных, исследователям, аналитикам и начинающим программистам, которые хотят применять глубокое обучение в своей работе. Теоретические выкладки прекрасно дополняются прикладным кодом на Python в блокнотах Jupyter. Вы узнаете приемы создания эффективных моделей в TensorFlow и Keras, а также познакомитесь с PyTorch.

Базовые знания о глубоком обучении позволят создавать реальные приложения – от компьютерного зрения и обработки естественного языка до генерации изображений и игровых алгоритмов.

Spring Boot 2: лучшие практики для профессионалов

Хотите повысить свою эффективность в разработке корпоративных и облачных Java-приложений?

Увеличьте скорость и простоту разработки микросервисов и сложных приложений, избавившись от забот по конфигурации Spring.

Используйте Spring Boot 2 и такие инструменты фреймворка Spring 5, как WebFlux, Security, Actuator, а также фреймворк Micrometer, предоставляющий новый способ сбора метрик.

Паттерны объектно-ориентированного проектирования

Больше 25 лет прошло с момента выхода первого тиража книги Design Patterns. За это время книга из популярной превратилась в культовую. Во всем мире ее рекомендуют прочитать каждому, кто хочет связать жизнь с информационными технологиями и программированием. «Русский» язык, на котором разговаривают айтишники, поменялся, многие англоязычные термины стали привычными, паттерны вошли в нашу жизнь. Перед вами юбилейное издание с обновленным переводом книги, ставшей must-read для каждого программиста. «Паттерны объектно-ориентированного проектирования» пришли на смену «Приемам объектно-ориентированного проектирования». Четыре первоклассных разработчика – Банда четырех – представляют вашему вниманию опыт ООП в виде двадцати трех паттернов. Паттерны появились потому, что разработчики искали пути повышения гибкости и степени повторного использования своих программ. Авторы не только дают принципы использования шаблонов проектирования, но и систематизируют информацию. Вы узнаете о роли паттернов в архитектуре сложных систем и сможете быстро и эффективно создавать собственные приложения с учетом всех ограничений, возникающих при разработке больших проектов. Все шаблоны взяты из реальных систем и основаны на реальной практике. Для каждого паттерна приведен код на C++ или Smalltalk, демонстрирующий его возможности.

Golang для профи. Работа с сетью, многопоточность, структуры данных и машинное обучение с Go

Go является языком высокопроизводительных систем будущего. Эта книга показывает, как заставить Go работать на реальных производственных системах.

Для программистов, которые уже знакомы с основами языка Go, эта книга содержит примеры, шаблоны и четкие объяснения, которые помогут вам глубоко понять возможности Go и применить их в своей работе по программированию.

Книга охватывает нюансы Go с подробными руководствами по типам и структурам, пакетам, параллелизму, сетевому программированию, дизайну компиляторов, оптимизации и многому другому. Каждая глава заканчивается упражнениями и ресурсами, чтобы полностью внедрить ваши новые знания.

Система модулей Java

Создать надежное и безопасное приложение гораздо проще, если упаковать код в аккуратные блоки. Система модулей в Java представляет собой языковой стандарт для создания таких блоков. Теперь вы можете контролировать взаимодействия различных JAR и легко обнаруживать недостающие зависимости. Фундаментальные изменения архитектуры затронули ядро Java, начиная с версии 9. Все API ядра распространяются в виде модулей, а для библиотек, фреймворков и приложений аналогичный подход можно считать хорошей практикой и рекомендацией.

Вы освоите наилучшие практики модульного проектирования, отладки приложения и его развертывания перед сдачей в продакшен.

Эффективный TypeScript: 62 способа улучшить код

«Эффективный TypeScript» необходим тем, кто уже имеет опыт работы с JavaScript. Цель этой книги – не научить пользоваться инструментами, а помочь повысить профессиональный уровень.

TypeScript представляет собой не просто систему типов, а набор служб языка, удобных в использовании. Он повышает безопасность разработки в JavaScript, делает работу увлекательнее и проще.

Простой Python. Современный стиль программирования

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

Любому программисту нужно знать не только язык, но и его возможности. Вы начнете с основ Python и его стандартной библиотеки. Узнаете, как находить, загружать, устанавливать и использовать сторонние пакеты. Изучите лучшие практики тестирования, отладки, повторного использования кода и получите полезные советы по разработке. Примеры кода и упражнения помогут в создании приложений для различных целей.

Программирование на Rust

Официальный гайд по языку программирования Rust от команды разработчиков Rust из Mozilla Foundation.

Добро пожаловать в мир Rust!

Этот официальный гид поможет вам создавать более быстрое и надежное программное обеспечение. Высокоуровневая эргономика и низкоуровневое управление часто противоречат друг другу, но Rust бросает вызов этому конфликту.

Авторы книги входят в команду разработчиков языка, а значит, вы получите всю информацию из первых рук – от установки языка до создания надежных и масштабируемых программ. От создания функций, выбора типов данных и привязки переменных вы перейдете к более сложным концепциям:

  • Владение и заимствование, жизненный цикл и типажи.
  • Гарантированная безопасность программ.
  • Тестирование, обработка ошибок и эффективный рефакторинг.
  • Обобщения, умные указатели, многопоточность, типажные объекты и сопоставления.
  • Работа со встроенным менеджером пакетов Cargo для создания, тестирования, документирования кода и управления зависимостями.
  • Продвинутые средства работы с Unsafe Rust.

Вы найдете множество примеров кода, а также три главы, посвященные созданию полноценных проектов для закрепления знаний: игры-угадайки, создание инструмента командной строки и многопоточного сервера.

Программируем с PyTorch. Создание приложений глубокого обучения

PyTorch – это фреймворк от Facebook с открытым исходным кодом. Узнайте, как использовать его для создания собственных нейронных сетей.

Ян Пойнтер поможет разобраться, как настроить PyTorch в облачной среде, как создавать нейронные архитектуры, облегчающие работу с изображениями, звуком и текстом. Книга охватывает важнейшие концепции применения переноса обучения, модели отладки и использования библиотеки PyTorch.

Вы научитесь:

  • Внедрять модели глубокого обучения в работу.
  • Использовать PyTorch в масштабных проектах.
  • Применять перенос обучения.
  • Использовать PyTorch torchaudio и сверточные модели для классификации аудиоданных.
  • Применять самые современные методы NLP, используя модель, обученную на «Википедии».
  • Выполнять отладку моделей PyTorch с TensorBoard и флеймграф.
  • Развертывать приложения PyTorch в контейнерах.

«PyTorch – это одна из самых быстрорастущих библиотек глубокого обучения, соперничающая с гигантом Google – TensorFlow – практически на равных. Книга обязательно должна стать настольной для каждого программиста и разработчика алгоритмов машинного обучения, которые хотят использовать PyTorch в своей работе».

Анкур Патель, вице-президент направления Data Science в компании 7Park Data.

Ян Пойнтер (Ian Pointer) – дата-инженер, создает решения машинного обучения для клиентов из списка Fortune 100. В настоящее время работает в Lucidworks, где занимается разработкой NLP-приложений и проектированием.

Принципы юнит-тестирования

Юнит-тестирование – это процесс проверки отдельных модулей программы на корректность работы. Правильный подход к тестированию позволит максимизировать качество и скорость разработки проекта. Некачественные тесты, наоборот, могут нанести вред: нарушить работоспособность кода, увеличить количество ошибок, растянуть сроки и затраты. Грамотное внедрение юнит-тестирования – хорошее решение для развития проекта.

Научитесь разрабатывать тесты профессионального уровня, без ошибок автоматизировать процессы тестирования, а также интегрировать тестирование в жизненный цикл приложения. Со временем вы овладеете особым чутьем, присущим специалистам по тестированию. Как ни удивительно, практика написания хороших тестов способствует созданию более качественного кода.

В этой книге: универсальные рекомендации по оценке тестов; тестирование для выявления и исключения антипаттернов; рефакторинг тестов вместе с рабочим кодом; использование интеграционных тестов для проверки всей системы.

Секреты Python Pro

Код высокого качества – это не просто код без ошибок. Он должен быть чистым, удобочитаемым и простым в сопровождении. Путь от рядового питониста к профи не прост, для этого вам нужно разбираться в стиле, архитектуре приложений и процессе разработки.

Книга «Секреты Python Pro» научит проектировать ПО и писать качественный код, то есть делать его понятным, сопровождаемым и расширяемым. Дейн Хиллард – профессиональный питонист, с помощью примеров и упражнений он покажет вам, как разбивать код на блоки, повышать качество за счет снижения сложности и т. д. Только освоив основополагающие принципы, вы сможете сделать так, чтобы чтение, сопровождение и переиспользование вашего кода не доставляли проблем ни вам, ни вашим коллегам.

Веб-разработка с применением Node и Express. Полноценное использование стека JavaScript

Создавайте динамические веб-приложения с применением Express – ключевого компонента из стека разработки Node/JavaScript. Итан Браун описывает работу с Express 5 на примере создания полноценного приложения. В книге рассматриваются все этапы и компоненты – от серверного рендеринга до разработки API для работы с одностраничными приложениями (SPA).

Express является золотой серединой между устоявшимся фреймворком и отсутствием фреймворка вообще, поэтому он оставляет вам определенную свободу при архитектурном выборе. Эта книга предоставит лучшие решения для фронтенд- и бэкенд-разработчиков, использующих Express. Научитесь смотреть на веб-разработку под новым углом!

Эффективный Java. Тюнинг кода на Java 8, 11 и дальше

Программирование и тестирование обычно принято относить к разным профессиональным сферам. Скотт Оукс – признанный эксперт по языку Java – уверен, что если вы хотите работать с этим языком, то обязаны понимать, как выполняется код в виртуальной машине Java, и знать, какие настройки влияют на производительность.

Вы сможете разобраться в производительности приложений Java в контексте как JVM, так и платформы Java, освоите средства, функции и процессы, которые могут повысить производительность в LTS-версиях Java, и познакомитесь с новыми возможностями (такими как предварительная компиляция и экспериментальные уборщики мусора).

Java. Быстрый старт

Всегда хотели научиться программировать на Java, но не знаете, с чего начать? Или хотите быстро перейти с другого языка на Java? Уже перепробовали множество книг и курсов, но ничего не подходит? Серия «Быстрый старт» – отличное решение, и вот почему: сложные понятия разбиты на простые шаги – вы сможете освоить язык Java, даже если никогда раньше не занимались программированием; все фундаментальные концепции подкреплены реальными примерами; вы получите полное представление о Java: концепции объектно-ориентированного программирования, средства обработки ошибок, работа с файлами, лямбда-выражения и т. д.; в конце книги вас ждет интересный проект, который поможет усвоить полученные знания.

Python. Быстрый старт

Всегда хотели научиться программировать на Python, но не знаете, с чего начать? Или хотите быстро перейти с другого языка на Python? Уже перепробовали множество книг и курсов, но ничего не подходит? Серия «Быстрый старт» – отличное решение, и вот почему: сложные понятия разбиты на простые шаги – вы сможете освоить язык Python, даже если никогда раньше не занимались программированием; все фундаментальные концепции подкреплены реальными примерами; вы получите полное представление о Python: структуры управления, методы обработки ошибок, концепции объектно-ориентированного программирования и т. д.; в конце книги вас ждет интересный проект, который поможет усвоить полученные знания. Ну что, готовы? Погнали!

C++ для профи

С++ – популярный язык для создания ПО. В руках увлеченного программиста С++ становится прекрасным инструментом для создания лаконичного, эффективного и читаемого кода, которым можно гордиться. «C++ для профи» адресован программистам среднего и продвинутого уровней, вы продеретесь сквозь тернии к самому ядру С++. Часть 1 охватывает основы языка С++ – от типов и функций до жизненного цикла объектов и выражений. В части 2 представлена стандартная библиотека C++ и библиотеки Boost. Вы узнаете о специальных вспомогательных классах, структурах данных и алгоритмах, а также о том, как управлять файловыми системами и создавать высокопроизводительные программы, которые обмениваются данными по сети.

Программирование на языке MQL5 от основ до индикаторов и экспертов

Книга предназначена для самостоятельного изучения языка программирования MQL5. Все теоретические положения, рассматриваемые в книге, сопровождаются практическими примерами, рекомендуемыми для самостоятельного выполнения. Рассмотрение материала выполняется от элементарных основ программирования до разработки индикаторов технического анализа и полноценных торговых экспертов для терминала MetaTrader5. Данных подход делает книгу полезной для новичков, не имеющих опыта в программировании. Также книга будет полезна и опытным программистам, желающим ускорить освоение языка MQL5 или познакомится с авторским подходом в разработке индикаторов и экспертов.

Scala. Профессиональное программирование

«Scala. Профессиональное программирование» – главная книга по Scala, популярному языку для платформы Java, в котором сочетаются концепции объектно-ориентированного и функционального программирования, благодаря чему он превращается в уникальное и мощное средство разработки.

Этот авторитетный труд, написанный создателями Scala, поможет вам пошагово изучить язык и идеи, лежащие в его основе.

Данное четвертое издание полностью обновлено. Добавлен материал об изменениях, появившихся в Scala 2.13, в том числе:

  • новая иерархия типов коллекций;
  • новые конкретные типы коллекций;
  • новые методы, добавленные к коллекциям;
  • новые способы определять собственные типы коллекций;
  • новые упрощенные представления.

Обработка естественного языка. Python и spaCy на практике

Python и spaCy помогут вам быстро и легко создавать NLP-приложения: чат-боты, сценарии для сокращения текста или инструменты принятия заказов. Вы научитесь использовать spaCy для интеллектуального анализа текста, определять синтаксические связи между словами, идентифицировать части речи, а также определять категории для имен собственных. Ваши приложения даже смогут поддерживать беседу, создавая собственные вопросы на основе разговора.

Прочитав эту книгу, вы можете сами расширить приведенные в книге сценарии, чтобы обрабатывать разнообразные варианты ввода и создавать приложения профессионального уровня.

Python. Лучшие практики и инструменты

Python – это динамический язык программирования, используемый в самых разных предметных областях. Хотя писать код на Python просто, гораздо сложнее сделать этот код удобочитаемым, пригодным для многократного использования и легким в поддержке. Третье издание «Python. Лучшие практики и инструменты» даст вам инструменты для эффективного решения любой задачи разработки и сопровождения софта.

Авторы начинают с рассказа о новых возможностях Python 3.7 и продвинутых аспектах синтаксиса Python. Продолжают советами по реализации популярных парадигм, в том числе объектно-ориентированного, функционального и событийно-ориентированного программирования. Также авторы рассказывают о наилучших практиках именования, о том, какими способами можно автоматизировать развертывание программ на удаленных серверах. Вы узнаете, как создавать полезные расширения для Python на C, C++, Cython и CFFI.