Каталог RSS-каналов
Статистика

RSS-каналов в каталоге: 3392

Добавлено сегодня: 0

Добавлено вчера: 0

Hi-Tech / Интернет

RMCreative.ru - Блог

Новости и идеи веб-разработки

Найдено 49 записей

БИФ — одна из конференций, на которую действительно хочется приехать снова. Организаторы выложили несколько отчётных видео и я вспомнил, что ничего про неё не рассказывал. Первый раз я попал на БИФ в прошлом 2018 году и был приятно удивлён масштабностью и продуманностью организации, неплохой программой, отличной развлекательной частью и тем, что в, в общем-то, не самом большом городе, всё настолько живо. В этом году не смог не податься докладчиком. Не зря. Планка по организации не опустилась, несмотря на то, что команда провела за несколько дней до этого сложный правительственный форум. По программе ощутимо поднялась. Развлекательная часть не подкачала. Один раз мог быть случайностью, два — уже закономерность. БИФ — явно хорошее качественное мероприятие.

Внезапно оказался среди номинантов на премию Highload++ 2019. Премия HighLoad++ вручается профессионалам, оказавшим глубокое положительное влияние на развитие экосистемы интернет-разработки в России. Это благодарность сообщества профессионалов своим лидерам. За труд и самоотверженность, за бессонные ночи и бесчисленные выступления, за веру в свой продукт или технологию. Мы благодарим вас за то, что вы делаете нас сильнее, наши сайты быстрее, а нашу работу легче и продуктивнее! Несмотря на то, что я являюсь членом программного комитета конференции Highload++, премия — штука отдельная. На результаты влияют открытое голосование и закрытое голосование, в котором участвуют члены всех программных комитетов конференций Олега Бунина. На данный момент это 154...

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

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

На днях тестировал Yii 3 под RoadRunner. Завёлся почти без проблем. Время ответа в среднем в 1-2 миллисекунды очень порадовало. Но Yii 3 ещё не готов, а производительности хочется. К счастью, Charles R. Portwood II, написавший когда-то пару неплохих книг по Yii приготовил шаблон приложения для запуска под RoadRunner. Запускается так: Клонируем https://github.com/charlesportwoodii/yii2-app-basic-psr7 composer install Ставим RoadRunner одним из описанных способов ./rr.exe serve -d -v -c ./rr.yaml Открываем http://localhost:8080 Приложение открывается и работает. В продакшне я, правда, поведение пока не проверял.

Стас Цыганов и Егор Толстой составили дерево навыков и обязанностей тимлида. Получилось очень похоже. Репозиторий на GitHub Вводная на хабре В самых тяжелых случаях в компании лид занимается всем или почти всем. Так было в Skyeng. Если команда большая — это не очень хорошо. Создаёт слишком сильную нагрузку, тянуть которую в течение длительного времени могут единицы и заставляет работать с жутким дефицитом времени, из за чего страдают результаты. В обычных случаях лид занимается лишь частью, а другие ветки выделяются в отдельные роли. Например, в CleverTech я занимался исключительно ветками Technical Lead и Resource Manager. Отдельный набор «Personal Skills» полезен, но смысл большинства пунктов понимается только когда без этого никак. Оно и понятно: зачем...

Насколько протестирован ваш код? 100% code coverage не гарантирует что правильно проверены все кейсы. Эта метрика показывает лишь то, что при выполнении тестов выполнился весь код. К счастью, есть придуманный ещё в семидесятых способ выяснить, насколько хороши тесты. Называется он «мутационное тестирование». Идея такова: Берём код и тесты к нему. Оставляем тесты как есть, но немного меняем код. Например, заменяем в одном условии && на ||. Это изменение называется мутацией, а получившийся код мутантом. Если тесты с изменённым кодом упали, значит условие оттестировано верно. Мутанта «убили». Если прошли, тесты, хоть и покрытие у них 100%, «мутант убежал». В идеале тест должен убивать всех мутантов. Качество теста или MSI, Mutation Score Indicator определяется...

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

Дыры в Wordpress находят часто, а обновлять его лениво. К счастью, автоматизировать обновления достаточно легко. Ставим WP-CLI так чтобы запускался как wp. Создаём небольшой шелл-скрипт 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 Запускаем раз в неделю. crontab -e: 0 0 * * 0 /полный_путь/update_wordpress.sh > /полный_путь/update_wordpress.log 2>&1 UPD: при этом отпадает необходимость обновления через wp-cron, так что её можно отключить через wp-config.php: define('AUTOMATIC_UPDATER_DISABLED', true);

