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

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

Чаты @angular_ru @angular_jobs
Download Telegram
Начинаем розыгрыш билетов Podlodka Crew

Если вы еще не подали заявку на участие, то можете сделать это здесь

Нажмите, чтобы присоединиться к стриму
👍5👎3
Повышаем надежность

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

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

👉 https://medium.com/p/855deec98fbc
👍8🔥2
Новый подход к шаблону Container-Presenter

Зачастую продвинутые приложения требуют использовать паттерны. Паттерн Container Presenter — это интересный инструмент для организации потока данных. Он может быть реализован различными способами, главное — разделение слоев. С его помощью вы можете добиться лучшего разделения ответственности между слоем состояния и слоем представления.

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

👉 https://medium.com/p/dac60ca1b65e
👍9🔥3
Разбираемся с ошибками

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

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

👉 https://dev.to/this-is-angular/errors-and-angular-n0b
👍7👏1
Проверяем ответы сервера

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

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

👉 https://timdeschryver.dev/blog/why-we-should-verify-http-response-bodies-and-why-we-should-use-zod-for-this
👍5👎5🔥1
Предотвращаем утечки памяти

JavaScript язык программирования высокого уровня. В отличие от низкоуровневых языков, таких как C или C++, разработчику не нужно выделять и освобождать память в явном виде. Сборщик мусора берет на себя эту ответственность. Однако сборщику мусора нужны подсказки, должны ли определенные объекты существовать в памяти.

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

👉 https://medium.com/p/5b83eb361b82
👍10🔥2🙏1
Разбираемся с реактивностью

Существует множество способов написания реактивного кода в Angular, от двустороннего связывания до продвинутого RxJS. Некоторые команды предпочитают не иметь единой стратегии, а позволить каждому разработчику самостоятельно придумать самый простой способ реализации, адаптируя сложность решения к сложности проблемы.

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

👉 https://dev.to/this-is-angular/progressive-reactivity-in-angular-1d40
👍11🤩1
Внешние конфигурации

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

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

👉 https://indepth.dev/posts/1502/external-configurations-in-angular
👍7👎1
Пользовательские операторы RxJS

Библиотека RxJS поставляется с богатым набором операторов, которые способны решить большинство проблем, возникающих при работе с потоками.

Тем не менее, существуют ситуации, когда возможность создания новых пользовательских операторов может пригодиться.

👉 https://medium.com/p/da8443a89c3a
👍81💩1
Продвинутый TypeScript

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

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

👉 https://medium.com/p/b5d023bd6539
👍7🤩1
Управление точками останова

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

К счастью, Angular поставляется с BreakpointObserver, который идеально подходит для таких сценариев.

👉 https://www.thisdot.co/blog/how-to-manage-breakpoints-using-breakpointobserver-in-angular
👍5
Пишем плохой код

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

Пожалуйста не пробуйте эти советы в рабочих проектах. Мы не несем никакой ответственности за любой причиненный ущерб.

👉 https://habr.com/ru/post/678204/
😁11👍4💩2
Сортируем элементы с помощью Drag & Drop

Нередко в разработке интерфейсов попадаются требования связанные с Drag and Drop: загрузка изображений, управление списками задач или сортировка элементов.

К счастью, команда Angular реализовала библиотеку, позволяющую легко реализовать этот функционал.

👉 https://www.thisdot.co/blog/angular-cdk-sorting-items-using-drag-and-drop
👍5👎2
Реализуем Pokedex с помощью AngularFire

AngularFire упрощает внедрении Firebase SDK, и стремится обеспечить привычный опыт для Angular разработчиков.

В этом руководстве вы узнаете, как создать CRUD-приложение Pokedex, используя Angular 14, Firestore и новый AngularFire.

👉 https://medium.com/p/2d6980dcc091
👍9
Защищаем веб-приложение

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

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

👉 https://dev.to/oktadev/defend-your-spa-from-security-woes-1fg2
👍10
Полное руководство по Interceptors

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

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

👉 https://medium.com/p/7294e2317ecf
👍182
Функциональное программирование в TypeScript

Функциональный стиль программирования был представлен Джоном Бэкусом в компании IBM в 1978 году, но до сих пор остается в значительной степени непонятым. Сегодня мы можем легко использовать функциональное программирование в TypeScript.

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

👉 https://medium.com/p/18ac096bb551
👍6
HolyJS возвращается!

В ноябре JUG Ru Group организует конференцию для JavaScript‑разработчиков — HolyJS 2022. В программе — технические доклады и дискуссии о языках, архитектуре, графике, фреймворках и инструментах.

Есть интересные кейсы? Тогда подавайте заявку на выступление. Программный комитет поможет с подготовкой к выступлению: назначит персонального куратора, проведет ревью материала и организует репетиции.

Выбирайте тему выступления на сайте или предлагайте свои идеи — их обязательно рассмотрят.

Всем спикерам JUG Ru Group дарит билет на все конференции сезона в онлайне и офлайне.

👉 Билеты можно купить здесь.
👍4💩4🔥1
Новый способ управления подписками

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

Недавно вышла 14-я версия Angular, и в ней появилось несколько новых функций. Одна из них позволила создать новый способ управления подписками.

👉 https://medium.com/p/f74ef79a8ffc
🤔12👍7💩5
Приглашаем на новый сезон онлайн-конференции Podlodka Frontend Crew! Старт уже 15 августа!
🧰 Тема сезона — тулинг — инструменты, облегчающие жизнь фронтендеру 🧰

Мы вместили максимум пользы в 5 сессионных дней. В этом сезоне мы расскажем:
🛠 как подбирать под задачу и создавать собственные инструменты кодогенерации
🛠 как ускорять рефакторинг с помощью кодмодов
🛠 как упрощать код и уменьшать его количество
🛠 как определять, какие сборщики полезны и какие сложности возникнут при переезде
🛠 как поддерживать актуальность запросов и ответов бэкэнда
🛠 находить больше пользы в OpenAPI схемах

Вас будет ждать море практики! 🤓
👨‍🔧 Александр Илатовский, Frontend Engineer, в своём воркшопе покажет как вручную писать интерфейсы для запросов и ответов от бэкэнда и зачем это нужно.
👨‍🔧 Илья Горский, Frontend Engineer из HeadHunter, покажет как рефакторить код с помощью кодмодов и писать собственные моды под конкретную задачу.
👨‍🔧 Анатолий Кабанов, разработчик из Perforce, продемонстрирует как использовать библиотеку Redux в приложениях на примере RTK Query. Научит уменьшать количество кода и заменять его простым и эффективным.

Купить билет можно уже сейчас у нас на сайте со скидкой для ранних птичек! С нетерпением ждем на борту!
👍5💩5