Авторы прекрасно понимают трудности, которые возникают у начинающего программиста, поэтому учебное пособие предназначено, в первую очередь, для тех, кто только начинает изучать программирование. При изложении материала авторы используют методику обучения от алгоритмов к программам, поэтому вначале излагаются сведения об алгоритмах с примерами реализации типовых алгоритмов. Изучение основ языка программирования С++ опирается на полученные знания, приведены примеры кода на данном языке. В практикуме предлагаются как задачи, использующие типовые алгоритмы, так и содержательные, для которых приведено только вербальное описание. В типовых задачах оттачиваются навыки кодирования, в содержательных требуются построение инфологической модели и выбор алгоритмов решения.
Книга охватывает многообразные аспекты создания веб-приложений с помощью самого популярного веб-фреймворка 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, освоить его полный инструментарий и начать генерировать игровые миры и населяющих их персонажей не хуже легендарных геймдизайнеров.
Разработка программного обеспечения становится все сложнее из-за использования различных инструментов. Приложения приходится упаковывать вместе с программными компонентами, чтобы упростить их работу, но это усложняет их запуск. С помощью Docker Compose можно всего одной командой настроить приложение и необходимые зависимости. Вы познакомитесь с основами томов и сетей Docker, с командами Compose, их назначением и вариантами использования. Настроите базу данных для повседневной работы, доступную через сеть Docker, установите связь между микросервисами. Научитесь с помощью Docker Compose запускать целые стеки локально, моделировать промышленные окружения и расширять задания CI/CD. Кроме того, узнаете, как извлечь выгоду из Docker Compose при создании развертываний в промышленных окружениях, а также подготовите инфраструктуру в общедоступных облаках.
Написание качественного кода на C++ не должно быть трудной задачей. Если разработчик будет следовать рекомендациям, приведенным в C++ Core Guidelines, то он будет писать исключительно надежные, эффективные и прекрасно работающие программы на C++. Но руководство настолько переполнено советами, что порой трудно понять, с чего начать. Начните с «Красивого C++»! Опытные программисты Гай Дэвидсон и Кейт Грегори выбрали 30 основных рекомендаций, которые посчитали особенно ценными, и дают подробные практические советы, которые помогут улучшить ваш стиль разработки на C++. Для удобства книга структурирована в точном соответствии с официальным веб-сайтом C++ Core Guidelines.
Учебное пособие "Программирование на языке высокого уровня" представляет собой курс по изучению языка Object Pascal. Пособие предназначено для широкого круга читателей. как для начинающих программистов, так и для тех, кто уже знаком с основами программирования и в будущем собирается стать профессиональным программистом. Пособие состоит из двух частей. Часть 1 предназначена для начинающих программистов. В ней рассматриваются основы программирования на языке Object Pascal и работа в среде программирования Borland Developer Studio 2006 Delphi for Microsoft Win32. В части 2 представлен материал, предназначенный для тех, кто хочет получить полное представление о языке Object Pascal и научиться программировать на профессиональном уровне. Предложенный теоретический материал сопровождается подробно разобранными примерами программ и схем алгоритмов. Для закрепления материала предлагаются контрольные вопросы, тесты и задания для самостоятельного решения.
В пособии рассматриваются работа в среде программирования Microsoft Visual Studio, основы программирования и объектно-ориентированное программирование на языке C++. Представленный теоретический материал сопровождается подробно разобранными примерами программ со схемами алгоритмов. Для закрепления материала предлагаются контрольные вопросы, тесты и задания для самостоятельного решения. Предназначено для школьников, студентов средних специальных заведений и вузов (технических, экономических и других специальностей), изучающих дисциплину "Программирование", может быть рекомендовано преподавателям, слушателям курсов повышения квалификации, а также может быть использовано как самоучитель.
Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать однотипные и/или логически связанные данные. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс. В книге приводится всесторонний анализ идей и деталей реализации структур данных как важнейшей составляющей прикладных алгоритмов. Обсуждаются не только эффективные способы реализации операций над множествами чисел, интервалов или строк, представленных в виде различных поисковых структур данных – деревьев, множеств интервалов, кусочно-постоянных функций, прямоугольных областей, непересекающихся подмножеств, куч, хеш-таблиц, но и динамизация и персистентность (сохраняемость) структур. Структуры данных впервые рассматриваются не просто как вспомогательный материал для иллюстрации методологии объектно ориентированного программирования, а как ключевой вопрос разработки алгоритмов. Многочисленные примеры кода на языке C и более 500 ссылок на первоисточники делают книгу исключительно ценной.
При изложении материала авторы используют методику обучения от алгоритмов к программам, поэтому вначале излагаются сведения об алгоритмах с примерами реализации типовых алгоритмов. Изучение основ языка программирования С++ опирается на полученные знания.
В век развития многоядерной процессорной архитектуры тема параллельного программирования для инженеров и проектировщиков компьютерных систем становится очень важной. В книге дается объяснение различным явлениям и приводятся примеры случаев, когда эти явления способствуют успеху параллельного программирования, либо, наоборот, создают определенные сложности.
Издание можно использовать и в качестве учебника по функциональному программированию, и в качестве самостоятельного учебного пособия по смежным дисциплинам, в первую очередь по комбинаторной логике и лямбда-исчислению. Также книга будет интересна тем, кто всерьез занимается изучением новых компьютерных технологий, искусственного интеллекта и экспертных систем.
Хороший объектно-ориентированный код удобно читать, изменять и исправлять. Универсальные практики проектирования объектов, собранные в этой книге, позволят улучшить ваш стиль кодирования. Эти правила подойдут к любому объектно-ориентированному языку, они делают код максимально понятным и надежным, а также повышают производительность как индивидуальных разработчиков, так и команд. Книга «Объекты. Стильное ООП» познакомит вас с профессиональными техниками написания ОО-кода. Маттиас Нобак раскрывает правила создания объектов, определения методов, изменения и извлечения состояний и многое другое. Все примеры написаны на простом псевдокоде, который легко перевести в любой язык программирования. Кейс за кейсом вы изучите ключевые сценарии и задачи проектирования объектов, а затем шаг за шагом создадите простое веб-приложение, которое покажет, как должны взаимодействовать объекты разных типов.
Современные веб-ресурсы невозможно представить без систем управления, которые принято называть Content management system или сокращенно CMS. Многие разработчики используют не готовые CMS, например Word-Press, Joomla, Drupal, 1С-Битрикс, а пишут собственные. Для опытного программиста разработка подобной системы видится вполне реальной.
Учебное пособие охватывает содержание раздела «Алгоритмы сжатия данных» дисциплины «Алгоритмы и структуры данных», которая читается для бакалавров, обучающихся по направлению подготовки 09.03.04 «Программная инженерия» по профилю «Разработка программно-информационных систем». Освоение материала учебного пособия предполагает знание алгоритмических языков, наличие навыков написания объектно-ориентированных программ, а также формируемых в ходе изучения предшествующих разделов дисциплины «Алгоритмы и структуры данных» умений определять и использовать абстрактные типы данных и строить порядковые оценки вычислительной эффективности алгоритмов. Все программы, сопровождающие обсуждение алгоритмов сжатия, написаны на языке C++. Этот выбор обусловлен тем, что языки C/C++ являются базой для целого семейства C-подобных языков программирования. В их число входят Java, C#, Python и др. Следовательно, программный код должен быть понятен широкому кругу читателей.
Книга адресована разработчикам прикладных решений в системе «1С:Предприятие 8», которые хотят научиться создавать приложения на платформе для мобильных устройств. Такие приложения могут работать на смартфонах и планшетных ПК под управлением операционных систем Android, iOS или Windows.
Подавляющее большинство ныне действующих сайтов сделано при помощи CMS. А такие системы невозможно представить без визуальных редакторов страниц. WYSIWYG - редакторы позволяют администратору управлять содержимым ресурса, не будучи знакомым даже с азами программирования. Многие разработчики используют не готовые CMS, а пишут собственные. Данная книга призвана помочь им в этом непростом деле. На ее страницах описаны четыре WYSIWYG-редактора — на разный вкус и для разных задач. Все системы являются оригинальными и не содержат каких-либо заимствований кода. Функциональные возможности приведенных разработок имеют исчерпывающие описания и разъяснения. Разобранные в книге визуальные редакторы могут быть интегрированы в уже существующую CMS или работать напрямую с сайтом без сопутствующих инструментов. Особо надо отметить, что эти редакторы позволяют администратору сайта видеть, как будет выглядеть страница еще до того, как он запишет внесенные изменения в файл или базу данных.
Книга написана на базе курса лекций, читаемых авторами. Рассмотрены основные классы и функции среды Delphi, которые используются для создания графических и мультимедийных приложений. Описаны цветовые модели, основные форматы графических файлов, а также методы построения кривых в задачах интерполяции, сглаживания, аппроксимации, методы Эрмита, Безье и В-сплайнов. Приведены алгоритмы триангуляции поверхностей в трехмерном пространстве.