Отзывы о PHPConf 2009

confguru

ExAdmin
Команда форума
Отзывы о PHPConf 2009

Отзывы о PHPConf 2009

8-9 октября прошел Web Architect WorkShop Day и PHPConf 2009

Как всегда все прошло на высоком уровне ;-)

Отзывы (как всегда без цензуры)

Отчет с первого дня PHPConf 2009
http://khamukhin.blogspot.com/2009/10/phpconf-2009.html

Сегодня мне посчастливилось посетить конференцию для разработчиков на PHP (и не только) - PHPConf 2009. Программа разделена на два дня, сегодня был первый.

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

"10 мантр менеджера веб-проекта", Александр Орлов
Александр с самого начала постарался внушить к себе доверие, рассказав о своем опыте работы в таких компаниях как Sun (начало карьеры) и Intel (почти текущий этап карьеры).


Мантры для менеджера или РП оказались такими:

1. Стратегия проекта - какая прибыль будет у проекта к 2011 году?
2. Риски - у вас есть риск-план?
3. Жесткий отбор кандидатов;
4. WWW - Who, What, When - это то, что нужно спросить сотрудников, которые чересчур увлеклись обсуждением технических аспектов, этот вопрос вернет людей из облаков
5. Четыре причины, почему сотрудники не делают то, что ожидаешь - это нечеткие цели, не умение, отсутствие возможности, отсутствие желания
6. Интерес к работе
7. 4 составляющих лидера - это РАПИ, то есть Разработчик, Администратор, Предприниматель, Интегратор
8. Все люди очень разные - и не только сотрудники, но и заказчики
9. Отношения - не забыть составить список "стейкхолдеров" - лиц, которые касаются вашего проекта, заинтересованные лица (это может быть не только босс, но например и ваша невеста, ведь ей вы наверняка рассказываете о своем проекте)
10. Саморазвитие - читать, читать, и еще раз читать как можно больше

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

* "Человеческий фактор: успешные проекты и команды", Демарко
* "Мифический человеко-месяц", Брукс
* "Развитие лидеров", Адизес
* "Руководство командой разработчиков программного обеспечения. Прикладные мысли", Архипенков
* http://www.joelonsoftware.com/

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

"Обеспечение качества сайта (ПО) на основании глоссария (словаря данных)", Григорий Кочанов
Доклад я выбрал, потому что в своей работе сейчас активно разрабатывается идея проверки программистом документа "ФТ" по списку критериев, так называемому чек-листу. Например, если нужно по ФТ добавить форму авторизации, то соответствующий чек-лист должен содержать список критериев для проверки этого требование на ударопрочность: "указано ли в требованиях, что выводить после безуспешной попытки авторизоваться?", или "имеет ли значение регистр букв?" и т.д. Если требование касается добавления на существующий сайт какой-то небольшого функционала посвященного маркетинговой акции, то чек-лист кроме всего прочего, должен иметь критерий "а есть ли требования, как потом следует убрать эту временную функциональность?".

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


Вот некоторые интересные моменты из доклада:

* Разработчики зря уделяют слишком много внимания вопросам верстки и полиграфии, а не архитектуре приложения
* Изменять элементы справочников нельзя - нужно либо сохранять историю изменений, либо... не изменять
* От систем ведения багов, вроде Bugzilla или Mantis, желательно получать график открытых багов во времени
* Стоит прочитать книгу "Записки автоматизатора", Андрея Орлова, а также блог автора доклада, там где-то должен быть пример глоссария


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


Мне кажется, что Андрей хотел рассказать в первую очередь о том, как анализ требований влияет на архитектуру, собственный успешный опыт. В докладе Андрей использовал термин "Хотелки", - это источник требований, то что просит сделать заказчик. "Хотелки" стоит преобразовать в цели, среди которых выделить главную цель. Из всех целей создаются сценарии. Сценарии согласуются с заказчиком и являются "исходниками", как для заказчика (согласуются), так и для разработчика и тестировщика (создаются тест-кейсы).

Сценарии позволяют выделить:

1. Действующих лиц;
2. Объекты, с которыми работают действующие лица;
3. Действия.

