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

Модель «Истощение запасов соли» в среде имитационного моделирования iThink

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

Изучаем программирование на Python

Надоело продираться через дебри малопонятных самоучителей по программированию? С этой книгой вы без труда усвоите азы Python и научитесь работать со структурами и функциями. В ходе обучения вы создадите свое собственное веб-приложение и узнаете, как управлять базами данных, обрабатывать исключения, пользоваться контекстными менеджерами, декораторами и генераторами. Все это и многое другое – во втором издании книги «Изучаем программирование на Python».

Почему эта книга не похожа на другие?

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

Все, что нужно знать о Python:

– Не мучайся – используй DB-API.

– Создавай веб-приложения с Flask.

– Строй списки, словари, кортежи и множества.

– Объекты? Декораторы? Генераторы? Они все здесь.

– Записывай код при помощи модулей.

Программирование искусственного интеллекта в приложениях

Данная книга посвящена вопросам искусственного интеллекта (ИИ), то есть методам и технологиям, призванным сделать ПО более умным и полезным. Рассмотренные алгоритмы в основном предназначены для встраивания в другое программное обеспечение, что позволяет создавать программы, гибко подстраивающиеся под требования и привычки пользователя.

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

Книга призвана помочь разработчикам использовать технологии ИИ при создании более умного программного обеспечения.

Java 9. Полный обзор нововведений. Для быстрого ознакомления и миграции

В книге рассмотрены все нововведения в Java 9. Приведена разработка приложений с использованием системы модулей. Описаны измененная модульная структура образа среды выполнения JDK/JRE, новые фабричные методы для создания коллекций, уведомления процессора об активном ожидании с целью оптимизации потребления ресурсов, новый API платформенно-зависимого рабочего стола, API реактивных потоков и др. Уделено внимание несовместимым изменениям в Java 9. Также рассказано об оболочке JShell, предназначенной для быстрого создания прототипа.

Издание предназначено опытным Java-разработчикам, которым необходима миграция от Java 7 и 8 к Java 9.

Библиотека Keras – инструмент глубокого обучения. Реализация нейронных сетей с помощью библиотек Theano и TensorFlow

Книга представляет собой краткое, но обстоятельное введение в современные нейронные сети, искусственный интеллект и технологии глубокого обучения. В ней представлено более 20 работоспособных нейронных сетей, написанных на языке Python с использованием модульной библиотеки Keras, работающей поверх библиотек TensorFlow от Google или Theano от компании Lisa Lab. Описан функциональный API библиотеки Keras и возможности его расширения. Рассмотрены алгоритмы обучения с учителем (простая линейная регрессия, классический многослойный перцептрон, глубокие сверточные сети), а также алгоритмы обучения без учителя – автокодировщики и порождающие сети. Дано введение в технологию глубокого обучения с подкреплением и ее применение к построению игр со встроенным искусственным интеллектом.

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

Конкурентное программирование на Scala

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

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

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

Основы программирования на языке Python

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

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

Введение в Elixir. Введение в функциональное программирование

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

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

Крупномасштабное машинное обучение вместе с Python

Главная задача настоящей книги состоит в том, чтобы предоставить способы применения мощных методов машинного обучения с открытым исходным кодом в крупномасштабных проектах без привлечения дорогостоящих корпоративных решений или больших вычислительных кластеров. Описаны масштабируемое обучение в Scikit-learn, нейронные сети и глубокое обучение с использованием Theano, H2O и TensorFlow. Рассмотрены классификационные и регрессионные деревья, а также обучение без учителя. Охвачены эффективные методы машинного обучения в вычислительной среде MapReduce на платформах Hadoop и Spark на языке Python.

Kotlin в действии

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

Данная книга научит вас пользоваться языком Kotlin для создания высококачественных приложений. Написанная создателями языка – разработчиками в компании JetBrains, – эта книга охватывает такие темы, как создание предметно-ориентированных языков, функциональное программирование в JVM, совместное использование Java и Kotlin и др.

Издание предназначено разработчикам, владеющим языком Java и желающим познакомиться и начать эффективно работать с Kotlin.

Реактивное программирование с применением RxJava

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

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

Continuous delivery. Практика непрерывных апдейтов

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

Эберхард Вольф познакомит вас с популярными передовыми технологиями, облегчающими труд разработчиков: Docker, Chef, Vagrant, Jenkins, Graphite, ELK stack, JBehave и Gatling. Вы пройдете через все этапы сборки, непрерывной интеграции, нагрузочного тестирования, развертывания и контроля.

PHP7 для начинающих с пошаговыми инструкциями

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

Изучаем Python. Программирование игр, визуализация данных, веб-приложения

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

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

Книга была переработана и дополнена, чтобы соответствовать последним практикам программирования на Python: приемы редактирования в VS Code, применение модуля pathlib для работы с файлами, тестирование с помощью pytest, а также Matplotlib, Plotty и Django.

Если вы подумываете «А не заняться ли мне программированием?», то эта книга – идеальный старт. Не нужно больше ждать! Погнали!

Алгоритмы для начинающих. Теория и практика для разработчика

Алгоритмы правят миром! Эта книга в простой и наглядной форме дает ответы на целый ряд важнейших для начинающего программиста вопросов, начиная с «Что лежит в основе всех современных языков программирования и по каким принципам они строятся и работают?» и заканчивая «Есть ли способ овладеть всеми языками программирования сразу?».

Думай как программист. Креативный подход к созданию кода. C++ версия

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

Java. Объектно-ориентированное программирование

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

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

Учебное пособие соответствует Государственному образовательному стандарту 3-го поколения для специальностей «Информатика и вычислительная техника», «Информационные системы и технологии», «Прикладная информатика» и «Фундаментальная информатика и информационные технологии».

Программирование на C# для начинающих. Основные сведения

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

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

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

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

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

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

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

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

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

Теоретический минимум по Computer Science. Все что нужно программисту и разработчику

Хватит тратить время на скучные академические фолианты! Изучение Computer Science может быть веселым и увлекательным занятием.

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

С++17 STL. Стандартная библиотека шаблонов

С++ – объектно-ориентированный язык программирования, без которого сегодня немыслима промышленная разработка ПО. В этой замечательной книге описана работа с контейнерами, алгоритмами, вспомогательными классами, лямбда-выражениями и другими интересными инструментами, которыми богат современный С++. Освоив материал, вы сможете коренным образом пересмотреть привычный подход к программированию. Преимущество издания – в подробном описании стандартной библиотеки шаблонов С++, STL. Ее свежая версия была выпущена в 2017 году. В книге вы найдете более 90 максимально реалистичных примеров, которые демонстрируют всю мощь STL. Многие из них станут базовыми кирпичиками для решения более универсальных задач. Вооружившись этой книгой, вы сможете эффективно использовать С++17 для создания высококачественного и высокопроизводительного ПО, применимого в различных отраслях.

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

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

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

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

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