В статье рассмотрены тенденции сокращения рутинных операций при проектировании, кодировании, тестировании, развертывании и документировании программного обеспечения (ПО), проанализировано воплощение этих трендов в виде ряда инструментов, автоматизирующих один или несколько аспектов разработки ПО. Приведены примеры трансформации классических понятий разработки ПО к современному состоянию с учетом т…
LLVM – новейший фреймворк для разработки компиляторов. Благодаря простоте расширения и организации в виде множества библиотек, LLVM легко поддается освоению даже начинающими программистами, вопреки устоявшемуся мнению о сложности разработки компиляторов. Сначала эта книга покажет, как настроить, собрать и установить библиотеки, инструменты и внешние проекты LLVM. Затем познакомит с архитектурой LL…
В данной книге рассматривается практическое использование пакета визуального моделирования Rational Rose в соответствии с методологией Rational Unified Process. Поскольку с каждым годом сложность программного обеспечения возрастает, потребность в средствах визуального моделирования и проектирования, а также людях, знающих и умеющих использовать их на практике, тоже увеличивается. Все больше програ…
Книга позволит вам освоить разработку виртуальной реальности в Unity – наиболее популярном на сегодняшний день игровом движке. Вы узнаете, как использовать Unity для разработки VR-приложений, поддерживающих такие устройства, как Oculus Rift и Google Cardboard, позволяющих взаимодействовать с виртуальными мирами. Книга расскажет вам, как создать ряд интересных и занимательных VR-проектов. Вы научит…
Автор книги «Наиболее эффективное использование C++» предлагает 35 новых способов улучшения ваших программ. Основываясь на своем многолетнем опыте, С. Мейерс объясняет, как писать наиболее эффективные программы: надежные, совместимые, переносимые и пригодные для повторного использования, то есть программы, безупречные во всех отношениях. Настоящая книга описывает приемы, которые позволяют значител…
Данная книга представляет собой руководство по применению прецедентов. Практические вопросы проиллюстрированы на примере разработки книжного Internet-магазина. В книге описывается процесс ICONIX – методология, основанная на языке UML, которая поможет вам избавиться от «аналитического паралича», не жертвуя при этом анализом и проектированием. Представлены четыре основных этапа проектирования на осн…
Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем. Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания …
Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем. Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания …
Эта книга об инженерной дисциплине, которая называется управлением конфигурацией программного обеспечения (software configuration management – SCM), а также о широко используемом продукте SCM – ClearCase, который автоматизирует и поддерживает практическое применение SCM посредством модели, называемой унифицированным управлением изменениями (Unified Change Management – UCM). Настоящая книга раскрыв…
Книга рассказывает о нескольких проектах, связанных с разработкой компиляторов, в частности, об истории разработки первого отечественного ISO-совместимого компилятора С++. Подробное рассмотрение проблем, связанных с проектированием и реализацией сложных программных систем совмещается с живым и увлекательным повествованием об эволюции и выживании проектов в непростых условиях, о важности правильног…
С появлением микропроцессоров, обладающих большим числом ядер, понимание конкуренции и параллелизма при разработке программного обеспечения стало еще более важным, чем прежде. В книге вы познакомитесь с преимуществами функционального программирования с точки зрения конкуренции, узнаете, как применять акторы для разработки распределенного программного обеспечения, и исследуете приемы параллельной о…
В работе показана архитектура модуля обработки данных, используемого в интерпретаторе декларативного языка моделирования BML. В статье дается теоретическое обоснование и рассматривается практическое применение элемента «Block» в рамках языка BML. В работе также описывается архитектура класса элемента и его дочерних классов, дается детальное обоснование использования паттерна «абстрактная фабрика».…
Одного знания языка программирования недостаточно для профессиональной разработки программного обеспечения. Нужны ряд компетенций - знаний, методик, навыков владения инструментами. Ключевая информация и рекомендации для будущих разработчиков программного обеспечения и других информационно-технологических специалистов. Лайфхаки для ИТ юниоров, желающих значительно повысить свою квалификацию и зарпл…
Scala – современный, мультипарадигменный язык программирования, позволяющий описывать типичные шаблоны программирования компактнее, выразительнее и безопаснее. Scala прекрасно сочетает в себе черты объектно-ориентированных и функциональных языков. Книга начинается с введения в основы конкурентного программирования в JVM и описания модели памяти в Java, а после демонстрирует основные строительные б…
Основываясь на многолетнем опыте, эксперты Грегор Хоп и Бобби Вульф рекомендуют асинхронный обмен сообщениями в качестве оптимальной стратегии интеграции корпоративных приложений. Вместе с тем создание и развертывание решений, основанных на обмене сообщениями, представляет собой весьма непростую задачу для разработчиков. В книге «Шаблоны интеграции корпоративных приложений» рассматриваются шаблоны…