Node.JS [ru] | Серверный JavaScript
11.3K subscribers
92 photos
6 videos
25 files
3.27K links
Все о разработке backend части на JavaScript (Node JS).
А так же: Express JS, Next JS, Nest, Socket.IO

Канал на бирже - https://telega.in/c/we_use_js

По вопросам рекламы или разработки: @g_abashkin

РКН: https://vk.cc/cJPGOP
Download Telegram
​​Портативные веб приложения с Next.js и Go

В недавних версиях Go было добавлено встраивание файлов внутрь бинарника

Автор статьи нашёл интересное применение этому функционалу — внедрение Next.js приложений в статический бинарник

Такой подход позволяет увеличить производительность и добавляет возможность использовать возможности языка Go

#jsarticle #nextjs #backend #webdev #javascript #nodejs #golang
Ley - инструмент для миграций баз данных, не привязанный к драйверу

- Поддерживает postgres, pg, better-sqlite3, sqlite, mysql, mysql2 из коробки
- Если нужен драйвер, который не поддерживается, его можно добавить через класс Driver
- Не имеет зависимостей
- Любую миграцию можно откатить
- Не изобретает велосипед и использует интерфейс выбранного драйвера
- Можно расширять функционал Ley CLI для написания своих скриптов миграции

#jslib #nodejs #backend #webdev #migrations #pg #javascript #sqlite #mysql #sql
Вышел Deno 1.10

- Добавлен WebStorage API
- В deno test можно выбрать количество запускаемых тестов
- Добавлены новые флаги для deno test: --doc, --jobs, --watch
- Включён WASM Shared Memory
- Добавлен класс Extension

#jsrelease #deno #backend #webdev
node-http - Deno HTTP сервер, похожий по API на Node.js HTTP модуль

Полезен для менее болезненного портирования серверных библиотек с Node.js на Deno, т.к. обладает похожим API.

Проект находится в активной разработке, поэтому со временем будет перенесено множество свойств из Node.js http модуля

#jslib #deno #backend #webdev #nodejs #typescript
Emittery - простой и современный асинхронный Event Emitter

Стандартный EventEmitter из Node.js не поддерживает синхронность, и обработка ошибок происходит через событие error вместо стандартного try ... catch

Emittery - улучшенная версия EventEmitter, которая работает асинхронно, поддерживает логгинг а также имеет хорошую поддержку TypeScript (с дженериками для более удобной типизации емиттеров)

#jslib #nodejs #backend #javascript
NHttp — HTTP/2 фреймворк для Deno наподобие Express

В отличие от остальных фреймворков, не привязан к std/http и не зависимостей

Используется только нативный Deno.serveHttp (пока ещё нестабильный API для сервера, использующий Hyper, сервер на Rust)

#jslib #deno #backend #webdev #http2
Вышел Deno 1.11

- Новый интерфейс FsWatcher
- deno lint стабилизирован
- поддержка динамических Data URI импортов в Deno compile
- обновлен TypeScript до версии 4.3
- Добавлен API BroadcastChannel
- Добавлен randomUUID в Crypto API
- Добавлены TextDecoderStream и TextEncoderStream API

#jsrelease #deno #backend #webassembly
apollo-datasource-http — Оптимизированный HTTP Data Source для Apollo GraphQL сервера

- JSON по умолчанию
- поддержка HTTP/2 (нужен Node.js 15+)
- Использует got для HTTP запросов
- LRU (least recently used) кэширование для уменьшения нагрузки на сервер
- Поддержка AbortController для ручной отмены запросов
- Поддержка Apollo Cache Storage

#jslib #graphql #backend #webdev #apollo #nodejs #javascript
#вакансия #удаленка #fulltime #backend
Backend Engineer (Nodejs + Python) — сначала быстро, потом

Мы делаем продукт для BTC-майнинга. Пишем веб-бэкенды на Node.js + Python, гоняем клиентский трафик и телеметрию, храним метрики в Clickhouse, биллинг в Postgres. Нам нужен человек, который быстро доставляет ценность, не боится грязных MVP и умеет превращать их в чистые, наблюдаемые сервисы.

