#посмотреть
▪️Базовые концепции Redux
▪️Пример на чистом Redux Reducer
▪️Иммутабельность
▪️Как реализована подписка на Redux
▪️Подключаем React-redux
▪️Как работает useSelector
▪️Правила использования селекторов
▪️Практика работы с селекторами
▪️Разделяем redux на части
▪️combineReducers
▪️Основы Архитектуры
▪️Как разделять store
▪️Практика, разделяем стор на слайсы
▪️Практика createReducer, createAction
▪️Как работает immer
▪️Практика createSlice
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11🗿5👍2
#посмотреть
Представьте, что у вас стоит задача в минимальные сроки сделать приложение на Android практически полностью без знаний оного. Оказывается, что подход Kotlin + Jetpack Сompose очень похож на то, что предлагают React и Typescript.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔2🔥1
Инструменты для анализа производительности сайта
#почитать
Речь пойдет об инструментах, с помощью которых можно проанализировать качество спроектированного front-end разработчиком сайта. В качестве наглядного материала используется проект, реализованный на базе Next.js 14-й версии с app router.
⏱ Читать
#почитать
Речь пойдет об инструментах, с помощью которых можно проанализировать качество спроектированного front-end разработчиком сайта. В качестве наглядного материала используется проект, реализованный на базе Next.js 14-й версии с app router.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Как уменьшить боль от this в классах javascript
#почитать
На службе была поставлена задача подготовить и передать клиенту js-библиотеку, которая состояла из несколько классов. Каких-то особых трудностей не ожидалось, поскольку библиотека использовалась в нашей конторе уже не один год и была тщательно оттестирована.
Я «причесал» код, перенёс захардкоженные значения и магические числа, которые неизбежно накапливаются в программе при выполнении «очень срочных и важных заданий», в аргументы методов и переменные классов, отредактировал и дополнил документирующие комментарии и уже собирался отправлять пакет клиенту.
Но одна вещь останавливала меня — часть методов ключевого класса для обращения к другим свойствам и функциям своего класса использовала this. Кайл Симпсон удачно назвал такие методы this-aware functions. И неправильный вызов этих функций мог создать проблемы для разработчиков клиента.
⏱ Читать
#почитать
На службе была поставлена задача подготовить и передать клиенту js-библиотеку, которая состояла из несколько классов. Каких-то особых трудностей не ожидалось, поскольку библиотека использовалась в нашей конторе уже не один год и была тщательно оттестирована.
Я «причесал» код, перенёс захардкоженные значения и магические числа, которые неизбежно накапливаются в программе при выполнении «очень срочных и важных заданий», в аргументы методов и переменные классов, отредактировал и дополнил документирующие комментарии и уже собирался отправлять пакет клиенту.
Но одна вещь останавливала меня — часть методов ключевого класса для обращения к другим свойствам и функциям своего класса использовала this. Кайл Симпсон удачно назвал такие методы this-aware functions. И неправильный вызов этих функций мог создать проблемы для разработчиков клиента.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В России можно посещать бесплатные IT-мероприятия хоть каждый день: как оффлайн, так и онлайн.
Чтобы не пропустить полезные — сохраните канал @FreeItEvent.
Анонсы вебинаров, хакатонов, конференций, мастер-классов и других событий в IT. Ивенты от гигантов индустрии и лучших специалистов по разработке, аналитике и кибербезопасности.
Всё публикуют здесь.
Чтобы не пропустить полезные — сохраните канал @FreeItEvent.
Анонсы вебинаров, хакатонов, конференций, мастер-классов и других событий в IT. Ивенты от гигантов индустрии и лучших специалистов по разработке, аналитике и кибербезопасности.
Всё публикуют здесь.
👍7❤2🔥2
Гиф в 2025 году
#почитать
Вам нужно автовоспроизводящееся зацикленное видео без звука? В разговорной речи именно такое значение имеет слово «гифка». Слово прижилось, но сам формат изображения уже древний и устаревший. Существует множество способов добиться такого результата, но ясно одно: больше нет причин использовать громоздкий формат .gif.
⏱ Читать
#почитать
Вам нужно автовоспроизводящееся зацикленное видео без звука? В разговорной речи именно такое значение имеет слово «гифка». Слово прижилось, но сам формат изображения уже древний и устаревший. Существует множество способов добиться такого результата, но ясно одно: больше нет причин использовать громоздкий формат .gif.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Безопасное взаимодействие с API: от ошибок к стабильности
#почитать
Каждый frontend-разработчик сталкивался с ошибкой вида TypeError: Cannot read property 'name' of undefined. Это часть целого класса ошибок в JavaScript, возникающих из-за несоответствия фактического формата данных ожидаемому. Расскажу, как избавиться от подобных проблем и добиться стабильности, внедрив три ключевых шага: API-слой, Backend-for-Frontend (BFF) и проверку с помощью Zod.
⏱ Читать статью
#почитать
Каждый frontend-разработчик сталкивался с ошибкой вида TypeError: Cannot read property 'name' of undefined. Это часть целого класса ошибок в JavaScript, возникающих из-за несоответствия фактического формата данных ожидаемому. Расскажу, как избавиться от подобных проблем и добиться стабильности, внедрив три ключевых шага: API-слой, Backend-for-Frontend (BFF) и проверку с помощью Zod.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Popover = hint
#почитать
API Popover, представленный в Chrome 114, позволяет создавать доступные плавающие пользовательские интерфейсы, такие как меню и всплывающие подсказки. По умолчанию popover="auto" управляет функциями отключения лёгкого закрытия и управления фокусом, не требуя дополнительных сценариев, как описано в разделе Знакомство с API Popover. При открытии поповера с popover="auto" все остальные безпредковые поповеры с popover="auto" будут закрыты, что обеспечивает эргономичность API, который делает наиболее разумные вещи.
⏱ Читать статью
#почитать
API Popover, представленный в Chrome 114, позволяет создавать доступные плавающие пользовательские интерфейсы, такие как меню и всплывающие подсказки. По умолчанию popover="auto" управляет функциями отключения лёгкого закрытия и управления фокусом, не требуя дополнительных сценариев, как описано в разделе Знакомство с API Popover. При открытии поповера с popover="auto" все остальные безпредковые поповеры с popover="auto" будут закрыты, что обеспечивает эргономичность API, который делает наиболее разумные вещи.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
👑 Кто работает PM — тот в цирке не смеется 🤡
Наша пятничная рекомендация — канал с PM юмором.
Мы работаем в тестировании и уже не смеемся. Но если вас можно рассмешить — welcome в PM Юмор
P.S. Хороших выходных!
Наша пятничная рекомендация — канал с PM юмором.
Мы работаем в тестировании и уже не смеемся. Но если вас можно рассмешить — welcome в PM Юмор
P.S. Хороших выходных!
🔥8👍1
Node.js — асинхронность по умолчанию
#почитать
Среда Node.js асинхронна по своей природе и эта особенность, позволяет реализовывать приложения с высокой степенью параллелизма, способных обрабатывать множество запросов одновременно. Весь этот параллелизм, однопоточен, а значит не будет возникать проблем с отладкой и синхронизацией, множества исполняемых потоков. Таким образом мы получаем параллелизм, присущий другим языкам (Java, C#), но никак не можем угодить в состояние гонки (race condition), так как вся работа происходит в одном потоке. И при этом, среда Node.js крайне экономна в вопросе оперативной памяти!
⏱ Читать статью
#почитать
Среда Node.js асинхронна по своей природе и эта особенность, позволяет реализовывать приложения с высокой степенью параллелизма, способных обрабатывать множество запросов одновременно. Весь этот параллелизм, однопоточен, а значит не будет возникать проблем с отладкой и синхронизацией, множества исполняемых потоков. Таким образом мы получаем параллелизм, присущий другим языкам (Java, C#), но никак не можем угодить в состояние гонки (race condition), так как вся работа происходит в одном потоке. И при этом, среда Node.js крайне экономна в вопросе оперативной памяти!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
Все говорят, что работы в айти стало меньше...
На самом деле, работы полно. Мы подготовили 7 правильных каналов с вакансиями для тестировщиков, аналитиков, проджект-менеджеров и программистов.
В чем фишка этих каналов?
— зарплатная вилка🍴во всех вакансиях
— еженедельные подборки стажировок для начинающих — как здесь (для QA), здесь (для PM) и здесь (для BA&SA)
— быстрый телеграм/email контакт для прямой связи с рекрутером
— удобная навигация по уровням/условиям работы/направлениям тестирования
▪️QA Jobs — работа для тестировщика
▪️PM Jobs — работа для Project и Product менеджера
▪️BA & SA Jobs — работа для бизнес- и системых аналитиков
▪️C# & .NET Jobs — работа для C# инженеров
▪️DS&ML Jobs — работа для DS инженеров
▪️PHP Jobs — работа для PHP разработчиков
▪️JAVA Jobs — работа для Java разработчиков
Подписаться на все каналы сразу
На самом деле, работы полно. Мы подготовили 7 правильных каналов с вакансиями для тестировщиков, аналитиков, проджект-менеджеров и программистов.
В чем фишка этих каналов?
— зарплатная вилка🍴во всех вакансиях
— еженедельные подборки стажировок для начинающих — как здесь (для QA), здесь (для PM) и здесь (для BA&SA)
— быстрый телеграм/email контакт для прямой связи с рекрутером
— удобная навигация по уровням/условиям работы/направлениям тестирования
▪️QA Jobs — работа для тестировщика
▪️PM Jobs — работа для Project и Product менеджера
▪️BA & SA Jobs — работа для бизнес- и системых аналитиков
▪️C# & .NET Jobs — работа для C# инженеров
▪️DS&ML Jobs — работа для DS инженеров
▪️PHP Jobs — работа для PHP разработчиков
▪️JAVA Jobs — работа для Java разработчиков
Подписаться на все каналы сразу
👍6🔥1