Привет всем! Подведем итоги!
Вчера состоялась наша очередная встреча, посвященная web 2.0.
Правда, само это понятие в течение всех докладов практически не упоминалось, но думаю, всем понятно, что обсуждались инструменты и технологии, которые с темой нашей встречи в той или иной мере соприкасаются.

Итак, прозвучали следующие доклады:

jQuery

Первым выступал Александр, начав свой доклад с преимуществ использования js библиотек в целом; с того, какие тривиальные и не очень задачи они позволяют решать. Также продемонстрировал графики-диаграммы, позволяющие сравнить наиболее распространенные библиотеки между собой.
Говоря о самой библиотеке jQuery, Александр рассказал о функциональности данной библиотеки в работе с DOM-ом, CSS, Ajax; о совсместимости с наиболее распространенными браузерами. Было приведено множество различных примеров синтаксиса jQuery: селекторы, DOM манипуляции, работа со стилями. Также докладчик не забыл упомянуть об ajax-запросах, визуальных эффектах и утилитах, которые предоставляет jQuery.
Показал пример не всегда читаемого chaning-а.. и в течение всего своего выступления, пожалуй, до всех успел донести свое отношение к IE :)

ARANEA

После небольшого перерыва, во время которого все успели пообщаться, Олег выступил с докладом об Aranea – web framework, разрабатывавшийся долгое время фирмой Webmedia, для применения “.. в вялотекущем бизнес процессе.”. Рассказывал Олег не про весь проект Aranea, а в частности только про Aranea MVC framework, в основе которого лежит объектно-ориентированный подход практически ко всему, с чем приходится сталкиваться разработчику, особенно в визуализации. Было продемонстрировано множество визуальных компонентов (в контексте Aranea называющихся widget-ами), позволяющих заниматься разработкой web-приложения, фактически не вникая в javascript на клиентской стороне.
В связи с этим у некоторых участников сложилось впечатление, что речь идет не о полноценном MVC, а скорее о неком mVC. В ответ Олег указал на удобную интеграцию Aranea со Spring-ом.

DWR

Завершил нашу встречу Арс, с докладом о DWR – библиотеке, позволяющей организовать обмен данными между Java на сервере и javascript-ом клиента.
На примере livechat приложения Арс показал DWR в действии, и разъяснил способ реализации показанного примера с использованием DWR. Также более детально Арс остановился на Reverse-Ajax, перечислив способы (poll, push, piggyback) его реализации при помощи DWR, и рассказав о проблемах, связанных с этим.

Далее Евгений немного раскрыл планы относительно будущих встреч нашего клуба и народ начал потихоньку расходиться, продолжая обсуждать услышанное :) . Говорят, было некое продолжение в Scotland Yard, где оказалось невозможным покушать, но получилось в тесной компании продолжить общение.

Как вам кажется, подходит ли нам такой формат встречи, когда докладчику отводится 40-45 минут на, собственно, доклад и вопросы? Достаточно ли вам было времени на общение между собой в перерывах? Может у вас есть какие-то предложения, или вы просто хотите поделиться впечатлениями? Пишите, нам важно это знать :) .

