#rxjs — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #rxjs, aggregated by home.social.
-
Разработка TypeScript-библиотеки для построения реактивных графов распространения и обработки данных
Как построить гибкий реактивный граф обработки данных, где узлы изолированы друг от друга, а связи между ними строятся автоматически на основе их возможностей? Рассказываю о разработке Transferum — легковесной TypeScript-библиотеки для реактивных потоков. Внутри: разбор системы вычислимых типов для проверки контрактов в compile-time, управление маршрутизацией данных в графе и примеры построения динамических пайплайнов для IoT-датчиков и панелей управления.
https://habr.com/ru/articles/1061630/
#typescript #frp #rxjs #reactive_programming #data_flow #open_source #архитектура_по
-
Разработка TypeScript-библиотеки для построения реактивных графов распространения и обработки данных
Как построить гибкий реактивный граф обработки данных, где узлы изолированы друг от друга, а связи между ними строятся автоматически на основе их возможностей? Рассказываю о разработке Transferum — легковесной TypeScript-библиотеки для реактивных потоков. Внутри: разбор системы вычислимых типов для проверки контрактов в compile-time, управление маршрутизацией данных в графе и примеры построения динамических пайплайнов для IoT-датчиков и панелей управления.
https://habr.com/ru/articles/1061630/
#typescript #frp #rxjs #reactive_programming #data_flow #open_source #архитектура_по
-
Разработка TypeScript-библиотеки для построения реактивных графов распространения и обработки данных
Как построить гибкий реактивный граф обработки данных, где узлы изолированы друг от друга, а связи между ними строятся автоматически на основе их возможностей? Рассказываю о разработке Transferum — легковесной TypeScript-библиотеки для реактивных потоков. Внутри: разбор системы вычислимых типов для проверки контрактов в compile-time, управление маршрутизацией данных в графе и примеры построения динамических пайплайнов для IoT-датчиков и панелей управления.
https://habr.com/ru/articles/1061630/
#typescript #frp #rxjs #reactive_programming #data_flow #open_source #архитектура_по
-
Как я перешёл с React на Angular и не пожалел
Когда я говорю, что перешёл с React на Angular, на меня смотрят примерно так же, как если бы я сказал, что добровольно переехал из Амстердама куда-нибудь в Челябинск. С непониманием и вопросом «а зачем». Если открыть типичный канал про разработку, там будет React, Next.js, React Native, снова React. Джуны учат его как первый фреймворк, мидлы обычно выносят в резюме жирным шрифтом. Angular воспринимается как что-то невероятно сложное, для мега-приложений масштаба «строим город на Луне» и бэкендеров, которым не повезло. Я тоже так думал. У меня за плечами был React, я понимал компонентный подход, умел работать с хуками, знал экосистему. И тут Angular. Готовых инструкций, как перейти с React на Angular, в сети практически нет. Зато есть тысячи статей про обратный путь. Пришлось разбираться самому, и вот что из этого вышло.
https://habr.com/ru/companies/centicore_group/articles/1048598/
#angular #react #фронтенд #TypeScript #RxJS #nx #ооп #архитектура_фронтенда #сравнение_фреймворков #личный_опыт
-
Как я перешёл с React на Angular и не пожалел
Когда я говорю, что перешёл с React на Angular, на меня смотрят примерно так же, как если бы я сказал, что добровольно переехал из Амстердама куда-нибудь в Челябинск. С непониманием и вопросом «а зачем». Если открыть типичный канал про разработку, там будет React, Next.js, React Native, снова React. Джуны учат его как первый фреймворк, мидлы обычно выносят в резюме жирным шрифтом. Angular воспринимается как что-то невероятно сложное, для мега-приложений масштаба «строим город на Луне» и бэкендеров, которым не повезло. Я тоже так думал. У меня за плечами был React, я понимал компонентный подход, умел работать с хуками, знал экосистему. И тут Angular. Готовых инструкций, как перейти с React на Angular, в сети практически нет. Зато есть тысячи статей про обратный путь. Пришлось разбираться самому, и вот что из этого вышло.
https://habr.com/ru/companies/centicore_group/articles/1048598/
#angular #react #фронтенд #TypeScript #RxJS #nx #ооп #архитектура_фронтенда #сравнение_фреймворков #личный_опыт
-
Как я перешёл с React на Angular и не пожалел
Когда я говорю, что перешёл с React на Angular, на меня смотрят примерно так же, как если бы я сказал, что добровольно переехал из Амстердама куда-нибудь в Челябинск. С непониманием и вопросом «а зачем». Если открыть типичный канал про разработку, там будет React, Next.js, React Native, снова React. Джуны учат его как первый фреймворк, мидлы обычно выносят в резюме жирным шрифтом. Angular воспринимается как что-то невероятно сложное, для мега-приложений масштаба «строим город на Луне» и бэкендеров, которым не повезло. Я тоже так думал. У меня за плечами был React, я понимал компонентный подход, умел работать с хуками, знал экосистему. И тут Angular. Готовых инструкций, как перейти с React на Angular, в сети практически нет. Зато есть тысячи статей про обратный путь. Пришлось разбираться самому, и вот что из этого вышло.
https://habr.com/ru/companies/centicore_group/articles/1048598/
#angular #react #фронтенд #TypeScript #RxJS #nx #ооп #архитектура_фронтенда #сравнение_фреймворков #личный_опыт
-
Пишем движок для блога на Rust
Недавно я решил завести собственный блог. Сначала посмотрел в сторону SSG, но они показались мне не слишком удобными для того сценария, который я хотел получить. Затем попробовал несколько CMS, однако быстро упёрся в другую проблему: мой сервер оказался слишком слабым для большинства современных решений. В итоге ни одно из готовых решений так и не смогло закрыть все мои требования одновременно. Так и появилась идея сделать небольшую файловую CMS на Rust, которая не требует базы данных, не потребляет много памяти и при этом остаётся достаточно гибкой для повседневного использования. Со временем идея небольшого блогового движка разрослась в полноценную CMS с SSR, виртуальной файловой системой, поддержкой локализации, визуальным редактором статей и горячей перезагрузкой контента. В этой статье я постараюсь показать, как всё это устроено изнутри.
-
Пишем движок для блога на Rust
Недавно я решил завести собственный блог. Сначала посмотрел в сторону SSG, но они показались мне не слишком удобными для того сценария, который я хотел получить. Затем попробовал несколько CMS, однако быстро упёрся в другую проблему: мой сервер оказался слишком слабым для большинства современных решений. В итоге ни одно из готовых решений так и не смогло закрыть все мои требования одновременно. Так и появилась идея сделать небольшую файловую CMS на Rust, которая не требует базы данных, не потребляет много памяти и при этом остаётся достаточно гибкой для повседневного использования. Со временем идея небольшого блогового движка разрослась в полноценную CMS с SSR, виртуальной файловой системой, поддержкой локализации, визуальным редактором статей и горячей перезагрузкой контента. В этой статье я постараюсь показать, как всё это устроено изнутри.
-
Пишем движок для блога на Rust
Недавно я решил завести собственный блог. Сначала посмотрел в сторону SSG, но они показались мне не слишком удобными для того сценария, который я хотел получить. Затем попробовал несколько CMS, однако быстро упёрся в другую проблему: мой сервер оказался слишком слабым для большинства современных решений. В итоге ни одно из готовых решений так и не смогло закрыть все мои требования одновременно. Так и появилась идея сделать небольшую файловую CMS на Rust, которая не требует базы данных, не потребляет много памяти и при этом остаётся достаточно гибкой для повседневного использования. Со временем идея небольшого блогового движка разрослась в полноценную CMS с SSR, виртуальной файловой системой, поддержкой локализации, визуальным редактором статей и горячей перезагрузкой контента. В этой статье я постараюсь показать, как всё это устроено изнутри.
-
Современный Angular: Заменяем жизненные циклы на сигналы
Если вы пишете на Angular, то наверняка часто используете хуки жизненного цикла вроде ngOnChanges , ngOnInit и ngOnDestroy . С появлением сигналов и концепции Zoneless (когда Zone.js уже не обязателен) у нас появились более элегантные и читаемые альтернативы. Давайте разберем, как современный подход позволяет упростить код и избавиться от "шумных" методов жизненного цикла.
https://habr.com/ru/articles/1040488/
#angular #javascript #typescript #signal #hooks #rxjs #программирование #вебразработа
-
Современный Angular: Заменяем жизненные циклы на сигналы
Если вы пишете на Angular, то наверняка часто используете хуки жизненного цикла вроде ngOnChanges , ngOnInit и ngOnDestroy . С появлением сигналов и концепции Zoneless (когда Zone.js уже не обязателен) у нас появились более элегантные и читаемые альтернативы. Давайте разберем, как современный подход позволяет упростить код и избавиться от "шумных" методов жизненного цикла.
https://habr.com/ru/articles/1040488/
#angular #javascript #typescript #signal #hooks #rxjs #программирование #вебразработа
-
Современный Angular: Заменяем жизненные циклы на сигналы
Если вы пишете на Angular, то наверняка часто используете хуки жизненного цикла вроде ngOnChanges , ngOnInit и ngOnDestroy . С появлением сигналов и концепции Zoneless (когда Zone.js уже не обязателен) у нас появились более элегантные и читаемые альтернативы. Давайте разберем, как современный подход позволяет упростить код и избавиться от "шумных" методов жизненного цикла.
https://habr.com/ru/articles/1040488/
#angular #javascript #typescript #signal #hooks #rxjs #программирование #вебразработа
-
Extended weekend hack. I was looking for a #nowplaying function that I can use anywhere and do anything with the data. Also, that will work continuously. Because I want to use it to promote artists to the audience during DJ sets. I had a solution that uses Serato Live Playlists, but it is not universal. Now I have this: https://hckr.tv/shazam/. It uses the #WebAudio Worklet, #RxJS, and #ShazamIO WASM to recognize tracks in the music stream directly in your browser.
-
Extended weekend hack. I was looking for a #nowplaying function that I can use anywhere and do anything with the data. Also, that will work continuously. Because I want to use it to promote artists to the audience during DJ sets. I had a solution that uses Serato Live Playlists, but it is not universal. Now I have this: https://hckr.tv/shazam/. It uses the #WebAudio Worklet, #RxJS, and #ShazamIO WASM to recognize tracks in the music stream directly in your browser.
-
Extended weekend hack. I was looking for a #nowplaying function that I can use anywhere and do anything with the data. Also, that will work continuously. Because I want to use it to promote artists to the audience during DJ sets. I had a solution that uses Serato Live Playlists, but it is not universal. Now I have this: https://hckr.tv/shazam/. It uses the #WebAudio Worklet, #RxJS, and #ShazamIO WASM to recognize tracks in the music stream directly in your browser.
-
Extended weekend hack. I was looking for a #nowplaying function that I can use anywhere and do anything with the data. Also, that will work continuously. Because I want to use it to promote artists to the audience during DJ sets. I had a solution that uses Serato Live Playlists, but it is not universal. Now I have this: https://hckr.tv/shazam/. It uses the #WebAudio Worklet, #RxJS, and #ShazamIO WASM to recognize tracks in the music stream directly in your browser.
-
Extended weekend hack. I was looking for a #nowplaying function that I can use anywhere and do anything with the data. Also, that will work continuously. Because I want to use it to promote artists to the audience during DJ sets. I had a solution that uses Serato Live Playlists, but it is not universal. Now I have this: https://hckr.tv/shazam/. It uses the #WebAudio Worklet, #RxJS, and #ShazamIO WASM to recognize tracks in the music stream directly in your browser.
-
[Перевод] Signal Forms в Angular
В Angular v21 у разработчиков появится новый, пока что экспериментальный, способ создавать формы: Signal Forms . После многих лет работы с формами, управляемыми шаблоном, template-driven forms ( ngModel ), и реактивными формами, reactive forms ( formGroup/formControl ), у нас появился третий подход, целиком основанный на сигналах и доступный в пакете @angular/forms/signals . В этой статье мы разберем основы: создание форм, обработку отправки и добавление валидации. Разобраться в формах
https://habr.com/ru/companies/otus/articles/1012734/
#js #Angular #Signal_Forms #сигналы #реактивные_формы #валидация_форм #FieldTree #TypeScript #RxJS #frontend_разработка
-
[Перевод] Signal Forms в Angular
В Angular v21 у разработчиков появится новый, пока что экспериментальный, способ создавать формы: Signal Forms . После многих лет работы с формами, управляемыми шаблоном, template-driven forms ( ngModel ), и реактивными формами, reactive forms ( formGroup/formControl ), у нас появился третий подход, целиком основанный на сигналах и доступный в пакете @angular/forms/signals . В этой статье мы разберем основы: создание форм, обработку отправки и добавление валидации. Разобраться в формах
https://habr.com/ru/companies/otus/articles/1012734/
#js #Angular #Signal_Forms #сигналы #реактивные_формы #валидация_форм #FieldTree #TypeScript #RxJS #frontend_разработка
-
[Перевод] Signal Forms в Angular
В Angular v21 у разработчиков появится новый, пока что экспериментальный, способ создавать формы: Signal Forms . После многих лет работы с формами, управляемыми шаблоном, template-driven forms ( ngModel ), и реактивными формами, reactive forms ( formGroup/formControl ), у нас появился третий подход, целиком основанный на сигналах и доступный в пакете @angular/forms/signals . В этой статье мы разберем основы: создание форм, обработку отправки и добавление валидации. Разобраться в формах
https://habr.com/ru/companies/otus/articles/1012734/
#js #Angular #Signal_Forms #сигналы #реактивные_формы #валидация_форм #FieldTree #TypeScript #RxJS #frontend_разработка
-
RxJS в Angular: 5 операторов, которые превращают хаос данных в симфонию
Стоит начать с боли всех разработчиков Angular: когда начинаешь свой проект, всё чисто и красиво. Но когда проект уже идёт, появляются подписки на подписки, данные из разных запросов нужно объединить, а пользователь начинает нажимать кнопки слишком быстро. И здесь приходит на помощь RxJS RxJS часто пугает своей сложностью. Прикол в том, что вам не нужно знать все 100+ операторов. Достаточно освоить базовую пятёрку, которая покроет 80%. И после того, как освоишь их, код становится намного читабельнее и быстрее.
https://habr.com/ru/companies/ruvds/articles/1008646/
#angular #frontend #frontend_разработка #webразработка #webпрограммирование #Rxjs #rxjs_operato #ruvds_статьи
-
RxJS в Angular: 5 операторов, которые превращают хаос данных в симфонию
Стоит начать с боли всех разработчиков Angular: когда начинаешь свой проект, всё чисто и красиво. Но когда проект уже идёт, появляются подписки на подписки, данные из разных запросов нужно объединить, а пользователь начинает нажимать кнопки слишком быстро. И здесь приходит на помощь RxJS RxJS часто пугает своей сложностью. Прикол в том, что вам не нужно знать все 100+ операторов. Достаточно освоить базовую пятёрку, которая покроет 80%. И после того, как освоишь их, код становится намного читабельнее и быстрее.
https://habr.com/ru/companies/ruvds/articles/1008646/
#angular #frontend #frontend_разработка #webразработка #webпрограммирование #Rxjs #rxjs_operato #ruvds_статьи
-
RxJS в Angular: 5 операторов, которые превращают хаос данных в симфонию
Стоит начать с боли всех разработчиков Angular: когда начинаешь свой проект, всё чисто и красиво. Но когда проект уже идёт, появляются подписки на подписки, данные из разных запросов нужно объединить, а пользователь начинает нажимать кнопки слишком быстро. И здесь приходит на помощь RxJS RxJS часто пугает своей сложностью. Прикол в том, что вам не нужно знать все 100+ операторов. Достаточно освоить базовую пятёрку, которая покроет 80%. И после того, как освоишь их, код становится намного читабельнее и быстрее.
https://habr.com/ru/companies/ruvds/articles/1008646/
#angular #frontend #frontend_разработка #webразработка #webпрограммирование #Rxjs #rxjs_operato #ruvds_статьи
-
Мы запихнули LifeOS в Telegram Mini App: как сделать сложный UI на React + Framer Motion и не сойти с ума
На рынке тысяча трекеров привычек. Еще тысяча трекеров зала. И еще сотня приложений для медитаций. Проблема одна: они разрозненны. Данные о том, что я плохо спал, никак не влияют на план тренировок в другом приложении. А медитация живет в вакууме от уровня стресса. Мы хотели создать LifeOS — единую систему управления собой, которая живет там, где я провожу 90% времени. В Telegram. Никаких впнов, ноушенов и тому подобное не надо. Но была проблема: стандартные Telegram WebApps часто выглядят... как веб-сайты из 2010-го. Мне нужен был «вайб» Apple: премиальный, темный, с глубокими тенями и, главное, тактильный. Так появился UltyMyLife. Вот как мы строили архитектуру дисциплины на React. Интересный факт: Перед тем как релизнуть проект, мы поняли, что нужен полный редизайн, и в итоге потратили еще пару недель.
https://habr.com/ru/articles/992100/
#telegrambot #telegram_api #telegram_mini_app #react #rxjs #framer_motion #javascript
-
Мы запихнули LifeOS в Telegram Mini App: как сделать сложный UI на React + Framer Motion и не сойти с ума
На рынке тысяча трекеров привычек. Еще тысяча трекеров зала. И еще сотня приложений для медитаций. Проблема одна: они разрозненны. Данные о том, что я плохо спал, никак не влияют на план тренировок в другом приложении. А медитация живет в вакууме от уровня стресса. Мы хотели создать LifeOS — единую систему управления собой, которая живет там, где я провожу 90% времени. В Telegram. Никаких впнов, ноушенов и тому подобное не надо. Но была проблема: стандартные Telegram WebApps часто выглядят... как веб-сайты из 2010-го. Мне нужен был «вайб» Apple: премиальный, темный, с глубокими тенями и, главное, тактильный. Так появился UltyMyLife. Вот как мы строили архитектуру дисциплины на React. Интересный факт: Перед тем как релизнуть проект, мы поняли, что нужен полный редизайн, и в итоге потратили еще пару недель.
https://habr.com/ru/articles/992100/
#telegrambot #telegram_api #telegram_mini_app #react #rxjs #framer_motion #javascript
-
Мы запихнули LifeOS в Telegram Mini App: как сделать сложный UI на React + Framer Motion и не сойти с ума
На рынке тысяча трекеров привычек. Еще тысяча трекеров зала. И еще сотня приложений для медитаций. Проблема одна: они разрозненны. Данные о том, что я плохо спал, никак не влияют на план тренировок в другом приложении. А медитация живет в вакууме от уровня стресса. Мы хотели создать LifeOS — единую систему управления собой, которая живет там, где я провожу 90% времени. В Telegram. Никаких впнов, ноушенов и тому подобное не надо. Но была проблема: стандартные Telegram WebApps часто выглядят... как веб-сайты из 2010-го. Мне нужен был «вайб» Apple: премиальный, темный, с глубокими тенями и, главное, тактильный. Так появился UltyMyLife. Вот как мы строили архитектуру дисциплины на React. Интересный факт: Перед тем как релизнуть проект, мы поняли, что нужен полный редизайн, и в итоге потратили еще пару недель.
https://habr.com/ru/articles/992100/
#telegrambot #telegram_api #telegram_mini_app #react #rxjs #framer_motion #javascript
-
От учебной проблемы до 1000 пользователей: как я писал интерактивный учебник по RxJS
История проекта началась в прошлом (2025) году. Я преподаю JavaScript в HTML Academy, и когда мне предложили взять поток начинающих разработчиков по Angular, я согласился. Мы успешно прошли базу, но когда дело дошло до HttpClient и обработки данных, я столкнулся с проблемой: студентам сложно понять Observable и реактивный подход, имея в багаже только промисы. На лекции мне задали резонный вопрос: А где посмотреть актуальные и понятные материалы по RxJS?. Я провел небольшой ресерч и понял, что ниша полупустая: видеокурсы - это долго, документация - сложно, а интерактивной практики почти нет. Так появился мой open-source проект. В этой статье я показываю честную аналитику за 90 дней: как набрать 1000 пользователей без рекламы, почему провалилась моя любимая фича и как пет-проект превращается в полноценный продукт. Смотреть аналитику
https://habr.com/ru/articles/991572/
#rxjs #angular #pet_project #open_source #frontend #reactive_programming #обучение_программированию #аналитика #mvp #javascript
-
От учебной проблемы до 1000 пользователей: как я писал интерактивный учебник по RxJS
История проекта началась в прошлом (2025) году. Я преподаю JavaScript в HTML Academy, и когда мне предложили взять поток начинающих разработчиков по Angular, я согласился. Мы успешно прошли базу, но когда дело дошло до HttpClient и обработки данных, я столкнулся с проблемой: студентам сложно понять Observable и реактивный подход, имея в багаже только промисы. На лекции мне задали резонный вопрос: А где посмотреть актуальные и понятные материалы по RxJS?. Я провел небольшой ресерч и понял, что ниша полупустая: видеокурсы - это долго, документация - сложно, а интерактивной практики почти нет. Так появился мой open-source проект. В этой статье я показываю честную аналитику за 90 дней: как набрать 1000 пользователей без рекламы, почему провалилась моя любимая фича и как пет-проект превращается в полноценный продукт. Смотреть аналитику
https://habr.com/ru/articles/991572/
#rxjs #angular #pet_project #open_source #frontend #reactive_programming #обучение_программированию #аналитика #mvp #javascript
-
От учебной проблемы до 1000 пользователей: как я писал интерактивный учебник по RxJS
История проекта началась в прошлом (2025) году. Я преподаю JavaScript в HTML Academy, и когда мне предложили взять поток начинающих разработчиков по Angular, я согласился. Мы успешно прошли базу, но когда дело дошло до HttpClient и обработки данных, я столкнулся с проблемой: студентам сложно понять Observable и реактивный подход, имея в багаже только промисы. На лекции мне задали резонный вопрос: А где посмотреть актуальные и понятные материалы по RxJS?. Я провел небольшой ресерч и понял, что ниша полупустая: видеокурсы - это долго, документация - сложно, а интерактивной практики почти нет. Так появился мой open-source проект. В этой статье я показываю честную аналитику за 90 дней: как набрать 1000 пользователей без рекламы, почему провалилась моя любимая фича и как пет-проект превращается в полноценный продукт. Смотреть аналитику
https://habr.com/ru/articles/991572/
#rxjs #angular #pet_project #open_source #frontend #reactive_programming #обучение_программированию #аналитика #mvp #javascript
-
Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)
Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI
https://habr.com/ru/articles/974068/
#angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices
-
Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)
Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI
https://habr.com/ru/articles/974068/
#angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices
-
Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)
Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI
https://habr.com/ru/articles/974068/
#angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices
-
I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake. #RxJS #Observables #TC39 #ECMA262
-
I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake.
-
I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake.
-
I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake.
-
I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake.
-
I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake.
-
Học hỏi từ Question 46: Hàm interval(period) tạo Observable phát ra dãy số tăng dần mỗi khoảng thời gian. Khi subscribe, biến đếm từ 0 và setInterval sẽ gửi giá trị mới; khi unsubscribe, timer dừng. #CodingChallenge #JavaScript #Observable #RxJS #LậpTrình #HọcLậpTrình #Tech
https://dev.to/tomivan/coding-challenge-practice-question-46-5ddl
-
Học hỏi từ Question 46: Hàm interval(period) tạo Observable phát ra dãy số tăng dần mỗi khoảng thời gian. Khi subscribe, biến đếm từ 0 và setInterval sẽ gửi giá trị mới; khi unsubscribe, timer dừng. #CodingChallenge #JavaScript #Observable #RxJS #LậpTrình #HọcLậpTrình #Tech
https://dev.to/tomivan/coding-challenge-practice-question-46-5ddl
-
🗺️ New package: `@ngworker/router-signal-store` 17.0.0
An #NgRx SignalStore-based version of `@ngworker/router-component-store` with no #RxJS dependency.
- `RouterSignalStore` shared API for DI
- `provideLocalRouterSignalStore` for local router signal store, a replacement for `ActivatedRoute`
- `provideGlobalRouterSignalStore` for global router signal store, a replacement for NgRx Router Store
- Strong and strict typing
- Serializable router statehttps://github.com/ngworker/router-component-store/releases/tag/router-signal-store-v17.0.0
#OpenSource #Angular -
🗺️ New package: `@ngworker/router-signal-store` 17.0.0
An #NgRx SignalStore-based version of `@ngworker/router-component-store` with no #RxJS dependency.
- `RouterSignalStore` shared API for DI
- `provideLocalRouterSignalStore` for local router signal store, a replacement for `ActivatedRoute`
- `provideGlobalRouterSignalStore` for global router signal store, a replacement for NgRx Router Store
- Strong and strict typing
- Serializable router statehttps://github.com/ngworker/router-component-store/releases/tag/router-signal-store-v17.0.0
#OpenSource #Angular -
🗺️ New package: `@ngworker/router-signal-store` 17.0.0
An #NgRx SignalStore-based version of `@ngworker/router-component-store` with no #RxJS dependency.
- `RouterSignalStore` shared API for DI
- `provideLocalRouterSignalStore` for local router signal store, a replacement for `ActivatedRoute`
- `provideGlobalRouterSignalStore` for global router signal store, a replacement for NgRx Router Store
- Strong and strict typing
- Serializable router statehttps://github.com/ngworker/router-component-store/releases/tag/router-signal-store-v17.0.0
#OpenSource #Angular -
🗺️ New package: `@ngworker/router-signal-store` 17.0.0
An #NgRx SignalStore-based version of `@ngworker/router-component-store` with no #RxJS dependency.
- `RouterSignalStore` shared API for DI
- `provideLocalRouterSignalStore` for local router signal store, a replacement for `ActivatedRoute`
- `provideGlobalRouterSignalStore` for global router signal store, a replacement for NgRx Router Store
- Strong and strict typing
- Serializable router statehttps://github.com/ngworker/router-component-store/releases/tag/router-signal-store-v17.0.0
#OpenSource #Angular -
🗺️ New package: `@ngworker/router-signal-store` 17.0.0
An #NgRx SignalStore-based version of `@ngworker/router-component-store` with no #RxJS dependency.
- `RouterSignalStore` shared API for DI
- `provideLocalRouterSignalStore` for local router signal store, a replacement for `ActivatedRoute`
- `provideGlobalRouterSignalStore` for global router signal store, a replacement for NgRx Router Store
- Strong and strict typing
- Serializable router statehttps://github.com/ngworker/router-component-store/releases/tag/router-signal-store-v17.0.0
#OpenSource #Angular -
Поиск на RxJS и Taiga UI
Привет, Хабр! Я Антон Марченко, разработчик в Т-Банке. Поделюсь интересной задачей по работе с потоками на RxJS, которую мы однажды решали. Представьте HR-портал ИТ-компании, в котором реализован поиск по постам и статьям. Нам предстояло внедрить на сайт несколько внешних поисков: по пользователям, ссылкам и исходникам. А еще предусмотреть скелетоны и обработку ошибок и заложить возможность добавлять новые внешние источники поиска динамически, не дорабатывая каждый раз пользовательский интерфейс.
-
Поиск на RxJS и Taiga UI
Привет, Хабр! Я Антон Марченко, разработчик в Т-Банке. Поделюсь интересной задачей по работе с потоками на RxJS, которую мы однажды решали. Представьте HR-портал ИТ-компании, в котором реализован поиск по постам и статьям. Нам предстояло внедрить на сайт несколько внешних поисков: по пользователям, ссылкам и исходникам. А еще предусмотреть скелетоны и обработку ошибок и заложить возможность добавлять новые внешние источники поиска динамически, не дорабатывая каждый раз пользовательский интерфейс.
-
Поиск на RxJS и Taiga UI
Привет, Хабр! Я Антон Марченко, разработчик в Т-Банке. Поделюсь интересной задачей по работе с потоками на RxJS, которую мы однажды решали. Представьте HR-портал ИТ-компании, в котором реализован поиск по постам и статьям. Нам предстояло внедрить на сайт несколько внешних поисков: по пользователям, ссылкам и исходникам. А еще предусмотреть скелетоны и обработку ошибок и заложить возможность добавлять новые внешние источники поиска динамически, не дорабатывая каждый раз пользовательский интерфейс.
-
Angular Signals + RxJS: объединяем два реактивных мира в одном стейт-менеджере
Angular долгое время ассоциировался с RxJS. Даже слишком: многие разработчики ощущали, что без Observable ничего не работает. Но вот в Angular 17 появляются Signals — синхронная реактивность прямо из коробки. В 17+ — они становятся мейнстримом. Возникает вопрос: а что делать с RxJS? Выбрасывать? Signals и RxJS — не конкуренты, а два мощных инструмента для решения разных задач. И если их правильно сочетать, можно построить удобную, масштабируемую и эффективную архитектуру.
-
Angular Signals + RxJS: объединяем два реактивных мира в одном стейт-менеджере
Angular долгое время ассоциировался с RxJS. Даже слишком: многие разработчики ощущали, что без Observable ничего не работает. Но вот в Angular 17 появляются Signals — синхронная реактивность прямо из коробки. В 17+ — они становятся мейнстримом. Возникает вопрос: а что делать с RxJS? Выбрасывать? Signals и RxJS — не конкуренты, а два мощных инструмента для решения разных задач. И если их правильно сочетать, можно построить удобную, масштабируемую и эффективную архитектуру.
-
Angular Signals + RxJS: объединяем два реактивных мира в одном стейт-менеджере
Angular долгое время ассоциировался с RxJS. Даже слишком: многие разработчики ощущали, что без Observable ничего не работает. Но вот в Angular 17 появляются Signals — синхронная реактивность прямо из коробки. В 17+ — они становятся мейнстримом. Возникает вопрос: а что делать с RxJS? Выбрасывать? Signals и RxJS — не конкуренты, а два мощных инструмента для решения разных задач. И если их правильно сочетать, можно построить удобную, масштабируемую и эффективную архитектуру.
-
Take a look inside observables with Bob Fornal at TechBash 2025.
Join us Nov 4-7 in the Poconos! Learn more and register: https://techbash.com/
#developers #angular #rxjs #javascript #webdev #kalahari #nepa
-
Take a look inside observables with Bob Fornal at TechBash 2025.
Join us Nov 4-7 in the Poconos! Learn more and register: https://techbash.com/
#developers #angular #rxjs #javascript #webdev #kalahari #nepa
-
Take a look inside observables with Bob Fornal at TechBash 2025.
Join us Nov 4-7 in the Poconos! Learn more and register: https://techbash.com/
#developers #angular #rxjs #javascript #webdev #kalahari #nepa
-
Take a look inside observables with Bob Fornal at TechBash 2025.
Join us Nov 4-7 in the Poconos! Learn more and register: https://techbash.com/
#developers #angular #rxjs #javascript #webdev #kalahari #nepa
-
Take a look inside observables with Bob Fornal at TechBash 2025.
Join us Nov 4-7 in the Poconos! Learn more and register: https://techbash.com/
#developers #angular #rxjs #javascript #webdev #kalahari #nepa
-
От магии до понятной структуры: разбираемся, как работает Change Detection в Angular
В Angular любое изменение в компоненте, которое отображается на экране, является результатом работы механизма отслеживания изменений (Change Detection, CD). За этим процессом стоит Zone.js, который можно представить в роли дирижера, сообщающего компонентам о необходимости обновить DOM. Zone.js не запускает CD сам. Он лишь создает контекст, в котором Angular потом может его запустить. Его задача только уведомлять Angular о завершении асинхронных операций, после чего Angular решает, нужно ли проверять изменения. Чтобы понять важность такого подхода, нужно учитывать особенности JavaScript. В JavaScript асинхронные операции, такие как setTimeout или fetch, разрывают стек вызовов. Это значит, что callback-функция, выполняемая после завершения асинхронной операции, не имеет информации о контексте, в котором она была вызвана. Для фреймворка, который отслеживает изменения, это создает определенные трудности: как узнать, что асинхронная операция завершилась и, возможно, изменила данные? Заглянуть под капот
https://habr.com/ru/articles/925260/
#Angular #Change_Detection #Zonejs #Zoneless #Angular_Signals #Производительность #Оптимизация #RxJS #Архитектура #javascript
-
От магии до понятной структуры: разбираемся, как работает Change Detection в Angular
В Angular любое изменение в компоненте, которое отображается на экране, является результатом работы механизма отслеживания изменений (Change Detection, CD). За этим процессом стоит Zone.js, который можно представить в роли дирижера, сообщающего компонентам о необходимости обновить DOM. Zone.js не запускает CD сам. Он лишь создает контекст, в котором Angular потом может его запустить. Его задача только уведомлять Angular о завершении асинхронных операций, после чего Angular решает, нужно ли проверять изменения. Чтобы понять важность такого подхода, нужно учитывать особенности JavaScript. В JavaScript асинхронные операции, такие как setTimeout или fetch, разрывают стек вызовов. Это значит, что callback-функция, выполняемая после завершения асинхронной операции, не имеет информации о контексте, в котором она была вызвана. Для фреймворка, который отслеживает изменения, это создает определенные трудности: как узнать, что асинхронная операция завершилась и, возможно, изменила данные? Заглянуть под капот
https://habr.com/ru/articles/925260/
#Angular #Change_Detection #Zonejs #Zoneless #Angular_Signals #Производительность #Оптимизация #RxJS #Архитектура #javascript