🦊 Angular Fox 🚀 — русскогорящие новости сообщества
3.97K subscribers
1.2K photos
7 videos
1.06K links
Как костыль на реактивно-лисьей тяге 🔥🦊

Нравится канал? Подпишись на меня!
👉 twitter.com/thekiba_ru
💖 twitter.com/thekiba_io
medium.com/@thekiba
github.com/thekiba

Чаты @angular_ru @angular_jobs
Download Telegram
🔥 Уведомление о XSS-проблеме

Проблема затрагивает приложения, использующие Angular Universal для рендеринга на стороне сервера (SSR). Она относится к пакету Critters версий 0.0.17, 0.0.18 и 0.0.19. Версия 0.0.20 содержит исправление.

Angular Universal (в частности, @nguniversal/common) версий 16.1.0-16.1.1 зависит от этих версий Critters. Уязвимость исправлена в версии 16.1.2.

Если вы зависите от какой-либо из версий, немедленно обновите свои Critters и Angular Universal. Приложения, не использующие Angular Universal, не должны быть затронуты.

👉 https://medium.com/p/95dbae068f
👍9🔥4🤡1
Шина между Веб-воркерами и основным потоком

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

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

👉 https://habr.com/ru/articles/752526/
👍3🤡3
Представляем auto-signal паттерн

Signals идеально подходят для синхронной реактивности, а observables для асинхронной. Они дополняют друг друга, но в то же время и противоречат друг другу.

В статье рассказано об одном приеме, позволяющем заставить их взаимодействовать друг с другом.

👉 https://dev.to/mfp22/introducing-the-auto-signal-pattern-1a5h
👍11🔥2
Анонс TypeScript 5.2 RC

Начиная с бета-версии, добавили оптимизацию проверки типов и реализацию импорта только типов, независимо от того, включен ли параметр allowImportingTsExtensions.

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

👉 https://devblogs.microsoft.com/typescript/announcing-typescript-5-2-rc/
👍6
Обработка ошибок

В Angular мы можем обрабатывать ошибки различными способами, каждый из которых имеет свои плюсы и минусы.

Давайте рассмотрим их.

👉 https://dev.to/this-is-angular/angular-error-handling-101-553
👍9🥱4🤔1
🦄 Что я понял, когда написал много тестов

Тестирование — важная часть разработки, которая позволяет писать более качественный и прозрачный код. Тесты могут сильно повлиять на структуру кода приложения, а код, в свою очередь, влияет на структуру тестов.

Глазырин Сергей попытался уместить выводы из опыта, который получил за время написания большого количества тестов.

👉 https://habr.com/ru/companies/tinkoff/articles/753958/
👍6🤔3🤮3
Эволюция сигналов в JavaScript

В последнее время в мире фронтенда наблюдается определенная шумиха вокруг термина "сигналы". Кажется, что за короткое время они появились повсюду, начиная с Preact и заканчивая Angular.

Но они не являются чем-то новым. Даже отдаленно, если учесть, что их корни уходят в исследования конца 1960-х годов.

👉 https://dev.to/this-is-learning/the-evolution-of-signals-in-javascript-8ob
🔥8👍31
Сквозь время – ускоряем автотесты

В идеальном мире автотесты должны проходить быстро, чтобы их хотелось запускать как локально, так и в CI. Но почему в большинстве проектов запуск тестов отнимает критически много времени?

Всеволод Золотов рассказал, как Jest помогает писать молниеносные тесты, и рассмотрел ключевые сценарии.

👉 https://habr.com/ru/companies/psb/articles/750286/
👍8💊1
Как я переносил блог из CakePHP в Angular

У каждого опытного программиста есть хотя бы одна интересная история, как он работал с легаси кодом.

Александр Серенко поделился опытом переписывания архитектурного чуда, написанного аутсорсерами на CakePHP в 2012 году.

👉 https://habr.com/ru/articles/754884/
👍6👎1🔥1
Современные архитектуры с Angular

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

