Статьи

PHP Summer Camp 2015 Обзор

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

Rovinj sunset

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

PHP Summer Camp 2015

PHP Summer Camp — это двойное мероприятие, состоящее из двух треков PHP и одного трека eZ Publish, семинары которых называются EZ Summer Camp . В этом году мероприятие состоялось немного раньше, чем в прошлом году — с 26 по 29 августа.

Я присутствовал в совершенно неофициальном качестве в этом году. С нулевой ответственностью на сайте это был совсем другой опыт. Ключевые выводы этого года от самой конференции:

  • Доктрина менее сложна, чем кажется, просто неловко документирована
  • Blackfire менее сложен, чем кажется, просто неловко задокументирован
  • Большему количеству людей необходимо прочитать руководство Росса Така по выступлению на конференции
  • Пули — это либо следующая смена игры, либо следующий большой флоп
  • Если вы посещаете только конференции, на которые вас приглашают (а ваше расписание не содержит этих приглашений), вы не являетесь хорошим участником сообщества.
  • Технические люди могут и действительно могут весело и интересно общаться в барах, не напиваясь и не неловко, вопреки распространенному мнению .

Отзывы о семинаре

PHP Summer Camp — это не типичная конференция, на которой вы сидите и слушаете кого-то, кто записывает материал, который он написал 3 года назад и никогда не менял. Это не «Знакомство с Composer» или «Никогда не доверяйте вводу пользователя» — это событие исключительно практического характера, практически без повествования и постоянного прямого взаимодействия с говорящим. Таким образом, семинаров в день очень мало , но все они длинные и высокотехнологичные (самый короткий — 1,5 часа). У меня была возможность посетить пять:

Доктрина: приступить к работе с отображением, запросами и отношениями

People in the Doctrine workshop

У меня никогда не было необходимости использовать Doctrine в проекте. Я был воспитан на SQL, и любая проблема, которая требовала решения, была легко SQL-способна . Когда что-то нужно было оптимизировать, я с радостью погрузился в игру и поиграл с индексами, объяснил и объединил утверждения в оптимизированные цепочки хаоса. Таким образом, с его очевидно высокой кривой обучения, его тенденцией использовать аннотации для принятия логических решений и распространением магии , я активно избегал этого.

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

Саша был намного лучше и увереннее, чем в прошлом году, но все еще нуждается в работе, если он хочет превзойти своего наставника — Райана Уивера.

Модернизация Наследия

Марек Матулка из SensioLabs UK провел этот краткий семинар по модернизации унаследованного кода.

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

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

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

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

В течение, казалось, часа спотыкания, Дамир сравнивал некоторые общие языковые конструкции JavaScript и PHP, иногда будучи искренне удивленным результатом, доказывая отсутствие подготовки. Одним из потенциально полезных моментов было создание части jQuery на простом JS, но этого не было ни здесь, ни там — ничего интересного для разработчиков PHP, и кое-что, что каждый, кто когда-либо занимался наименьшим количеством разработки фронт-энда, уже знал. Кроме того, несколько негативный опыт усугублялся уже и без того ужасным НПМ.

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

Слабая связь на практике

11223830_10155929753150207_1504968925642770587_o

В этом интересном семинаре Якуб Залас использовал приложение Symfony, которое было тесно связано с Doctrine, чтобы полностью отделить его и извлечь реализацию Doctrine во что-то неуязвимое и заменяемое.

Из-за того, что Symfony и Doctrine были сильно недоэкспонированы, время от времени было немного трудно следовать, но это было облегчено благодаря прекрасной организации учебника через шаговые ветви Github, который позволил тем из нас, кто хромал позади других, пропустить и проверить решения ,

Доставка Якуба была превосходной, и код его мастерской определенно найдет постоянное место в моем арсенале полезных ярлыков, когда я снова столкнусь с Symfony и Doctrine.

Разработка пакета следующего поколения с Puli

People in the Puli workshop

Бернхард Шуссек , ветеран-оратор и мастер Symfony Forms, представил своего последнего ребенка — Пули. У нас скоро появится введение в Puli на этом канале, но, если коротко, Puli — это «дополнение» для традиционных пакетов, которое позволяет определить общие ресурсы для использования с этими пакетами.

