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

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

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

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

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

RMCreative.ru - Блог

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

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

Когда я начинал писать в этот блог не было больших популярных ресурсов вроде хабра и платформ вроде medium, dev.to и других. Был ЖЖ, но он не подходил для материалов о разработке. Начали появляться платформы, тянуло перейти — ведь все уже там. И всё-таки что-то мешало. У меня были подозрения что контент на сторонних ресурсах пропадёт. Так и случалось не раз: площадки умирали, портились, теряли контент, начинали (как Medium) настойчиво просить денег за просмотр. Этот блог пережил множество проектов-площадок. Свои блоги — это замечательно. Но как же их читать, если их будет так много? Если раньше всё было в отдельных блогах, то и решение, конечно же, было. Оно есть и сейчас и имя ему RSS. При наличии нормального клиента, пользоваться им удобно. Можно...

В require добавляются зависимости, которые необходимы для работы пакета. В require-dev добавляются зависимости, которые нужны для разработки самого пакета. Например, phpunit/phpunit. Опция require-dev является root-only опцией, то есть она не читается и зависимости из неё не ставятся когда пакет устанавливается не напрямую, а как зависимость корневого пакета-проекта. То же можно сказать и о ряде других опций composer.json: autoload-dev, куда стоит прописывать namespace для тестов. minimum-stability. prefer-stable. repositories. config. scripts.

В статье на хабре наткнулся на упоминание опросника Гэллапа по удовлетворённости работой из двенадцати вопросов. Попробовал на себе и компаниях, где я работал. Оценка выходит очень похожей на объективную. Применимо как для себя лично, так и для работы с сотрудниками. На каждый вопрос даётся ответ от 1 (совсем нет) до 5 (да, в полной мере). Результат получается суммированием ответов и делением на 12. Знаю ли я, что от меня ожидается на работе? Располагаю ли я материалами и оборудованием, которые мне необходимы для правильного выполнения моей работы? Есть ли у меня на работе возможность ежедневно заниматься тем, что я умею делать лучше всего? Получал ли я за последние семь дней благодарность или одобрение за хорошо выполненную работу? Есть ли у меня ощущение,...

По традиции, напишу про уходящий 2019. С 2010 года ни разу ещё не пропустил отчётный пост. Skyeng и тимлидство Начало года выдалось сложным. Первые несколько месяцев с головой ушёл в Skyeng и саморефлексию. Вовремя распознал приближающееся выгорание и завершил этот этап. Несмотря на то, что остаться и доделать проект не удалось, опыт получился весьма ценным. Пищи для размышлений было много. Последующие несколько месяцев дали понять, что тимлидство как таковое мне не совсем чуждо и многие части у меня вполне получаются. Конференции В плане конференций год вышел отличным. Побывал докладчиком на: it.is, Челябинск Стачка, Ульяновск Табтабус, Смоленск Involta Meetup, Иваново БИФ, Белгород Стачка, Иннополис UIC Dev, Ижевск PHP Serbia, Белград DevConf, Москва...

БИФ — одна из конференций, на которую действительно хочется приехать снова. Организаторы выложили несколько отчётных видео и я вспомнил, что ничего про неё не рассказывал. Первый раз я попал на БИФ в прошлом 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. Повидался со старыми знакомыми. Организаторам спасибо за возможность приятно и с пользой провести время. В...