Дело было вечером... Сидел я, развлекался переписыванием фронта маркетплейса с React на Preact с Brotli и нативным CSS, чтобы протестировать максимальную оптимизацию. В попытках добиться предельной производительности и скорости решил провести эксперимент по переписыванию бэка на Rust с сжатием БД в Redis — но это совсем другая история. В общем, эксперименты привели меня к идее сделать SSR на Rust, и по бенчмаркам вышел на 95,000+ RPS на M4. Это уже само по себе неплохо, ниже расскажу подробнее.
Рубрика «Node»
Fullstack monorepo: как перестать дублировать код между фронтом и бэком
2025-10-29 в 11:16, admin, рубрики: fullstack, Node, React, share, types, types safty, TypeScript, workspace, zod, монорепозиторийПривет! Сегодня хочу поговорить о проблеме, с которой сталкивается каждый фулстек-разработчик, и о том, как её можно элегантно решить.
Проблема, которая всех бесит
Представьте: пишете форму регистрации. На фронте описываете типы для полей формы. На бэке — те же самые типы для валидации. Меняете одно поле — нужно помнить, что надо поменять в двух местах. Забыли обновить на бэке? Получите баг в продакшене.
А теперь добавьте сюда:
-
Константы (статусы заказов, роли пользователей)
-
Схемы валидации (Zod, Yup)
-
Утилитные функции (форматирование дат, работа со строками)
Как создать простое API? Express + Prisma
2025-06-21 в 15:15, admin, рубрики: api, express, javascript, Node, node.js, nodejs, PrismaИнициализация проекта на express и установка требуемых библиотек::
npm init -y
npm i express body-parser jsonwebtoken nodemon dotenv pg argon2 cookie-parser
Меняем в package.json: нужно добавить type и скрипт dev
"main": "index.js",
"type": "module",
"scripts": {
"dev": "nodemon app.js"
},
Создаем app.js в корневой папке
Создание REST API с NestJS и TypeORM
2024-12-30 в 18:29, admin, рубрики: NEST, nest.js, nestjs, Node, node.js, nodejs, postgresql, swagger, TypeScriptСодержание
-
Введение
-
Установка и настройка проекта
-
Создание модуля и сущности
-
Создание DTO и валидация
-
Создание сервиса и контроллера
-
Реализация CRUD операций
-
Тестирование API
-
Заключение
Введение
NestJS — это прогрессивный фреймворк для построения эффективных и масштабируемых серверных приложений на Node.js. Он использует современные возможности JavaScript и TypeScript, вдохновлен архитектурными паттернами Angular и поддерживает модульность, инъекцию зависимостей и другие современные подходы.
TypeORMЧитать полностью »
Утечки памяти, которые не утечки
2024-01-31 в 7:10, admin, рубрики: garbage collector, JS, Node, V8, утечкиСтатью я захотел написать после работы над одним конкретным багом, который со всех точек зрения напоминал классическую утечку памяти, но на практике оказался чем то совершенно другим. Я нигде не встречал описание такого поведения и поэтому решил этой информацией поделиться.
В один прекрасный день боевое сопровождение приходит с ужасной проблемой — память в контейнерах Node.js течет, сервисы падают с OOM каждый день, все пропало!

Призыв писать компактное ПО, версия 2024 года (с примером кода)
2024-01-29 в 10:51, admin, рубрики: electron, Node, автономная система, зависимости, качество кода, качество по, хаки
Этот пост посвящён памяти Никлауса Вирта, первопроходца в сфере вычислительных наук, ушедшего от нас 1 января этого года. В 1995 году он написал важную статью A Plea for Lean SoftwareЧитать полностью »
Неравный бой — Tinkoff эквайринг. Рекуррентные платежи
2023-07-02 в 3:45, admin, рубрики: acquireing, api, backend, Node, node.js, tinkoff, TypeScript, платежная система, платежные системы, платежный шлюз, тинькофф, тинькофф банкДанная статья будет разбита на несколько частей.
Часть 1 - Вступление
Часть 2 - Делаем клиент на TypeScript для Tinkoff эквайринг
Часть 3 - Работа с картами МИР и иными картами поддерживающими 3DS V2
Предистория
В рамках разработки нашего SaaS решения для автоматизации процессов кар-шерингов и авто-ренталов CarSense, перед нами стояла задача реализации системы рекуррентных платежей (Добавление карт пользователями для дальнейшего безакцептного списания).
Используем SWC с Firebase функциями
2022-06-11 в 16:50, admin, рубрики: compiler, Compiler-Generated Code, firebase, Google Cloud Platform, javascript, Node, node.js, serverless, swc.jsВ этой статье рассмотрим использование компилятора для js-кода облачных функций.

Проблема
Создаем проект. Добавляем Firebase функцию.
// index.js
export const helloWorld = https.onRequest(/** … */);
Через некоторое время добавляем ещё несколько.
// index.js
export const helloWorld = https.onRequest(/** … */);
export const lol = https.onRequest(/** … */);
export const pirojok = https.onRequest(/** … */);
Ещё через некоторое время ещё и ещё.Читать полностью »
NEST.JS. Работа с ошибками. Мысли и рецепты
2021-03-14 в 7:21, admin, рубрики: backend, exceptions, javascript, NEST, nest.js, nestjs, Node, node.js, node.js фреймворки, nodejs, обработка ошибок, ПрограммированиеХоливар...
Одни умные люди говорят: "эксепшены - это зло, используйте монады!", другие кричат: "коды ошибок ещё никто не отменял!", а третьи включают механизм исключений в языки программирования.. Однако, у большинства статей, который попадались мне на глаза, есть (при всём уважении к авторам!) два проблемных момента:
-
Некоторая... академичность. Разобрано много и интересно, но заканчивается всё стандартным: "ваш выбор зависит от вашей ситуации".
-
Абсолютно отсутствуют упоминания о бюджете. Никто же не будет спорить, что теоретически мерседес лучше, чем восьмёрка по всем показателям кроме.. цены.
Безопасность npm-проектов, часть 2
2020-09-10 в 8:01, admin, рубрики: checksum, javascript, Node, node.js, nodejs, npm, npm-audit, pgp, pgp-signature, security, security audit, security reports, безопасность, Блог компании ДомКлик, информационная безопасность, Разработка веб-сайтов
Всем привет! В прошлых постах мы поговорили о том, как команда npm обеспечивает безопасность, а также начали рассматривать инструменты, помогающие нам повысить безопасность проектов. Я хочу продолжить разговор и рассмотреть следующий набор полезных инструментов.

