жтож, первое уведомление о начале стрима! 
Начинаю через 20 мин. Залетаем -> twitch
Начинаю через 20 мин. Залетаем -> twitch
🥰1
  Сегодня будет проходить трансляция MoscowJS. Думаю попробовать глянуть на стриме, если ютуб конечно позволит. Начало в 19:00. Всем рад)
UPD: ребята подготовили трансляцию и в вк. Это мы смотрим!
Twitch
UPD: ребята подготовили трансляцию и в вк. Это мы смотрим!
Twitch
🔥2❤🔥1
  Завалил все дедлайны по покупке билетов на IT пикник и попасть на мероприятие не получилось. А это значит, что сегодня стрим будет. Начнем как обычно, часов в 10. Будем делать mvp маркетплейса!
Twitch
Twitch
❤🔥1🔥1
  Сегодня на стриме сначала глянем трансляцию MoscowCSS, а потом продолжим делать mvp маркетплейса на ангуляре. Начнем в 19:00.
Twitch
Twitch
👍3
  Через пару часов думаю запустить стримчанский. Будем работать с мультиязычным приложением конечно же на angular.
Twitch
Twitch
❤🔥5❤1
  ❤🔥1🔥1💘1
  1❤2❤🔥2🍓1
  Стрим! Сначала глянем Q/A сессию от команды ангуляра, а потом покопаемся с кодом для динамических фильтров
Twitch
Twitch
❤🔥1
  Жтож, всем привет! Давно меня не было онлайн, пора вырываться из осенней хандры. Сегодня отличный повод, вышел новый 19 angular. Бегу смотреть!
Twitch
Twitch
👍3👏3🔥2
  ❤3
  Есть идея постить в этот канал не только посты с анонсами стримов, но и какой-то более менее полезный контент. Тадаам, встречаем первый такой пост)
🔥4❤2
  RxJS без боли: интерактивные ресурсы для изучения потоков и операторов
