|
| 1 | +--- |
| 2 | +title: 'В этом выпуске: конспект о микрофронтендах, сравнение Remix и Next.js, релиз Parcel CSS, обновления браузеров, Node.js 17.4.0, Deno 1.18, бесплатный курс по Linux для разработчиков и, кажется, завершение истории с faker.js.' |
| 3 | +soundcloudLink: 'https://soundcloud.com/csssr/konspekt-o-mikrofrontendakh-remix-vs-nextjs-parcel-css-nodejs-1740-deno-118-kurs-po-linux' |
| 4 | +date: '2022-01-21T00:00:00.000Z' |
| 5 | +episodeNumber: 206 |
| 6 | +tag: 'news' |
| 7 | +author: 'Ислам Виндижев' |
| 8 | +--- |
| 9 | + |
| 10 | +В прошлый выпуск по ошибке попала устаревшая статья о Rust и возможностях оптимизации JS без его применения. Иногда мы публикуем старые материалы, если они до сих пор актуальны, и обычно я явно отмечаю это. Но не в этот раз — статья была написана в 2018 году и случайно затесалась в выпуск как новая. Отдельное спасибо Андрею Мелихову, который обратил на это мое внимание. |
| 11 | + |
| 12 | +<ParagraphWithImage imageName="manWithLaptop"> |
| 13 | + ### Интересные публикации |
| 14 | + |
| 15 | +Антон Шувалов, которого вы можете знать как «пробуждателя фронтендеров» в твиттере, написал [заметку о микрофронтендах](http://anto.sh/conspects/micro-frontends.html). Получился краткий конспект с основными пунктами, которые нужно принять во внимание для начала использования микрофронтендов. В заметке вы найдете базовые требования, принципы и фреймворк для принятия решений. Здесь же есть стратегии объединения, коммуникации и определения доменов для микрофронтендов. В конце конспекта — ссылки на источники и материалы, на основе которых он составлен. Хочу лишь напомнить, что микрофронтенды подходят и нужны далеко не каждому проекту. |
| 16 | +</ParagraphWithImage> |
| 17 | + |
| 18 | +[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. Больше подробностей — в блоге доктора Акселя. |
| 19 | + |
| 20 | +Штефан Баумгартнер (Stefan Baumgartner) продолжает писать о тонкостях работы TypeScript. В новой статье он затрагивает тему [неожиданных пересечений типов в TypeScript](https://fettblog.eu/typescript-unexpected-intersections/). Это может произойти при обновлении свойств объектов, если ключ — переменная с объединением типов. Также пересечение может возникнуть после деструктуризации объекта из-за потери связи с оригинальным типом. Это приводит к ошибкам типизаци. Как это работает и что делать — читайте в статье Штефана. |
| 21 | + |
| 22 | +В блоге Remix появилась [статья-сравнение Remix с Next.js](https://remix.run/blog/remix-vs-next). Чем отличаются фреймворки — один из самых часто задаваемых вопросов. По мнению сооснователя Remix и автора статьи Райана Флоренса (Ryan Florence), Remix такой же быстрый или быстрее Next.js, обладает постоянным временем билда, которое не зависит от данных, автоматически обрабатывает ошибки и краши, а также имеет еще ряд преимуществ. Впрочем, автор довольно аккуратно выражается, говоря, что у Remix просто более удачный набор компромиссов под капотом. Не знаю, лично для меня Remix пока выглядит как маркетинговая штука, которой далеко до продов, и непонятно, нужен ли он вообще. Но судить вам, если интересуетесь Remix — это сравнение как раз для вас. |
| 23 | + |
| 24 | +Следующие два материала — за авторством Ильи Стрельцына на CSS Live. |
| 25 | + |
| 26 | +В первой статье Илья рассказывает [о новом псевдоселекторе :has()](https://css-live.ru/css/psevdoklass-has-ne-tolko-roditelskij-selektor.html) и некоторых нетривиальных примерах его использования: модификация элементов форм, индикаторы подуровней выпадающих меню, подсветка строк в таблице и другие. Также в статье вы найдете экскурс в спецификацию и особенности работы :has(). |
| 27 | + |
| 28 | +Вторая статья — [о свойстве border-image](https://css-live.ru/tricks/border-image-gradients-sorcery.html). При помощи него Темани Афиф (Temani Afif) реализовал в демке сложные фигуры с минимальными усилиями, а Илья обратил на это внимание и написал статью, в которой демонстрирует работу свойства на примере задачки из CSS Battle про взрыв сверхновой. Border-image — довольно сложное и громоздкое свойство, но вполне можно разобраться, было бы желание. |
| 29 | + |
| 30 | +Инженеры из ЦИАН поделились своим опытом [оптимизации мобильной версии сайта](https://habr.com/ru/company/cian/blog/598799/). Поисковая выдача медленно грузилась, а Google как раз анонсировали влияние параметров Core Web Vitals на поисковую выдачу. Звезды сошлись, и инженеры ЦИАН начали искать проблему. Виновницей оказалась метрика Largest Contentful Paint. В статье есть разбор проблемы и решений внутри кода и вне его, а также решения на уровне микросервисов. Самым «медленным» оказался микрофронтенд шапки, которую решили тотально отрефакторить. |
| 31 | + |
| 32 | +Снова завершу рубрику обучающими материалами. |
| 33 | + |
| 34 | +Вышел [бесплатный курс по Linux для разработчиков](https://slurm.io/linux-for-developers) от Павла Калашникова, вы можете знать его по сообществу IT Way и одноименному подкасту. Отличный вводный курс, после которого можно уже не вернуться к другим ОС. Затронуто много важных тем: выбор и установка дистрибутива, работа с терминалом, группы пользователей, команды, утилиты и основы мониторинга, а также подключение к удаленным машинам по SSH. |
| 35 | + |
| 36 | +Адам Аргайл (Adam Argyle) на web.dev опубликовал статью о реализации нового компонента, на этот раз — [переключателя цветовой темы](https://web.dev/building-a-theme-switch-component/). Пошаговая реализация, подробное объяснение всех аспектов, работающая демка — всё в лучших традициях. |
| 37 | + |
| 38 | +Уна Кравец (Una Kravets) в коротком видео на YouTube объясняет, как работает новая фича CSS — [каскадные слои](https://www.youtube.com/watch?v=ilrPpSQJb3U). Фича уже есть в Safari Technology Preview, а скоро появится и в Chrome c Firefox. |
| 39 | + |
| 40 | +Темани Афиф, которого я уже упоминал в этом выпуске, помимо прочего еще и создатель ресурса [CSS Challenges](https://css-challenges.com/). Как вы можете догадаться по названию, это сборник задачек по CSS разной степени сложности. Довольно интересно, загляните, если вам интересно проверить или подкачать свои CSS-скиллы. |
| 41 | + |
| 42 | +<ParagraphWithImage imageName="laptopNews" > |
| 43 | + ### Новости релизов |
| 44 | + |
| 45 | +Начнем с самого большого релиза, вернее будет сказать, серии релизов — январского [Critical Patch Update от Oracle](https://www.oracle.com/security-alerts/cpujan2022.html). Как вы можете помнить, это обновления безопасности для всех продуктов Oracle. В [анонсе](https://blogs.oracle.com/security/post/january-2022-cpu) патча отмечается, что при обновлении каждого продукта следует обратиться к памятке об уязвимости библиотеки Log4j: в некоторых случаях нужно установить отдельный патч, если это явно указано, в противном случае достаточно установить январское обновление. |
| 46 | +</ParagraphWithImage> |
| 47 | + |
| 48 | +Браузеры что-то зачастили выпускать патчи после релизов. Вышло [обновление Chrome 97](https://chromereleases.googleblog.com/2022/01/stable-channel-update-for-desktop_19.html), которое закрывает критическую уязвимость, позволяющую обойти все уровни защиты браузера и выполнить код вне sandbox-окружения. Кроме этой уязвимости было устранено еще 26 менее значительных. |
| 49 | + |
| 50 | +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/) — устранена проблема, приводящая к крашу браузера при изменении размера окна. |
| 51 | + |
| 52 | +Доступно [Safari Technology Preview 138](https://webkit.org/blog/12176/release-notes-for-safari-technology-preview-138/). В этой версии по умолчанию включены свойство :focus-visible, медиа-запрос resolution и свойство CSS Contain. Веб-инспектор и некоторые API получили ряд доработок и изменений. Дополнительно отмечу, что в этом патче не синхронизирована фича с группировкой вкладок. |
| 53 | + |
| 54 | +Рантаймы тоже стараются не отставать и радовать нас обновлениями. Вышла версия [Node.js 17.4.0](https://nodejs.org/en/blog/release/v17.4.0/). В релизе: большое количество багфиксов, обновления libuv и npm, небольшая доработка модуля stream и метода fork модуля child_process, в котором путь к модулю теперь может быть объектом URL. |
| 55 | + |
| 56 | +Команда Deno выпустила [обновление 1.18](https://deno.com/blog/v1.18), в котором полностью поддерживается Web Crypto API, а файл конфигурации ищется автоматически. Error.cause теперь отображается во всех стектрейсах, а версия V8 была улучшена до 9.8. |
| 57 | + |
| 58 | +Команда Parcel выпустила [Parcel CSS](https://parceljs.org/blog/parcel-css/). Как вы можете догадаться, это парсер, компилятор и минификатор CSS. Проект написан на Rust и, по словам авторов, как и сам Parcel, отличается высокой производительностью. Кроме того, он очень просто используется с самим Parcel (было бы странно, если бы было сложно), и его можно попробовать в качестве CSS-тула уже сейчас. Также в анонсе вы найдете немного архитектурных подробностей. |
| 59 | + |
| 60 | +Помимо этого отмечу релизы языка программирования [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/). |
| 61 | + |
| 62 | +<ParagraphWithImage imageName="laptopNews" > |
| 63 | + ### Другие новости |
| 64 | + |
| 65 | +[Ситуация с библиотекой faker.js](https://fakerjs.dev/update.html#who-are-the-current-maintainers) получила развитие. Хотя, скорее всего, это конец истории. Библиотеку начали поддерживать 8 мейнтейнеров, которые подхватили знамя, когда основной пакет был удален из репозитория. В итоге faker.js получил новую организацию и репозиторий на GitHub, а также доступен в npm. Конечно, история с блокировкой доступа к репозиториям автора пакета вызывает скепсис, кто-то может сказать, что у человека фактически «отжали» его опенсорс проект. Посмотрим, будет ли продолжение у этой истории, но не думаю. |
| 66 | +</ParagraphWithImage> |
| 67 | + |
| 68 | +Rust продолжает пробиваться к ядру Linux. Автор проекта Rust-for-Linux Мигель Охеда (Miguel Ojeda) предложил [четвертую версию компонентов для разработки драйверов](https://lkml.org/lkml/2022/1/17/13). Для Linux и Rust это хорошие новости. Интересно, как быстро ядро Linux все-таки начнет поддерживать Rust. |
| 69 | + |
| 70 | + ### Пишите нам и читайте |
| 71 | + [Telegram—канал CSSSR](https://t.me/csssr) |
| 72 | + |
| 73 | + [Twitter CSSSR](https://twitter.com/csssr_dev) |
| 74 | + |
| 75 | + [Twitter новостей](https://twitter.com/csssr_news) |
| 76 | + |
| 77 | + [Telegram ведущего](https://t.me/Vindizh) |
| 78 | + |
| 79 | + [Twitter ведущего](https://twitter.com/Vindizh) |
0 commit comments