Аннотация

В этой книге, выхода которой с нетерпением ожидало сообщество сторонников гибких методологий разработки программного обеспечения, описывается процесс подготовки требований к разрабатываемой системе, который позволяет экономить время, избавляет от необходимости в переделках и ведет к созданию более совершенных программ. Лучший способ создать программное обеспечение, максимально полно удовлетворяющее потребностям пользователей, – начать с пользовательских историй. Это простые, понятные и краткие описания функциональности, которая представляет деловую ценность для реальных пользователей. В книге приводятся подробные рекомендации относительно того, как следует писать пользовательские истории и включать их в жизненные циклы разработки проекта. Вы узнаете, что такое хорошие пользовательские истории и что делает истории плохими. Вы познакомитесь с практическими методами сбора историй, позволяющими добиться хороших результатов даже тогда, когда возможность непосредственного общения с пользователями отсутствует. Автор демонстрирует, как систематизировать подготовленные пользовательские истории, установить для них приоритеты и эффективно применять для решения задач планирования, разработки и тестирования программного обеспечения. • Моделирование пользовательских ролей. • Сбор историй: опрос пользователей, анкетный метод, наблюдение, собрания. • Работа с менеджерами, инструкторами, продавцами и другими представителями пользователей. • Написание пользовательских историй для приемочного тестирования. • Использование историй для ранжирования задач, составления графиков работ и оценки трудозатрат. • В конце каждой главы приводится список контрольных вопросов и упражнений для самопроверки. Книга будет полезна разработчикам, тестировщикам, аналитикам и менеджерам проектов, использующим любую гибкую методологию программного обеспечения: ХР, Scrum… и даже собственный гибкий подход.

Аннотация

При правильном выборе и применении предметно-ориентированные языки могут существенно упростить сложный код, обеспечить эффективное общение с пользователями, повысить производительность и устранить узкие места разработки. В этой книге известный эксперт в области программного обеспечения Мартин Фаулер предоставляет информацию, которая поможет определиться, следует ли использовать предметно-ориентированные языки для решения стоящих перед вами задач. Если окажется оправданным применение предметно-ориентированных языков, то вам пригодится вторая часть книги, в которой подробно, на конкретных примерах, описаны технологии, применяемые при создании таких языков. Данная книга, по сути, представляет две книги под одной обложкой. Фаулер начинает с обзора общих принципов и концепций, лежащих в основе предметно-ориентированных языков программирования. Читатели узнают, как работают предметно-ориентированные языки, как добиться, чтобы с пользовательским синтаксисом предметно-ориентированного языка было проще работать, чем с синтаксисом таких альтернатив, как XML. Затем автор переходит к подробному рассмотрению примеров, которые помогут разработчикам лучше понять, когда и как использовать ту или иную методику. Фаулер рассматривает как внутренние, так и внешние предметно-ориентированные языки, а также альтернативные вычислительные модели, генерацию кода и другие темы. Методы, описанные в данной книге, могут использоваться в большинстве современных объектно-ориентированных языков программирования. В основном примеры в книге написаны на Java и C#, но в некоторых из них использован язык Ruby. Все главы по возможности организованы в виде самодостаточных частей, а большинство справочных разделов – в знакомом читателю формате описания шаблонов программирования. Из этой книги разработчики получат достаточно информации для того, чтобы принять обоснованное решение об использовании предметно-ориентированных языков в своей работе, а также извлечь из их применения максимальную пользу. В книге освещены следующие темы. – Сравнение предметно-ориентированных языков с различными схемами и библиотеками, а также решение вопроса о достаточных альтернативах. – Применение синтаксических анализаторов и генераторов синтаксических анализаторов, синтаксический анализ внешних предметно-ориентированных языков. – Изучение, сравнение и выбор языковых конструкций предметно-ориентированных языков. – Применение генерации кода и сравнение стратегий генерации кода. – Языковые инструментальные средства для создания предметно-ориентированных языков.

Аннотация

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

Аннотация

