Персональные инструменты
 

ADD 2010: Отчёт Русецкого Георгия

Материал из CustisWiki

Перейти к: навигация, поиск


Организационные вопросы (дорога, гостиницы, питание)

Конференция Application Developer Days 2010 проходила в Ярославле 23-24 сентября 2010 года. Добирался с коллегами на автомобиле, с ночёвкой в Ростове. Дорога до Ярославской области, на мой взгляд, хорошая. В Ярославской области до Ростова узкая дорога в 2 полосы с множеством грузовиков (not good).

  • Гостиница «Русское подворье» в Ростове, на мой взгляд, очень неплоха, расположена в двух шагах от кремля. Сам Ростов произвёл впечатление большой деревни — не освещён, дороги разбиты.
  • Гостиница «Которосль» в Ярославле — ничего примечательного (скорее даже плохо).

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

Доклады

Доклады читались в 3х разных секциях.

Что твориться на рынке труда в сфере IT

Что творится на рынке труда в сфере IT? (Ольга Кочкина на ADD-2010)

Доклад читала представитель компании Head Hunter по Ярославлю. Представила графики, иллюстрирующие уровень зарплатных ожиданий и предложений в сфере IT по 3 м регионам — Москве, Санкт-Петербургу и Ярославлю, а также статистику по количеству вакансий и резюме. Кроме того была представлена аналитика некой голландской компании по спросу на разработчиков, владеющим тем или иным языком программирования. При этом в докладе не были отражены аналогичные тенденции среди отечественных работодателей. Статистика по рынку труда в сфере IT , представленная на слайдах, не отражала полной картины. В частности, разработчики различных направлений (прикладные, системные, веб и т. п.) были свалены в одну кучу, что представляется не очень логичным, поскольку целевая аудитория конференции всё же разработчики. После прослушивания доклада можно сделать вывод, что после кризиса спрос на разработчиков вырос (кто бы мог подумать). О тенденциях рынка в разрезе различных направлений разработки (что могло бы быть интересным — куда податься бедному крестьянину разработчику) вывод сделать нельзя.

Прототипирование приложений с помощью Expression Blend + SketchFlow

Прототипирование приложений с Expression Blend + SketchFlow (Константин Кичинский на ADD-2010)

Доклад читал представитель компании Microsoft.

К моменту прослушивания доклада я уже имел опыт работы с Expression Blend, тем интереснее было узнать об использовании этого инструмента для создания прототипов приложений. Докладчик представил процесс создания прототипа приложения в виде схемы:

Идея->Набросок->Каркас->Макет->Функциональный прототип.

На каждом шаге предполагается уточнение функционала приложения. Было заявлено, что прототипирование приводит к бОльшим временным затратам в процессе разработки (время на создание прототипа/-ов), но увеличивает вероятность успеха при разработке. SketchFlow предлагается использовать в качестве инструмента для извлечения (и первоначального воплощения?) идей. Во многих скринкастах по sketchflow, которые можно найти в интернете, Blend представляют как универсальный мощный инструмент по созданию приложений, при этом можно сделать вывод, что от сляпанного на коленке прототипа до готового приложения один маленький шаг. Однако докладчик честно сказал, что созданное с помощью sketchflow приложение — не заготовка для дальнейшей доработки, а всего лишь прототип, годный для демонстрации идеи приложения (например, заказчику). После рассказа о прототипировании был небольшой экскурса в историю создания sketchflow, а затем демонстрация создания прототипа приложения.

Доклад понравился. Использование Expression Blend+SketchFlow представляется удобным для быстрого создания прототипов.


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

На пороге дополненной реальности: к чему готовиться разработчикам (Андрей Бибичев на ADD-2010)