В этой серии статей показывается, как можно совместить оба требования.

👉 https://www.angulararchitects.io/en/aktuelles/modern-architectures-with-angular-part-1-strategic-design-with-sheriff-and-standalone-components/
👍261
DOM, DI и View: деревья в Angular

Легко можно спутать дерево инжекторов DI и DOM-дерево непосредственных HTML-элементов и вьюх Angular. Они похожи и иногда имеют прямое соответствие, но далеко не всегда.

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

👉 https://habr.com/ru/companies/tinkoff/articles/756024/
👍15🔥10🤡5❤‍🔥1🎉1
Рефлексия в JavaScript и TypeScript

В JavaScript из коробки есть способы разобрать в рантайме структуру его значений — определить типы, ключи объектов, получить конструкторы и прототипы. Знание этих механизмов может помочь проектировать более логичные, лаконичные и удобные API.

В статье показывается, на примере CLI-фреймворка, как добавить классам и их полям собственные метаданные при помощи декораторов.

👉 https://habr.com/ru/companies/ruvds/articles/754764/
👍63🤡2
Создаем блог с помощью Analog

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

В этой статье показывается, как создать статический блог на Angular с помощью Analog.

👉 https://dev.to/analogjs/how-to-build-a-blog-with-analog-and-angular-4pk2
💩12👍7🔥1🤡1
Как операторы высшего порядка упрощают код

Чем глубже вы проваливаетесь в RxJS, тем больше самых разных операторов вы узнаете. И со временем добираетесь до потоков потоков. То есть вместо обычных значений такой поток эмитит другие потоки. Такие потоки называют Higher Order Observables.

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

👉 https://habr.com/ru/articles/757202/
👍15😁3💩3🔥1
Protractor устарел

В конце августа 2023 года Protractor официально завершит долгосрочную поддержку и перейдет в категорию End of Life в сентябре 2023 года.

Для получения более подробной информации о том, как команда Angular работает с устаревшими API и функциями, пожалуйста, ознакомьтесь с этим руководством.

👉 https://medium.com/p/2beac7402ce0
👍10🤡41🔥1🤮1
Объединение signals и observables

Будущее повсеместное распространение сигналов требует от нас создания новых паттернов.

В этой статье попытка объединить observables и signals в одно целое.

👉 https://dev.to/this-is-angular/a-sweet-spot-between-signals-and-observables-4chb
👍9🥱8🔥1
Как перенести CoreModule на standalone APIs

За standalone компонентами будущее. Angular CLI позволяет генерировать новые приложения с ними из коробки, просто используя флаг --standalone при выполнении команды ng new.

Давайте узнаем, как перенести CoreModule на новое API.

👉 https://angularexperts.io/blog/angular-core-module-standalone-migration
🤷‍♂4👍4
Работаем с логированием в Angular

Логирование — довольно распространенная практика. К сожалению, она не так часто встречается в мире фронтенда и часто упоминается в статьях, посвященных бэкенду.

В этой статье объясняется, что такое логирование и показаны способы его реализации.

👉 https://dev.to/this-is-angular/what-is-going-on-here-getting-started-with-logging-in-angular-59k
👍9🤔2🥱2👏1🎃1🫡1
Standalone компоненты и tree-shaking

Tree-shaking — «встряхивание дерева», удаление неиспользуемого кода из бандла приложения во время сборки.

Анастасия Анисимова рассказала о нюансах tree-shaking, о которых стоит знать при работе со standalone компонентами.

👉 https://habr.com/ru/companies/skyeng/articles/757498/
👍215🔥2🤔1
Типизированные формы

До релиза версии 14 не было поддержки строгой типизации форм. Обращение к несуществующему полю должно было вызывать ошибку компиляции Typescript но этого не происходило.

В новых версиях типизация форм появилась, но есть нюансы, о которых дальше в статье.

👉 https://habr.com/ru/articles/760166/
👍12🥱1