Глубокое обучение – это раздел искусственного интеллекта, цель которого научить компьютеры обучаться с помощью нейронных сетей – технологии, созданной по образу и подобию человеческого мозга. Онлайн-переводчики, беспилотные автомобили, рекомендации по выбору товаров именно для вас и виртуальные голосовые помощники – вот лишь несколько достижений, которые стали возможны, благодаря глубокому обучению. «Грокаем глубокое обучение» научит конструировать нейронные сети с нуля! Эндрю Траск знакомит со всеми деталями и тонкостями этой нелегкой задачи. Python и библиотека NumPy способны научить ваши нейронные сети видеть и распознавать изображения, переводить любые тексты на все языки мира и даже писать не хуже Шекспира!

Аннотация

Алгоритмы – это сердце и душа computer science. Без них не обойтись, они есть везде – от сетевой маршрутизации и расчетов по геномике до криптографии и машинного обучения. «Совершенный алгоритм» превратит вас в настоящего профи, который будет ставить задачи и мастерски их решать как в жизни, так и на собеседовании при приеме на работу в любую IT-компанию. Во второй книге Тим Рафгарден – гуру алгоритмов – расскажет о графовом поиске и его применении, алгоритме поиска кратчайшего пути, а также об использовании и реализации некоторых структур данных: куч, деревьев поиска, хеш-таблиц и фильтра Блума. Серия книг «Совершенный алгоритм» адресована тем у кого уже есть опыт программирования и основана на онлайн-курсах, которые регулярно проводятся с 2012 года. Вы перейдете на новый уровень, чтобы увидеть общую картину, разобраться в низкоуровневых концепциях и математических нюансах. Познакомиться с дополнительными материалами и видеороликами автора (на английском языке) можно на сайте www.algorithmsilluminated.org. Тим Рафгарден – профессор Computer Science и Management Science and Engineering в Стэнфордском университете. Он изучает связи между информатикой и экономикой и занимается задачами разработки, анализа, приложений и ограничений алгоритмов. Среди его многочисленных наград – премии Калай (2016), Гёделя (2012) и Грейс Мюррей Хоппер (2009).

Аннотация

Байесовские методы пугают формулами многих «айтишников», но без анализа статистики и вероятностей сейчас не обойтись. Кэмерон Дэвидсон-Пайлон рассказывает о байесовском методе с точки зрения программиста-практика, работающего с многофункциональным языком PyMC и библиотеками NumPy, SciPy и Matplotlib. Раскрывая роль байесовских выводов при А/В-тестировании, выявлении мошенничества и в других насущных задачах, вы не только легко разберетесь в этой нетривиальной теме, но и начнете применять полученные знания для достижения своих целей.

Аннотация

Всего за 24 урока, каждый продолжительностью 1 час или меньше, вы узнаете, как начать проектировать великолепные игры с помощью движка Unreal Engine 4 под Windows, Mac, PS4, Xbox One, iOS, Android, Linux, Интернета или для всех сразу! Пошаговый подход к обучению, представленный в книге, покажет, как работать с интерфейсом Unreal Engine 4, продемонстрирует рабочие процессы и самые мощные редакторы и инструменты движка. За считаные часы вы научитесь создавать эффекты, использовать приемы скриптинга, реализовывать физику и даже вести разработку для мобильных устройств и HUD-интерфейсов. Каждый урок дополняет знания, полученные вами в предыдущих, создавая крепкий фундамент для успешной работы с реальными задачами.

Аннотация

Из этой книги вы узнаете, как можно создавать эффективные программы для КПК (карманных персональных компьютеров) на базе семейства операционных систем Windows Mobile. Вы найдете здесь библиотеки и инструменты, которые помогут заметно сократить время разработки проектов. На примере работающих программ продемонстрирована техника построения графических интерфейсов на маленьком экране Pocket PC. В издании рассмотрена архитектура Windows Mobile, работа с COM-объектами, проектирование многопоточных приложений и синхронизация, а также оптимизация и отладка программ и их компонентов.