Получи случайную криптовалюту за регистрацию!

Фронтенд дайджест #207 Лучшее за неделю Подкаст [EN] Расск | FrontoWeek: Недельный дайджест [Фронтовик]

Фронтенд дайджест #207
Лучшее за неделю
Подкаст

[EN] Рассказ про ещё одну уязвимость, которую автор назвал Dependency Confusion, с помощью которой хакеры могут добавить вредоносный код в цепочку зависимостей вашего проекта.

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

Узнав имена таких пакетов, автор загрузил в публичный репозиторий одноимённые пакеты с безобидным кодом, который уведомлял автора об успешной «атаке». Таким образом, автору удалось внедрить код в пакеты 35 организаций, таких как Shopify, Apple, PayPal, Netflix, Yelp и Uber.
Microsoft даже выпустила инструкцию, как избежать подобных проблем.

[EN] Видео о том, что конкретно делают разработчики VS Code, чтобы ускорить запуск своего приложения.

После загрузки кода, движок V8 производит его парсинг и преобразование в исполняемый код более низкого уровня. В браузере этот процесс не контролируется, но в NodeJS и Electron-приложениях можно сохранить полученный кэш и в дальнейшем загружать сразу его. Это позволяет получить почти двукратный прирост скорости.

Выполнение всех функций запуска программы привязано к определенным фазам, что позволяет приоритизировать их и отложить второстепенные операции на потом.
Самой критичной считается фаза, когда отображается структура проекта и содержимое первого файла.

Использование Idle Callback — экспериментальной функциональности, которая позволяет откладывать выполнение функции до моментов простоя.

[EN] Один из популярных CSS-фреймворков прошлого года — Tailwind — фреймворк, основанный на утилитарных классах. В статье автор рассказывает, почему ему и вам может не подойти этот фреймворк.

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

Использование встроенных директив, вроде @apply, в ваших CSS-файлах заставляет внедрять Tailwind в пайплайн сборки проекта. А так же проектов, построенных на вашем.

Конфигурация размеров и отступов задаётся через JavaScript, в то время, как в 2021 году можно было использовать нативные CSS-переменные. А значит, вместо динамически изменяемых размеров, придётся подключать JavaScript. Прямо как в Bootstrap, которому уже почти 10 лет.

Автор приходит к выводу, что Tailwind пока не в силах претендовать на лидерство среди CSS-фреймворков.

[EN] 21 спорная привычка, от которой стоит отказаться фронтендеру в 2021 году. Вот самые интересные из них:
- Жаловаться на CSS. В CSS завели фичи, которые решают вопрос верстки, центрирования и даже соотношения сторон;
- Жаловаться на JavaScript. Уже есть подходы и фреймворки, позволяющие улучшить доступность, сократить бандл до минимума и удовлетворить потребностям SEO;
- Откладывать изучение TypeScript. Он показал наибольший прирост популярности в 2020 году;
- Бояться CSS-гридов. Попробуйте, они уже решают много проблем;
- Игнорировать доступность. Это может стать хорошей целью для развития навыков;
- Думать что контент всегда идет слева направо. В мире много языков которые пишутся справа налево;
- Не вести блог. Расскажите что нибудь конструктивное вместо дебатов в твиттере. Хоть в личном блоге на Gatsby/Next/Eleventy, хоть на dev.to;
- Писать длинные посты со списками.