From c99a38a9f143a1f56d4f3308fa1675f7b0c3ba00 Mon Sep 17 00:00:00 2001 From: Islam Vindizhev Date: Fri, 21 Jan 2022 18:18:30 +0300 Subject: [PATCH 1/2] =?UTF-8?q?Add=20news=20issue=20=E2=84=96206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _posts/news512/news-206.md | 79 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 _posts/news512/news-206.md diff --git a/_posts/news512/news-206.md b/_posts/news512/news-206.md new file mode 100644 index 00000000..44cab160 --- /dev/null +++ b/_posts/news512/news-206.md @@ -0,0 +1,79 @@ +--- +title: 'В этом выпуске: конспект о микрофронтендах, сравнение Remix и Next.js, релиз Parcel CSS, обновления браузеров, Node.js 17.4.0, Deno 1.18, бесплатный курс по Linux для разработчиков и, кажется, завершение истории с faker.js.' +soundcloudLink: 'https://soundcloud.com/csssr/konspekt-o-mikrofrontendakh-remix-vs-nextjs-parcel-css-nodejs-1740-deno-118-kurs-po-linux' +date: '2021-01-21T00:00:00.000Z' +episodeNumber: 206 +tag: 'news' +author: 'Ислам Виндижев' +--- + +В прошлый выпуск по ошибке попала устаревшая статья о Rust и возможностях оптимизации JS без его применения. Иногда мы публикуем старые материалы, если они до сих пор актуальны, и обычно я явно отмечаю это. Но не в этот раз — статья была написана в 2018 году и случайно затесалась в выпуск как новая. Отдельное спасибо Андрею Мелихову, который обратил на это мое внимание. + + + ### Интересные публикации + +Антон Шувалов, которого вы можете знать как «пробуждателя фронтендеров» в твиттере, написал [заметку о микрофронтендах](http://anto.sh/conspects/micro-frontends.html). Получился краткий конспект с основными пунктами, которые нужно принять во внимание для начала использования микрофронтендов. В заметке вы найдете базовые требования, принципы и фреймворк для принятия решений. Здесь же есть стратегии объединения, коммуникации и определения доменов для микрофронтендов. В конце конспекта — ссылки на источники и материалы, на основе которых он составлен. Хочу лишь напомнить, что микрофронтенды подходят и нужны далеко не каждому проекту. + + +[ES-модули](https://2ality.com/2022/01/esm-specifiers.html ) продолжают развиваться и потихоньку взрослеть как технология. Именно о них говорит Аксель Раушмайер (Axel Rauschmayer) в своем обзоре современных возможностей для работы с JavaScript-модулями в Node.js, Deno и браузерах. Последние версии Node.js поддерживают package exports и package imports, которые настраиваются в package.json. А в браузерах скоро появится поддержка import maps. Больше подробностей — в блоге доктора Акселя. + +Штефан Баумгартнер (Stefan Baumgartner) продолжает писать о тонкостях работы TypeScript. В новой статье он затрагивает тему [неожиданных пересечений типов в TypeScript](https://fettblog.eu/typescript-unexpected-intersections/). Это может произойти при обновлении свойств объектов, если ключ — переменная с объединением типов. Также пересечение может возникнуть после деструктуризации объекта из-за потери связи с оригинальным типом. Это приводит к ошибкам типизаци. Как это работает и что делать — читайте в статье Штефана. + +В блоге Remix появилась [статья-сравнение Remix с Next.js](https://remix.run/blog/remix-vs-next). Чем отличаются фреймворки — один из самых часто задаваемых вопросов. По мнению сооснователя Remix и автора статьи Райана Флоренса (Ryan Florence), Remix такой же быстрый или быстрее Next.js, обладает постоянным временем билда, которое не зависит от данных, автоматически обрабатывает ошибки и краши, а также имеет еще ряд преимуществ. Впрочем, автор довольно аккуратно выражается, говоря, что у Remix просто более удачный набор компромиссов под капотом. Не знаю, лично для меня Remix пока выглядит как маркетинговая штука, которой далеко до продов, и непонятно, нужен ли он вообще. Но судить вам, если интересуетесь Remix — это сравнение как раз для вас. + +Следующие два материала — за авторством Ильи Стрельцына на CSS Live. + +В первой статье Илья рассказывает [о новом псевдоселекторе :has()](https://css-live.ru/css/psevdoklass-has-ne-tolko-roditelskij-selektor.html) и некоторых нетривиальных примерах его использования: модификация элементов форм, индикаторы подуровней выпадающих меню, подсветка строк в таблице и другие. Также в статье вы найдете экскурс в спецификацию и особенности работы :has(). + +Вторая статья — [о свойстве border-image](https://css-live.ru/tricks/border-image-gradients-sorcery.html). При помощи него Темани Афиф (Temani Afif) реализовал в демке сложные фигуры с минимальными усилиями, а Илья обратил на это внимание и написал статью, в которой демонстрирует работу свойства на примере задачки из CSS Battle про взрыв сверхновой. Border-image — довольно сложное и громоздкое свойство, но вполне можно разобраться, было бы желание. + +Инженеры из ЦИАН поделились своим опытом [оптимизации мобильной версии сайта](https://habr.com/ru/company/cian/blog/598799/). Поисковая выдача медленно грузилась, а Google как раз анонсировали влияние параметров Core Web Vitals на поисковую выдачу. Звезды сошлись, и инженеры ЦИАН начали искать проблему. Виновницей оказалась метрика Largest Contentful Paint. В статье есть разбор проблемы и решений внутри кода и вне его, а также решения на уровне микросервисов. Самым «медленным» оказался микрофронтенд шапки, которую решили тотально отрефакторить. + +Снова завершу рубрику обучающими материалами. + +Вышел [бесплатный курс по Linux для разработчиков](https://slurm.io/linux-for-developers) от Павла Калашникова, вы можете знать его по сообществу IT Way и одноименному подкасту. Отличный вводный курс, после которого можно уже не вернуться к другим ОС. Затронуто много важных тем: выбор и установка дистрибутива, работа с терминалом, группы пользователей, команды, утилиты и основы мониторинга, а также подключение к удаленным машинам по SSH. + +Адам Аргайл (Adam Argyle) на web.dev опубликовал статью о реализации нового компонента, на этот раз — [переключателя цветовой темы](https://web.dev/building-a-theme-switch-component/). Пошаговая реализация, подробное объяснение всех аспектов, работающая демка — всё в лучших традициях. + +Уна Кравец (Una Kravets) в коротком видео на YouTube объясняет, как работает новая фича CSS — [каскадные слои](https://www.youtube.com/watch?v=ilrPpSQJb3U). Фича уже есть в Safari Technology Preview, а скоро появится и в Chrome c Firefox. + +Темани Афиф, которого я уже упоминал в этом выпуске, помимо прочего еще и создатель ресурса [CSS Challenges](https://css-challenges.com/). Как вы можете догадаться по названию, это сборник задачек по CSS разной степени сложности. Довольно интересно, загляните, если вам интересно проверить или подкачать свои CSS-скиллы. + + + ### Новости релизов + +Начнем с самого большого релиза, вернее будет сказать, серии релизов — январского [Critical Patch Update от Oracle](https://www.oracle.com/security-alerts/cpujan2022.html). Как вы можете помнить, это обновления безопасности для всех продуктов Oracle. В [анонсе](https://blogs.oracle.com/security/post/january-2022-cpu) патча отмечается, что при обновлении каждого продукта следует обратиться к памятке об уязвимости библиотеки Log4j: в некоторых случаях нужно установить отдельный патч, если это явно указано, в противном случае достаточно установить январское обновление. + + +Браузеры что-то зачастили выпускать патчи после релизов. Вышло [обновление Chrome 97](https://chromereleases.googleblog.com/2022/01/stable-channel-update-for-desktop_19.html), которое закрывает критическую уязвимость, позволяющую обойти все уровни защиты браузера и выполнить код вне sandbox-окружения. Кроме этой уязвимости было устранено еще 26 менее значительных. + +Firefox 96 с момента релиза получил целых два обновления. В [первом](https://www.mozilla.org/en-US/firefox/96.0.1/releasenotes/) была исправлена ошибка разбора заголовка content-length при использовании HTTP/3, а во [втором](https://www.mozilla.org/en-US/firefox/96.0.2/releasenotes/) — устранена проблема, приводящая к крашу браузера при изменении размера окна. + +Доступно [Safari Technology Preview 138](https://webkit.org/blog/12176/release-notes-for-safari-technology-preview-138/). В этой версии по умолчанию включены свойство :focus-visible, медиа-запрос resolution и свойство CSS Contain. Веб-инспектор и некоторые API получили ряд доработок и изменений. Дополнительно отмечу, что в этом патче не синхронизирована фича с группировкой вкладок. + +Рантаймы тоже стараются не отставать и радовать нас обновлениями. Вышла версия [Node.js 17.4.0](https://nodejs.org/en/blog/release/v17.4.0/). В релизе: большое количество багфиксов, обновления libuv и npm, небольшая доработка модуля stream и метода fork модуля child_process, в котором путь к модулю теперь может быть объектом URL. + +Команда Deno выпустила [обновление 1.18](https://deno.com/blog/v1.18), в котором полностью поддерживается Web Crypto API, а файл конфигурации ищется автоматически. Error.cause теперь отображается во всех стектрейсах, а версия V8 была улучшена до 9.8. + +Команда Parcel выпустила [Parcel CSS](https://parceljs.org/blog/parcel-css/). Как вы можете догадаться, это парсер, компилятор и минификатор CSS. Проект написан на Rust и, по словам авторов, как и сам Parcel, отличается высокой производительностью. Кроме того, он очень просто используется с самим Parcel (было бы странно, если бы было сложно), и его можно попробовать в качестве CSS-тула уже сейчас. Также в анонсе вы найдете немного архитектурных подробностей. + +Помимо этого отмечу релизы языка программирования [Rust 1.58](https://blog.rust-lang.org/2022/01/13/Rust-1.58.0.html) и веб-сервера [lighttpd 1.4.64](https://blog.lighttpd.net/articles/2022/01/19/lighttpd-1.4.64-released/). + + + ### Другие новости + +[Ситуация с библиотекой faker.js](https://fakerjs.dev/update.html#who-are-the-current-maintainers) получила развитие. Хотя, скорее всего, это конец истории. Библиотеку начали поддерживать 8 мейнтейнеров, которые подхватили знамя, когда основной пакет был удален из репозитория. В итоге faker.js получил новую организацию и репозиторий на GitHub, а также доступен в npm. Конечно, история с блокировкой доступа к репозиториям автора пакета вызывает скепсис, кто-то может сказать, что у человека фактически «отжали» его опенсорс проект. Посмотрим, будет ли продолжение у этой истории, но не думаю. + + +Rust продолжает пробиваться к ядру Linux. Автор проекта Rust-for-Linux Мигель Охеда (Miguel Ojeda) предложил [четвертую версию компонентов для разработки драйверов](https://lkml.org/lkml/2022/1/17/13). Для Linux и Rust это хорошие новости. Интересно, как быстро ядро Linux все-таки начнет поддерживать Rust. + + ### Пишите нам и читайте + [Telegram—канал CSSSR](https://t.me/csssr) + + [Twitter CSSSR](https://twitter.com/csssr_dev) + + [Twitter новостей](https://twitter.com/csssr_news) + + [Telegram ведущего](https://t.me/Vindizh) + + [Twitter ведущего](https://twitter.com/Vindizh) From 263f8282d39ee6353c371f09544ab8c7b2c72500 Mon Sep 17 00:00:00 2001 From: Islam Vindizhev Date: Fri, 21 Jan 2022 18:32:15 +0300 Subject: [PATCH 2/2] Fix dates --- _posts/news512/news-205.md | 2 +- _posts/news512/news-206.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/news512/news-205.md b/_posts/news512/news-205.md index 5d565a4a..fddbb871 100644 --- a/_posts/news512/news-205.md +++ b/_posts/news512/news-205.md @@ -1,7 +1,7 @@ --- title: 'В этом выпуске: Chrome 97 и Firefox 96, пора ли переходить на Vite и pnpm, чего ждать от CSS в 2022, немного обучающих материалов, итоги года по версии Rising Stars и немного о colors.js и теории заговора.' soundcloudLink: 'https://soundcloud.com/csssr/chrome-97-firefox-96-pora-li-perekhodit-na-vite-i-pnpm-css-v-2022-rising-stars-2021' -date: '2021-01-17T00:00:00.000Z' +date: '2022-01-17T00:00:00.000Z' episodeNumber: 205 tag: 'news' author: 'Ислам Виндижев' diff --git a/_posts/news512/news-206.md b/_posts/news512/news-206.md index 44cab160..549b2543 100644 --- a/_posts/news512/news-206.md +++ b/_posts/news512/news-206.md @@ -1,7 +1,7 @@ --- title: 'В этом выпуске: конспект о микрофронтендах, сравнение Remix и Next.js, релиз Parcel CSS, обновления браузеров, Node.js 17.4.0, Deno 1.18, бесплатный курс по Linux для разработчиков и, кажется, завершение истории с faker.js.' soundcloudLink: 'https://soundcloud.com/csssr/konspekt-o-mikrofrontendakh-remix-vs-nextjs-parcel-css-nodejs-1740-deno-118-kurs-po-linux' -date: '2021-01-21T00:00:00.000Z' +date: '2022-01-21T00:00:00.000Z' episodeNumber: 206 tag: 'news' author: 'Ислам Виндижев'