|
| 1 | +--- |
| 2 | +title: 'В этом выпуске: релизы Chrome 106 и Firefox 105, многопоточность в Node.js подробно и по хардкору, ресурсы по TypeScript, Web Almanac 2022, карта звёздного неба и другие события.' |
| 3 | +soundcloudLink: 'https://soundcloud.com/csssr/chrome-106-firefox-105-nodejs-gidra-resursy-po-typescript-web-almanac-2022-state-of-css-2022' |
| 4 | +date: '2022-10-11T00:00:00.000Z' |
| 5 | +episodeNumber: 217 |
| 6 | +tag: 'news' |
| 7 | +author: 'Ислам Виндижев' |
| 8 | +--- |
| 9 | + |
| 10 | +Всем привет! Это «Новости 512» от CSSSR. Я понимаю, что сейчас у всех на повестке дня только одни новости, но мы продолжим выпускать «Новости 512». Берегите себя. В этом эпизоде: релизы Chrome 106 и Firefox 105, многопоточность в Node.js подробно и по хардкору, ресурсы по TypeScript, Web Almanac 2022, карта звёздного неба и другие события с момента выхода предыдущего выпуска. |
| 11 | + |
| 12 | +<ParagraphWithImage imageName="laptopNews" > |
| 13 | + ### Интересные публикации |
| 14 | + |
| 15 | +До этого момента мы иногда говорили о многопоточности в Node.js. Но это были, в общем-то, вводные гайды и теоретические статьи. Пришло время войти в логово многопоточной гидры и победить её. Кирилл Боровиков на Хабре опубликовал целую серию статей об увеличении производительности Node.js-приложений при помощи многопоточности. В статье целых 5 частей. Рассматривается большой перечень вопросов: [FIFO](https://habr.com/ru/company/tensor/blog/688182/), кольцевой буфер, [Worker Threads](https://habr.com/ru/company/tensor/blog/689144/), [нагрузка на потоки](https://habr.com/ru/company/tensor/blog/689406/), [разделяемая память и операции над ней](https://habr.com/ru/company/tensor/blog/689864/), а также [что делать в неидеальных условиях](https://habr.com/ru/company/tensor/blog/691352/). В статьях также рассматриваются проблемы от внедрения многопоточности и их решения: есть примеры для всех случаев и пояснительные диаграммы. Это большой цикл, который углубленно освещает тему многопоточности. Советую заварить чайку и посидеть поразбираться, получилось очень интересно. |
| 16 | +</ParagraphWithImage> |
| 17 | + |
| 18 | +В наши выпуски уже попадал перевод цикла «TypeScript в деталях», но это был перевод первой части. Игорь Агапов продолжает публиковать переводы: за время перерыва вышли вторая и третья части. [Во второй части](https://habr.com/ru/company/timeweb/blog/687806/) речь идёт о пересекающихся типах, infer и шаблонные литеральные типы, ключевое слово declare. [Третья часть](https://habr.com/ru/company/timeweb/blog/690726/) посвящена утилитам типов, особенностям классов, перегрузке функций и определению объектов с неизвестными свойствами. Доходчиво и просто — если вы всё ещё боретесь с TS, обязательно загляните. |
| 19 | + |
| 20 | +Раз уж мы заговорили о TypeScript, я представлю вашему вниманию ещё один курс по TS. Он называется [Type Level TypeScript](https://type-level-typescript.com/). Пока в нём всего три главы, но он будет пополняться. |
| 21 | + |
| 22 | +Вы уже наверняка знакомы с разными способами увеличения производительности фронтенд-приложений или из опыта работы, или из новостей — в общем, в любом случае какие-то знаете. Августин Теодор (Agustinus Theodorus) в своей [статье](https://www.smashingmagazine.com/2022/09/data-loading-patterns-improve-frontend-performance/) на SmashingMagazine смотрит на вопрос как бы немного с другого ракурса: с точки зрения загрузки данных. В принципе это всё вам знакомо хотя бы на слух: SSR, кэширование, обмен данными в реальном времени через WebSocket, ленивая загрузка и префетчинг, гидратация на клиенте. Если о чём-то не слышали — заглядывайте. |
| 23 | + |
| 24 | +Много разных JavaScript API существует на свете. Хуан Диего Родригес (Juan Diego Rodríguez) в SmashingMagazine [постарался рассказать](https://www.smashingmagazine.com/2022/09/javascript-api-guide/) про полезные, но не очень известные API. Об Internationalization API вы уже наверняка слышали. В статье также рассматривается Page Visibility API, который помогает понять, что пользователь покинул страницу, Web Share API, который, как вы можете догадаться, помогает шарить контент (это особенно полезно на мобильных устройствах) и Broadcast Channel API, который позволяет вкладкам, фреймам и другим элементам обмениваться данными. Ко всем API прилагаются примеры. |
| 25 | + |
| 26 | +Я как-то уже рассказывал про Remix — новый фреймворк, который позиционируется как конкурент Next.js. Я уже говорил о том, что для меня он выглядит как маркетинговая штука, но если вам хочется попробовать, то можете посмотреть [на статью автора Бритни Постма (Brittney Postma)](https://css-tricks.com/the-basics-of-remix/). Это базовый гайд с типовым простым проектом и минимальной настройкой, работой с роутами и освещением некоторых особенностей Remix. Если хочется быстро попробовать, этим гайдом вполне можно воспользоваться. |
| 27 | + |
| 28 | +Фернандо Дольо (Fernando Doglio) написал [статью-размышление](https://blog.bitsrc.io/dont-worry-nobody-is-replacing-node-js-not-even-bun-and-even-less-deno-4e7148cff78) о том, что никаких убийц Node.js не существует. Что он имеет в виду? Он говорит о том, что альтернативы, которые появляются (такие как Deno и Bun), хоть и отличаются от Node.js, но очень на него похожи. Похожи в том смысле, что разработка на них похожа, а API пытается быть дружелюбным и привычным для разработчика Node.js. Я склонен с ним соглашаться: переключиться на другой рантайм не должно быть большой проблемой. |
| 29 | + |
| 30 | +Все мы так или иначе стремимся оптимизировать свою работу: иногда пользуемся готовыми решениями, а иногда создаём свои велосипеды. Душа ещё одного поэта не вынесла, и человек создал своё расширение для VS Code, которое из шаблонов генерирует структуру и файлы проекта. Идея простая: пишем шаблончики с плейсхолдерами, даём команду — и вуаля: можно начинать писать код. Автор расширения — Дмитрий Басенко, [в его статье на Хабре](https://habr.com/ru/post/691534/) можно посмотреть, например, скринкаст и найти ссылку на расширение. Автор говорит, что можно было и сложнее, умнее, лучше, так что не стесняйтесь дать совет или подкинуть идею. |
| 31 | + |
| 32 | +Завершает рубрику статья с ресурса Explained from First о том, [как устроен интернет](https://explained-from-first-principles.com/internet/). Лично мне всегда интересны такие статьи, потому что потом выясняется, что многого и не знаешь. Там же вы найдете статью о том, как устроена электронная почта, и статью о вычислительной математике — просвещайтесь. |
| 33 | + |
| 34 | +<ParagraphWithImage imageName="manWithLaptop"> |
| 35 | + ### Новости релизов |
| 36 | + |
| 37 | +Вышел [Chrome 106](https://chromereleases.googleblog.com/2022/09/stable-channel-update-for-desktop_27.html). В этой версии появилась возможность поиска по истории, закладкам и вкладкам прямо в адресной строке при помощи управляющих тегов. Была отключена технология Server Push. В режиме Origin Trials был добавлен Pop-Up API, который позволяет выводить элементы поверх других. Также был представлен ряд небольших улучшений разных API и CSS. Больше изменений было в DevTools. В панели Sources появилась возможность группировки файлов по источнику. Улучшена трассировка стека для асинхронных операций. Появилась возможность автоматического игнорирования при отладке известных сторонних скриптов. Добавлена возможность скрытия игнорируемых файлов в меню и панелях. Улучшена работа со стеком вызовов в отладчике. Кроме этого во вкладке Performance появился новый трек Interactions для визуализации взаимодействия со страницей. Больше подробностей в обзорах от Google. [Chrome](https://developer.chrome.com/blog/new-in-chrome-106/), [Chrome DevTools](https://developer.chrome.com/blog/new-in-devtools-106/). |
| 38 | +</ParagraphWithImage> |
| 39 | + |
| 40 | +Релизом [105-ой версии](https://www.mozilla.org/en-US/firefox/105.0/releasenotes/) отметился Firefox. Для диалога печати была добавлена опция печати только текущей страницы и значительно повышена стабильность работы в Windows в условиях нехватки памяти. Также в этом выпуске была проведена оптимизация методов array.includes и array.indexOf. Был устранен ряд уязвимостей. За релизом последовали патчи [105.0.1](https://www.mozilla.org/en-US/firefox/105.0.1/releasenotes/) и [105.0.2](https://www.mozilla.org/en-US/firefox/105.0.2/releasenotes/). |
| 41 | + |
| 42 | +Вышла [версия 1.26](https://deno.com/blog/v1.26) рантайма Deno. Была добавлена поддержка Cache API, улучшена совместимость с Node.js и поддержка npm. Был представлен ряд доработок API и поддержка TypeScript 4.8. С полным списком изменений можно ознакомиться в блоге Deno. |
| 43 | + |
| 44 | +Также вышло обновление [Node.js 18.10.0](https://nodejs.org/en/blog/release/v18.10.0/) с небольшими изменениями модулей gyp, http и stream, была обновлена документация. |
| 45 | + |
| 46 | +Представлен релиз ядра [Linux 6.0](https://lkml.org/lkml/2022/10/2/255). Цифра красивая, но смысл только в красивости, как говорит сам Линус Торвальдс. Была добавлена поддержка асинхронной буферизированной записи в XFS, блочный драйвер ublk, оптимизация планировщика задач и механизм верификации корректности работы ядра. Кстати, в версии 6.1 ожидается поддержка Rust как языка для разработки драйверов, изменения уже приняты в ветку версии 6.1. Релиз запланирован на декабрь. |
| 47 | + |
| 48 | +Также отмечу релизы [Java SE 19](https://jdk.java.net/19/release-notes), [git 2.38.0](https://lore.kernel.org/all/xmqqmtacu8bw.fsf@gitster.g/) и фреймворка [Electron 21](https://www.electronjs.org/blog/electron-21-0). |
| 49 | + |
| 50 | +В конце рубрики отвлекитесь от всего и взгляните на небо. Вышел [Stellarium 1.0](https://stellarium.org/release/2022/10/01/stellarium-1.0.html). Его делали, на минуточку, 20 лет. Это планетарий для трехмерной навигации по звёздному небу. Базовый каталог небесных объектов насчитывает более 600 тысяч звёзд и 80 тысяч объектов глубокого космоса; есть дополнительные, в которых ещё куча объектов. Там же есть информация о созвездиях и туманностях. Работает на Linux, Windows и macOS. |
| 51 | + |
| 52 | +<ParagraphWithImage imageName="laptopNews" > |
| 53 | + ### Другие новости |
| 54 | + |
| 55 | +Ещё немного хороших новостей для Deno. Slack [запустил](https://deno.com/blog/slack-open-beta) открытую бету своей платформы, написанную на Deno. Предполагается, что она позволит более интуитивно и просто создавать надстройки (или приложения) для Slack, будет более безопасной и расширяемой. Когда такой крупный сервис как Slack адаптирует и использует какое-то решение, то это уже большой аргумент в его пользу как с маркетинговой, так и с технической точек зрения. Посмотрим, как пройдёт бета и что из этого получится. |
| 56 | +</ParagraphWithImage> |
| 57 | + |
| 58 | +Веб-альманах [проанализировал](https://almanac.httparchive.org/en/2022/javascript) использование JavaScript в 2022 году. Объём JS всё увеличивается и увеличивается, у 77% мобильных страниц в <head> есть блокирующие скрипты, динамические импорты практически не используются. Из топ-1000 сайтов 17% используют Webpack, примерно 1,5% — Parcel. И да, jQuery всё ещё в строю, более чем. С полным отчётом вы можете ознакомиться по ссылке в описании выпуска. |
| 59 | + |
| 60 | +Стартовал опрос [State of CSS 2022](https://stateofcss.com/en-us/). Как и всегда, у вас есть возможность поделиться мнением и сделать более ясной картину для разработчиков CSS-фич в браузерах. Опрос уже открыт, в нём можно поучаствовать. Позже мы поговорим о его результатах. |
| 61 | + |
| 62 | +И в конце выпуска можем отметить [десятилетие TypeScript](https://devblogs.microsoft.com/typescript/ten-years-of-typescript/). По этому поводу в блоге TS появился пост: в нём небольшой взгляд в прошлое и обзор настоящего. С днём рождения, TypeScript! |
| 63 | + |
| 64 | + ### Пишите нам и читайте |
| 65 | + [Telegram—канал CSSSR](https://t.me/csssr) |
| 66 | + |
| 67 | + [Twitter CSSSR](https://twitter.com/csssr_dev) |
| 68 | + |
| 69 | + [Twitter новостей](https://twitter.com/csssr_news) |
| 70 | + |
| 71 | + [Telegram ведущего](https://t.me/Vindizh) |
| 72 | + |
| 73 | + [Twitter ведущего](https://twitter.com/Vindizh) |
0 commit comments