<rmcreative>

RSS
  1. Стиль кодирования PSR-12 принят

    10 августа

    PSR-12 приняли. Работали мы над ним мы очень долго, хоть и не так активно, как могли бы. В итоге получился достойный наследник PSR-2. Некоторые конструкции из PHP 7.4 не описаны, но это нормально: сначала нужно посмотреть, как они используются, а потом уже пытаться это закрепить.

    Знакомимся

    Комментировать
  2. Дерево тимлидских обязанностей и навыков

    24 июля

    Стас Цыганов и Егор Толстой составили дерево навыков и обязанностей тимлида. Получилось очень похоже.

    В самых тяжелых случаях в компании лид занимается всем или почти всем. Так было в Skyeng. Если команда большая — это не очень хорошо. Создаёт слишком сильную нагрузку, тянуть которую в течение длительного времени могут единицы и заставляет работать с жутким дефицитом времени, из за чего страдают результаты.

    В обычных случаях лид занимается лишь частью, а другие ветки выделяются в отдельные роли. Например, в CleverTech я занимался исключительно ветками Technical Lead и Resource Manager.

    Отдельный набор «Personal Skills» полезен, но смысл большинства пунктов понимается только когда без этого никак. Оно и понятно: зачем учиться управлению временем если времени с избытком? Зачем управлять конфликтами если их нет?

    Комментировать
  3. Мутационное тестирование

    15 июля

    Насколько протестирован ваш код? 100% code coverage не гарантирует что правильно проверены все кейсы. Эта метрика показывает лишь то, что при выполнении тестов выполнился весь код.

    К счастью, есть придуманный ещё в семидесятых способ выяснить, насколько хороши тесты. Называется он «мутационное тестирование».

    Читаем

    Комментировать
  4. Расскажу в Иваново про безопасность

    13 июля

    27 июля 2019 в 15:00 расскажу про безопасность в Иваново на митапе Involta.

    БЦ "Мегаполис", ул. Парижской Коммуны, 3А, 4-й этаж.

    Регистрация обязательна, вход бесплатный

    Комментировать
  5. markdown не обязан быть безопасным

    8 июля

    В прошлом году в пакете cebe/markdown, занимающимся переводом markdown в HTML, завели тикет о том, что обработка пропускает XSS. Я думал, случай непонимания единичный, но нет. Оказалось что ещё и CVE завели, так что на всякий случай:

    Markdown не обязан быть безопасным. По задумке в нём допускается использование HTML, что автоматически означает что и XSS туда тоже можно засунуть.

    Если используете markdown для пользовательского ввода, не забудьте прогнать вывод санитайзером вроде HTML Purifier. Конфиг для него в случае cebe/markdown может быть таким.

    2 комментария
  6. Автоматизируем обновление Wordpress

    5 июля

    Дыры в Wordpress находят часто, а обновлять его лениво. К счастью, автоматизировать обновления достаточно легко.

    1. Ставим WP-CLI так чтобы запускался как wp.
    2. Создаём небольшой шелл-скрипт update_wordpress.sh:

      cd /var/www/путь_до_wordpress/www/
      sudo -u www-data wp core update
      sudo -u www-data wp theme update --all
      sudo -u www-data wp plugin update --all
      
    3. Запускаем раз в неделю. crontab -e:

      0 0 * * 0 /полный_путь/update_wordpress.sh > /полный_путь/update_wordpress.log 2>&1
      

    UPD: при этом отпадает необходимость обновления через wp-cron, так что её можно отключить через wp-config.php:

    define('AUTOMATIC_UPDATER_DISABLED', true);
    6 комментариев
  7. Теория программирования: пакетные принципы и метрики

    3 июля

    DevConf в этом году радуют быстрой обработкой видео. Выложили мой доклад «Теория программирования: пакетные принципы и метрики».

    Поговорим о том, как объективно выбирать пакеты для своего проекта и как правильно структурировать свой код в пакеты.

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

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

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

    Смотрим

    Комментировать
  8. Форум для обсуждения Yii 3

    28 июня

    Создал на yiiframework.ru форум для вопросов про Yii 3 и обсуждения его разработки.

    Присоединяйтесь

    Комментировать
  9. Вернулся с DevConf и Highload++ Siberia

    27 июня

    Перед DevConf зашёл в гости в Badoo, повидался с бывшим коллегой по Skyeng. У них всё так же драйвово. Одна из самых интересных компаний с PHP в Москве.

    На DevConf рассказал про пакетные метрики Роберта Мартина. Доклад зашёл и, надеюсь, будет видео потому как слайды хоть и информативны, но на них далеко не всё, да и ответы на вопросы связали это всё с Yii 3.

    Посмотреть слайды можно по адресу slides.rmcreative.ru/2019/devconf-packages.

    Читаем

    Комментировать
  10. Буду на DevConf, Highload Siberia, Tabtabus

    17 июня

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

    20, 21 и 22 июня буду в Москве. 20-го планирую зайти к друзьям в Badoo, в остальные дни буду на DevConf. Расскажу новый экспериментальный доклад про создание и выбор пакетов.

    24 и 25 июня перемещусь в Новосибирск на Highload++. Возможно, буду вести один из залов, но, надеюсь что нет. Хочется больше послушать то, что помогал выбирать, и пообщаться.

    29 и 30 июня в Смоленске на Tabtabus расскажу про ошибки Yii и что мы будем с ними делать.

    Если будете на одной из конференций и хотите пообщаться, пишите.

    Комментировать