Действия определяют основные методы, и вместе с объектами они образуют модель и контроллер из паттерна MVC.

Если построить дерево целей, то в случае изменения одной из целей (то есть изменения требований), можно смело сказать, что потребуется переписать код, который относится к соответствующим сценариям.

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

Последня интересная особенность доклада - это состав идеальной команды по менению Андрея - это, внимание, вот какие роли:

* Аккаунт менеджер;
* Разработчик
* Тестировщик


Как НЕ писать ТЗ и делать успешные продукты, Ольга Белова
Это последний доклад, который я посетил сегодня. Выступление несколько отличалось от других. Дело в том, что Ольга, кажется, была более связана с маркетингом, нежели с разработкой. Кроме того, Ольга рассказала, что последовала примеру автора книги "Все маркетологи - лжецы", где в первой же главе было сказано, что и не совсем лжецы, да и не все. То есть ТЗ писать все же иногда нужно. А название подкупает.


Выступление было очень живым - получился активный диалог с другим докладчиком - Григорием Кочановым (доклад "Профессия - аутсорсер: секреты мастерства", который я к сожалению пропустил). Григорий настаивал, что живое общение Ольги с командой разработчиков, рисование на салфетках, скетч-прототипы - это все как раз и есть подобие ТЗ. Здесь я согласен с Григорием.

Но Григорий также заметил, что доклад Ольги похож на "химию на уровне эмоций". Однако, на мой взгляд, основная идея была в том, что не нужно формальное ТЗ или ФТ на n страниц, если заказчик этого не просит, и команда очень-очень слажена. Главное в такой слаженной команде - это не забыть составить минимальную документацию после написания кода проекта.

Плюс одна книга в личную библиотеку: "Управление безнадёжными проектами", Йордон.
 

algo

To the stars!
Оставил зарядку от ноута, ибо встреча была на вечер, еле успел после доклада не до зарядки было ;)

Вот заберу у admin - выложу презентацию по html5. Жаль, про gears рассказать не успел, зато написал статью: http://javascript.ru/unsorted/google-gears. Пряма как знал, что времени не хватит. Про html5 статьи не написал ;)
 

AmdY

Пью пиво
Команда форума
algo
за статью спасибо огромно, вчера её прочитал, всем советую.
 

Nirva

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

все остальное отлично. а, ну а алга, редиска, убежал )
 

confguru

ExAdmin
Команда форума
Автор оригинала: algo
Оставил зарядку от ноута, ибо встреча была на вечер, еле успел после доклада не до зарядки было ;)

Вот заберу у admin - выложу презентацию по html5. Жаль, про gears рассказать не успел, зато написал статью: http://javascript.ru/unsorted/google-gears. Пряма как знал, что времени не хватит. Про html5 статьи не написал ;)
Захвачу на работу.. 3 зарядк было найдено кстати.. :) Вроде хозяева нашлись.
 

algo

To the stars!
admin
Есть предложение отстикерить все существующие темы этого раздела и застикерить эту.
 

maxbarbul

Новичок
Все докладчики обещали, что презентации будут выложены на сайте конфы.
Когда можно будет скачать презентации?
 

confguru

ExAdmin
Команда форума
Выложим - просто были пожелания выложить уже финальные версии.

P.S. Презентационный ноут с презентация ездил в багажнике с пятницы. К среде все будет.

-~{}~ 12.10.09 17:16:

Фото от Antony Dovgal's

PHPConf 2009
http://www.flickr.com/photos/tony2001/sets/72157622444097401/

Афтепати с авторами :)
http://www.flickr.com/photos/tony2001/sets/72157622568754162/

-~{}~ 12.10.09 17:21:

Отчет со второго дня PHPConf 2009
http://khamukhin.blogspot.com/2009/10/phpconf-2009_11.html

В эту пятницу прошел второй день конференции PHPConf 2009.

Мне не хочется пересказывать все, что было в докладах. Вместо этого, я опишу только некоторые моменты, которые показались наиболее интересными или просто не очевидными. Рассказывать я буду в обратном порядке, то есть сначала здесь будет самое последнее выступление на конференции.


"Как превратить предложение в платформу", Владимир Крючков
Автор опубликовал в блоге слайды своего доклада.

