<rmcreative>

RSS
  1. git churn

    28 марта 2020

    Churn - полезный инструмент, позволяющий быстро выделить в проекте область для более пристального рассматривания. Посчитать его можно при помощи git при помощи bash-скрипта за авторством Gary Bernhardt:

    git-churn --since='1 month ago'

    Получим список файлов проекта с количеством правок в этих файлах. Например, для директории framework Yii 2 это будет:

    1 framework/classes.php
    1 framework/data/Sort.php
    1 framework/db/ActiveQuery.php
    1 framework/db/sqlite/QueryBuilder.php
    1 framework/UPGRADE.md
    1 framework/web/Controller.php
    1 framework/web/Response.php
    2 framework/helpers/BaseHtml.php
    2 framework/web/UrlManager.php
    3 framework/db/Connection.php
    3 framework/db/oci/Command.php
    3 framework/validators/StringValidator.php
    3 framework/web/Request.php
    4 framework/base/Application.php
    4 framework/BaseYii.php
    4 framework/db/mysql/QueryBuilder.php
    7 framework/db/Command.php
    29 framework/CHANGELOG.md
    

    Наиболее часто менялись Command и QueryBuilder, стоит присмотреться, достаточно ли там тестов чтобы ничего при изменениях не ломалось, а заодно посмотреть, можно ли сделать так, чтобы изменений там требовалось меньше.

    Комментировать
  2. PHP Russia Online и перенос PHP Russia

    20 марта 2020

    Друзья, всем привет!

    В связи с объявленной ВОЗ пандемией, а также ограничительными мерами на участия в массовых мероприятиях, изданных как на уровне государственных регуляторов, так и на уровне корпораций, мы приняли трудное решение перенести конференцию PHP Russia с мая на 14 сентября (окончательно подтвердим новую дату на следующей неделе).

    Это настоящее потрясение для всех нас, но безопасность и здоровье участников и партнёров превыше всего.

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

    Чтобы не останавливать наше профессиональное общение, 13 мая мы проведём онлайн-конференцию PHP Russia Online — сессию докладов, организованное онлайн-общение, мы даже попробуем реализовать онлайн-консультации по вопросам разработки на PHP.

    Участие в онлайн-конференции бесплатно для всех участников оффлайн-версии PHP Russia и владельцев билетов на онлайн-трансляцию. О программе мероприятия расскажем в следующих объявлениях.

    Оставайтесь на связи и берегите себя!

    2 комментария
  3. PHP: return в finally

    4 марта 2020

    function test()
    {
        try {
            throw new \RuntimeException('try');
        } catch (\RuntimeException $e) {
            throw new \RuntimeException('catch');
        }
        finally {
            return 'finally';
        }
    }
     
    echo test();

    return в finally - штука опасная. Он тихо проигнорирует все исключения.

    3 комментария
  4. Собеседования в Facebook

    4 марта 2020

    Я собеседовался в Facebook в 2012-ом. Тогда произошло странное. После где-то пяти собеседований HR не вышел на связь. Я подумал, что где-то не справился и в итоге принял предложение Stay.com (к лучшему). Через несколько лет тот же HR написал мне, рассказал, что тогда уволился и извинился что не передал как надо тогда дела. Бывает...

    Но этот пост о технической стороне собеседований. А она, судя по всему, мало поменялась с тех пор.

    Читаем

    6 комментариев
  5. Как убедить заказчика что нужны тесты

    28 февраля 2020

    «Как убедить заказчика что нужны тесты?»

    В одном из чатов подняли такой вопрос. Не такой уж редкий.

    Правильный ответ — «никак». Заказчику, если он сам не разработчик, не нужны ни тесты, ни красивый код, ни архитектура. Нужно быстро, не сильно дорого, чтобы работало правильно и не ломалось.

    Тесты — способ сделать так, чтобы работало правильно и не ломалось. Один из способов. Можно, например, проверять руками и делать это каждый релиз.

    На вопрос «писать ли мне тесты» заказчик, вероятнее всего, ответит, или подумает, «не вижу зачем мне нужны тесты» и будет прав. Ему не тесты нужны. Нужно чтобы работало и не ломалось.

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

    8 комментариев
  6. Первая встреча PHP_VRN

    14 февраля 2020

    17 февраля состоится первая встреча телеграм-чата воронежского PHP.

    Начало в 19:00, проспект Революции 33б, 5 этаж, офис компании MitLabs.

    Встречу открою рассказом про текущее состояние Yii 3.

    Комментировать
  7. PHP Russia 2020, первые подробности

    3 февраля 2020

    Подготовка конференции PHP Russia 2020 идёт полным ходом, но уже кое-что известно:

    • Будет в Москве 13 мая. Инфопространство.
    • Доклады принимаются до 21 февраля.
    • Подтвердили участие Nicolas Grekas из команды Symfony, Макс Рафалко — автор Infection, Антон Титов — автор Cycle ORM. В заявках ещё много интересного. Выбираем.
    • Должно быть так же лампово как в прошлый раз, но с несколько отличными темами.
    • Мелкие ошибки прошлого года учли и что можно поправили.
    • Вероятно, сделаю доклад по Yii 3 (но это не точно).
    2 комментария
  8. Отдельные блоги и RSS

    21 января 2020

    Когда я начинал писать в этот блог не было больших популярных ресурсов вроде хабра и платформ вроде medium, dev.to и других. Был ЖЖ, но он не подходил для материалов о разработке.

    Начали появляться платформы, тянуло перейти — ведь все уже там. И всё-таки что-то мешало. У меня были подозрения что контент на сторонних ресурсах пропадёт. Так и случалось не раз: площадки умирали, портились, теряли контент, начинали (как Medium) настойчиво просить денег за просмотр. Этот блог пережил множество проектов-площадок.

    Свои блоги — это замечательно. Но как же их читать, если их будет так много? Если раньше всё было в отдельных блогах, то и решение, конечно же, было. Оно есть и сейчас и имя ему RSS. При наличии нормального клиента, пользоваться им удобно. Можно непринуждённо собирать статьи с тысяч интересных ресурсов. В этом есть смысл даже если, в основном, вы читаете отдельные площадки вроде хабра: нет необходимости без дела переключаться с сайта на сайт, легко понять, что смотрели, а что нет.

    Хорошие клиенты:

    15 комментариев
  9. Шрифт JetBrains Mono

    15 января 2020

    JetBrains выпустили свой шрифт для кода и встроили его в последние версии своих IDE. До этого я пользовался Fira Code. Попробовал и, пожалуй, оставлю JetBrains Mono. Шрифт определённо хороший.

    • Отлично читается.
    • Различаются обычно похожие символы вроде нуля и «О».
    • Есть лигатуры.

    Рекомендую

    3 комментария
  10. Composer: чем отличается require от require-dev

    14 января 2020

    В require добавляются зависимости, которые необходимы для работы пакета.

    В require-dev добавляются зависимости, которые нужны для разработки самого пакета. Например, phpunit/phpunit. Опция require-dev является root-only опцией, то есть она не читается и зависимости из неё не ставятся когда пакет устанавливается не напрямую, а как зависимость корневого пакета-проекта.

    То же можно сказать и о ряде других опций composer.json:

    • autoload-dev, куда стоит прописывать namespace для тестов.
    • minimum-stability.
    • prefer-stable.
    • repositories.
    • config.
    • scripts.
    2 комментария