Доклад читал Андрей Бибичев. Дополненная реальность — добавление к поступающим из реального мира ощущениям мнимых объектов, обычно вспомогательно-информативного свойства (©wikipedia.org). В настоящее время постепенно проникает в повседневную жизнь. Наиболее известный пример — отображение траектории движения шайбы в ходе телетрансляций хоккейных матчей. Докладчик рассказал, что такое дополненная реальность (augmented reality, AR) и привёл примеры. Поскольку AR связано с добавлением информации к окружающей реальности, важнейший элемент систем AR — устройства ввода. Были приведены примеры существующих устройств и готовящихся к выходу на рынок (MS Surface, манипуляторы Sony Move, контроллер Microsoft Kinect). Интересно, что сам докладчик использовал контроллер Nintendo Wii в качестве презентера — живая демонстрация техник AR. После рассказа о контроллерах, был экскурс в техническую базу устройств ввода для AR. Подобные устройства получают информацию с:

  • камер;
  • сенсоров (акселерометр, гироскоп, магнитный компас).

Докладчик рассказал о причинах такого многообразия датчиков для определения положения устройства ввода (низкочастотные шумы для используемых в таких устройствах микроэлектромеханических гироскопов и высокочастотные для акселерометров). Что касается камер, были выделены следующие основные способы определения положения объекта:

  • маркеры на объектах (с фильтрацией по порогу — как в Sony Move или по паттерну)
  • маркеры и несколько камер (системы VICON, OPTITRACK)
  • структурированная подсветка (MS Surface)
  • Z-cameras (MS Kinect)
  • безмаркерный захват с использованием нескольких камер (ORGANIC Motion, IPI Soft Desktop)
  • захват с использованием движущейся камеры

В заключении были озвучены основные проблемы AR:

  • робастность
  • время реакции
  • полезность

и продемонстрирован график с прогнозом объёма рынка AR.

Доклад очень понравился, хороший темп, интересная тема и захватывающее изложение.


Дополненная реальность через веб-камеру

Дополненная реальность через веб-камеру (Михаил Кокорев на ADD-2010)

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

GPGPU для .NET

Conflux: GPGPU для .NET (Евгений Бурмако на ADD-2010)

Доклад об использовании графического процессора для высокопроизводительных вычислений из .NET. Докладчик представил краткий обзор GPU и технологий программирования под них (CUDA, AMD Stream, Open CL, DirectCompute). Далее, немного рассказал про проекты, занимающиеся использованием GPU из .NET (Brahma, MS Research Accelerator v2). После этого перешёл к разработке комании Conflux. Компанией разрабатывается библиотека, позволяющая проводить определённые вычисления с использованием GPU. Для её использования разработчику необходимо написать так называемое «вычислительное ядро». Библиотека его декомпилирует, преобразует AST и передаёт для вычисления драйверу CUDA. При этом набор типов и операций, допустимых для использования в вычислительном ядре очень ограничен. Насколько я понял, на нынешнем этапе разработке успешно работает перенос «hello world» вычислений типа умножения матриц.

В целом интересно, но неясно, где это можно применить в коммерческой разработке. Пока целевой аудиторией разработки я вижу всевозможные research-проекты, которым нужны высокопроизводительные вычисления.

Адаптивная архитектура

Адаптивная архитектура (Олег Аксенов на ADD-2010)

Доклад о выборе архитектуры для проекта/команды Докладчик поделился опытом разработки заказных проектов различного масштаба силами разных команд. Основные мысли доклада:

  • если в повседневной жизни мы привыкли полагаться на авторитетное мнение, то в разработке приложений это не всегда срабатывает
  • каждому проекту и команде — своя методология и архитектура
  • важна команда — квалификация, специализация, сплочённость, размер
  • кроссфункциональная команда — хорошо для архитектуры, но в то же время важно наличие специалистов по отдельным направлениям
  • красивый дизайн ≠ удовлетворение заказчика
  • иногда проще переделать с нуля
  • в некоторых проектах эволюционный дизайн плох

Впечатление положительное. Некоторые мысли банальны, но было что послушать.

