и посмотреть медиа
Art of Code - искусство кода
и посмотреть медиа
Искусство программирования: чистый код, паттерны и эстетика разработки. 🎨
Искусство программирования: чистый код, паттерны и эстетика разработки. 🎨
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Art of Code - канал об искусстве написания красивого, чистого и эффективного кода. Философия разработки как творчества: паттерны, рефакторинг, дизайн.
Изучайте принципы SOLID, DRY, KISS через примеры на разных языках. Разборы шедевров кода от гуру. Идеи для элегантных решений сложных задач. 🖌️
Для разработчиков, ценящих не только функциональность, но и красоту. Вдохновляйтесь, чтобы ваш код стал произведением искусства. 📜
System Design: Frontend Эту задачу мне давали на собесе в одну из аутсорс компаний. Задача звучит следующим образом. Есть большой продукт с несколькими темами - светлая, тёмная, брендовые под разных заказчиков или разные ивенты. Темы должны переключаться на лету, без перезагрузки, и переиспользоваться между приложениями и командами. Спроектируй темизацию. Есть соблазн сделать несколько CSS-файлов и переключать их, или прокидывать объект темы через контекст в каждый компонент. Второе к тому же вызовет перерендер всего дерева при смене темы. Задача про то, где физически живёт «текущая тема» и как менять её дёшево. Первое, что стоит спросить у интервьюера - нужно ли переключение в рантайме без перезагрузки (почти всегда да) и шарятся ли токены между несколькими приложениями или микрофронтами. Второе определяет, куда выносить токены. Заодно уточни, нужны ли пользовательские кастомные темы. Дальше поток. Дизайн-токены - это единый источник правды для цветов, отступов, шрифтов, радиусов. Не хардкод «#1E90FF» по компонентам, а семантические токены («color-primary», «spacing-md»). Компоненты ссылаются на токены, а не на конкретные значения. А теперь про очки, и это ключевое решение. Переключение темы в рантайме проще и дешевле всего на CSS-переменных: компоненты используют var(--color-primary), а смена темы — это подмена значений переменных на корневом элементе. Никакого перерендера React вообще - браузер сам перекрашивает. Объясни, почему это лучше передачи темы через JS/контекст: контекст дёргает перерендер всего поддерева, CSS-переменные - нет. Токены выносим в отдельный пакет/слой, чтобы шарить между командами и микрофронтами. Честно назови trade-off: CSS-переменные требуют дисциплины - ни одного захардкоженного цвета в компонентах, иначе тема поедет частично. Проговорил «CSS-переменные вместо JS ради отсутствия перерендера» - это ответ архитектурного уровня. Задача специфичная и заточена на понимание как CSS, так и JS: нужно помнить, что темизация - это про единый источник правды и про то, где хранится текущая тема, и знаешь ли, почему CSS-переменные бьют JS-переключение по цене. Подписаться: @codeof_art Вступить в чатик: @code_of_art
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!
Канал о скальпинге, инвестициях и безопасной торговле. Полезные советы и сигналы для трейдеров крипторынка.
Оптовые и розничные LED лампы. Большой выбор качественного освещения для любых задач.
Пакистанский канал новостей KuCoin. Актуальные события, обзоры и информация о глобальной криптоплатформе.