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

Искусство программирования. Том 2. Получисленные алгоритмы

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

Искусство программирования. Том 3. Сортировка и поиск

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

Искусство программирования. Том 4А. Комбинаторные алгоритмы, часть 1

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

Компиляторы: принципы, технологии и инструментарий

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

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

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

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

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

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

Глубокое обучение на Python

Глубокое обучение динамично развивается, открывая все новые и новые возможности создания ПО. Это не только автоматический перевод текстов с одного языка на другой, распознавание изображений, но и многое другое. Глубокое обучение превратилось в важный навык, необходимый каждому разработчику. Keras и TensorFlow облегчают жизнь разработчикам и позволяют легко работать даже тем, кто не имеет фундаментальных знаний в области математики или науки о данных.

Настала пора познакомиться с глубоким обучением и мощной библиотекой Keras!

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

Изучаем Java EE. Современное программирование для больших предприятий

Java EE 8 – современная версия популярной платформы для программирования корпоративных приложений на языке Java. Новая версия платформы оптимизирована с учетом многочисленных технологических нововведений, среди которых – работа с контейнерами, улучшенные API для обеспечения безопасности, возможности работы с облачными хранилищами и микросервисной архитектурой. Java EE обеспечивает широкие возможности предметно-ориентированного проектирования (DDD), непрерывную интеграцию, работу по принципу DevOps, взаимодействие с Docker и Kubernetes.

Принципы проектирования и архитектурные секреты, собранные в этой книге в изложении великолепного Себастьяна Дашнера (в 2016 году удостоен звания Java-сhampion), послужат вам неисчерпаемым источником вдохновения и солидной базой для воплощения даже самой сложной бизнес-логики в Java-приложениях.

Head First Agile. Гибкое управление проектами

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

В реальном мире практика, хорошо работающая в одной команде, создает серьезные проблемы в другой; различия обусловлены образом мышления команд и их подходом к делу. Чтобы разобраться в этом придется погрузиться в гибкую разработку и поменять свое отношение к проектам!

Head First. Паттерны проектирования

Не имеет смысла каждый раз изобретать велосипед, лучше сразу освоить приемы проектирования, которые уже созданы людьми, сталкивавшимися с аналогичными задачами. В этой книге рассказано, какие паттерны действительно важны, когда и при каких условиях ими необходимо пользоваться, как применить их в ваших проектах и на каких принципах объектно-ориентированного проектирования они построены. Присоединяйтесь к сотням тысяч разработчиков, которые повысили свою квалификацию объектно-ориентированного проектирования благодаря книге «Head First. Паттерны проектирования».

Если вы уже читали книги из серии Head First, то знаете, что вас ждет визуально насыщенный формат, разработанный с учетом особенностей работы мозга. В книге «Head First. Паттерны проектирования» принципы и паттерны проектирования представлены так, чтобы вы не заснули, читая книгу, научились решать реальные задачи проектирования программных продуктов и общаться на языке паттернов с другими участниками вашей команды.

Data Science. Наука о данных с нуля

Книга позволяет изучить науку о данных (Data Science) и применить полученные знания на практике. Она содержит краткий курс языка Python, элементы линейной алгебры, статистики, теории вероятностей, методов обработки данных. Приведены основы машинного обучения. Описаны алгоритмы k ближайших соседей, наивной байесовой классификации, линейной и логистической регрессии, а также модели на основе деревьев принятия решений, нейронных сетей и кластеризации. Рассмотрены приемы обработки естественного языка, методы анализа социальных сетей, основы баз данных, SQL и MapReduce.

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

Для аналитиков данных.

Data Science. Инсайдерская информация для новичков. Включая язык R.

Data Science (исследование данных) – одна из самых востребованных специализаций нашего времени. Изучение данных позволяет преобразить любую традиционную или инновационную бизнес-модель. Эта книга основана на вводном курсе по Data Science из Колумбийского университета, и начинающему специалисту-аналитику она совершенно необходима. Эта книга увлекательно и доступно рассказывает о:

● байесовском методе;

● статистических алгоритмах;

● финансовом моделировании;

● рекомендательных движках;

● визуализации данных;

● MapReduce.

Unity в действии. Мультиплатформенная разработка на C#

Создание игр – увлекательное дело, а Unity делает его простым и доступным! Unity возьмет на себя всю тяжелую работу, и вы сможете сосредоточиться на игре, графике и взаимодействии с пользователем. Поддержка C# и огромная экосистема готовых компонентов позволят даже начинающим разработчикам быстро перейти от идеи к реализации. Осваивать и получать практический опыт работы с инструментами Unity и высокотехнологичным механизмом визуализации вы будете на примерах игр в двумерной, трехмерной и виртуальной/дополненной реальности.

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