Предупреждение ошибок программиста с помощью статического анализа кода и доменной модели

Предупреждение ошибок программиста с помощью статического анализа кода и доменной модели (Алексей Алексеев и Николай Гребнев на ADD-2010)

Рассказывали Алексей Алексеев и Николай Гребнев. Докладчики говорили о роли человеческого фактора в разработке ПО и средствах для уменьшения стоимости исправления ошибок в коде. Были перечислены основные этапы жизненного цикла приложения в контексте стоимости исправления ошибок на каждом из них. Статическая верификация кода обеспечивает скорейшее выявление ошибок на этапе компиляции. Далее докладчики рассказали о CustIS Uni.Net. Было продемонстрировано использование CustIS Uni.Net для построения domain model. Отдельно было сказано о возможности использования работы с объектами доменной модели при помощи LINQ. После этого было продемонстрировано использование атрибутов для декларативного описания ограничений возможных состояния объекта доменной модели и переходов между состояниями. Немного рассказали про Сomputation tree logic и возможности последней версии CustIS Uni.net, в частности возможность программной верификации метамодели с помощью CTL.

Общее впечатление — было интересно. Несмотря на то, что имею опыт работы с CustIS Uni.net, некоторые вещи были для меня в новинку (ограничения состояний, верификация метамодели с помощью CTL).

Хотел сходить на доклад по аудиту безопасности приложений, но почему-то в зале, где он должен был проходить никого не оказалось.

Стас Фомин 15:34, 30 сентября 2010 (UTC): Хм. Народу было как-то мало, и я предложил докладчику забить на доклад.

Фантом ОС

Фантом-ОС (Дмитрий Завалишин на ADD-2010)

Доклад об open-source микроядерной операционной системе. Пришёл только на 2ю часть доклада, где разработчик отвечал на вопросы из зала. Была живая демонстрация работающей на эмуляторе Фантом ОС. Были озвучены несколько интересных концепций по управлению правами на исполнение кода/доступ к ресурсам. Докладчик поделился планами по завоеванию мира с новой операционкой. Завоевание предполагается начать со встраиваемых систем (телевизоры и автомобильные компьютеры). Докладчик произвёл впечатление живого, увлекающегося человека. К сожалению, выводы по докладу сделать не могу в силу того, что не присутствовал на первой части доклада.

Windows Phone 7 — Обзор возможностей новой платформы разработки

Разработка для Windows Phone 7 (Михаил Черномордиков на ADD-2010)

Доклад читал Михаил Черномордиков (Microsoft) Докладчик рассказал о новой операционной системе для мобильных устройств Windows Phone 7. Были озвучены требования к аппаратному обеспечению устройств (multitouch screen 800x480 или 480x320, всевозможные сенсоры, камера, 256 RAM + 8GbFlash, 3 аппаратные кнопки, CPU 1GHz). По словам докладчика, единственным источником приложений для конечного пользователя будет являться Windows Marketplace. Разработчики 30 стран (в том числе и России) смогут зарабатывать на производстве приложений для WP7. Стоимость доступа к Marketplace для разработчика будет составлять 99$/год. При этом можно публиковать неограниченное количество платных приложений и 5 бесплатных приложений в год (больше — за отдельные деньги). Кстати деньги за проданное приложение будет делиться между разработчиком(70 %) и MS (30 %). Публикацию приложений будет обязательно предварять ряд проверок:

  • автоматическая валидация на корректность работы
  • проверка на соответствие политикам MS(насколько я понял, ручная проверка, что приложение делает то, что указано в описании)
  • проверка на соответствие целевым рынкам

Для разработки используется Silverlight (причём, как было заявлено, полноценный Silverlight 3+) и XNA. Соответственно, первая технология позиционируется для разработки прикладного ПО, вторая — для разработки игр. В качестве приятных плюшек разработчикам предлагаются бесплатные инструменты (VS2010 и Blend для WP7). Было продемонстрировано создание простого приложения с демонстрацией работы на аппарате с WP7.