Это немного сложно объяснить в нескольких коротких параграфах, поэтому лучше, если вы посмотрите слайды . Единственное, что отличает Puli в море пакетов PHP, это то, что он обладает потенциалом для изменения парадигмы в разработке пакетов, как это сделал Composer несколько лет назад. Если многие люди примут Puli, у нас будет беспрецедентная совместимость между пакетами и фреймворками и экстремальное повторное использование в отличие от того, что мы видели раньше. С другой стороны, все зависит от усыновления и популярности — я надеюсь, что мы в SitePoint сможем помочь с этим.

Как обычно, доставка Бернхарда была почти безупречна, за исключением нескольких технических проблем на старте, которые не позволили нам в полной мере использовать преимущества всего семинара.

Профилирование PHP-приложений

People in Profiling PHP Apps workshop

На этом семинаре Николаса Грекаса мы рассмотрели Blackfire и все, что он может сделать, чтобы помочь оптимизировать веб-сайт. Самым большим препятствием в моем использовании Blackfire до сих пор было то, что он действительно работал — как только мы рассмотрели, что некоторые мастера настройки должны быть запущены, а около полудюжины ini

Благодаря мастерской Николаса мы научились анализировать график, находить узкие места и устранять повторные вычисления. Мы определенно будем много смотреть на Blackfire здесь, на SitePoint, в ближайшие пару месяцев.

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

Техническая реализация

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

В прошлом году организаторы предоставили всем нам виртуальное устройство — полностью настроенную виртуальную машину, которую мы использовали для всех семинаров. Это сработало достаточно хорошо, и все — от Windows до пользователей Linux — смогли эффективно использовать его, несмотря на то, что это несколько неортодоксально (Vagrant предпочтительнее в качестве общей отправной точки для таких больших команд).

В этом году Vagrant использовался и по большей части работал как шарм. Тем не менее, похоже, что он не был достаточно протестирован на компьютерах с Windows, что приводит к некоторым трудностям с пользователями Windows. Более того, NFS использовался как механизм общего доступа, который был ненужен на некоторых компьютерах и требовал пароль администратора, что замедляло процесс предоставления. Было бы лучше оставить его в автоматическом режиме — в наши дни Vagrant достаточно умен, чтобы выбрать лучший, в зависимости от ОС и наличия драйверов.

Процесс подготовки был оставлен без изменений и исключен из процедуры загрузки, которая была странной, но работала прилично, но почти на каждом семинаре нам приходилось делать git pullcomposer install Вытягивание было необходимо из-за некоторых задержек, вызванных докладчиками (я бы порекомендовал организаторам нанять «покер» в следующем году — кто-то, кто отвечает за то, чтобы выкладывать докладчикам статус их выступления на ежедневной основе, от принятия до дня открытия) , Ожидание необходимости composer install Шенаниганов установки можно было бы избежать с помощью Toran Proxy, который мог бы содержать локальные копии всех пакетов, тем самым ускоряя процедуру установки почти до нуля.

Были некоторые другие странности с настройкой виртуальной машины, но в целом она работала очень хорошо, и каждый мог следовать, как только начальные ошибки были устранены.

Подключение к Интернету было таким же стабильным, как и в прошлом году, возможно, даже больше, учитывая, что было всего несколько икот, а посещаемость была значительно выше, чем в 2014 году.

Дополнительно

Каждый день конференции включал в себя и некоторые дополнительные услуги. Особенно интересным испытанием было проведение части «триатлона» каждое утро для тех, кто был заинтересован в участии — первое утро было посвящено плаванию, второе — езде на велосипеде, а третье — бегу. Каждый вечер также заканчивался непринужденными напитками, ужином и беседами, иногда сопровождаемыми бесплатной дегустацией вин.

Wine tasting photo

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

Если вам интересно, вы можете посмотреть все фотографии здесь .

Вывод

Еще раз, Netgen доставлен. Организация была безупречна, и все гости чувствовали себя как дома. Благодаря качественным семинарам, отличным дискуссиям, круглым столам, тусовкам и всем прочим, конференция дала больше, чем просто практические знания в области кодирования, — она ​​способствовала созданию новых дружеских, партнерских отношений и всесторонних дискуссий на любую тему — от разборок до BDD. и более.

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