Вашему вниманию представляется react-redux-cache (RRC) - легковесная библиотека для загрузки и кэширования данных в React приложениях, которая поддерживает нормализацию, в отличие от React Query и RTK Query, при этом имеет похожий, но очень простой интерфейс. Построена на базе Redux, покрыта тестами, полностью типизирована и написана на Typescript.RRC можно рассматривать как ApolloClient для протоколов, отличных от GraphQL (хотя теоретически и для него тоже), но с хранилищем Redux - с возможнос…
Хотелось бы рассказать, как я использую @tanstack/react-query в своих проектах при построении архитектуры приложения.Все приложения, которые в той или иной мере имеют связь с сервером требуют выполнение стандартного набора действий: 1. Загружать данные; 2. Хранить эти данные; 3. Информировать о том что идет загрузка; 4. Информировать о том что произошла ошибка;Давайте создадим базовый набор компонентов, методов, типов для построения такого приложения.ИнфраструктураБудем считать, что у нашего…
Всем привет!Я – Дарья Касьяненко, эксперт и преподаватель курсов по Python в Центре непрерывного образования факультета компьютерных наук НИУ ВШЭ.Фронтенд — это то, что видит и с чем взаимодействует каждый пользователь интернета, но как он работает на самом деле?Не так давно мой коллега Андрей Сухов, Frontend-разработчик Evocargo и эксперт Центра непрерывного образования ФКН, провел вебинар «Как работает фронтенд: от загрузки сайта до современных инструментов».На вебинаре слушатели узнали, что …
Полгода я тратил свободное от учёбы и работы время на свой проект, который не принес мне ничего, кроме опыта.В этой статье я расскажу о своём пути в IT, идее стартапа, процессе разработки и совершённых ошибках.количество переходов на лендинг после релизаДисклеймер: статья написана автором блога «POV startup» на основе интервью с Егором Токаревым, создателем cubicdone.Знакомство с ITВ 12 лет мама отправила меня на кружок веб‑дизайна. Мне там понравилось. За первый год я выучил HTML, а CSS мне по…
Поводом для данной заметки стали несколько обстоятельств. Негативный опыт на одном проекте, и следующий спич в одном из докладов по ТС 2023 года: "Так когда же использовать any? Никогда. Шучу, конечно. Если идет портирование или при разработке дженериков можно" - за точность уже отвечать не могу, но смысл примерно такой. А так же заявления некоторых команд в духе: "У нас отличный проект. У нас нет any"Так как относиться неискушенному разработчику к any?ДокументацияПервым делом о…
Список неочевидных, но при этом полезных хаков, которые позволят использовать отладчик вашего браузера1 более полноценно. Для понимания материала статьи потребуется как минимум средний уровень владения инструментами разработчика. ▍ Содержание Продвинутые условные точки останова Точки логирования/трассировки Панель наблюдения Трассировка стеков вызовов Изменение поведения программы Быстрый и грубый способ профилирования производительности Использование арности функций Остановка на основе …
Привет! Меня зовут Данила, я фронтенд-тимлид в KTS.В этой статье я поделюсь с вами нашим опытом внедрения автотестов на одном из боевых проектов. Расскажу, с какими задачами мы столкнулись, почему решили взяться за автотестирование и какие результаты это принесло.Оглавление:Немного о проектеКакие тесты будем писатьПочему PlaywrightСетапУстановкаМоки ответов запросовSingle Page ApplicationServer Side RenderingContinuous IntegrationПлюсыМинусыНемного о проектеЭто server-side render приложение, на…
Привет, Хабр! Меня зовут Александр, я разработчик NodeJS в SimbirSoft. Я 7 лет занимаюсь разработкой, и могу утверждать, что в процессе получения опыта работа специалиста становится все более творческой. Мы не просто стремимся заставить ПО работать нужным заказчику образом, а стараемся сделать все его части элегантными, производительными и легко поддерживаемыми. Язык программирования, являясь нашим главным инструментом, не статичен и постоянно развивается. Какие-то его части устаревают и отмира…
Для некоторых задач, связанных с обновлением данных в реальном времени — например, новостные ленты, уведомления или поток чата, можно обойтись без сложных двусторонних протоколов, как WebSocket. Мы можем использовать простой механизм передачи данных от сервера к клиенту через HTTP, который часто оказывается удобнее и эффективнее в настройке для однонаправленного обмена данными.Как это работает?Клиент открывает постоянное HTTP-соединение с сервером. Сервер же периодически отправляет данные по ме…