Доклад показался интересным. Докладчик призывал всех начать разработку приложений на WP7. После доклада задал ему несколько вопросов:

  • установка enterprise приложений.

Поскольку эта версия ОС ориентирована на конечного потребителя, а не на бизнес, то пока нет возможности устанавливать такие приложения иначе, чем через marketplace.

  • Обновление приложений.

Насколько я понял, точной политики пока нет, но, по всей видимости, будет сервис на Marketplace, позволяющий разработчикам публиковать обновления. При этом обновления будут проходить те же проверки, что и первоначальная версия.

  • Работа с SQL Compact.

Пока не сделано. Данные можно хранить тупо в файлах или пользоваться cloud-сервисом Windows Azure.

Apache Hadoop

Apache Hadoop (Владимир Климонтович на ADD-2010)

Доклад про свободный фреймворк Apache Hadoop поддерживающим выполнение распределённых приложений, работающих на больших кластерах, построенных на обычном оборудовании. Докладчик рассказал про алгоритм MapReduce, используемый во фреймворке и распределённую файловую систему HDFS. Немного затронул тему перевода SQL-выражений в термины map-reduce. Были приведены примеры использования фреймворка в проектах Yahoo и Last.fm. Далее следовал рассказ об Apache Hive — инфраструктуре хранения и обработки данных, построенной поверх Hadoop. Возможные области применения: research, data mining, reporting. Достоинства:

  • Хорошая гладкая масштабируемость
  • Нулевая стоимость софта
  • Доступность выполнения задач по-запросу на мощностях Amazon Cloud Service.

Недостатки:

  • Высокая стоимость поддержки и администрирования
  • Необходим штат высококвалифицированных java-разработчиков
  • Нестабильность
  • Низкая скорость / не realtime

В завершении доклада было рассказано о реализации Bigtable БД поверх Hadoop — Hbase.

В целом было интересно.

HTML5, CSS3 и новый Internet Explorer 9

HTML5, CSS3 и новый Internet Explorer 9 (Михаил Черномордиков на ADD-2010)

Доклад на тему «покупайте наших слонов». Откровенная реклама IE9. Докладчик сначала показывает сравнительную диаграмму скорости javascript в браузерах, где IE9 опережает Firefox, но уступает Chrome и Opera, а затем запускает различные тесты, демонстрирующие превосходство IE9 на FF. Много говорилось о поддержке стандартов CSS3 и HTML5 новым браузером.

Вывод: скучно. Аналогичный доклад, посвящённый выходу IE7 (или IE8) я слушал несколько лет назад.

Master-класс Domain-Driven Design

Мастер-класс вёл Андрей Бибичев В первой секции мастер класса докладчик провёл обзор UML и, в качестве примера построения доменной модели, рассмотрел систему по продаже билетов. Во второй секции было построение доменной модели приложения по регистрации и учёту автомобилей в ГИБДД силами участников конференции с разбором ошибок. В третьей части докладчик рассказал о шаблонах проектирования. Были рассмотрены основные шаблоны, их достоинства и недостатки. От шаблонов плавно перешли к различным типам доменных моделей(Rich DM, Pure DM и Anemic DM) сих достоинствами и недостатками. Далее было рассказано о хранении данных в БД, различных паттернах работы с БД в рамках различных DM, а также стратегиях блокировок при работе с доменной моделью. В завершении доклада были озвучены тенденции в DDD (DSL, Meta Programming System).

Впечатление положительное. Несмотря на то, что многое из услышанного на мастер-классе было уже известным, было интересно послушать про различные DM. Также, считаю, что в рамках мастер-класса удачно сочетается информация по UML, различным паттернам проектирования доменной модели. Было полезно освежить свои знания по проектированию DM и получить новые.


Репликация: База Знаний «Заказных Информ Систем» → «ADD 2010: Отчёт Русецкого Георгия»

Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».