UNIX. Профессиональное программирование" представляет собой подробнейшее справочное руководство для любого профессионального программиста, работающего с UNIX. Стивену Раго удалось обновить и дополнить текст фундаментального классического труда Стивенса, сохранив при этом точность и стиль оригинала.
Ошеломляющий успех коммерческих приложений машинного обучения (machine learning – ML) и быстрый рост этой отрасли создали высокий спрос на готовые методы ML, которые можно легко использовать без специальных знаний. Однако и сегодня успех практического применения в решающей степени зависит от экспертов – людей, которые вручную выбирают подходящие архитектуры и их гиперпараметры. Методы AutoML нацелены на устранение этого узкого места путем построения систем ML, способных к автоматической оптимизации и самонастройке независимо от типа входных данных. В этой книге впервые представлен всеобъемлющий обзор базовых методов автоматизированного машинного обучения (AutoML). Издание послужит отправной точкой для изучения этой быстро развивающейся области. Тем, кто уже использует AutoML в своей работе, книга пригодится в качестве справочника.
Перед вами исчерпывающее руководство по основам Data Science. С помощью него вы сможете научиться мыслить статистически и понимать, какую роль в вашей работе играет аналитика, пользоваться языком науки о данных, избегать распространенных ошибок при работе с ними и, наконец, разобраться в полезных инструментах, которые используют эксперты. В этой книге вы познакомитесь с инструментами, терминами и образом мышления, необходимыми для навигации по промышленному комплексу науки о данных. Вы научитесь понимать данные и связанные с ними проблемы на более глубоком уровне, критически относиться к данным и результатам, с которыми сталкиваетесь, а также разумно говорить обо всем, что касается данных. Короче говоря, вы станете главным по данным.
Создание программных продуктов всегда связано с компромиссами. В попытках сбалансировать скорость, безопасность, затраты, время доставки, функции и многие другие факторы можно обнаружить, что вполне разумное дизайнерское решение на практике оказывается сомнительным. Советы экспертов и яркие примеры, представленные в этой книге, научат вас делать правильный выбор в дизайне и проектировании приложений. Мы будем рассматривать реальные сценарии, в которых были приняты неверные решения, а затем искать пути, позволяющие исправить подобную ситуацию. Томаш Лелек и Джон Скит делятся опытом, накопленным за десятки лет разработки ПО, в том числе рассказывают о собственных весьма поучительных ошибках. Вы по достоинству оцените конкретные советы и практические методы, а также неустаревающие паттерны, которые изменят ваш подход к проектированию. Большинство примеров, паттернов и фрагментов кода написаны на Java, но сами решения не привязаны к этому языку.
Приложения ASP.NET Core подвержены риску атак. Существуют конкретные меры, которые помогут избежать взлома. В книге показаны такие методы защиты веб-приложений ASP.NET Core, как безопасное взаимодействие с браузером, распознавание и предотвращение распространенных угроз, развертывание уникальных API безопасности этого фреймворка. Приводятся способы написания безопасного кода и примеры с аннотациями, а также полное описание встроенных инструментов безопасности ASP.NET Core. Рассматриваются реальные нарушения в системе безопасности, включая мошеннические расширения Firefox и кражу паролей в Adobe. Стек, который мы будем использовать в этой книге, – это .NET. А поскольку мы говорим о веб-приложениях, то в центре внимания будет фреймворк ASP.NET Core. Книга была написана с использованием .NET 6 и ASP.NET Core 6, но надеюсь, что она будет полезна и при работе с более новыми версиями.
Хотите выжать из MySQL максимум возможностей? Вам поможет уникальная книга, написанная экспертами для экспертов. Пора изучать лучшие практики, начиная с постановки целей уровня обслуживания, проектирования схем, индексов, запросов и заканчивая настройкой вашего сервера, операционной системы и оборудования, чтобы реализовать потенциал вашей платформы по максимуму. Администраторы баз данных научатся безопасным и практичным способам масштабирования приложений с помощью репликации, балансировки нагрузки, высокой доступности и отказоустойчивости. Это издание было обновлено и переработано с учетом последних достижений в области облачного и самостоятельного хостинга MySQL, производительности InnoDB, а также новых функций и инструментов. Вы сможете разработать платформу реляционных данных, которая будет масштабироваться вместе с вашим бизнесом, и узнаете о передовых методах обеспечения безопасности, производительности и стабильности баз данных.
Учебное пособие предназначено для изучения параллельных вычислений с помощью технологии MPI — основного средства программирования для вычислительных систем с распределенной памятью. Учебное пособие включает в себя описание среды параллельного программирования MPI, основных операций и функций на языках С и FORTRAN. Приводятся примеры параллельных программ и задания для самостоятельной работы. Пособие предназначено для студентов бакалавриата и магистратуры и аспирантов, обучающихся по направлениям, связанным с математическим моделированием и информационными технологиями.
Используйте компоненты стандартной библиотеки в C++17 в полной мере. Стандарт C++17, которому посвящена книга, удвоил объем библиотеки в сравнении с С++11. Вы узнаете о наиболее важных особенностях стандартной библиотеки C++17 со множеством примеров, научитесь создавать свои типы итераторов, диспетчеры памяти, пулы потоков выполнения. Также рассмотрены отличия мономорфизма, полиморфизма и обобщенных алгоритмов. Издание адресовано разработчикам, желающим овладеть новыми особенностями библиотеки C++17 STL и в полной мере использовать ее компоненты. Знакомство с языком C++ является обязательным условием.
На основе концепции алгоритмического анализа освещаются творчество человека и природные процессы. Подробно обсуждаются понятия информатики и ее приложения в нетрадиционных областях, относящихся к искусству. Основное внимание уделяется рекурсии как специальному алгоритмическому способу организации сложных систем. Рассматриваются примеры рекурсии в программировании, литературе, живописи, музыке, в формировании психической деятельности человека.
API представляют собой контракты, которые определяют принципы взаимодействия приложений, сервисов и компонентов. Паттерны проектирования API — это набор лучших практик, спецификаций и стандартов, обеспечивающих простоту и надежность их использования для разработчиков. Книга объединяет и объясняет наиболее важные паттерны, используемые сообществом разработчиков API и экспертами Google. Паттерны проектирования API определяют набор принципов для разработки внутренних и публичных API. Джей Джей Гивакс, будучи специалистом из Google, рассказывает о паттернах, которые обеспечат вашим API согласованность, масштабируемость и гибкость. Вы узнаете, как улучшить дизайн самых распространенных API и как действовать в сложных пограничных случаях. Понятные иллюстрации, актуальные примеры и подробные сценарии позволят тщательно разобраться в каждом паттерне.
Сценарии на языке командной оболочки получили самое широкое распространение, особенно написанные на языках, совместимых с bash. Но эти сценарии часто сложны и непонятны. Сложность — враг безопасности и причина неудобочитаемости кода. Эта книга на практических примерах покажет, как расшифровывать старые сценарии и писать новый код, максимально понятный и легко читаемый. Авторы Карл Олбинг (Carl Albing) и Джей Пи Фоссен (JP Vossen) покажут, как использовать мощь и гибкость командной оболочки. Даже если вы умеете писать сценарии на bash, эта книга поможет расширить ваши знания и навыки. Независимо от используемой ОС — Linux, Unix, Windows или Mac — к концу книги вы научитесь понимать и писать сценарии на экспертном уровне. Это вам обязательно пригодится. Вы познакомитесь с идиомами, которые следует использовать, и такими, которых следует избегать.
Книга написана Бьерном Страуструпом - автором языка программирования C++ - и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный объектно-ориентированный подход к созданию программных продуктов.
Учебное пособие в нескольких частях представляет собой полный учебный курс по технологиям веб-дизайна на стороне клиента, который включает в себя учебный материал со множеством примеров и сгруппированные по темам задания для практических работ.
Данное учебно-методическое пособие развивает идеи первой книги автора «Введение в веб-разработку на языке javascript» и онлайн-курса «Серверные веб-технологии и системы управления контентом» на платформе openedu.ru. В пособии рассматриваются фундаментальные основы и прикладные аспекты использования языка javascript (и TypeScript) для разработки веб-ресурсов.
Авторы прекрасно понимают трудности, которые возникают у начинающего программиста, поэтому учебное пособие предназначено, в первую очередь, для тех, кто только начинает изучать программирование. При изложении материала авторы используют методику обучения от алгоритмов к программам, поэтому вначале излагаются сведения об алгоритмах с примерами реализации типовых алгоритмов. Изучение основ языка программирования С++ опирается на полученные знания, приведены примеры кода на данном языке. В практикуме предлагаются как задачи, использующие типовые алгоритмы, так и содержательные, для которых приведено только вербальное описание. В типовых задачах оттачиваются навыки кодирования, в содержательных требуются построение инфологической модели и выбор алгоритмов решения.
Книга охватывает многообразные аспекты создания веб-приложений с помощью самого популярного веб-фреймворка Django на языке Python. Изучив четыре проекта разной направленности (приложение для ведения блога и электронной коммерции, социальный веб-сайт, платформа электронного обучения), вы получите хорошее представление о том, как работает Django. Опираясь на изученный материал, вы сможете создавать полнофункциональные веб-приложения на Python с аутентификацией, системами управления контентом, RESTful API и прочими элементами. Издание предназначено читателям с базовыми знаниями Python, а также программистам, переходящим на Django с других веб-фреймворков. Оно подойдет и тем, кто уже использует Django в своей работе и хочет расширить свои навыки. Для изучения материала необходимы базовый опыт работы с Python и знание HTML и JavaScript.
При работе любого корпоративного приложения образуются данные: файлы журналов, показатели, информация об активности пользователей, исходящие сообщения и другие. Правильное управление этими данными не менее важно, чем сами данные. Если вы архитектор, разработчик или инженер-технолог, но вы пока не знакомы с Apache Kafka, то из этой обновленной книги вы узнаете, как работать с потоковой платформой Kafka, позволяющей обрабатывать потоки данных в реальном времени. Дополнительные главы посвящены API AdminClient от Kafka, транзакциям, новым функциям безопасности и изменениям в инструментарии. Инженеры из Confluent и LinkedIn, ответственные за разработку Kafka, объясняют, как с помощью этой платформы развертывать производственные кластеры Kafka, писать надежные управляемые событиями микросервисы и создавать масштабируемые приложения для потоковой обработки данных. На подробных примерах вы изучите принципы проектирования Kafka, гарантии надежности, ключевые API и детали архитектуры.
Вы хотите научиться разрабатывать самостоятельно интересные устройства на микроконтроллерах? Хотите легко научиться придумывать схемы и писать программы? Тогда эта книга для вас! Новейший самоучитель позволит уверенно пройти путь от уровня, получившего меткое название "чайник", до вполне готового специалиста, умеющего самостоятельно разрабатывать готовые работоспособные микроэлектронные устройства. Процесс освоения начинается с азов цифровой техники (базовые элементы цифровой логики, теория цифрового сигнала, основы булевой алгебры, системы исчисления и т.п.). Следуя постепенно от простого к сложному, вы изучите основы микропроцессорной техники, возможности семейства микроконтроллеров на примере AVR. Ну и, наконец, вы освоите основы схемотехники и конструирования микроэлектронных устройств.
Книга рассказывает о том, как разрабатывать уникальные языки программирования, чтобы сократить время и стоимость создания приложений для новых или специализированных областей применения вычислительной техники. Вы начнете с реализации интерфейса компилятора для вашего языка, включая лексический и синтаксический анализатор, а к концу чтения сможете разрабатывать и воплощать в коде свои собственные языки, позволяющие компилировать и запускать программы. Издание адресовано разработчикам программного обеспечения, заинтересованным в создании собственного языка. Для изучения материала потребуется опыт программирования на языке высокого уровня, таком как Java или C++.
Unreal Engine 5 – популярный игровой движок, который поддерживается всемирно известной компанией по производству игр Epic Games. Благодаря богатому функционалу и простоте в использовании им пользуются разрабочики как крупных игровых проектов (Fortnite, Stalker, Bioshock), так и бесчисленных инди-игр. Руководство, которое вы держите в руках, поможет вам без труда понять внутреннюю логику UE 5, освоить его полный инструментарий и начать генерировать игровые миры и населяющих их персонажей не хуже легендарных геймдизайнеров.