Тема показалась мне интересной, т.к. в моей компании разрабатывается смежное решение.

Наиболее интересные моменты cloud-хостинга, о котором рассказывал Владимир:

* Для управления параметрами хостинга создается REST API, можно, например, отправкой сообщения увеличить размер слотов;
* Есть возможность определить триггеры, с помощью которых производительность вашего "сервера" будет меняться автоматически, например, будет увеличиваться количество ядер, при превышении какого-то порога load average;
* Автор обещал, что в будущем у клиента точно будет возможность повышать производительность за пределы одного физического сервера, с этим, возможно, многие могут поспорить;
* В качестве основы для виртуализации используется - XEN.


"Использование MySql для аналитических систем", Александр Рубин
Александр рассказал о ситуации, когда действительно необходимо выполнять сложные выборки из таблиц с большим количеством данных. Как правило такие задачи решаются либо оптимизацией запроса, либо выполнением запросов с join'ом на реплике, либо вводом так называемых summary-таблиц, т.е. таблиц с уже агрегированными данными.

Менее очевидные методы для решения задачи: sphinx, InfoBright. Эти решения стоит изучить.

"HTML 5: куда мы уже пришли... и куда еще придем", Илья Кантор
У Ильи были очень забавные технические накладки. С самого начала Илья предложил ответить на вопрос, кто из присутствующих занимается разработкой клиентских пользовательских интерфейсов. Довольно много людей (больше половины) подняли руки и... почему-то отключился свет. Через несколько секунд освещение восстановилось. Автор задал еще какой-то вопрос залу, - люди опять начали поднимать руки и свет опять отключился. Видимо один из участников поднимая руку, задевал расположенный сзади выключатель :)

Что же касается самого HTML 5, то все мне показалось очень интересным, но хотелось другого. Очень хочется, чтобы какой-то стандарт уже приняли и постарались бы повсеместно его внедрять во все браузеры. Может быть не стоит включать в HTML 5 все-все-все возможные фичи, а скажем включить только какую-то часть? Или до 2020 годов, когда будет наконец выпущен HTML 5, выпустить что-то промежуточное, например HTML 4.9.0?

"MySQL Online Backup", Светлана Смирнова
Светлана рассказала о новой функции MySQL, которая сводится практически к появлению двух новых statement'ов:

* BACKUP;
* RESTORE.


Функции имеют свои особенности, с которыми, можно ознакомиться на сайте MySQL. Возможно, отправление своих feature request сможет повлиять на финальный вид этих функций.

Ожидается, что релиз состоится в версии следующей за 5.4.3.

Если я правильно записал адрес, то здесь, в своем блоге Светлана выложит, как и пообещала, слайды своего выступления.

"Рассекреченный демон Pinba - realtime statistics for PHP", Антон Довгаль
Для меня знакомство с Pinba произошло во время этого доклада, до этого про Pinba я не слышал. Очень заинтересовало.

Что требуется? Требуется установить расширение PHP на сервер, где исполняется код, а также специальный storage engine на сервер MySQL.

Что будет происходить? Расширение PHP будет отправлять по UDP данные о скриптах, и эта отправка должна самым минимальным образом влиять на производительность. Storage engine будет принимать эти данные, хранить их в памяти. По этим данным можно строить различные полезные графики.

"Практика распределенной разработки в open-source проектах. Методы, инструментарий, проблемы" и "PHP performance hints and tips", Александр Веремьев
Александр является разработчиком Zend Framework, что не могло не вызвать у меня уважение и доверие к нему, несмотря на несколько занудный стиль изложения.

Что используется в Zend Framework? А вот что:

* JIRA
* Confluence;
* E-mails, списки рассылки, Skype, IRC, paste2.org;
* docuWiki.


Кроме того, автор рассказал много интересных вещей связанных с выпуском релизов продукта. Например, для своей практики я нашел идею feature freeze за пару дней до даты релиза.

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


