Скачать книги серии «Бестселлеры O'Reilly»

Основы разработки веб-приложений

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

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

Создание микросервисов

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

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

Децентрализованные приложения. Технология Blockchain в действии

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

Децентрализованные приложения гибче, прозрачнее и надежнее, чем современное программное обеспечение, созданное с применением традиционных моделей. Эта книга знакомит вас с основами создания децентрализованных приложений и принципами их разработки на примере нескольких доходных приложений. Причина такого коммерческого уклона объясняется тем, что прибыль (выгода) является основой успешного, надежного и перспективного децентрализованного приложения. Воспользуйтесь ими как трамплином к созданию вашего собственного приложения.

Держим курс на открытость и децентрализацию!

React. Быстрый старт. Создаем веб-приложение

Незаменимая книга по React – технологии с открытым исходным кодом для быстрого создания многофункциональных веб-приложений. Второе издание, обновленное с учетом последней версии React, показывает, как создавать компоненты React и организовывать их в удобные для сопровождения крупномасштабные приложения. Если вы знаете синтаксис JavaScript, то сразу можете приступать к работе.

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

Регулярные выражения

Вы никогда не пользовались регулярными выражениями? Откройте мир regex и станьте профессионалом, способным эффективно работать с данными в Java, JavaScript, C, C++, C#, Perl, Python, Ruby, PHP и других языках программирования.

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

Масштабирование приложений. Выращивание сложных систем

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

React и Redux. Функциональная веб-разработка

Хотите научиться писать эффективные пользовательские интерфейсы при помощи React? Тогда вы нашли нужную книгу. Авторы расскажут, как создавать пользовательские интерфейсы при помощи этой компактной библиотеки и писать сайты, на которых можно обрабатывать огромные объемы данных без перезагрузки страниц. Также вы изучите новейшие возможности стандарта ECMAScript и функционального программирования.

Unity для разработчика. Мобильные мультиплатформенные игры

Добро пожаловать в мир Unity! Создавайте игры, работающие на любых мобильных устройствах, телефонах и планшетах.

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

Советы профессиональных разработчиков помогут быстро начать работу и сразу получить красивый, качественный и интерактивный 3D- и 2D-контент.

Эффективный Spark. Масштабирование и оптимизация

Если у вас уже есть положительный опыт использования Spark для решения небольших задач, но вы по-прежнему ломаете голову – где та самая непревзойденная производительность Spark, позволяющая перемалывать колоссальные объемы данных, – то эта книга для вас. Она расскажет, как эффективно использовать Spark для укрощения больших данных и вырасти из новичка в специалиста. Идеально подходит для программистов, инженеров по работе с данными, системных администраторов, обслуживающих крупномасштабные приложения.

Алгоритмы и структуры данных. Извлечение информации на языке Java

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

  • Научитесь работать со структурами данных, например, со списками и словарями, разберитесь, как они работают.
  • Напишите приложение, которое читает страницы Википедии, выполняет синтаксический разбор и обеспечивает навигацию по полученному дереву данных.
  • Анализируйте код и учитесь прогнозировать, как быстро он будет работать и сколько памяти при этом потреблять.
  • Пишите классы, реализующие интерфейс Map, пользуйтесь при этом хеш-таблицей и двоичным деревом поиска.
  • Создайте простой веб-поисковик с собственным поисковым роботом: он будет индексировать веб-страницы, сохранять их содержимое и возвращать нужные результаты.

Apache Kafka. Потоковая обработка и анализ данных

При работе любого enterprise-приложения образуются данные: это файлы логов, метрики, информация об активности пользователей, исходящие сообщения и т. п. Правильные манипуляции над всеми этими данными не менее важны, чем сами данные. Если вы – архитектор, разработчик или выпускающий инженер, желающий решать подобные проблемы, но пока не знакомы с Apache Kafka, то именно отсюда узнаете, как работать с этой свободной потоковой платформой, позволяющей обрабатывать очереди данных в реальном времени.

Базы данных. Инжиниринг надежности

В сфере IT произошла настоящая революция – с инфраструктурой стали работать как с кодом. Этот процесс создает не только новые проблемы, но и возможности для обеспечения безотказной работы баз данных. Авторы подготовили это практическое руководство для всех, кто желает влиться в сообщество современных инженеров по обеспечению надежности баз данных (database reliability engineers, DBRE).

Паттерны Kubernetes. Шаблоны разработки собственных облачных приложений

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

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

Kubernetes для DevOps. Развертывание, запуск и масштабирование в облаке

