Category : javascript

javascript
Продвинутая регистрация multi-сервисов в Angular

Внедрение нескольких сервисов с помощью одного токена — достаточно удобная механика в фреймворке Angular. Однако, можно столкнуться с неприятностью, что во всех местах, где нужно получить данный сервис, придётся как-то выбирать нужный инстанс из массива. Кто-то делает это напрямую, через метод массива find, кто-то регистрирует сервис-менеджер, который умеет возвращать нужный инстанс, однако оба варианта рождают неприятный бойлерплейт. В этой статье разберём подход по удобной и продвинутой регис…

  • суббота, 23 ноября 2024 г. в 00:00:05
javascript
Генерация кода валидации из спецификации OpenAPI: как мы синхронизировали валидаторы данных между б…

Представьте ситуацию: ваша команда закончила интеграцию с API, все протестировала и подготовила релиз. А тут внезапно серверная команда меняет формат ответа. Фронтенд падает, QA злится, пользователи недовольны. Приходится вручную переписывать валидации, искать баги и терять дни, чтобы всё починить. Как автоматически синхронизировать работу между бэкэндом и фронтендом? А между дизайном и фронтендом? Использовать генератор кода валидации! Написание своего решения поможет понять бизнес-логику прое…

  • суббота, 23 ноября 2024 г. в 00:00:04
javascript
Ошибки, которые я совершил, пытаясь быть «слишком правильным» в разработке

Профессиональные решения против простых решений, приносящих результатВ начале карьеры мне тоже казалось, что каждый разработчик должен следовать строгим правилам и рекомендациям. Я думал, что чем больше знаний, тем лучше результат. В итоге, передо мной открывался целый мир идеальных паттернов, архитектур и сложных решений. Но со временем я понял: важно не только читать и понимать теорию, но и уметь применить её в реальной жизни. И что ещё важнее — делать, а не спорить.В этой статье я расскажу о…

  • суббота, 23 ноября 2024 г. в 00:00:03
javascript
Переводчик текста для терминала

Всем привет! Думаю, что большое количество специалистов в области IT используют переводчики текста в своей работе, и я тому не исключение. Достаточно часто в вакансиях Системного администратора можно встретить требуемый навык - "чтение технической документации на английском языке", но, не всегда такая документация может быть очевидной в полной мере, даже имея базовый уровень английского языка, и как мне кажется, тут нечему стесняется. Зачастую такая документация могла быть переведена с …

  • пятница, 22 ноября 2024 г. в 00:00:03
javascript
Введение в Brisa: новый подход к веб-разработке

Brisa — это современный веб‑фреймворк, разработанный для создания высокопроизводительных веб‑приложений с минимальной загрузкой JavaScript на стороне клиента. Основное преимущество Brisa заключается в том, что он позволяет рендерить компоненты на стороне сервера, сохраняя при этом высокую производительность и снижая нагрузку на браузер. В этой статье мы подробно разберём, как начать работу с Brisa, изучим основные принципы и рассмотрим примеры кода.Достоинства BrisaBrisa — это инновационный веб…

  • пятница, 22 ноября 2024 г. в 00:00:02
javascript
Ментальная модель потоков в Node.js

Приходилось ли вам работать с потоками в Node.js? Когда я впервые столкнулся с потоками, я, мягко говоря, оказался в растерянности. Эта концепция была совершенно новой для меня. Я полагал, что смогу обойтись и без них, но вскоре понял, что в Node.js они повсюду. Даже такие ключевые модули, как fs и http, используют потоки "под капотом". Поэтому мне пришлось погрузиться в изучение этой темы и разобраться в том, как потоки работают. В этом мне особенно помогло создание устойчивой ментал…

  • четверг, 21 ноября 2024 г. в 00:00:02
javascript
style.setProperty vs setAttribute

На днях столкнулся с интересным вопросом. Что быстрее element.style.setProperty(свойство, значение)или element.setAttribute('style', 'свойство: значение')? На первый взгляд ответ кажется очевидным. Логика говорит нам, что setProperty должен устанавливать значение сразу в CSSOM, тогда как setAttributeвыставляет сначала атрибут style и уже потом значение атрибута будет разобрано в CSSOM. Таким образом, setProperty должен быть быстрее. Но действительно ли всё так однозначно? Давайт…

  • среда, 20 ноября 2024 г. в 00:00:05
javascript
Лучшие практики TypeScript

Я часто слышу от своих коллег, что TypeScript для них — как заноза в заднице. В каждом проекте они вынуждены писать полотна типов, TypeScript постоянно бьёт по рукам и не компилирует сборку, пока очередной метод не будет типизирован с головы до пят.Когда я начинал работать с TypeScript, мне это очень нравилось: было весело описывать типы, а хорошо типизированные структуры становились отличной документацией. Однако со временем меня это утомило. Я начал злиться каждый раз, когда не мог ступить и …

  • вторник, 19 ноября 2024 г. в 00:00:05
javascript
Всё под контролем: сила useRef и forwardRef в React

Начнем с небольшой истории. Как-то раз я с размахом накинулся на проект — в духе нынешних фреймворков всё было обложено компонентами, декларативный стиль царил, все шло идеально… ну почти. Дошел я, значит, до нужды контролировать DOM-узлы напрямую. И что вы думаете? Прямого доступа нет, React закрыл от меня этот мир, сидит и ухмыляется: мол, мы тут за производительность боремся, зачем тебе что-то трогать руками?Но мы не из тех, кто сдаётся, верно? React предлагает своё решение — рефы, и именно …

  • вторник, 19 ноября 2024 г. в 00:00:04