RxJS — библиотека, которая разделяет жизнь фронтендера на "до" и "после". Когда в голове укладывается реактивная парадигма программирования, обратного пути уже нет. Логика приложения превращается в реактивные потоки, ты жонглируешь операторами и создаешь код, который кажется почти магией.
RxJS открывает перед разработчиком невероятные возможности, но требует времени на освоение. Новая ментальная модель и разнообразие операторов могут сначала показаться сложными. Но стоит приложить усилия, как ты начнёшь писать действительно крутой декларативный код — и результат того стоит!
Занимаясь менторингом и обучая реактивному программированию, я заметил, что самый эффективный подход — это не просто объяснять, но и показывать наглядно. Поэтому я собрал для вас подборку сайтов, которые визуализируют потоки.
🔗 RxMarbles / RxMarbles(updated)
🔍 Что это?
Визуальная энциклопедия операторов RxJS.
📚 Что даёт?
Наглядно показывает, как операторы преобразуют потоки. Например, как работает mergeMap или concat.
🎯 Почему полезно?
Если ты не понимаешь, как работает конкретный оператор, просто посмотри, как он обрабатывает "шарики" данных.
🔗 RxViz
🔍 Что это?
Интерактивный playground для написания и визуализации RxJS-кода.
📚 Что даёт?
Позволяет создавать цепочки операторов и тут же видеть, как они преобразуют данные.
🎯 Почему полезно?
Прямо в браузере ты можешь протестировать идею и быстро отладить цепочку операторов.
🔗 ThinkRx
🔍 Что это?
Ещё один интерактивный playground для изучения и визуализации RxJS-кода.
📚 Что даёт?
Позволяет экспериментировать с реактивным кодом, создавать марбл-диаграммы и сохранять их как изображения.
🎯 Почему полезно?
Включает множество примеров реактивного кода и визуальных сравнений похожих операторов, таких как switchMap, mergeMap и concatMap.
🔗 Higher-Order Observables Operators Playground
🔍 Что это?
Обзор higher-order observables операторов с визуальными примерами.
📚 Что даёт?
Позволяет выбрать оператор, посмотреть код и графики потоков, а также ставить потоки на паузу для изучения текущего состояния.
🎯 Почему полезно?
Это идеальный ресурс для тех, кто хочет углубиться в работу операторов вроде switchMap или exhaustMap.
🔗 SoftwareMill RxJS Playground
🔍 Что это?
Интерактивный набор 3D демо-проектов для изучения концепций RxJS. Потоки изображены в виде конвейеров, а данные — в виде двигающихся фигур.
📚 Что даёт?
Содержит готовые примеры с объяснениями. Можно создавать свои конвейеры и добавлять к ним различные операторы.
🎯 Почему полезно?
Максимально визуализирует движение данных в реактивных потоках, делая абстрактные концепции более понятными.
Эти ресурсы помогут не просто выучить RxJS, но и понять его философию. Переходи по ссылкам и практикуйся!
@summon_the_coder
#RxJS #Angular #ReactiveProgramming
RxJS — библиотека, которая разделяет жизнь фронтендера на "до" и "после". Когда в голове укладывается реактивная парадигма программирования, обратного пути уже нет. Логика приложения превращается в реактивные потоки, ты жонглируешь операторами и создаешь код, который кажется почти магией.
RxJS открывает перед разработчиком невероятные возможности, но требует времени на освоение. Новая ментальная модель и разнообразие операторов могут сначала показаться сложными. Но стоит приложить усилия, как ты начнёшь писать действительно крутой декларативный код — и результат того стоит!
Занимаясь менторингом и обучая реактивному программированию, я заметил, что самый эффективный подход — это не просто объяснять, но и показывать наглядно. Поэтому я собрал для вас подборку сайтов, которые визуализируют потоки.
🔗 RxMarbles / RxMarbles(updated)
🔍 Что это?
Визуальная энциклопедия операторов RxJS.
📚 Что даёт?
Наглядно показывает, как операторы преобразуют потоки. Например, как работает mergeMap или concat.
🎯 Почему полезно?
Если ты не понимаешь, как работает конкретный оператор, просто посмотри, как он обрабатывает "шарики" данных.
🔗 RxViz
🔍 Что это?
Интерактивный playground для написания и визуализации RxJS-кода.
📚 Что даёт?
Позволяет создавать цепочки операторов и тут же видеть, как они преобразуют данные.
🎯 Почему полезно?
Прямо в браузере ты можешь протестировать идею и быстро отладить цепочку операторов.
🔗 ThinkRx
🔍 Что это?
Ещё один интерактивный playground для изучения и визуализации RxJS-кода.
📚 Что даёт?
Позволяет экспериментировать с реактивным кодом, создавать марбл-диаграммы и сохранять их как изображения.
🎯 Почему полезно?
Включает множество примеров реактивного кода и визуальных сравнений похожих операторов, таких как switchMap, mergeMap и concatMap.
🔗 Higher-Order Observables Operators Playground
🔍 Что это?
Обзор higher-order observables операторов с визуальными примерами.
📚 Что даёт?
Позволяет выбрать оператор, посмотреть код и графики потоков, а также ставить потоки на паузу для изучения текущего состояния.
🎯 Почему полезно?
Это идеальный ресурс для тех, кто хочет углубиться в работу операторов вроде switchMap или exhaustMap.
🔗 SoftwareMill RxJS Playground
🔍 Что это?
Интерактивный набор 3D демо-проектов для изучения концепций RxJS. Потоки изображены в виде конвейеров, а данные — в виде двигающихся фигур.
📚 Что даёт?
Содержит готовые примеры с объяснениями. Можно создавать свои конвейеры и добавлять к ним различные операторы.
🎯 Почему полезно?
Максимально визуализирует движение данных в реактивных потоках, делая абстрактные концепции более понятными.
Эти ресурсы помогут не просто выучить RxJS, но и понять его философию. Переходи по ссылкам и практикуйся!
@summon_the_coder
#RxJS #Angular #ReactiveProgramming
1🔥14👍8🍌5❤4❤🔥2
  Музыкальный RxJS или как обрабатывать события правильно