Kubernetes – один из ключевых элементов современной облачной экосистемы. Эта технология обеспечивает надежность, масштабируемость и устойчивость контейнерной виртуализации. Джон Арундел и Джастин Домингус рассказывают об экосистеме Kubernetes и знакомят с проверенными решениями повседневных проблем. Шаг за шагом вы построите собственное облачно-ориентированное приложение и создадите инфраструктуру для его поддержки, настроите среду разработки и конвейер непрерывного развертывания, который пригодится вам при работе.

Программирование квантовых компьютеров

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

Эрик Джонстон, Ник Хэрриган и Мерседес Химено-Сеговиа помогают развить необходимые навыки и интуицию, а также освоить инструментарий, необходимый для создания квантовых приложений. Вы поймете, на что способны квантовые компьютеры и как это применить в реальной жизни.

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

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

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

BPF для мониторинга Linux

Виртуальная машина BPF – один из важнейших компонентов ядра Linux. Ее грамотное применение позволит системным инженерам находить сбои и решать даже самые сложные проблемы.

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

Дэвид Калавера и Лоренцо Фонтана помогут вам раскрыть возможности BPF. Расширьте свои знания об оптимизации производительности, сетях, безопасности.

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

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

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

Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений

Любой программист, работающий с языком с динамической типизацией, подтвердит, что задача масштабирования кода невероятно сложна и требует большой команды инженеров. Вот почему Facebook, Google и Microsoft придумали статическую типизацию для динамически типизированного кода.

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

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

Борис Черный помогает разобраться со всеми нюансами и возможностями TypeScript, учит устранять ошибки и масштабировать код.

Программируем с 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-приложений и проектированием.

gRPC: запуск и эксплуатация облачных приложений. Go и Java для Docker и Kubernetes

Год от года обретая новых сторонников, облачно-ориентированные и микросервисные архитектуры стали основой современного IT. Такой переход значительно повлиял и на структуру коммуникаций. Теперь приложения часто подключаются друг к другу по сети, и это происходит с помощью технологий межпроцессной коммуникации. Одной из наиболее популярных и эффективных технологий такого рода является gRPC, но информации о ней не хватает. Так было, пока не вышла эта книга!

Наконец архитекторы и разработчики смогут подробно разобраться, как технология gRPC устроена «под капотом», и для этого не придется разгребать десятки устаревших ссылок в поисковике.

Прикладной анализ текстовых данных на Python. Машинное обучение и создание приложений обработки естественного языка

Технологии анализа текстовой информации стремительно меняются под влиянием машинного обучения. Нейронные сети из теоретических научных исследований перешли в реальную жизнь, и анализ текста активно интегрируется в программные решения. Нейронные сети способны решать самые сложные задачи обработки естественного языка, никого не удивляет машинный перевод, «беседа» с роботом в интернет-магазине, перефразирование, ответы на вопросы и поддержание диалога. Почему же Сири, Алекса и Алиса не хотят нас понимать, Google находит не то, что мы ищем, а машинные переводчики веселят нас примерами «трудностей перевода» с китайского на албанский? Ответ кроется в мелочах – в алгоритмах, которые правильно работают в теории, но сложно реализуются на практике. Научитесь применять методы машинного обучения для анализа текста в реальных задачах, используя возможности и библиотеки Python. От поиска модели и предварительной обработки данных вы перейдете к приемам классификации и кластеризации текстов, затем приступите к визуальной интерпретации, анализу графов, а после знакомства с приемами масштабирования научитесь использовать глубокое обучение для анализа текста.

Знакомство с PyTorch. Глубокое обучение при обработке естественного языка

Обработка текстов на естественном языке (Natural Language Processing, NLP) – крайне важная задача в области искусственного интеллекта. Успешная реализация делает возможными такие продукты, как Alexa от Amazon и Google Translate. Эта книга поможет вам изучить PyTorch – библиотеку глубокого обучения для языка Python – один из ведущих инструментов для дата-сайентистов и разработчиков ПО, занимающихся NLP. Делип Рао и Брайан Макмахан введут вас в курс дел с NLP и алгоритмами глубокого обучения. И покажут, как PyTorch позволяет реализовать приложения, использующие анализ текста.

Непрерывное развитие API. Правильные решения в изменчивом технологическом ландшафте

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

Как соблюсти баланс гибкости и производительности, сохранив надежность и простоту настройки? Четыре эксперта по API объясняют разработчикам, руководителям продуктов и проектов, как максимально увеличить ценность их API, управляя интерфейсами как продуктами с непрерывным жизненным циклом.