Надеюсь встреча для всех оказалась если не полезной, то уж точно интересной. Заметил достаточно много новых лиц, что не может не радовать.
В общем.. большое спасибо всем за участие, и Кириллу отдельно, раздававшему пиво и подарки :) .
Спасибо дважды докладчикам и людям, не прошедшим мимо коробочки с надписью donations. Надеюсь ваш вклад позволит сделать наши следующие встречи более интересными и доступными для большего количества людей.

  1. Juri Mulenko says:

    Я думаю для таких обширных тем, самое то

  2. Eugene Chaikin says:

    Очень понравилось. Хорошие выступления. Формат, как мне показалось, самый подходящий для наших мероприятий. Спасибо!

  3. Arseni Grigorjev says:

    По следам своего доклада — заинтересовавшимся DWRом.

    Справедливости ради стоило упомянуть ещё и DWR-community. Оно отстойное :) В Google почти нет никаких адекватных пользовательских примеров, особенно по последней версии Reverse-Ajax API. Самый лучший reference по DWR — это сайт DWR. Документация как таковая достаточно обрывочная, но есть пакет с примерами, из которого можно почерпнуть кое-что полезное:
    https://dwr.dev.java.net/files/documents/2427/120391/dwr.war

    Вот. Хотел ведь об этом сказать, а что-то из головы вылетело ;)

    —————–

    Сессия была клёвая! Я лично ещё рад тому, что удалось уместить весь народ у нас в Акрисе. Однако ясно, что нам необходимо более просторное помещение. Чтобы никого не оставлять “за бортом”.

    Всем спасибо!

  4. Juri Timoshin says:

    Хоть время и увеличили для докладов, но всё равно не уложились же :) в запланированное время. Формат считаю правильным – на доклад + перерыв отводить час. Если доклад затянулся, то перерыв меньше. Плохо так же, то что не начинаем вовремя – вместо 19:00 где-то в 19:15. А так всё отлично :) продолжаем в том же духе :)

  5. Anton Arhipov says:

    формат – самое то. надо бы только держать доклады всё таки в 40-45. а не в 50-55 как получилось на самом деле.

    а в 19.15 мы начинаем потому, что сказано придти в 19.00. Ну а народ естественно опаздывает минут на 5..
    Надо говорить что начинаем в 18.45 :)

  6. Артём Курапов says:

    Ок. Я себя чуствую мега-критиком клуба, так что не обижайтесь..

    1. Jquery. Пожалуй самая нормальная лекция. Современная в плане что это используют уже все кто успел перейти с prototype.js. Мало что нового узнал, вчитываться в лекции в детали времени небыло, можно было бы сделать просто введение, основу и некоторые отличительные особенности, делать серверную часть не обязательно было.

    2. Aranea. Видно что двигали свою технологию, оно конечно не страшно но показалось что начали в 2003 делать колесо, а потом оказалось что его же сделал кто-то ещё с более популярным названием. Олегу желаю говорить быстрей и раскрепощённей (хотя когда я на себя смотрю то вижу как я тормозил по полной :) )

    3. DWR. В принципе зло. Делался он небось для облегчения ajax-запросов в заводских масштабах, но в реальных средних проектах надо использовать обынчый ajax чтобы не смешивать логику. На пхп я тоже в своё время восторгался, см:
    http://kurapov.name/rus/technology/web/php/xajax/
    Проблема в том что сложилось чуство будто Java на год как отстала от этого sajax’а

    Так что очень жаль что завершающей вне-ITшной темы небыло. Жаль что все сидели как в рот набравши воды, как-будто не пытаясь вникнуть (на этом фоне я себе показался болтуном даже).

    Ещё хреново что даже с картой парковку я нашёл только поездив раза три туда-сюда по улице (взрыв мозгов!)

    Хотелось бы услышать
    1. полезные методики
    2. собственные проекты девелоперов
    3. интересные проблемы с алгоритмами

    Из тем хотелось бы услышать темы
    1. Решения с железом
    2. Flash-streaming
    3. Поиск, лингвистика, RDF
    4. Структуры БД для тех или иных проектов
    5. Обработка изображений/видео

    Естественно все работают в больших компаниях и рассказывать на внутренние темы никто из старожил не может, а молодняк просто таким занимается если только в универе.

  7. Anton Arhipov says:

    Артём, сэнкс за критику. Кто то же должен критиковать :)

    Здесь маленький ремарк – Java не имеет никакого отношения к AJAX-у, потому что веб-интерфейса как такового на ней не делают.

    На счёт топиков – ты анкету заполнил?

    А про внутренние проекты в большихз фирмах. В принципе можно сделать так доклад, чтоб рассказать о техническом решении и без выдавания внутренней инфы. У меня есть парочка таких докладов-тем, о которых я ирасскажу, если будет подходящая тематика (архитектуры).

  8. Jevgeni Holodkov says:

    Артем, гуд! А что было хорошо и тебе понравилось?

  9. Veronika says:

    :) .. как-то уж слишком строгая критика ..

    мне понравились все три доклада..) для меня было много нового..и то что было знакомо, всегда интересно снова услышать в каком-то новом объяснении другого человека..)

    возможно, только доклады затянулись, слишком много инфы за раз, или это я под конец дня слишком устала) ..

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

  10. Anton Arhipov says:

    Вероника, то что 2й докладчик запомнится многим и на долго это безусловно! :)

    Одна та фраза про “классический пример вялотекущего бизнес-процесса” чего стоит! :)

  11. Артём Курапов says:

    Понравилось
    1. что побывал в новом офисе Aqris (получается что я их коллекционирую), интересно было посмотреть на внутренний дизайн
    2. что каждый докладчик был со своим стилем (в т.ч. “Я не буду отвечать на компроментирующие вопросы” и “IE must die”)
    3. что возникают традиции (как Кирилл с пивом), их надо побольше, например разные типы докладов
    4. что люди новые появляются и даже ротация происходит. Я думаю можно было бы легко и 100 людей пригласить, вопрос лишь в месте и деньгах.

    Хотелось бы ещё что-бы темы которые будут докладываться выбирались голосованием (если их больше трёх/или количества доступных для одной встречи), а то не очень понятно как вы договариваетесь.

  12. Anton Arhipov says:

    Артём,

    темы были выбраны из анкет :)

    но ты прав, тематика встречи на столько широкая, что запросто можно было ещё докладов 10 собрать и из них уже выбирать. Ну получилось как получилось. По вебу всяко ещё встречи сделаем – тебя посадим рассказывать :)

  13. Kirill Linnik says:

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

  14. Arseni Grigorjev says:

    Что такое “обычный ajax”? o_O :) )

    На самом деле, мне кажется, что суть невысказанной претензии Артёма заключается в том, что сессия в целом была очень Java-ориентированная. Я предлагаю провести как минимум ещё одну сессию по вебу, где будут представлены и другие платформы.

    Анкеты надеюсь передать завтра Жене (а то потом меня не будет в Эстонии до четверга).

  15. Kirill Buhhalko says:

    Вопросы из зала, во время доклада, должны быть более контролируемы.
    Последних 2 доклада затянулись как раз из-за этого.
    Иногда выглядело, как желание “опустить” технологию(а в итоге помешать докладчику дорассказать)

  16. Anton Arhipov says:

    Кстати я согласен, что встреча получилась чуточку Java-centric – 2 доклада из 3 были связаны именно с Java.

    Предложу сделать ещё одну встречу по Web, скажем в июле (через раз), где рассмотрим веб фреймворки (или что то подобное) не основанные на Java. Например ASP.NET, PHP (что там у вас есть), Rails, etc. Благо докладчики найдутся :)

    А то что уж слишком Java-centric всё получается, так этож мы не со зла :)

  17. skein says:

    с вопросами во время презентации надо что-то делать. эти встречи становятся на час дольше, чем должны быть именно из-за этого.

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

  18. Juri Mulenko says:

    В презентации по jQuery 13й слайд попорчен. Там виден пример только по plain javascript, а по prototype и jQuery не видно кода.

  19. Anton Arhipov says:

    Юра, это баг от Google Docs. Если слайды положить на Slideshare то будет видно всё.

  20. Juri Mulenko says:

    Я её скачал как в pdf так и в ppt. Ни зги не видно.

  21. Dmitri Semirenko says:

    Юр, проверь ppt.

    код prototype и jQuery там скрыты в самом слайде, почему-то..
    Вот весь слайд целиком:
    //Plain JavaScript
    var tables = document.getElementsByTagName("table");
    for ( var t = 0; t < tables.length; t++ ) {
    var rows = tables[t].getElementsByTagName("tr");
    for ( var i = 1; i < rows.length; i += 2 )
    if ( !/(^|s)odd(s|$)/.test( rows[i].className ) )
    rows[i].className += " odd";
    }

    //Prototype
    $$("table").each(function(table){
    Selector.findChildElements(table, ["tr"])
    .findAll(function(row,i){ return i % 2 == 1; })
    .invoke("addClassName", "odd");
    });

    //jQuery
    $("tr:nth-child(odd)").addClass("odd");

  22. Kirill Buhhalko says:

    skein said…
    Вот идея:
    Положите перед встречей на каждый стул лист и ручку…

    нее, так уж совсем грустно будет :)
    Положительная сторона таких выступлений как раз в интерактивности ))

  23. Артём Курапов says:

    Кирилл, я думаю вопросы внутри лекции подобны вставлению картинок/флеш/видео внутрь статьи. С одной стороны они должны быть отдельно, с другой стороны они тесно связаны с контекстом (смыслом). Вынесешь такие в конец – и никто не поймёт вопроса. А будешь делать связку типа "вот на 23 слайде и на 15 минуте вы упомянули…" будет как-то научно и неюзабельно (я например немогу пользоваться сносками которые в конце всей работы лежат). Принцип интерактива для меня важней чем те сухие данные которые могут быть в презентации.

    Для меня по сути и документация не столько важна сколько польза или идея от того что может быть в презентации, показать то что система может или язык позволяет эффектного, чего другие не в состоянии.

    В прошлых презентациях например когда про .NET Юра рассказывал то мне понравилась идея промежуточного языка, что я пишу на любом языке, который транслируется в промежуточный и только потом может делаться бинарник в зависимости от платформы. Или например как Алекс про Webmoney и Яндекс деньги рассказывал как они изхитрились работать с этим яндекс-клиентом в качестве сервера.

    Поэтому я предлагаю уменьшить время доклада до 30 минут, включая вопросы (кто не успел – спросит на перемене), предполагая что если это знакомство с новой технологией то достаточно перечислить основной концепт и идею со ссылками что да как это делает и куда копать. А если хочется более детально, то разбивать не две лекции как то делал Кирилл, откуда пошла традиция пива. Потому что действительно получается 40 минут + ещё вопросы анлимитед, выходит что к 11 только закрытие.

  24. Anton Arhipov says:

    Артём, +5!

  25. Arseni Grigorjev says:

    -3

    Я думаю разные темы требуют разного формата. Загонять все доклады в формат ознакомительных я считаю неверным. Где-то пусть 30 минут, где-то пусть 45. А где-то может и 20 достаточно. Просто надо договариваться. Я за разнообразие форматов в принципе.

    +2

    Вопросы по ходу доклада — это хорошо. Но модератор должен их вовремя останавливать. Порой дискуссия уходит совсем в другую степь, уже не так сильно связанную с темой доклада — после этого возвращаться к своей мысли тяжело. Большие дискуссии, сосредоточенные на тонких деталях надо выносить в перерыв.

*