Поздравляю Хабр и Хаброжителей с Новым 2025 годом! Несколькими годами ранее я писал о том, как сделать ёлку из функций, в этот раз сказ пойдёт о ёлке из Uтicode символов. Ограничение - должна быть музыка, а результат должен помещаться в QR код.Идея и ограниченияСовременные браузеры поддерживают dataUrl, особый формат, хранящий все данные прямо в url. Это могут быть картинки, текст и любые другие форматы данных. Из всего этого нас интересует только текст, рассмотрим поближе:data:[<media-type&…
В этой статье я хочу поделиться своим личным опытом развертывания смарт-контрактов двумя различными способами в тестовой сети Sepolia. Заметьте, основная цель этого материала - продемонстрировать различные подходы к развертыванию смарт-контрактов, а не детальное обучение созданию самих смарт-контрактов. Если вы новичок в программировании и еще не знакомы с JavaScript или Solidity, не беспокойтесь. Все необходимые фрагменты кода для наших смарт-контрактов будут автоматически сгенерированы во вр…
Изображение, созданное DALL-E Vue 3 не только добавил новый синтаксис (Composition API), но и серьёзно обновил движок реактивности. Теперь под капотом используются прокси-объекты (ES6 Proxy), а при отслеживании и изменении данных происходят события Track и Trigger. Эти детали могут быть неочевидны в простых демо-примерах, но становятся крайне важными, когда вы работаете с большими структурами данных или строите действительно масштабные приложения.С обновлениями до версии 3.5 улучшения стали е…
СодержаниеВведениеУстановка и настройка проектаСоздание модуля и сущностиСоздание DTO и валидацияСоздание сервиса и контроллераРеализация CRUD операцийТестирование APIЗаключениеВведениеNestJS — это прогрессивный фреймворк для построения эффективных и масштабируемых серверных приложений на Node.js. Он использует современные возможности JavaScript и TypeScript, вдохновлен архитектурными паттернами Angular и поддерживает модульность, инъекцию зависимостей и другие современные подходы.TypeORM — это…
Nuxt 3 — это мощный фреймворк на основе Vue, который упрощает разработку серверно-рендерируемых и статически генерируемых веб-приложений. Одна из его особенностей — возможность работы с асинхронными данными с помощью специальных хуков. Они обеспечивают эффективное взаимодействие с API, динамическую загрузку данных и подгрузку контента. Многие знают про эти хуки, но далеко не все используют их потенциал в полной мере. Меня зовут Леша Смолыгин, я разработчик в Lamoda Tech. Разберемся, как использ…
ПредисловиеВ первой части я говорил общими терминами и больше рассуждал про бизнес-процессы (почитать можно тут). Далее я буду более детально углубляться в структуру проекта и частные случаи, постараюсь продемонстрировать разные подходы и порассуждать, чем они хороши или плохи. Но, для начала, еще пара общих слов. Ошибки — это норма Ошибаются все, от джунов до генеральных директоров. Важен не сам факт ошибки, а реакция на нее. Если пытаться сразу оправдать или начать отрицать ее, придумывать ку…
Однажды, в ходе очередной попытки освоить программирование, мне попалась переводная книга, где автор на первых страницах обещал научить программировать даже тех, кто никогда этого не делал. И в качестве примера приводил собственного сына 8 лет, которого он как бы научил тоже.Воодушевлённый таким началом я бодро взялся за чтение. И вот, где-то на первых страницах, при обсуждении типов данных, автор ничтоже сумняшеся сообщает, что целое число, которое Int, может быть Int16, Int32 и т.д., со всеми…
Изображение, созданное DALL-E Веб-приложения сегодня требуют всё большей интерактивности, отзывчивости и быстродействия. В ответ на это команда React постоянно совершенствует инструментарий, позволяющий нам тонко управлять рендерингом и пользовательским опытом. Если вы работали только с классическими методами оптимизации вроде useMemo, useCallback, мемоизации компонент через React.memo и другими известными приёмами, то вас могут заинтересовать следующие хуки:useTransition - устанавливает прио…
Если ты читаешь эту статью, значит, ты уже начал погружаться в асинхронный JavaScript и, в частности, в работу с промисами и fetch. Как и в любом новом деле, здесь есть свои нюансы, которые важно понимать, чтобы писать надежный код. Один из таких нюансов — это проверка на response.ok. Давай разберемся, зачем это нужно и почему без этого можно попасть в неприятности.Посмотри, пожалуйста, на эту строчку кода:fetch(url).then(response => response.json()).catch(error => console.log(error))Если…