Category : javascript

javascript
Observable – удобный state-manager

Я вас понимаю. Да – еще один. Но давайте посмотрим, вдруг правда?Давайте определимся с тем, что такое удобно. Конечно, у нас разные представления об удобстве, поэтому я опишу свои с примерами из api react:Отсутствие boilerplate. // неудобно для меня const [state, setState] = useState({ count: 0 }) // было бы удобнее const state = useState({ count: 0 })Отсутствие snakepit. Термин придумал сам. Под ним я понимаю необходимость совершать и/или оборачивать операции изменения/присвоения в дополнит…

  • понедельник, 25 ноября 2024 г. в 00:00:05
javascript
Элегантная реализация Long Press обработчика с помощью CSS анимации

В веб-разработке часто возникает необходимость обрабатывать различные типы взаимодействий пользователя, включая короткие и длинные нажатия. В этой статье мы рассмотрим изящный способ реализации обработчиков для этих двух взаимодействий.▎Зачем нужен Long Press?Long Press — это взаимодействие, при котором пользователь удерживает палец на экране или кнопку в течение определенного времени. Это может быть полезно для вызова дополнительных действий, таких как контекстное меню, всплывающие подсказки и…

  • воскресенье, 24 ноября 2024 г. в 00:00:07
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