В двух словах: интернационализация — это не только перевод текста. Она включает в себя форматирование дат, правильное образование множественного числа, сортировку имен и многое другое с учетом конкретных локалей. Вместо тяжелых сторонних библиотек современный JavaScript предлагает Intl API — мощный встроенный инструмент для работы с i18n. Еще одно напоминание о том, что веб действительно глобален.Существует распространенное заблуждение, что интернационализация (i18n) сводится лишь к переводу ин…
Просто хочу строить свой DOM из своих кирпичей.С преферансом и поэтессами...И, если уж на то пошло, может быть что‑то типа: «раз пошла такая пъянка...»Думаю некторые понимают, что так можно, но — повторение мать учения, и, то есть, никто не мешает и не мешал делать не так, как все привыкли, не брать чей‑то готовый код, и не оставаться в рамках ограничений, наложенных кем‑то на что‑то «просто потому что».Что мне это даст:мне больше не нужны подписки, могу просто знать, что какое‑то свойство изме…
В этой серии статей мы отправимся в путешествие по миру пользовательских хуков React, открывая для себя их огромный потенциал для улучшения ваших проектов разработки. Сегодня мы сосредоточимся на хуке "useStorage", одном из многих тщательно разработанных хуков, доступных в коллекции пользовательских хуков React.Github: https://github.com/sergeyleschev/react-custom-hooks import { useCallback, useState, useEffect } from "react" export function useLocalStorage(key, defaultValue)…
Однажды на собеседовании мне предложили решить одну интересную задачу, которая для меня была довольно необычной на тот момент. Позже я обнаружил, что задача была не особо уникальной, но с высоты моего опыта тогда, она показалась довольно будоражащей.Условие задачиСоздайте класс EventEmitter, который позволяет:подписываться на события (on) с любым количеством функций на одно событие;отписываться от конкретной функции (off), даже если функция анонимная;вызывать все функции для события (emit) с пе…
Привет! Я — Александр Дудукало, автор базового курса по JavaScript. В этой статье мы продолжим изучение работы с данными в JavaScript. Если в прошлом материале мы говорили о массивах, то теперь пришло время познакомиться с объектами. Я расскажу, как они помогают эффективно организовать и обрабатывать связанные данные. Подробности под катом!ОбъектыЧем больше пишешь код и создаешь переменных, тем яснее проявляется некая закономерность: переменные, как бы то ни было, начинают группироваться по опр…
Собеседования в FAANG-компаниях (или MAANG/MANGA — кому как ближе) давно стали отдельным жанром. Если вы уже пытались попасть в Big Tech — то знаете, насколько сильно отличается их подход: чёткая структура, множество этапов собеседования, критерии оценки кандидатов и даже особенная культура коммуникации. При этом есть схожие моменты, которые вы встретите везде, и уникальные штуки, о которых лучше знать заранее.В этой статье разберёмся в нюансах и сравним, как устроены интервью в международные I…
1. Host Tree 2. Host Instances 3. Renderers 4. React Elements 5. Entry Point 6. Reconciliation 7. ConditionsБольшинство руководств представляют React как библиотеку пользовательского интерфейса. Это имеет смысл, потому что React — это библиотека пользовательского интерфейса. Это буквально то, что говорит слоган!Это глубокое погружение — это пост, который не подходит для новичков. В этом посте я описываю большую часть модели программирования React с первых принципов. Я не объясняю, как его испол…
В разработке админок часто приходится делать одно и то же: формы, списки, фильтры, CRUD. Admiral решает эту проблему, предоставляя мощный фреймворк для React, с которым можно быстро собирать административные интерфейсы на готовых паттернах и с гибкой настройкой.Недавно нам нужно было добавить чат в админку одного из проектов. Забавно, но решения вроде Jivo или LiveChat мы даже не рассматривали. Так были уверены, что сможем без проблем собрать кастомный чат прямо внутри Admiral.Эксперимент завер…
Привет! Сегодня хочу поделиться с тобой опытом перехода от Feature-Sliced Design к Clean Architecture во фронтенде. Почему я считаю Clean Architecture более подходящей для сложных приложений, и как она решает проблемы, с которыми ты точно сталкивался.Если ты используешь FSD или до сих пор пишешь всю логику в компонентах React — эта статья точно для тебя.FSD: популярно, но не без проблемFeature-Sliced Design сейчас одна из самых популярных методологий во фронтенде. И не зря — она действительно п…