"Профессиональная разработка PHP-проектов на платформе Microsoft", Андрей Бешков
Думаю нет ничего такого в этом выступлении, что было бы невозможно найти на сайте MS. Выступление было интересным, Андрей рассказывал очень хорошо. Несколько раз Андрей как бы ругал свою же компанию за некоторые "плохие" решения, которые были сделаны в прошлом. Это подкупало слушателей, и думаю большинство приняло к сведению информацию о IIS7.

Понравилось описание функции Deploy, где новая версия приложения разворачивается на всю ферму серверов.

"Главные новости PHP 5.3", Johannes Schulter
Это выступление было самым лучшим! Йоханнес начал говорить на русском языке с листочка, и конечно перешел на английскую речь. Также было и "Спасибо за внимание" в заключении выступления.

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

* Новый уровень ошибок E_DEPRECATED, который входит в E_ALL. Уровень E_STRICT должен теперь сообщать только о плохих практиках;
* ereg в ближайшее время будет убран, его не нужно использовать;
* $this был убран из замыканий из-за неразрешенных дискуссий, предположительно $this не появится в следующей версии.



Это пока все, что я успеваю написать. В ближайшее время дополню пост фотографиями, а также добавлю описание!

-~{}~ 12.10.09 17:22:

==================================
Московское: PHPConf++ (ЛЫТДЫБР)
http://gbezyuk.livejournal.com/935.html

PHPConf в этом году удался. Начало второго дня конференции (первый я благополучно проморгал) - в 9 утра. Поезд прибывает в Москву в 9:20. И всё равно спасибо нашей Йоте за счастливое детство. Слегка потупив, соображаю как ехать на Домодедовскую. Понимаю, что из себя представляет кольцевая линия московского метрополитена. Покупаю карточку: 45 дней на 5 поездок - хм, вскоре всё равно поеду в столицу ещё раз.

Доехал до Домодедовской - теперь задача стоит найти на местных просторах улицу Шипиловскую. Отель Милан. С задачей справляюсь, опросив аборигена, агитирующего голосовать за "Единую Россию". Радостный такой чувак в синем балахоне. "Милан" возвышается среди блочных и не очень домов как неродной. Здоровенный - что наш атлантик, но значительно более толковый. Захожу внутрь - кругом шизоидные швейцары и официанты, перемешанные с пафосно-солидными людьми в классических костюмах. Чувствую себя не в своей тарелке, поднимаюсь на второй этаж.
Лого "PHPConf" соседствует с баннерами MicroSoft и ASP.NET. Мысленно ржу - мелкомягкие выступают спонсором; IIS7 презентуется как Win/PHP-решение на базе FastCGI. Чувствую себя не в своей тарелке дальше, слушая доклад релиз-менеджера PHP 5.3 о его детище. Namespaces - прикольно, но вот такие странные closures после их JS и логических языков не вызывают энтузиазма.
Впрочем, следующий докладчик из Micro$oft переплюнул всех - радостно отрапортовал о реализации MVC и примерении дизайнеров и программистов в какой-то их новой IDEшке. Улыбаемся, машем, обедаем - и идём в соседний ТЦ "АшанСити", смотреть кино и пить пиво. Фильм "Запрещённая реальность" без пива не потянул бы, это факт.
Вернулись к докладу Ильи Кантора (Javascrip.Ru) об HTML5. Чувак стартовал под аккомпанемент отрубившегося проектора и вырубающегося света. Щупленький такой, но держался уверенно. Законспектировал маленько даже.
Потом был товарищ из MySQL. Учил строить системы анализа (статистики) для web-приложений. Говорил, что ОБЫЧНО это меганагрузка, и делать нужно НЕ ТАК.
Затем докладывал Long. l-o-n-g.livejournal.com, строитель облаков Scalaxy.Ru. Обещал научить превращать приложения в платформы на примере Scalaxy API. "Как защититься от умного клиента? - Никак =)" - отжиг. Решили дружить, и открыть API. А это и есть платформа. Кстати, пропагандировал по мере сил REST. Одобряю, SOAP слишком громоздок.
Под конец участники пошли травить байки на околоITшную тематику. Раздавали кружки; я с кружкой обломился. Видимо, не пришлась админская история про кривые руки ко двору на программерском конвенте. Happens.

-~{}~ 12.10.09 17:23:

