Category : javascript

javascript
От магии до понятной структуры: разбираемся, как работает Change Detection в Angular

Введение: Невидимый Дирижер и Измеримая ЦенаВ Angular любое изменение в компоненте, которое отображается на экране, является результатом работы механизма отслеживания изменений (Change Detection, CD). За этим процессом стоит Zone.js, который можно представить в роли дирижера, сообщающего компонентам о необходимости обновить DOM.Zone.js не запускает CD сам. Он лишь создает контекст, в котором Angular потом может его запустить. Его задача только уведомлять Angular о завершении асинхронных операци…

  • воскресенье, 6 июля 2025 г. в 00:00:04
javascript
Магия ClientOnly: повышаем производительность и безопасность в Nuxt-приложениях

ВведениеПривет, хабровчане! 👋 Сегодня поговорим о компоненте ClientOnly в Nuxt, который я часто использую в своих проектах. И нет, это не потому что я не знаю как починить SSR-ошибки. Многие воспринимают его просто как костыль для решения проблем с SSR, но на самом деле этот инструмент может принести немало пользы с точки зрения производительности и даже безопасности. Давайте разбираться без лишней духоты и на реальных примерах!Что такое ClientOnly и зачем он нужен?ClientOnly — это встроенный к…

  • суббота, 5 июля 2025 г. в 00:00:07
javascript
System Design: Как бизнес влияет на финальный вид ИТ-Системы и выбор технологий

Представьте, вам поступает задача спроектировать абсолютно новую ИТ-Систему, которую ранее не видел свет. Вам озвучивают сроки в которые нужно уложиться и вы наполненные энтузиазмом и решительностью, приступаете как и положено с выявления требований к этой системе. Далее происходит этап отрисовки верхнеуровнего дизайна, где вы намечаете основные компоненты системы и способы их взаимодействия. Далее после получения одобрения от своих коллег, технического сектора, вы переходите на этап детальной …

  • суббота, 5 июля 2025 г. в 00:00:06
javascript
БЭМ + Tailwind: прагматичный гибрид для современного фронтенда

Введение: конец войны методологийАААААААААААА!!! 15 МИНУТ МОЕЙ ЖИЗНИ ТОЛЬКО ЧТО УШЛИ НА ПРИДУМЫВАНИЕ ИМЕНИ ГРЁБАНОМУ DIV-КОНТЕЙНЕРУ!Знакомо, да? Не я один, кто неистово бился головой о клавиатуру, пытаясь придумать, как назвать очередную обертку для обертки внутри обертки?Я УСТАЛ. Мы все устали. Устали от:Бесконечного .header__nav-container__menu-wrapper__item-list__element 😵‍💫Спора на код-ревью о том, должен ли это быть block__element или просто новый block 🤬"Не используй margin на блоке! …

  • суббота, 5 июля 2025 г. в 00:00:05
javascript
Гайд на полиморфизм. Что там под капотом?

В прошлой статье Гайд на полиморфизм. Основные идеимы рассмотрели теоретическую основу такого понятия как полиморфизм и изучили различные его виды. Теперь предлагаю перейти к рассмотрению того как оно устроено «под капотом».Проблема Неискушенный читатель может задаться вопросом:А какая вообще проблема передавать в функцию данные разных типов? В JavaScript, Python, Clojure это делается вообще без проблем. Компилятор просто проверит корректность, а дальше передавай что хочешьК сожалению, не все …

  • суббота, 5 июля 2025 г. в 00:00:04
javascript
Как выжить в мире сложных интерфейсов в 2025-м: 7 работающих рецептов от React и CSS до дизайн-сист…

Как говорил дядя Бен, большие продукты — это и большая ответственность. И без сложных интерфейсов тут никуда. А с ними и исследования становятся труднее, и встречается больше препятствий на этапе кода — от нюансов реактивного программирования до риска утонуть в разнообразии CSS-спецификаций. Для МойОфис как мультипродуктовой экосистемы со сквозными сценариями — все эти вопросы очень актуальны! Поэтому на прошлой неделе JS-еры, дизайнеры и UX-исследователи нашей и других компаний собрались на ми…

  • суббота, 5 июля 2025 г. в 00:00:03
javascript
Telegram-бот, который умеет слушать: разработка на grammY

Представьте: собеседник отправляет голосовое сообщение на пять минут, а вы не можете отвлечься и прослушать все от начала до конца? Что делать? Максим, ведущий канала RED Group, подошел к вопросу творчески и показал, как на базе grammY и SpeechService в NestJS разработать бота, который будет слушать и структурировать по таймкодам голосовые сообщения. Инструкция будет полезна новичкам, которые только погружаются в работу с Telegram Bot API с помощью JavaScript. Кроме того, в конце материала мы…

  • пятница, 4 июля 2025 г. в 00:00:07
javascript
System Design: Чек-лист по сбору и фиксации требований на все случае жизни

Привет, Хабр!Я — Зинченко Иван, IT-Lead в направлении разработки цифровых каналов в Газпромбанке. За последние 3 года я провёл и прошел десятки собеседований по System Design и заметил: 80% кандидатов проваливаются на одной и той же ошибке - не фиксируют основные требования к системе.В этой статье разберем чем чреват этот критичный промах, который даже сильные разработчики допускают при проектировании систем. Для чего нам нужны требования? Сбор и фиксация требований это первый и самый важный э…

  • пятница, 4 июля 2025 г. в 00:00:06
javascript
3 книги по теме тестирования, за качество которых отвечает Read IT Club

Когда в одной из купленных для нашей ИТ-библиотеки книг начали попадаться забавные терминологические ляпы — вроде «жирных клиентов» и «микрослужб», — нам стало понятно: переводчик явно не из отрасли. Чтобы избежать таких «фейлов» и помочь сделать техническую литературу понятнее, в КРОК появился Read IT Club — команда рецензентов и экспертов, которые добровольно и безвозмездно правят и переводят книги по ИТ.Все началось с небольшой инициативы внутри компании, но клуб быстро вырос до 40+ человек …

  • пятница, 4 июля 2025 г. в 00:00:06