Третье издание знаменитого бестселлера было полностью переработано. И самое главное – теперь в книге пойдет речь о дополненной и виртуальной реальности.

Осваивайте Unity и быстрее приступайте к созданию собственных игр!

Spring. Все паттерны проектирования

В этой книге дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассматриваются классические паттерны «Банды четырех» при проектировании приложений на Spring. В следующих частях книги автор рассматривает паттерны аспектно-ориентированного программирования (AOP), шаблоны JDBC, позволяющие абстрагировать доступ к базе данных. В заключительных главах книги автор исследует работу с MVC, реактивные шаблоны проектирования и паттерны проектирования, применяемые при конкурентном и параллельном программировании в Spring.

Анализ социальных медиа на Python

Язык программирования Python является оптимальным выбором для исследователей-аналитиков, поскольку позволяет создавать прототипы, визуализировать и анализировать наборы данных малого и среднего размера. Бесчисленное количество предприятий обращается к Python для решения задач, связанных с выявлением особенностей поведения потребителей и превращением исходных данных в действенную информацию о клиентах. Настоящая книга рассказывает, как с помощью научного инструментария Python получать и анализировать данные из наиболее популярных сетей, таких как Facebook, Twitter, Stack Exchange и др. В русскоязычное издание добавлено приложение об анализе данных из сети «ВКонтакте».

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

Искусственный интеллект для .Net: речь, язык и поиск

Издание рассказывает о применении когнитивных служб компании Microsoft и применении на практике набора простых API. В доступной форме описано создание приложений на основе искусственного интеллекта в среде разработки Visual Studio, создание разговорного интерфейса, применение API для обработки распознавания и интерпретации устной речи. Описаны различные модели языка в искусственном интеллекте.

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

Идиомы и паттерны проектирования в современном С++

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

Издание предназначено программистам на С++, хорошо владеющих средствами и синтаксисом языка.

Изучение робототехники с помощью Python

В данной книге рассказывается, как с нуля построить автономный мобильный обслуживающий робот, с помощью которого можно подавать еду в квартире, гостинице и ресторане. Благодаря подробным пошаговым инструкциям читатель узнает весь процесс разработки робота – начиная с теоретической части (принципы дифференциального привода, кинематики и обратной кинематики) и заканчивая практической реализацией (сборка отдельных компонентов, согласование приводов и датчиков с контроллерами). Много внимания уделено программной части – использованию метаоперационной системы ROS, моделированию в Gazebo, обработке изображений в OpenCV, разработке GUI робота на Qt и Python.

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

Потоковая обработка данных. Конвейер реального времени

Эта насыщенная идеями книга научит вас думать об эффективном взаимодействии с быстрыми потоками данных. В ней выдержан идеальный баланс между широкой картиной и деталями реализации. На содержательных примерах и практических задачах вы узнаете о проектировании приложений, которые читают, анализируют, разделяют и сохраняют потоковые данные. Попутно вы поймете, какую роль играют такие технологии, как Spark, Storm, Kafka, Flink, RabbitMQ и другие.

Издание ориентировано на разработчиков, знакомых с концепциями реляционных баз данных.

Отладка Windows-приложений

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

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

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

Олимпиадное программирование

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

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

Издание будет полезно прежде всего студентам, начинающим принимать участие в соревнованиях по программированию.

Обработка текстовой и графической информации

Рассмотрены способы обработки текстовой и графической информации. Уделено внимание вопросам сортировки текстовых данных, построения и сканирования графиков, поддержки диалогового режима работы, создания и систематизации графических файлов.

Приведены примеры текстов программ на языке FORTRAN с подробными комментариями.

Издание предназначено для научных работников и инженеров, занятых расчетами и обработкой экспериментальных данных, а также преподавателей, студентов и аспирантов технических вузов.

Проектирование масштабируемых систем с помощью Erlang/OTP

Данная книга демонстрирует использование языка Erlang и его платформы OTP для создания масштабируемых и устойчивых к сбоям систем. Описаны подходы к проектированию и реализации сложных архитектур, разработанных компанией Erlang Solutions. Рассмотрены вопросы надёжности, масштабируемости и высокой доступности вашего проекта в целом.

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

Разработка чат-ботов и разговорных интерфейсов

В книге рассказывается о работе диалоговых интерфейсов как способе взаимодействия машины с людьми на естественном языке. Вы научитесь разрабатывать чат-боты для выполнения различных прикладных задач с помощью платформ Microsoft Bot Framework, DialogFlow и Twilio, а также изучите механизмы развертывания чат-ботов на платформах мессенджеров типа Facebook. В заключении освоите отправку и отслеживание сообщений на платформе Twitter, а также поэкспериментируете с технологиями Google Assistant и Amazon Alexa.

Издание будет полезно начинающим разработчикам в области искусственного интеллекта