=====================================
Участвовал в PHPConf 2009 - конференция прошла на высоком уровне, понравились доклады по менеджменту, mysql, sphinx и php

http://twitter.com/vorozhko/statuses/4801042553
 

CawaSPB

Новичок
СПАСИБО! И организаторам, и докладчикам!

Видно, что за плечами у организаторов хороший опыт. Все прошло на отличном уровне, без накладок, и любые мелочи быстро и квалифицированно разруливались.

Были очень интересны как сами доклады (надеюсь что не увидел в живую, пока сам готовился, посмотреть на видео), так и реакция слушателей, вопросы, вообще просто то, кто пришел на конференцию.

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

Думаю, по мотивам доклада может получиться хорошая статья. Или две (разделить вопрос об инструментарии и коммуникациях на разных стадиях проекта).
Постараюсь их не сильно откладывая сделать.


PS Спасибо организаторам и персонально Диме Коробицыну за привезенную в субботу забытую зарядку от ноута! :)

С наилучшими пожеланиями,
Александр Веремьев.
 

CawaSPB

Новичок
2 admin
По датам - за пару дней замораживается текущая release-x.y ветка (svn branch) проекта. Это в используемой нами терминологии code freeze period.
Объявляется, чтобы перед релизом спокойно фиксить оставшиеся проблемы, без влияния интерферирующих коммитов.
Как только решили, что все в порядке и создали релиз таг, статус code freeze period снимается и release branch становится снова доступным для коммитов.

А feature freeze - соглашение о прекращении добавления новой функциональности в trunk за неделю/две до того, как от trunk отпочковывается новая ветка релизов (следующий Minor Release). Т.е. все сосредотачиваются только на стабилизации полученной функциональности.
Период может быть и большим. К примеру, перед выходом ZF 1.0.0 во время выпуска всех RC действовал feature freeze period.

Да, важный момент, сами по себе изменения коммитятся _только_ в trunk. Новая функциональность так в trunk и остается и отпочковывается с новой веткой релизов (автоматом включается в очередной Minor Release), а фиксы мерджатся в еще и в текущую release ветку (откуда порождаются Mini Release).
 

Kreker

Новичок
Конференция интересная, спасибо авторам. Хотя, если честно, ожидал больше технических тонкостей, того, о чем не написано в мануалах.

CawaSPB
К сожалению, не попал на Ваш первый доклад, пожалел. Надеюсь, посмотрю на видео.
Но попал на второй и расстроился, когда услышал от Вас фразу на подобие: "Я не знаю почему так... не стал выяснять" :(
 

CawaSPB

Новичок
Kreker
Имеет смысл разбираться в первопричинах, когда выявленная проблема служит серьезным препятствием для чего-то.
Пример - обработка UTF-8 строк в preg_match. Неприятность - проверка _всей_ строки на валидность с точки зрения UTF-8 при _каждом_ вызове, что делало и preg_match, и preg_match_all _непригодной_ для парсинга сколько-нибудь больших строк. Результат - соответствующий фикс к PHP и появившаяся возможность использовать preg_match_all (он теперь делает проверку однократно).

Когда есть простое решение (которое даже и workaround'ом то не назовешь), дальнейшие разбирательства имеют чисто академический интерес.
Или интерес для людей, работающих над самим PHP. А уж до них я старался эти встретившиеся особенности доносить :)
 

Kreker

Новичок
Автор оригинала: CawaSPB
чисто академический интерес.
Полагаю, что мы за ним и пришли :)

Света Смирнова, Вам спасибо за доклад. Был рад, что Вы ответили почти на все вопросы, очень хорошо подготовились!
 

maxbarbul

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

Zh0rzh

Новичок
Саша, презентация "Практика распределенной разработки в open-source проектах." явно не финальной версии. Там нет многого материала, который был в докладе (Структура сообщества, вехи развития, особенности взаимодействия ...), и 2 последних слайда явно являются шаблонными.
 

crocodile2u

http://vbolshov.org.ru
По мастер-классам согласен с Nirva. В следующий раз эта затея должна быть проработана более детально. Между прочим, уже есть примеры хороших МК на PHPConf - вспомним TDD от команды Limb. Это был реальный мастер-класс.
 
Сверху