DevConf в этом году радуют быстрой обработкой видео. Выложили мой доклад «Теория программирования: пакетные принципы и метрики». Поговорим о том, как объективно выбирать пакеты для своего проекта и как правильно структурировать свой код в пакеты. Набор пакетных метрик известен давно, но на него не обращают достаточно внимания. Возможно, потому что он несколько формален, а может быть просто потому что всё хорошее постепенно забывается. Пакетные метрики позволяют формально оценить, подходит ли сторонний пакет для использования в вашем проекте или пакете, как он повлияет на общую стабильность. Пакетные принципы, изначально озвученные Робертом Мартином в дополнение к SOLID, показывают путь достижения оптимального соотношения поддерживаемости и гибкости. Смотрим

Перед DevConf зашёл в гости в Badoo, повидался с бывшим коллегой по Skyeng. У них всё так же драйвово. Одна из самых интересных компаний с PHP в Москве. На DevConf рассказал про пакетные метрики Роберта Мартина. Доклад зашёл и, надеюсь, будет видео потому как слайды хоть и информативны, но на них далеко не всё, да и ответы на вопросы связали это всё с Yii 3. Посмотреть слайды можно по адресу slides.rmcreative.ru/2019/devconf-packages. Как это бывает практически на каждом DevConf, атмосфера была уютной и располагала к общению. Познакомился поближе с ребятами из команды MediaTen, специализирующейся на Yii 2. Пообщался в очередной раз с бойцами MediaSoft. Повидался со старыми знакомыми. Организаторам спасибо за возможность приятно и с пользой провести время. В...

Несмотря на то, что конференций специально на этот год я почти не планировал, будет их не мало. Как ни странно, они не мешают заниматься Yii, а наоборот. На самих конференциях получается собрать отличные идеи и получить заряд мотивации и фидбек, а в дороге часто выходит сконцентрироваться и реализовать что-то полезное. 20, 21 и 22 июня буду в Москве. 20-го планирую зайти к друзьям в Badoo, в остальные дни буду на DevConf. Расскажу новый экспериментальный доклад про создание и выбор пакетов. 24 и 25 июня перемещусь в Новосибирск на Highload++. Возможно, буду вести один из залов, но, надеюсь что нет. Хочется больше послушать то, что помогал выбирать, и пообщаться. 29 и 30 июня в Смоленске на Tabtabus расскажу про ошибки Yii и что мы будем с ними делать. Если...

PHP Serbia, отчёт

Как и планировал, побывал в Сербии на конференции PHP Serbia. Рассказал про Yii и своё видение развития PHP, его экосистемы и фреймворков. Как обычно, слайды можно найти на slides.rmcreative.ru. Сербию практически не посмотрел, но конференция понравилась: Отменное открытие. Общались все полностью на английском, что было очень удобно для докладчиков и многочисленных посетителей не из Сербии. Интересно, получится ли так в России? Неплохой набор докладов. Примерно половина, правда, была не про PHP и даже не про разработку. Хорошими это им быть не помешало. Вопросы с премодерацией через специальное приложение slido вместо вопросов из зала. С одной стороны хорошо потому как можно выбрать интересное, с другой — не очень. Не видно задающего вопрос. С модерацией...

PHP Russia, отчёт

В Москве 17 мая прошла конференция PHP Russia. Организовываю конференции я не в первый раз, до этого были две YiiConf, техническая секция РИФ-а и участие в программных комитетах РИТ и Highload. Как и в прошлые разы, силы свои я не переоценивал и делал совместно с теми, кто умеет находить помещение, устраивать хорошее питание, продавать билеты и оформлять документы для бухгалтерий. В этот раз делали вместе с Онтико Олега Бунина. Я ими остался доволен. Сработали хорошо. Первым шагом было сформировать программный комитет. Это те, кто выбирает доклады, организует какие-то дополнительные штуки по самой конференции и улучшает доклады вместе с докладчиками. Я попытался сделать ПК разнородным и, в то же время, крепким. В него вошли: Кирилл Несмеянов, Rambler&Co...

Как и планировал, посетил конференции it.is, Saint HighLoad++ и Стачку. На Saint HighLoad++ был в качестве члена программного комитета. HighLoad вышел не такой, как основной в Москве. Сама конференция получилась меньше, а вот общения больше. Мне начинает казаться, что это коррелирует. На it.is рассказал про ошибки, которые мы исправляем в Yii 3.0, и то, что они, в общем-то, не так редки и просто в проектах, а не в фреймворках. Конференция удивила. Во-первых, она не меньше UWDC. Во-вторых, она удивительно хороша для конференции, которую делает одна компания. В третьих, 20-и минутные доклады. Пришлось ломать привычки и прогонять несколько раз доклад прежде, чем я в это время уложился. На Стачке была вариация доклада про ошибки Yii. Но, в отличие от it.is...