|
Персональные инструменты |
![]() |
||
|
![]() |
![]() ADD 2011: Отчет Василия МасловаМатериал из CustisWiki
Содержание
ОбщееВ целом мероприятие понравилось. Особенно:
Некоторые неудобства:
Интересные факты:
Доклады(в порядке перечисления в выданном блокноте) Пример разработки высоконагруженной реляционной базы данныхИстория оптимизации работы с БД в одном проекте. Особенности: используются 2 БД — объектная и реляционная. Первая является основным хранилищем, с ней работают бизнес-операции. А вторая (в нее реплицируются данные из первой) используется для чтения во всяких отчетах (или даже вообще повсеместно). Для чего нужна вторая — то ли для скорости, то ли из-за бедности языка запросов в используемой объектной БД. По мере роста объема данных возникли 2 основные проблемы:
Решали денормализацией, настройкой индексов, оптимизацией планов выполнения. Построение 3D модели сцены по одному фотоснимкуСтудент ГУ ВШЭ делал обзорный доклад про американскую университетскую разработку. Собственно, на хабре у него есть серия из 2 статей, содержание которых полностью соответствует докладу. Техники и проблемы пэкеджинга бизнес-приложений для WindowsЕсть такая профессия — packaging engineer (manager) (ну или типа того). Короче, он делает упаковывает релиз продукта для поставки (ну примерно как в TechEvol собирают поставку CustIS Forms для Спортмастера). Основная хрень — это, конечно же, инсталлятор. Причем, к сожалению или счастью, нормального стандартного продукта для изготовления инсталляций (кроме, разве что, InstallShield) нет, поэтому каждая уважающая себя компания-разработчик должна создать свой инструмент для этого. Притом к этому инструменту предъявляются повышенные требования по корректности работы. Ведь, как никак, инсталлятор — это лицо поставляемого продукта, а пользователи встречают по одежке. И вот у них тоже есть такой инструмент, сделанный как приложение Excel на VSTO. В общем, хорошо, когда человек чувствует важность своей работы. Но мне это было совершенно неинтересно. Разработка RealTime веб-приложенийСамый неординарный докладчик — толстый, в дредах и пьяный (ну, выпил перед докладом пару пива, а может и всю ночь квасил: он перед приездом искал в твиттере собутыльников). Живет и работает в Таиланде. Стас утверждает, что публично в интернетах предлагал на докладе набить ему морду. Выступал очень живо. В рамках доклада слушателям была предложена игра (boobs bingo): видишь сиськи на слайде — кричи «сиськи», получи банку пива. Суть доклада — кагбэ ликбез по real-time операциям в web-приложениях. Зачем это нужно — ну понятно, трейдинг всякий. Тока зачем это делать через web? — ну наверно бывает удобно. Есть несколько подходов транспортного уровня — какой выбрать? а чтобы везде поддерживалось? На сервере нужно держать много соединений — есть несколько готовых решений, но они чем-то плохи. В итоге остается socket.io (прозрачно объединяет различные транспортные уровни, сам выбирая подходящий) + node.js (отлично масштабируемое сервер на JavaScript). Чем Никита сам пользуется и другим желает. Фриланс: будущее IT-разработкиЗажигательный доклад доносил мысль, заявленную в названии. Стас Давыдов призывал уходить во freelance на примере сервиса oDesk. Даже захотелось попробовать :) JDK 7 and Java SE 7Представитель того, что раньше было Sun, пытался рассказывать, что будет нового в Java 7. Мне запомнился строковый switch, diamond operator, и что не будет лямбда-выражений. Показывал поддержку новых фич в NetBeans. Как минимум половина доклада была не по существу, например занимались заполнением списка «чем занимается разработчик». Вымирают ли клиентские приложения? Браузер против клиента или что нас ждет в будущемХорошая подача, как и у всех евангелистов Microsoft. Пытался убедить в том, что web не пройдет, поскольку возможности устройств растут, и для их полного использования всегда будут нужны нативные (клиентские) приложения. А web-приложения хороши тем, что совместимы с большим количеством устройств благодаря стандартизованности (HTML5). Но стандарты всегда отстают от технологий и бизнес-потребностей. Но в обоих типах приложений (включая промежуточные типа RIA) налицо тенденция к упрощению распространения и обновления. Еще серверная часть современных приложений должна реализовывать 2 интерфейсных уровня — HTML и web-сервисы (для остальных типов приложений). Статический анализ C++ кодаПродает свою систему для статической верификации C++ программ. Для того и ездит с этим докладом по всем конференциям и раздает брошюрки. Доклад заключается в описании примеров ошибок в исходниках известных продуктов («Return To Castle Wolfestein», «Miranda» и др.), которые он обнаружил, натравливая свою программу. Производительность и энергопотребление мобильных приложений на примере Windows Phone 7Представитель Microsoft рассказывал, какие механизмы предлагает Windows Phone 7 (точнее новая версия платформы) разработчикам, чтобы обеспечить оптимальную производительность своих приложений на устройствах. Среди них:
Mac AppStore — спасение небольших разработчиков под Мак?Сергей Кудряшов рассказывал, как правильно пользоваться Mac AppStore, чтобы зарабатывать на этом деньги. Есть неудобства при общении с Apple: регистрация по факсу, ужасный support (не отвечают на письма), 2 недели проверяют приложение перед публикацией. Для продвижения надо использовать тизеры, красивые иконки и работать на повышение рейтинга. Нельзя делать скидки на комплекты ПО, зато можно сделать большую временную скидку для привлечения. Нормальный доход — до $6,000 в месяц за приложение. Интересный факт: русский AppStore на 5 месте по продажам в мире (обосновывает тем, что у нас все маководы богатые %-/) Language Oriented Programming (LOP) в действии (или как мы это делаем в JetBrains)Один из разработчиков Meta Programming System про нее и рассказывал. Что было до этого для DSL:
В отличие от языковых расширений MPS работает на уровне абстрактного синтаксического дерева, а не текстовой грамматики, чем устраняет проблему совместимости. Редактор свой, проекционный (работает с АСТ, который проецируется в текст). Привыкание — 2 недели. NoSQL-практикум: Промышленная автоматизированная измерительная система на CouchDBСистема учета электроэнергии собирает данных с измерительных приборов (в простонародье «счетчики»). Изначально система была вн РСУБД + python. Потом решили использовать CouchDB (почему? по-моему, их заели репликации, а тут значительно проще) В общем, рассказывал, что такое и как делать для него приложения. Очень симпатично: написана на Erlang, включает web-сервер, логика пишется на JavaScript и хранится особыми документами в БД, работа через REST API. Захотелось попробовать. Мобильная веб-разработкаАндрей Ребров рассказывал об интересном подходе мобильной разработки, который практикует их компания. Приложения пишутся на HTML с использованием специлизированных JavaScript-библиотек А потом конвертируются в нативные для нужных платформ с помощью: Есть статья на хабре с кратким описанием всего этого добра. Докладчик утверждает, что использование такого подхода позволяет создавать приложения за 1,5 недели, включая тестирование. Разработка программного обеспечения для маленькихЦелостного впечатления не осталось. Что-то о том, в чем должна заключаться разработка ПО. Тезисно:
MongoDBЕще одна документо-ориентированная СУБД. Про возможности можно почитать на официальном сайте. Докладчик особый упор сделал на архитектуру развертывания, балансировку, примеры выбора shard key. Взаимодействие дизайнера и программистаПоказалось как-то совсем занудно. Наверно, я просто ушел с этого доклада. Оптимизация LAMP-приложения на примере OpenX: разгоняемся до 1000 запросов в секундуСразу возник вопрос: кем докладчик — Александр Чистяков приходится Владиславу Чистякову (контрибутору Nemerle)? Насколько известно, они просто однофамильцы. Очень бодро рассказывал про оптимизацию платформы OpenX. Доклад проходил в стиле «Такая-то проблема. OK. Пробуем то-то». Больше всего цепляет то, с какой легкостью в проекте опробуются и внедряются различные инструменты/технологии, без постоянного опасения рисков от «нового». В нашей жизни такой динамики, конечно, не хватает. Nemerle Deep DiveДумал узнать что-то новое сверх семинара ALT.NET, но, к сожалению, процесс пошел еще медленнее, чем у нас.
Внимание! Эта статья была создана путем автоматического реплицирования из внутренней базы знаний компании Заказные Информ Системы. Любые правки этой статьи могут быть перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion». |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |