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

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

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

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

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

RMCreative.ru - Блог

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

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

Насколько протестирован ваш код? 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...

Последний пост из недели backendsecret. Бизнес, ошибки, карьера, бэкапы, тимлидство, баги и полезные мелочи. Реалии бизнеса У бизнеса (в особенности это выражено у продуктовых компаний) всё упирается в деньги. Если более кривое решение стоит дешевле и не сильно повредит в долгосрочной перспективе, его и будут делать. И это, как раз, очень эффективная стратегия. Нормальный бизнес всегда считает деньги. Разработчики часто не хотят этого понимать и бьются за красивое неэффективное решение. Понимание «кривого» у бизнеса и у разработчиков расходится. Например, красиво — это когда golang, микросервисы, Kubernetes, авто-масштабирование в AWS, 100% покрытие юнит-тестами, на фронте Angular и взаимодействие через grpc. А то, что надо было интернет-магазин с 10-ю...

Продолжаю публиковать интересное из недели backendsecret. В этот раз про OpenSource и проектирование. Про OpenSource OpenSource — не халява, а совместная разработка. В OpenSource главное не демотивироваться. Как и везде, негативные отзывы публикуют, а вот позитивные — практически никогда. Чем больше проект, тем больше негатива. «Зачем нужен Yii, если есть X» спрашивают меня с того самого момента, когда я начал им пользоваться. Вообще я всякого наслушался про свой OpenSource. И «product of Satan» и «this bullshit not working» и «it is sick». Иногда мне всё-равно на такие комментарии потому как я знаю, что фреймворк многим помогает, но иногда настроение такое, что задевает. Но за годы как-то привык... Если в OpenSource-библиотеке есть открытые issue, это не...

И ещё часть написанного за неделю backend secret. На этот раз про мотивацию и выгорание. Про мотивацию Как бы это странно ни звучало, делать крутые IT-штуки меня мотивирует в довольно большой степени круто написанная художественная литература. Особенно научная фантастика. Я веду список прочитанного. Про выгорание Выгорание в нашей профессии — не шутки. Выбраться из наступающего после него состояния чрезвычайно сложно. Проще не допускать. Отдыхайте. Занимайтесь собой. И что делать, чтобы выбраться? Больше заниматься собой. Поразмыслить над значимостью работы и перевести её из состояния "ничего важнее нет" в состояние "важно, но не смертельно". Я не психолог, не уверен что то, что помогло один раз мне поможет другим. Скорее наоборот. Если стало действительно...

Продолжаю публиковать интересное из недели backendsecret. Про безопасность Слишком многие бэкенд-разработчики не в курсе основ безопасности или не считает это важным. Как итог — дыры есть везде и серьёзные. Иногда я думаю, что мог бы консалтить на эту тему, но потом понимаю, что знаю о безопасности недостаточно. Чаще всего до advanced-техник дело на практике не доходит. Забивают на безопасность настолько часто, что почти в любом проекте предостаточно банальных XSS. Атакующие вашу систему всегда идут по пути наименьшего сопротивления: сначала проверяют банальные технические вещи. Далее менее банальные. Если технически всё дорого и сложно, берутся за людей. Люди уязвимы практически всегда. Про образование Полученные за пять лет в университете знания...

В этом году попробовал для себя новое — вёл аккаунт @backendsecret в твиттере. Канал выдаётся каждую неделю новому участнику. Сама идея занятная потому как один человек хорошие мысли выдавать постоянно не может, а если меняться, получается. Так как в твиттере найти что-либо невозможно уже спустя неделю, буду порциями публиковать самое интересное. Вопросы про Yii Есть ли перспективы у Yii или пора уходить на другие фреймворки? Есть. Версия 3.0 в активной разработке. Сколько сейчас активных девелоперов делают фреймворк? На фуллтайме ноль, как обычно. А так около 20 активных и под 1000 присылающих что-то время от времени. // на самом деле я тепрь занимаюсь Yii почти на фуллтайме Сложно будет переходить с yii2 ? И нет и да. Не как с 1.1 на 2.0, но серьёзно...

Я живо интересуюсь редакторами для веб. В 2016-м в процессе переделки yiiframework.com я пощупал CodeMirror. Недавно начал использовать Visual Studio Code и, удивившись что нечто на Electron может так годно работать (стоит вспомнить как затупливает иногда клиент Slack), начал смотреть на код и обнаружил, что сам JavaScript-редактор является отдельным проектом, который можно использовать у себя на страницах. Весит побольше, чем тот же CodeMirror, но в плюс документация, скорость работы с большими текстами, API и расширяемость. Можно, например, сделать из него редактор diff или редактор markdown с подсветкой кода в блоках. Пробуем