Higher-order observables — тема безумно интересная и глубокая, но в то же время вызывающая наибольшее непонимание у разработчиков, которые только изучают RxJS. Существует множество способов объяснить, как работают операторы
Представьте, что у вас есть приложение с «реактивным» музыкальным плеером, и по клику на кнопки можно переключать музыку. Каждая кнопка — это отдельный higher-order observable оператор. Как же будет происходить переключение музыки при клике на эти кнопки?
🎶
Если поступает новый клик, текущий трек немедленно останавливается, и начинается новый. Этот оператор повторяет поведение настоящего музыкального плеера, где треки сменяются сразу по нажатию кнопки.
Реальные примеры:
- Когда пользователь вводит текст в строку поиска, приложение отправляет запрос на сервер. Если пользователь продолжает вводить текст, предыдущие запросы отменяются, чтобы не загружать неактуальные данные.
- На странице каталога товаров пользователь может изменять фильтры, и данные обновляются на основе новых параметров.
🎶
Каждый клик запускает новый трек независимо от других, не дожидаясь завершения предыдущего. В итоге все треки играют одновременно, создавая хаотичное наложение.
Реальные примеры:
- Получение уведомлений одновременно из нескольких источников (например, чата и системы оповещений).
- Загрузка данных пользователя и связанных с ним заказов одновременно, чтобы быстрее отобразить информацию.
🎶
Этот оператор идеален для терпеливых слушателей. При новом клике он дождется, пока текущая песня доиграет до конца, и только потом включит следующую.
Реальные примеры:
- Отправка формы, а затем запуск загрузки данных, связанных с результатом её обработки.
- Обработка очереди задач (например, отправка файлов) и показ уведомлений о завершении каждой задачи.
🎶
Оператор идеально подходит для строгого контроля воспроизведения. Если трек уже играет, любые новые клики полностью игнорируются до тех пор, пока текущий трек не закончится. Это как если бы плеер говорил: «Подожди, я занят. Дождись окончания трека, и только потом я приму новую команду».
Реальные примеры:
- Когда пользователь отправляет форму, и нужно игнорировать повторные нажатия кнопки, пока форма не будет отправлена.
- Пользователь вводит одноразовый код, и пока сервер его проверяет, новые попытки игнорируются.
Итак, какой оператор выбрать?
@summon_the_coder
#RxJS #Angular #ReactiveProgramming
Higher-order observables — тема безумно интересная и глубокая, но в то же время вызывающая наибольшее непонимание у разработчиков, которые только изучают RxJS. Существует множество способов объяснить, как работают операторы
switchMap, concatMap, mergeMap и exhaustMap: можно сравнивать их с потоками воды, конвейерами, очередями заказов и многими другими вещами. Но, на мой взгляд, лучшая аналогия была приведена в телеграм группе по RxJS. Я немного доработал её и вот как она звучит.Представьте, что у вас есть приложение с «реактивным» музыкальным плеером, и по клику на кнопки можно переключать музыку. Каждая кнопка — это отдельный higher-order observable оператор. Как же будет происходить переключение музыки при клике на эти кнопки?
🎶
switchMapЕсли поступает новый клик, текущий трек немедленно останавливается, и начинается новый. Этот оператор повторяет поведение настоящего музыкального плеера, где треки сменяются сразу по нажатию кнопки.
Реальные примеры:
- Когда пользователь вводит текст в строку поиска, приложение отправляет запрос на сервер. Если пользователь продолжает вводить текст, предыдущие запросы отменяются, чтобы не загружать неактуальные данные.
- На странице каталога товаров пользователь может изменять фильтры, и данные обновляются на основе новых параметров.
🎶
mergeMapКаждый клик запускает новый трек независимо от других, не дожидаясь завершения предыдущего. В итоге все треки играют одновременно, создавая хаотичное наложение.
Реальные примеры:
- Получение уведомлений одновременно из нескольких источников (например, чата и системы оповещений).
- Загрузка данных пользователя и связанных с ним заказов одновременно, чтобы быстрее отобразить информацию.
🎶
concatMapЭтот оператор идеален для терпеливых слушателей. При новом клике он дождется, пока текущая песня доиграет до конца, и только потом включит следующую.
Реальные примеры:
- Отправка формы, а затем запуск загрузки данных, связанных с результатом её обработки.
- Обработка очереди задач (например, отправка файлов) и показ уведомлений о завершении каждой задачи.
🎶
exhaustMapОператор идеально подходит для строгого контроля воспроизведения. Если трек уже играет, любые новые клики полностью игнорируются до тех пор, пока текущий трек не закончится. Это как если бы плеер говорил: «Подожди, я занят. Дождись окончания трека, и только потом я приму новую команду».
Реальные примеры:
- Когда пользователь отправляет форму, и нужно игнорировать повторные нажатия кнопки, пока форма не будет отправлена.
- Пользователь вводит одноразовый код, и пока сервер его проверяет, новые попытки игнорируются.
Итак, какой оператор выбрать?
mergeMap - если операции могут выполняться одновременно.switchMap - для отмены предыдущих действий при новом событии.concatMap - когда нужно выполнять операции строго по порядку.exhaustMap - для защиты от лишних запусков во время выполнения.@summon_the_coder
#RxJS #Angular #ReactiveProgramming
1👍24🔥9😱3👨💻1🤝1