Формат:
- Full-time, remote-friendly (UTC±2 ок).
- Язык: RU на уровне команды.
- Техническая команда: веб-фулстэк, Rust-бэкенд, CTO.
- Решения принимаем быстро, мерджим часто, катим сразу, рефакторим планово.
- Вилка: $3000-$6000

Чем заниматься:
- Проектировать и делать веб-API (REST/WebSocket) для кабинета и админки: биллинг, выплаты, нотификации, вспомогательные сервисы.
- Интеграции: Clerk (auth, impersonation), Postgres (RLS, миграции), ClickHouse (агрегаты статистики), Redis (кэш/lock), R2/S3 (CDN).
- Наблюдаемость: метрики/логи/трейсинг, дашборды и алерты (Prometheus/Grafana/Loki).
- Производительность: индексы, EXPLAIN, профилирование, backpressure.

Технологии (основное):
- Node.js (TypeScript, Express/Nest/Fastify), Python (FastAPI/aiohttp), async I/O.
- Postgres (SQL, триггеры и хранимки, индексы, планировщик), ClickHouse, Redis
- Docker, GitHub Actions.
- Линтеры/тайпчекеры: ESLint/Prettier, ruff/black/mypy, pyright.

Как мы работаем («быстро на костылях → потом нормально»):
- Спринт 1–3 дня: узкий MVP, минимум слоёв, прямые SQL/SDK, фича-флаг, happy-path e2e.
- Дожим после релиза: типизация, валидация (Pydantic/Zod), идемпотентность, ретраи с backoff, метрики, алерты, интеграционные тесты, миграции и docs (короткие ADR).
- В PR ждём: чёткие таймауты, поведение при ошибках, метрики и лог-ключи для дебага.

Требования (must-have):
- 4+ лет в бэкенде, реально продуктивен в Node.js и/или Python, готов работать в обоих.
- Сильный SQL/Postgres: индексы, EXPLAIN, блокировки, миграции; понимаешь, где узкие места.
- Асинхронщина, очереди, кэш, идемпотентные API, ретраи/таймауты/backoff, at-least-once/дедуп.
- Наблюдаемость как привычка: метрики до кода, лог-корреляция, дешёвые SLO.
- Умение быстро «прибить костыль» и потом довести до прод-качества.

Будет плюсом:
- ClickHouse, высоконагруженная телеметрия.
- Понимание домена: финтех, крипто.
- Pulumi, Prometheus/Grafana/Loki.
- Supabase (RLS), Clerk, R2/S3.

Что считаем успехом (30/60/90):
- 30 дней: 3–4 фичи в проде, метрики/алерты на свои сервисы, первое снятие узкого места (индекс/кэш).
- 60 дней: закрыт e2e «регистрация → начисления → баланс», выплаты в sandbox, стабилизирован оффлайн-детект.
- 90 дней: берёшь end-to-end зону (Billing или Notifications), выжигаешь технический долг v0, покрытие интеграционными тестами ≥60% на своём коде, минус 3 главных перф-бутылочных горлышка.

Кому точно к нам:
- Ты делаешь PR в тот же день, не ждёшь идеального ТЗ.
- Тебя не пугает переписывать свой код через неделю, если так быстрее для бизнеса.
- Любишь цифры: latency, error-rate, p95, RPS — не «где-то там», а в твоём дашборде.

Кому лучше не к нам:
- Нужен «архсовет на 6 встреч» перед Hello World.
- Болит от временных решений и фича-флагов.
- Не готов брать на себя поддержку того, что выкатил.


Процесс найма:
- Выполнение тестового задания.
-60 мин созвон: разбираем тестовое задание, короткий deep-dive по одному твоему проекту (где ты сначала сделал «как попало», а потом правильно).

Финальное собеседование с CEO.

-Как откликнуться: пришлите 1–2 ссылки на репо/PR + 3–5 предложений про ваш «костыль → нормальное решение» (какие компромиссы, какие метрики улучшили).

— Готовы «возить углём» и шипить быстро? Поговорим.

Telegram: @dishsh
2🔥1😁1