|
Персональные инструменты |
![]() |
||
|
![]() |
![]() ADD-2011: Отчёт Виталия ФилипповаМатериал из CustisWiki
Общие слова: за организацию «плюс», местами даже «большой плюс». Конкретные плюсы:
Стас Фомин 15:15, 15 мая 2011 (MSD): SSID «ADD» — это не от гостиницы, это грамотно разведенные по WiFi-каналам (мне аж диаграмму показали) штуки три роутера от DLINKа. Но сам входной канал был вроде от гостиницы, и с ним были проблемы. Плюс еще через это все почему-то не работало VPN-подключение — проблемы думаю, тоже на стороне гостиницы и провайдера, ибо настройки роутеров я смотрел, там ничего, кроме SMB на 139 порту не было закрыто.
Ещё такой плюс-минус ADD — это разношёрстность аудитории, приводящая, с одной стороны, к отсутствию целевой аудитории на многих докладах, но зато с другой, к очень интересным «случайным попаданиям». Можно считать фишкой. День первый я слушал и мигрировал между залами нормально, а вот второй частично прошёл мимо меня, потому что:
Содержание
День первыйОблачная инфраструктура AWSДобротный рассказ про устройство популярного облака Amazon Web Services с точки зрения его пользователя. Хорошая оговорка была — …вы платите microsoftу… тьфу амазону… Позабавила реализация «невиртуализированных» («настоящих») дисков — они, типа, ненадёжные, и содержимое гробится при перезапуске. А виртуальные, типа, надёжные, но зато медленные, потому что по сети. Есть там и CDN. Есть готовые образы машин, триггеры (чтобы отлавливать ЛОР-эффект, он же хабраэффект), автоскейлинг и так далее. В общем-то, по мне, облака не круты, пока ОС нельзя завернуть в один динамически хавающий ресурсы процесс, который можно размазывать по любому числу машин. В этом смысле правильная идея у гугла с их AppEngine.
Processing и FluxusНезачёт, к сожалению, не потому, что тема плохая, а потому, что рассказана слабо. Докладчик (Антон Котенко, iPark Ventures) слабовато подготовился, выбрал нетривиальную тему и самый сложный формат — live-coding. Ещё у него под убунтой глючило JackAudio и т. п., а он это был не в силах разрулить, в итоге зал, полный вендузятнегов, получил повод для насмешек. А на самом деле это могло бы решиться, если подойти и подготовиться заранее. Processing’а не было вообще, был Fluxus. Fluxus — это такая среда live-coding’а для 3D графики и функционального языка Racket, выросшего из Scheme (всё — список, куча скобочек и т. п.). Консоль для ввода команд накладывается прямо на 3D-изображение, а само оно рендерится с помощью машины состояний, то есть, очень прикольно, что при внесении изменений они просто плавно «включаются» со следующего кадра без сброса текущего состояния сцены. Аудитория, по ходу, в итоге вообще не особо вкурила, зачем он нужен, а всё потому, что как раз этому надо и было уделить пристальное внимание — например, объяснить, что такое Демосцена. Особенно в части Intro, когда есть от силы 64кб пространства, а в него надо упихнуть красивый видеоряд и музыку, и чтобы это всё и быстро вертелось, и красиво сочеталось. Вообще Fluxus позиционируется также для прототипирования игр (тут тоже было непонимание в глазах — типа нахрен это надо, когда есть готовые коммерческие движки), но просто основная фишка Fluxusа — это ФАН и это развивающийся продукт, а не готовый движок для игры. По мне, ещё надо было хотя бы кратко показать стандартные демо-ролики и сделать обзор возможностей, а не пытаться настрочить тривиальности в режиме лайв-кодинга. GlebTarasov 20:15, 4 мая 2011 (MSD) Про эти демосцены была выставка в Гараже. Выставка, состоящая из волпейперов, полный отстой) Веб-приложения на HTML5, как альтернатива нативным приложениямПрезентация в 14 слайдов из Google Docs, в принципе, просто попытка рассказать о базовых возможностях HTML5, о которых по-моему уже все слышали много раз — аудио-видео, геолокация, оффлайн, WebSQL, Indexed (вот разве что про оффлайн и базы эти было любопытно). А про, скажем, грид (<datagrid>), draggable, menu он не говорил. А под нативными приложениями понимаются в основном приложения для мобилок (и угадайте с трёх раз, каких). Они используют какой-то сервис по заворачиванию HTML5 в нативное приложение, пашет и там, и там. Одно и то же написать нативно и на HTML5 не пробовали, так что сравнения нет. Почему? Потому что выбор такой не вставал — типа я вебщик, нафига мне смотреть в сторону нативного софта. Ну и вывод соответствующий — типа, можно писать, да. Взаимодействие дизайнера и программистаЕщё один макофил, рассказ про дизайн программки под айфон. Ясно что используется куча разного софта (Абоде и не только), хотя местами даже бесплатного (Google SketchUp). Были некоторые рекомендации:
Свободные лицензии: улыбнись тому, кто сидит в прудуРассказ про свободные лицензии, про их классификацию и про типичные заблуждения, спокойным как слон, чуваком. Название доклада от «некоторые считают … таким енотом в пруду с дубиной». :) Ох, блин! Как же я его забыл спросить про его видение «свободного ПО && игр» — того, чего пока нет. Классификация:
Заблуждение главное — это «Закрыть, а то сопрут». Позиция «грёбаных менеджеров», которые хотят сесть жопой на своё ПО и рубить бабло. И в конце концов стать ненужными, проиграть на рынке и замедлить его развитие (заодно и снизив свою прибыль). Только они-то этого не понимают. А на самом деле код, который можно, в их терминах, «спереть», мало что значит. Главное — это видение развития, клиентская база, доверие, поддержка, know-how, сервисная модель. Без всего этого ваш код всё равно скорее всего станет никому не нужен. Был вопрос про VLC в AppStore, ну ха-ха, конечно все ябблофилы ругают автора VLC, потому что он мог и не говорить «вас тут не сидело, не нарушайте GPL», и тогда до поры до времени порт VLC оставался бы в AppStore, но лично моё мнение — правильно сделал. Потому что для ябблофилов хорошая демонстрация того, чем является то, что они так любят. Яббл вообще вон «чёрный экран» и «скруглённые углы» своими патентами считают ;) не пойму я ни их пользователей, ни разработчиков (не пойму, почему они до сих пор есть!) Технологии улучшения взаимодействия между разработкой и тестированием (реклама)Адова дрянь, реклама совершенно уродского продукта, когда слышишь слово «бизнес-процессы», уже почти пора валить. Реклама какого-то инструмента. Тьфу. MongoDBНе «много», а «монго». (Не дибил, а диби…) =) MongoDB — это NoSQL-база, хранит хеши, ну в смысле вообще объекты с произвольным набором полей/вложенных структур данных (типа JSON). Был на небольшом кусочке, услышал в основном про автоматический шардинг — то есть масштабирование БД на набор серверов. Заключение — ну, оно это умеет и умеет прекрасно. Будущее ECMAScriptПришёл в середину, успел послушать про:
Вообще забавно наблюдать, как современные языки перемешиваются между собой и Perl’ом. В C# вон тоже что-то похожее происходит. :) NoSQL-практикум: Промышленная автоматизированая измерительная система на CouchDBДокладчик — с одной стороны, Капитан Очевидность, видимо не так давно открывший для себя базы данных. Создавайте индексы, смотрите планы запросов. O_o Но зато рассказал про реализацию системы учёта показаний электросчётчиков на CouchDB — ещё одной NoSQL-базе. CouchDB — это не просто NoSQL-база данных, написанная на Erlang’е, она также содержит внутри себя сервер приложений, который может выполнять javascript, и благодаря этому оно простое и быстрое. Интерфейс к CouchDB — HTTP-запросы (методы GET, PUT, POST, DELETE). Правда, это вам не Mongo и масштабирование — не её сильная сторона — всё масштабирование сводится к мастер-мастер репликации. Но они и не масштабировались, по оценкам им надолго текущей архитектуры хватит. Кратенько: там есть документы (просто хэш/словарь, какой термин кто больше любит), и дизайн-документы, которые представляют из себя какой-то код, который может, например, что-то агрегировать с помощью map-reduce (получится как бы «view»). Хранит всю историю изменений, вся БД в одном файле, который только растёт вперёд и его нужно время от времени перепаковывать — привет, ACID и MVCC (да, таки оно и есть), PostgreSQL и VACUUM. Есть индексы, правда, их заполнение происходит по требованию и поэтому если накапливается много обновлений — первый запрос будет подтормаживать. Это решается, по-видимому, просто регулярным дёрганьем view по расписанию. Ещё есть простой интерфейс типа «запросить все изменения с момента заданного sequence number», что позволяет легко делать всякие онлайн-обновляемые твиттеры-странички. Прикольная штука, короче. Расширения в Opera 11А не было их. Вадим Макеев (pepelsbey) то ли заболел, то ли испугался, что его порвут озлобленные количеством багов пользователи Оперы (типа меня). Баги типа:
Поменьше бы им писать, а побольше тестить. День второй«70 % чего?» или различные метрики измерения тестового покрытия«70% чего?» или различные метрики измерения тестового покрытия (Дмитрий Фазуненко, ADD-2011):
Статический анализ C++ кодаОпять этот лысый мужик, который на каждой конференции под видом чего-то полезного пиарит свой инструмент, который платный и только для Visual Studio. Презентация состояла из примеров ошибок, которые ловит статический анализ, в открытых проектах, и рекомендации «используйте это». Особенности масштабирования систем планирования и управления поставкамиТо самое случайное 100 % попадание — компания делает почти то же, что и мы, только круче :) обслуживает крупные западные сети, планирует им поставки с помощью купленных библиотек с алгоритмами. Тоже используют этот дурацкий Oracle, который масштабировать настолько дорого, Автоматизированный ALMЕщё один рекламщик, на этот раз реклама какого-то инструмента для работы с баг-трекерами (прокся к баг-трекеру — сильно, ага?), который работает через BPEL BPMN и поэтому «сильно гибкий» (не смешите мои подковы). JDK 7 and Java SE 7Товарищ из Oracle, а соответственно раньше из Sun, долго общался с залом в режиме дискуссии на тему JDK, и что-то как-то совсем не результативно. Но, в общем-то, lambda-функции они сделать так и не осилили. Снова обещают в будущей версии. Жалею, что не послушалЖалею, что не послушал, и буду смотреть видео:
Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |