Всем привет! Меня зовут Егор, я – фронтенд-разработчик в Чиббис, один из трёх разработчиков новой версии важного продукта компании – партнерского личного кабинета.Проект создавался с нуля, и перед командой стояла задача подойти к разработке нового продукта с максимальным, насколько это возможно, соблюдением всех «идеальных» процессов разработки: была возможность попробовать не только внедрить, но и применять на постоянной основе различные практики разработки. Те из вас, кто работ…
Изображение, созданное DALL-E Type-level программирование в контексте TypeScript - это набор приемов и паттернов, позволяющих решать задачи уже на этапе компиляции, опираясь на возможности системы типов. Если описывать коротко:TypeScript умеет вычислять определенные конструкции во время компиляции, используя Generics, Conditional Types, Template Literal Types и другие механизмы.Результаты таких вычислений не попадают в итоговый JavaScript-код, но активно влияют на валидацию и безопасность к…
Привет, друзья! В этой серии статей я рассказываю о Convex — новом открытом и бесплатном решении BaaS (Backend as a Service — бэкенд как услуга), которое выглядит очень многообещающе и быстро набирает популярность среди разработчиков. На сегодняшний день Convex предоставляет реактивную базу данных смешанного типа, механизм аутентификации/авторизации, файловое хранилище, планировщик задач и средство интеллектуального поиска. Эта третья и завершающая часть серии, в которой мы поговорим о планир…
Добро пожаловать в путешествие по динамичному миру реактивного программирования! Эта увлекательная парадигма направлена на создание быстро реагирующих, отказоустойчивых и адаптируемых приложений, которые легко и практически мгновенно управляют огромными объемами данных.Представьте себе, что вы пишете программу, которой необходимо мгновенно реагировать на изменения — будь то ввод пользователя, сообщения из других систем или потоки данных в реальном времени. Именно здесь проявляется реактивное …
Изображение, созданное DALL-E Асинхронная модель - одна из самых сложных и одновременно важных тем в современном программировании, особенно в веб-разработке. Если посмотреть на боль новичков (да и не только новичков), то одна из самых частых жалоб - непонимание, что там происходит под капотом, почему код скачет и не дает предсказуемых результатов, или почему программа не ждет выполнения функции.В этой статье разберем, в чем корень путаницы, какие есть ключевые концепции асинхронности, и как к…
Поздравляю Хабр и Хаброжителей с Новым 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 — это…