<rmcreative>

RSS
  1. Номинирован на премию Highload++ 2019

    9 октября

    Внезапно оказался среди номинантов на премию Highload++ 2019.

    Премия HighLoad++ вручается профессионалам, оказавшим глубокое положительное влияние на развитие экосистемы интернет-разработки в России.

    Это благодарность сообщества профессионалов своим лидерам. За труд и самоотверженность, за бессонные ночи и бесчисленные выступления, за веру в свой продукт или технологию. Мы благодарим вас за то, что вы делаете нас сильнее, наши сайты быстрее, а нашу работу легче и продуктивнее!

    Несмотря на то, что я являюсь членом программного комитета конференции Highload++, премия — штука отдельная. На результаты влияют открытое голосование и закрытое голосование, в котором участвуют члены всех программных комитетов конференций Олега Бунина. На данный момент это 154 эксперта в разных областях.

    Из других номинантов особо близки мне, Дмитрий Стогов, Андрей Нигматулин и Никита Попов. Все они сделали огромный вклад в развитие PHP.

    Голосовать можно до 13 октября

    1 комментарий
  2. Запрет на перевыпуск SIM по доверенности

    3 октября

    Летом 2017-го я писал про общую ненадёжность аутентификации по телефону (правда по-английски). С тех пор, конечно, произошли некоторые улучшения в плане вариантов двухфакторной аутентификации у популярных сервисов, но SMS всё ешё остаётся одним из часто используемых каналов. И не только каналов. Через SMS часто есть возможность получить доступ к аккаунту.

    Хабр в прошлом месяце напомнил про то, почему важно защитить свой телефон и, в частности, SIM-карту.

    Чтобы предотвратить описанное в статье, конечно, лучшим способом будет не использовать SMS в качестве канала для сброса пароля или двухфакторной аутентификации и переключиться на TOTP. Но если такой возможности нет, можно сделать процедуру перевыпуска SIM чуть более сложной явно запретив делать что-либо по доверенности. Такая возможность есть у всех распространённых операторов и называется "Запрет действий по доверенности" или "запрет обслуживания по доверенности". Но, конечно, надеяться что запрет действительно сработает, не стоит. Компетентность сотрудников салонов связи часто хромает...

    7 комментариев
  3. Архитектурные паттерны

    21 сентября

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

    Архитектурные паттерны вроде clean architecture или hexagonal architecture мало чем отличаются от привычных паттернов проектирования в плане их применения. Как и с паттернами с свойственной им стадией «паттернизма», с архитектурными паттернами случается ровно то же. Практически все в определённый момент читают про очередной модный паттерн и начинают его бездумно применять. Не потому что он решает их конкретные проблемы, а потому что модно и «правильно».

    Применять любой паттерн без должного анализа решаемой проблемы вредно.

    В идеале должен происходить следующий процесс:

    • Анализ решаемой проблемы.
    • Выделение мест, которые должны быть гибкими.
    • Выделение болей. Поиск паттернов, которые могут их решить или изобретение решений (это часто не хуже).
    • Повторный анализ решения, которое получится. Можно ли проще?
    3 комментария
  4. БИФ, Стачка, UIC Dev, PHP Bulgaria

    6 сентября

    В следующие три месяца посещу несколько конференций с докладами.

    • 14 сентября. БИФ, Белгород. Про дизайн пакетов и их зависимости в проектах.
    • 12 октября. Стачка в Иннополисе. Про то, как сделать хороший OpenSource проект.
    • 19 октября. UIC Dev, Ижевск. Про дизайн пакетов и их зависимости в проектах.
    • 8—10 ноября. PHP Bulgaria, София. Про дизайн пакетов и их зависимости в проектах. По-английски.

    Если будете там, подходите, пообщаемся.

    // На БИФ есть коды на скидку ;)

    Комментировать
  5. Безопасность: видео с Involta Meetup

    28 августа

    Involta приготовили видео доклада по безопасности образца 2019 в Иваново .

    2 комментария
  6. Запускаем Yii 2 под RoadRunner

    15 августа

    На днях тестировал Yii 3 под RoadRunner. Завёлся почти без проблем. Время ответа в среднем в 1-2 миллисекунды очень порадовало.

    Но Yii 3 ещё не готов, а производительности хочется. К счастью, Charles R. Portwood II, написавший когда-то пару неплохих книг по Yii приготовил шаблон приложения для запуска под RoadRunner.

    Запускается так:

    1. Клонируем https://github.com/charlesportwoodii/yii2-app-basic-psr7
    2. composer install
    3. Ставим RoadRunner одним из описанных способов
    4. ./rr.exe serve -d -v -c ./rr.yaml
    5. Открываем http://localhost:8080

    Приложение открывается и работает. В продакшне я, правда, поведение пока не проверял.

    2 комментария
  7. DevRel Gett про выгорание

    14 августа

    Темы выгорания я уже касался в 2017-м, оно почти настигло меня в Skyeng и я посвятил ему часть постов в твиттере Backend Secret.

    Неплохая статья про выгорание с довольно ценными комментариями была опубликована на хабре Лерой Лисичкиной из Gett.

    Читаем

    Мой личный опыт во многом совпадает с описанным там я последствия выгорающих для компании я вижу примерно так же.

    Комментировать
  8. Стиль кодирования PSR-12 принят

    10 августа

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

    Знакомимся

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

    24 июля

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

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

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

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

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

    15 июля

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

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

    Читаем

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