|
Персональные инструменты |
|||
|
|
ADD 2010: Отчёт Русецкого ГеоргияМатериал из CustisWiki
Содержание
Организационные вопросы (дорога, гостиницы, питание)Конференция Application Developer Days 2010 проходила в Ярославле 23-24 сентября 2010 года. Добирался с коллегами на автомобиле, с ночёвкой в Ростове. Дорога до Ярославской области, на мой взгляд, хорошая. В Ярославской области до Ростова узкая дорога в 2 полосы с множеством грузовиков (not good).
Питание на конференции. В течение всей конференции можно было перекусить пирожками с кофе-чаем, что хорошо. А вот обеды в расположенном неподалёку кафе никаких положительных эмоций не вызвали. ДокладыДоклады читались в 3х разных секциях. Что твориться на рынке труда в сфере ITДоклад читала представитель компании Head Hunter по Ярославлю. Представила графики, иллюстрирующие уровень зарплатных ожиданий и предложений в сфере IT по 3 м регионам — Москве, Санкт-Петербургу и Ярославлю, а также статистику по количеству вакансий и резюме.
Кроме того была представлена аналитика некой голландской компании по спросу на разработчиков, владеющим тем или иным языком программирования.
При этом в докладе не были отражены аналогичные тенденции среди отечественных работодателей. Статистика по рынку труда в сфере IT , представленная на слайдах, не отражала полной картины. В частности, разработчики различных направлений (прикладные, системные, веб и т. п.) были свалены в одну кучу, что представляется не очень логичным, поскольку целевая аудитория конференции всё же разработчики. После прослушивания доклада можно сделать вывод, что после кризиса спрос на разработчиков вырос (кто бы мог подумать). О тенденциях рынка в разрезе различных направлений разработки (что могло бы быть интересным — куда податься Прототипирование приложений с помощью Expression Blend + SketchFlowДоклад читал представитель компании Microsoft. К моменту прослушивания доклада я уже имел опыт работы с Expression Blend, тем интереснее было узнать об использовании этого инструмента для создания прототипов приложений. Докладчик представил процесс создания прототипа приложения в виде схемы: Идея->Набросок->Каркас->Макет->Функциональный прототип. На каждом шаге предполагается уточнение функционала приложения. Было заявлено, что прототипирование приводит к бОльшим временным затратам в процессе разработки (время на создание прототипа/-ов), но увеличивает вероятность успеха при разработке. SketchFlow предлагается использовать в качестве инструмента для извлечения (и первоначального воплощения?) идей. Во многих скринкастах по sketchflow, которые можно найти в интернете, Blend представляют как универсальный мощный инструмент по созданию приложений, при этом можно сделать вывод, что от сляпанного на коленке прототипа до готового приложения один маленький шаг. Однако докладчик честно сказал, что созданное с помощью sketchflow приложение — не заготовка для дальнейшей доработки, а всего лишь прототип, годный для демонстрации идеи приложения (например, заказчику). После рассказа о прототипировании был небольшой экскурса в историю создания sketchflow, а затем демонстрация создания прототипа приложения. Доклад понравился. Использование Expression Blend+SketchFlow представляется удобным для быстрого создания прототипов.
На пороге дополненной реальности. К чему готовиться разработчикамДоклад читал Андрей Бибичев. Дополненная реальность — добавление к поступающим из реального мира ощущениям мнимых объектов, обычно вспомогательно-информативного свойства (©wikipedia.org). В настоящее время постепенно проникает в повседневную жизнь. Наиболее известный пример — отображение траектории движения шайбы в ходе телетрансляций хоккейных матчей. Докладчик рассказал, что такое дополненная реальность (augmented reality, AR) и привёл примеры. Поскольку AR связано с добавлением информации к окружающей реальности, важнейший элемент систем AR — устройства ввода. Были приведены примеры существующих устройств и готовящихся к выходу на рынок (MS Surface, манипуляторы Sony Move, контроллер Microsoft Kinect). Интересно, что сам докладчик использовал контроллер Nintendo Wii в качестве презентера — живая демонстрация техник AR. После рассказа о контроллерах, был экскурс в техническую базу устройств ввода для AR. Подобные устройства получают информацию с:
Докладчик рассказал о причинах такого многообразия датчиков для определения положения устройства ввода (низкочастотные шумы для используемых в таких устройствах микроэлектромеханических гироскопов и высокочастотные для акселерометров). Что касается камер, были выделены следующие основные способы определения положения объекта:
В заключении были озвучены основные проблемы AR:
и продемонстрирован график с прогнозом объёма рынка AR. Доклад очень понравился, хороший темп, интересная тема и захватывающее изложение.
Дополненная реальность через веб-камеруВ противоположность предыдущему докладу, от этого практически не было положительных впечатлений. Вкратце: перечисление основных направлений распознавания объектов с помощью камеры. При этом докладчик заглубился в описание и демонстрацию методов захвата с использованием маркеров. При этом демонстрация в основном состояла из молчаливого показа роликов с интернета и, отчасти, показом работающих приложений. В конце доклада показал использование преобразования Хафа для распознавания образов. В целом, много слайдов и демонстраций, но не зацепило. GPGPU для .NETДоклад об использовании графического процессора для высокопроизводительных вычислений из .NET. Докладчик представил краткий обзор GPU и технологий программирования под них (CUDA, AMD Stream, Open CL, DirectCompute). Далее, немного рассказал про проекты, занимающиеся использованием GPU из .NET (Brahma, MS Research Accelerator v2). После этого перешёл к разработке комании Conflux. Компанией разрабатывается библиотека, позволяющая проводить определённые вычисления с использованием GPU. Для её использования разработчику необходимо написать так называемое «вычислительное ядро». Библиотека его декомпилирует, преобразует AST и передаёт для вычисления драйверу CUDA. При этом набор типов и операций, допустимых для использования в вычислительном ядре очень ограничен. Насколько я понял, на нынешнем этапе разработке успешно работает перенос «hello world» вычислений типа умножения матриц. В целом интересно, но неясно, где это можно применить в коммерческой разработке. Пока целевой аудиторией разработки я вижу всевозможные research-проекты, которым нужны высокопроизводительные вычисления. Адаптивная архитектураДоклад о выборе архитектуры для проекта/команды Докладчик поделился опытом разработки заказных проектов различного масштаба силами разных команд. Основные мысли доклада:
Впечатление положительное. Некоторые мысли банальны, но было что послушать. Предупреждение ошибок программиста с помощью статического анализа кода и доменной моделиРассказывали Алексей Алексеев и Николай Гребнев. Докладчики говорили о роли человеческого фактора в разработке ПО и средствах для уменьшения стоимости исправления ошибок в коде. Были перечислены основные этапы жизненного цикла приложения в контексте стоимости исправления ошибок на каждом из них. Статическая верификация кода обеспечивает скорейшее выявление ошибок на этапе компиляции. Далее докладчики рассказали о CustIS Uni.Net. Было продемонстрировано использование CustIS Uni.Net для построения domain model. Отдельно было сказано о возможности использования работы с объектами доменной модели при помощи LINQ. После этого было продемонстрировано использование атрибутов для декларативного описания ограничений возможных состояния объекта доменной модели и переходов между состояниями. Немного рассказали про Сomputation tree logic и возможности последней версии CustIS Uni.net, в частности возможность программной верификации метамодели с помощью CTL. Общее впечатление — было интересно. Несмотря на то, что имею опыт работы с CustIS Uni.net, некоторые вещи были для меня в новинку (ограничения состояний, верификация метамодели с помощью CTL). Хотел сходить на доклад по аудиту безопасности приложений, но почему-то в зале, где он должен был проходить никого не оказалось.
Фантом ОСДоклад об open-source микроядерной операционной системе. Пришёл только на 2ю часть доклада, где разработчик отвечал на вопросы из зала. Была живая демонстрация работающей на эмуляторе Фантом ОС. Были озвучены несколько интересных концепций по управлению правами на исполнение кода/доступ к ресурсам. Докладчик поделился планами по завоеванию мира с новой операционкой. Завоевание предполагается начать со встраиваемых систем (телевизоры и автомобильные компьютеры). Докладчик произвёл впечатление живого, увлекающегося человека. К сожалению, выводы по докладу сделать не могу в силу того, что не присутствовал на первой части доклада. Windows Phone 7 — Обзор возможностей новой платформы разработкиДоклад читал Михаил Черномордиков (Microsoft) Докладчик рассказал о новой операционной системе для мобильных устройств Windows Phone 7. Были озвучены требования к аппаратному обеспечению устройств (multitouch screen 800x480 или 480x320, всевозможные сенсоры, камера, 256 RAM + 8GbFlash, 3 аппаратные кнопки, CPU 1GHz). По словам докладчика, единственным источником приложений для конечного пользователя будет являться Windows Marketplace. Разработчики 30 стран (в том числе и России) смогут зарабатывать на производстве приложений для WP7. Стоимость доступа к Marketplace для разработчика будет составлять 99$/год. При этом можно публиковать неограниченное количество платных приложений и 5 бесплатных приложений в год (больше — за отдельные деньги). Кстати деньги за проданное приложение будет делиться между разработчиком(70 %) и MS (30 %). Публикацию приложений будет обязательно предварять ряд проверок:
Для разработки используется Silverlight (причём, как было заявлено, полноценный Silverlight 3+) и XNA. Соответственно, первая технология позиционируется для разработки прикладного ПО, вторая — для разработки игр. В качестве приятных плюшек разработчикам предлагаются бесплатные инструменты (VS2010 и Blend для WP7). Было продемонстрировано создание простого приложения с демонстрацией работы на аппарате с WP7. Доклад показался интересным. Докладчик призывал всех начать разработку приложений на WP7. После доклада задал ему несколько вопросов:
Поскольку эта версия ОС ориентирована на конечного потребителя, а не на бизнес, то пока нет возможности устанавливать такие приложения иначе, чем через marketplace.
Насколько я понял, точной политики пока нет, но, по всей видимости, будет сервис на Marketplace, позволяющий разработчикам публиковать обновления. При этом обновления будут проходить те же проверки, что и первоначальная версия.
Пока не сделано. Данные можно хранить тупо в файлах или пользоваться cloud-сервисом Windows Azure. Apache HadoopДоклад про свободный фреймворк Apache Hadoop поддерживающим выполнение распределённых приложений, работающих на больших кластерах, построенных на обычном оборудовании. Докладчик рассказал про алгоритм MapReduce, используемый во фреймворке и распределённую файловую систему HDFS. Немного затронул тему перевода SQL-выражений в термины map-reduce. Были приведены примеры использования фреймворка в проектах Yahoo и Last.fm. Далее следовал рассказ об Apache Hive — инфраструктуре хранения и обработки данных, построенной поверх Hadoop. Возможные области применения: research, data mining, reporting. Достоинства:
Недостатки:
В завершении доклада было рассказано о реализации Bigtable БД поверх Hadoop — Hbase. В целом было интересно. HTML5, CSS3 и новый Internet Explorer 9Доклад на тему «покупайте наших слонов». Откровенная реклама 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 и получить новые.
Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||