Как настроить общее рабочее пространство для команды без запуска сборки в watch-режиме и ожидания старта dev-сервера, чтобы подхватить изменения? Для этого нужно удобным для всех образом настроить переиспользование кода внутри монорепы.Поможет нам в этом Андрей Кочеров, старший разработчик интерфейсов в Яндекс Такси и техлид фронтэнд команды партнёрских продуктов. Он расскажет как сделать готовый к работе репозиторий сразу после чекаута, на основе методологии Trunk Based Development.ПроектыКом…
Управление глобальным состояниемВ прошлой части мы рассмотрели методологии оптимизации и реюзабельности логики, а также подход к роутингу каждого фреймворка. Однако давайте теперь переключим наше внимание на другой важный аспект – управление глобальным состоянием. В этом разделе на примере Angular, React и Vue мы рассмотрим уникальные стратегии, используемые этими фреймворками для работы с глобальными состояниями. По мере изучения этих подходов мы узнаем, как разработчики эффективно решают сло…
JavaScript — это мощный язык, который является частью фундамента интернета. У этого мощного языка также есть некоторые свои особенности. Например, знаете ли вы, что значение 0 === -0 равно true, или что Number("") дает 0? Дело в том, что иногда эти причуды могут заставить вас почесать в затылке или даже задаться вопросом, был ли Брендан Эйч под кайфом в тот день, когда он изобретал JavaScript. Что ж, дело здесь не в том, что JavaScript — плохой язык программирования или он — зло, как…
Привет, Хабр!Меня зовут Илья, я frontend-разработчик SimbirSoft. Долгое время вопрос изучения алгоритмов был холиварным. Со временем я убедился, что ни одно современное собеседование в крупную компанию не обходится без вопросов про алгоритмы, и в последний год их всё больше.Даже если ты frontend-разработчик и решаешь прикладные задачи, тебе в любом случае придётся знать алгоритмы хотя бы на базовом уровне. Но статей на русском с объяснением алгоритмов и тем, как их реализовать на JavaScript, к…
Что может быть хуже чем плохой интернет ? Плохой интернет, когда нужно загрузить картинку весом как чугунный мост. В эпоху очень быстрого интернета мы стали забывать о том, что в некоторых локациях нашего мира нет хорошей сети (например, когда вы едете в поезде по нашей необъятной стране). Эту проблему довольно хорошо решают Service Workers, о которых я вам сейчас расскажу.Что такое Service Workers ?Service Workers - worker, который создает отдельный и изолированный контекст выполнения, работа…
Кодировка (encoding) и декодирование (decoding) в Base64 — распространенный способ преобразования двоичных данных в безопасный текст. Он часто используется в Data URL, таких как встроенные (inline) изображения. Прим. пер.: с помощью data URL можно решить проблему (ошибку) отсутствующей фавиконки в браузере. <link rel="icon" href="data:." /> Что происходит при кодировке и декодировании в base64 строк в JS? В этой статье мы рассмотрим некоторые особенности и ловушки, связ…
это типа супСтатья посвящается конкретно Redux+Saga+Typescript. Практика, которую я видел в разных коммерческих проектах, и с которой до сих пор сталкиваюсь. redux + saga уже является дедовским методом ( из за большой шаблонности кода - бойлерплейта ) , потому что сейчас актуальнее redux-toolkit с RTK query или effector, кому то может и mobx :) . Следующим постом я бы хотел переписать имеющийся код на FSD архитектуру с redux-toolkit + RTK query и разобрать отличия.ПредисловиеВ этой статье буде…
ВведениеВ данной статье будет рассмотрен паттерн CustomSwitch, который может быть использован в различных ситуациях и программных языках. В данном случае мы реализуем CustomSwitch на языке программирования JavaScript. Однако, стоит помнить, что это далеко не единственный возможный язык для его реализации. ИспользованиеПервый скриншот демонстрирует код игрового движка. На втором примере, я приведу код автора и свой код, в котором используется паттерн CustomSwitch. Код автора: nextPosition(initi…
Моя работа состоит в написании кода на React. Несмотря на то, что мне нравится React, при разработке на нем я столкнулся с некоторыми его недостатками. В связи с этим, я решил создать свою библиотеку, Fusor, чтобы исправить эти недостатки и вот что из этого получилось.Нашел один фатальный недостаток и решил запилить своё с блэкджеком...Не люблю лишних разговоров поэтому перейду ближе к телу наших подопытных.Разделяй и властвуйОн же принцип единой ответственности (single-responsibility principl…