PHP подкаст #10

Ночной выпуск подкаста. Все по-быстрому. Тестирование, новый отладчик наоборот, свежий PhpStorm, под гусеницами Яндекс Танка, готовые сборки и холивары.

Скачать mp3 (18Мб)

PHPChunkit — инструмент для запуска тестов параллельно. Есть возможность раскидать тесты на несколько серверов, указывая какой именно chunk выполнять каждому серверу. Если вы хотите запускать тесты параллельно на одной машине, то будьте внимательны с зависимыми серверами. Например, предусмотрите возможность для каждого тест-процесса иметь свою БД. PHPChunkit предоставляет кое-какие хелперы для решения этой проблемы. Рядом с этим репозиторием лежит демо, демонстрирующее как внедрить PHPChunkit в существующий проект с PHPUnit’ом.

Переживет ли ваш проект повышенную нагрузку? Делаете хороший продукт и это значит, что со временем вы однозначно будете переживать увеличение аудитории. Проверьте прямо сейчас свой проект, проехавшись по нему Яндекс Танком. Напишите в коментах сколько RPS вы выдерживаете и включаете ли нагрузочное тестирование в обойму CI?

Еще один отладчик для PHP Dontbug. Главная фича его в возможности обратить направление движения отладчика, т.е. отлаживать вспять. Есть интеграция со всеми IDE, которые поддерживают XDebug. Главное ограничение — невозможность править переменные во время отладки, т.е. все read only. В README репозитория есть ссылки на видео как оно все работает. Написано на Golang.

В новой версии PhpStorm 2016.3 добавлена поддержка строгой типизации. Теперь можно в настройках редактора активировать нотификации при отсутствующем типе при объявлении метода. Добавлена поддержка PHPSpec, что сказалось на улучшении автодополнения и навигации по коду. Мне особенно понравилась возможность градиентарно подсвечивать разными цветами переменные с одинаковыми именами. Другое приятное дополнение — это создание класса в новом неймспейсе. Если для этого namespace не существует директории (а резолвинг осуществляется в подавляющем большинстве свежих проектов в соответствии с PSR-4), то она создается автоматом. Можно открывать несколько проектов в одном фрейме (окне), что особенно удобно при разработке микросервисов. Добавлены name inspections, где можно указать формат именования методов, переменных, их длину. И самая вишфул фича — это поддержка удаленного Docker-интерпретатора! Т.е. теперь можно выполнять тесты в докер-контейнере не переключаясь в консоль (я до этого использовал Makefile). Плюс еще много апдейтов в окружении: БД, VCS и т.д. Ну и новый сплеш скрин :).

В Symfony 3.2 среди прочих улучшений добавлена возможность компилировать (в реальности добавлять класс в bootstrap.php, чтобы снизить блокирующую операцию read/write с жесткого диска) классы с аннотациями.

Готовая сборка Stacker — это Docker окружение для быстрого старта разработки на Symfony. Есть также готовое окружение для работы с Yii 2.0, Laravel и всего чего только можно вообразить. Мне показалось странным использование множества директив RUN в Dockerfile, а в целом хорошая шпаргалка.

22 ноября Расмусу Лердорф — создатель языка PHP — исполнилось 48 лет. На хабре по этому поводу вышла статья с его цитатами.

«Я очень очень плохо писал парсеры. Я до сих пор хреново пишу парсеры.»

«Есть люди, которые любят программировать. Я их не понимаю.»

«Я не настоящий программист. Я просто соединил вместе вещи, которые работали. Настоящий программист бы сказал: „Это работает, но тут утечки памяти на каждом шаге. Нужно пофиксить.“ А я вот просто перезагружаю Apache через каждые 10 запросов.»

Как заметили в комментариях “честный датский программист” :).

Кал Эванс написал статью про важность участия в Open Source проектах. Выберите проект, который вам нравится и помогите разработчикам. В противном случае Open Source умрет.

  • Stanislav Dobrovolskiy

    Добрый такой подкаст, даже можно сказать душевный… цитаты порадовали ))) спасибо!