Конференции играют важную роль в процессе становления лучшим разработчиком. Когда вы посещаете конференцию, у вас есть не только возможность послушать экспертов по языку или технологии, но и шанс встретиться с другими разработчиками. Это идеально подходит для расширения вашей сети контактов, чтобы найти, при необходимости, вашу следующую работу.
На прошлой неделе я посетил конференцию phpDay 2013 в Вероне, и вот некоторые из основных моментов моих выступлений и того, что я узнал.
1 день
Конференция началась с выступления Жюльена Паули (Julien Pauli), менеджера релизов для PHP версии 5.5, который должен быть выпущен в июле этого года. Сначала он сосредоточился на том, как разработчики могут внести свой вклад в развитие PHP, развивая функции и сообщая об ошибках. Затем он рассмотрел, что нового в следующем основном выпуске.
Ожидаемая особенность в 5.5 — это новый API хэширования паролей. Цель API — помочь программистам правильно хранить пароли (то есть зашифрованы!) И имеет методы для генерации и проверки зашифрованного пароля очень простым способом, так что вам больше не нужно будет генерировать и хранить соли. По умолчанию API генерирует хэши, используя Bcrypt, поэтому вся информация, необходимая для расшифровки, хранится в самой строке. Хотя это важная концепция, я не могу не поставить под сомнение полезность этого API; это может быть легко использовать, но если разработчик не заботился о том, чтобы хранить зашифрованные пароли, используя соль, или использовал MD5, будет ли он использовать этот API? о чем ты думаешь?
Другой представленной функцией было введение предложения finally
Я очень рад видеть это, потому что я никогда не понимал, почему это не было введено с try / catch, во-первых. Это помогает разработчикам правильно управлять различными ситуациями.
Последнее, что я хотел бы упомянуть в своем выступлении, это введение OPCache. Это действительно ничего кроме ZendOptimizerPlus от Zend, который был освобожден и переименован. Паули сказал, что он будет поставляться с PHP 5.5 и выпущен как расширение, которое вы должны активировать во время компиляции. Начиная с этого релиза, он указал, что вы должны считать APC мертвым.
После выступления Паули я присутствовал на выступлении суперзвезды Джорди Богджано, человека, стоящего за Composer (подробнее об управлении зависимостями с помощью Composer ). Его выступление было посвящено некоторым случаям использования Composer, например, как использовать разветвленный проект в качестве зависимости вашего проекта и как установить / обновить зависимости вашего проекта.
Composer несколько раз обсуждался на SitePoint, поэтому я перейду дальше, но я хочу поделиться тем, что спросил у Jordi, есть ли в проекте функция автообновления (для самого Composer, а не для проектов). Его ответ был большим. Он сказал, что многие пользователи, вероятно, не будут довольны этим. Я не уверен, почему людям не было бы интересно узнать как можно скорее, когда будет доступна новая версия, которая исправляет ошибки и имеет новые функции. о чем ты думаешь?
Последний доклад, который я хочу обсудить с первого дня, был «Фолькер Душ» «От разработчика к операциям и дальше — готово». Это доклад, который я оценил больше всего с первого трека, как за его содержание, так и за привлекательную презентацию, сделанную Фолькером, который рассказал о методологии DevOps и его опыте. То, что я действительно ценил, было то, что он дал мне новое видение того, как программное обеспечение может быть сделано и развернуто. Он говорил о важности общения с людьми с разными ролями в вашей компании для достижения успеха продукта. Кроме того, он предложил множество инструментов, которые вы можете начать использовать для улучшения процесса разработки, таких как Jenkins, Trello, Graphite, Puppet и другие.
День 2
Лучшие из дня 2 начались с Джонатана Кляйна и его выступления «Высокопроизводительный PHP», который дал несколько советов и подсказок по ускорению вашего PHP-приложения. Во время презентации он показал таблицу сравнения производительности нескольких языков и фреймворков (которую я увидел всего несколькими днями ранее в комментарии к этому самому сайту, пять для нас!). Он начал с обсуждения того, почему мы не должны заботиться о микрооптимизациях и тем более о преждевременных оптимизациях. Затем он преподал мне очень важный урок, которым я хочу поделиться с вами: веб-сайт считается быстрым, если он загружается примерно за 2 секунды, но, учитывая, что 80% времени загрузки выполняется на стороне клиента, вам нужно всего лишь 400 мс до выпустить весь код из ваших серверных процессов. Время в сети может составлять около 100 мс, так что на самом деле у вас есть всего 300 мс, чтобы завершить обработку!
Он также учил, как профилировать код с помощью таких инструментов, как JMeter, и применять кеширование с использованием APC и Memcache. Меня поразило, как простое обновление вашей версии PHP может иногда повысить скорость до 70%, плюс еще 30-40% за счет использования кэша OPcode!
Лука Кладарик представил «LAMP Scaling 101», предназначенный для всех, кто выходит за пределы своего единственного сервера (VPS или аналогичного) и сталкивается с проблемой расширения от этого
. Мне понравилось его выступление, потому что оно было сделано с использованием современного инструмента show.js, состоящего из нескольких слов, чтобы люди могли сосредоточиться на его словах. Некоторые предложения Луки заключались в следующем: отделить статическое содержимое от динамического и обслуживать первое с помощью CDN; кеширование для PHP контента; масштабирование баз данных (репликация, кластеры, шардинг и т. д.); и масштабирование хранилища.
Последний доклад, который я хотел бы упомянуть во второй день, — это доклад Эллиота Линде, который рассказал о FBMock, фреймворке PHP с открытым исходным кодом, созданным Facebook, где он работает. Он описал и показал несколько примеров того, как это может упростить создание макетов по сравнению с другими фреймворками, такими как PHPUnit. Это кажется очень многообещающим проектом, но я не могу дать ему честную оценку, так как я не пробовал его и не имел большого опыта в насмешках.
Недостаточно места, чтобы написать о нем, но также стоит упомянуть разговоры Ричарда Туина об автоматизированном приемочном тестировании с Бехатом и Минком и заключительную лекцию Якопо Ромей. Последний подчеркнул важность обучения и самосовершенствования не только в связи с навыками программирования, но и с тем, как разработчики подходят к своей работе и жизни.
Финальные заметки
Мне показалось удивительным, что, хотя остальной мир отвергает QR-коды, на конференции я видел их много. Это довольно интересно, учитывая общее мнение, хорошо изложенное на сайте www.wtfqrcodes.com .
Но в заключение хочу высказать свое мнение о слайдах презентаций. Несмотря на то, что многие темы были очень интересными, не похоже, чтобы та же забота была направлена на подготовку слайдов, которые были направлены на выбор темы и исследование. Все презентации имели только несколько изображений. Более того, им совершенно не хватало, кроме пары случаев, юмористических изображений, которые очень важны, чтобы позволить пользователям взять эти 5 секунд паузы и позволить им соединиться с докладчиком (подробнее о хороших презентациях ). В то время, когда правят библиотеки HTML5 и JS, я не думаю, что должно быть больше места для старой презентации в стиле 90-х с пулевыми точками.
Конечно, эта статья является лишь кратким обзором того, что я испытал и узнал на phpDay 2013, но, надеюсь, он даст вам представление о некоторых темах, о которых вам следует знать, и о том, с чем вы можете начать играть, чтобы улучшить свои навыки PHP, и даже вдохновит вас посетить конференцию рядом с вами!
Изображение через Fotolia