Node.JS [ru] | Серверный JavaScript
10.6K subscribers
378 photos
18 videos
25 files
3.8K links
Node.js, backend и AI-разработка: статьи, новости, вайбкодинг, автоматизация и работа с ИИ-агентами.

Личный блог автора - @just_genych
По вопросам рекламы или разработки: @g_abashkin

РКН: https://vk.cc/cJPGOP
Download Telegram
Замутить первую транзакцию в Ethereum на TypeScript — это 20 строк кода и 10 минут твоего времени. Автор по традиции наступил на три классические грабли, в которые сам же и вляпался, и которые стабильно собирают его менти. Если разобрать их заранее — сэкономишь себе час жизни в отладчике.

Вся движуха происходит в тестовой сети Sepolia: эфир там не стоит ни гроша, ошибки — не больно, а механика один в один как на проде. Но есть нюанс: тестовый эфир раздают «краники»-фосеты, которые имеют привычку дохнуть в самый неподходящий момент. Поэтому живые собраны в шпаргалке в репозитории учебного dApp «Копилка», который автор ведёт в открытую в рамках цикла «Web3 для JS-разработчиков».

Это пятая часть серии. Дальше по плану — Solidity. Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
Как Omit {T, K} растворил типы, или что такое дистрибутивность типов в TypeScript

Представьте: выкатываете фичу, а бэкендер спрашивает, почему вместо событий — пустой объект. TypeScript всё типизирует, но спойлер: такое могло случиться. Денис Платонов, старший разработчик интерфейсов в Телемосте, объясняет, как безобидный Omit превратил аккуратный тип событий в пустой объект, разбирает дистрибутивность типов и делится, чему научил этот кейс.

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
Сначала думал: Android пишет моторы хуже iOS. Потом передумал. А в итоге выяснилось — я был прав, только не в том смысле.

С телефонов собрали полторы тысячи записей работы моторов. И вот сюрприз: ни бренд, ни ценник не виноваты. Решает исключительно то, чей DSP обрабатывает браузерный запрос. Та же правка на iOS вывернулась наоборот.

Источник

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
React Native в 2026 году: New Architecture, нативный код и AI в реальном проекте

Формула «один код для iOS и Android» больше не работает. Современное приложение на React Native — это общий продуктовый слой на TypeScript, нативный интерфейс, Hermes, Fabric, JSI, фоновые процессы, platform-specific код и решения о том, где выполнять каждую задачу.

Авторы делятся опытом Synchra.24 — приложения для линейных и распределённых команд. В проекте больше 1000 TS/TSX-файлов и свыше 100 экранов, а рядом живут Kotlin и Swift: геопозиция, push-уведомления, биометрия, системные виджеты и работа с медиа.

Это разбор того, чем на практике стала разработка на React Native к 2026 году и какую часть этой работы можно поручить нейросетям. Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Shadow AI — почему инженеры скрывают, что пользуются ИИ

Слушал подкаст Code of Leadership про AI-assisted engineering — полтора часа о том, как правильно встроить ИИ в разработку: копайлоты, MCP, метрики, место ИИ в SDLC. Разговор по делу, но зацепил термин shadow AI, который проскочил сноской в ряду ИБ-рисков между утечками и комплаенсом.

Автор ходит с этим термином уже неделю. Подробнее — статья на Хабре.

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
Пагинация. Засады в тестировании списков и курсоров

Беда с пагинацией не в одном запросе к базе. Тут вся цепочка хрупкая: бэкенд задает порядок и границы страниц, фронт таскает курсор и собирает ответы в кучу, а юзер тем временем меняет фильтры, долбит повторные запросы и возвращается на экран. Дальше — шесть ситуаций, где локально всё зелёное, а список в бою работает криво.

Проверить пагинацию

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
5ⁿ → 4n+1: сколько на самом деле дают редукции в explicit-state model checking

Проверка модели полным перебором упирается в комбинаторный взрыв, и практически вся инженерия в этой области — не про сам поиск, а про то, как его избежать. Две классические техники — редукция по симметрии и редукция частичных порядков — описаны в литературе десятилетиями, но их эффект обычно приводится либо асимптотически, либо на одном показательном примере.

В статье — измерение на работающей реализации: во сколько раз каждая редукция сокращает пространство состояний, сколько она стоит в пересчёте на состояние, на каких спецификациях она не даёт ничего, и — главное — экспериментальная проверка того, что четыре условия ample‑множества действительно необходимы, а не унаследованы из статьи без разбора.

Три результата, ради которых стоит читать дальше: Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
В прошлой статье автор разбирал образец вредоносного ПО ChainVeil из источника, не зафиксированного в публичных исследованиях. Теперь первым сигналом стал собственный supply chain‑мониторинг, сообщивший о новом npm‑пакете plugin-react-vite — на первый взгляд похожем на очередной тайпсквоттинг.

Дальше автор пошёл от метаданных и кода к инфраструктуре. Расследование ушло далеко за пределы одного package.json: от подозрительной зависимости — ко второму этапу размером около 30 тысяч строк, а затем к нескольким месяцам активности, связанным пакетам, нескольким npm‑аккаунтам и уже известному кластеру.

Как именно строился этот путь — в статье: Погрузиться в расследование

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
Как мы переводили страницу объявления на Beduin в мобильной версии Авито

Егор Савincев, Frontend Platform Engineer в Авито, рассказывает о переводе страницы объявления на Beduin — Backend-Driven UI. В Beduin бэкенд присылает не только данные, но и сами компоненты в специальном виде, а на клиенте рендерер принимает JSON и отрисовывает.

В статье — зачем переписывать работающую страницу, как эволюционировала архитектура и с какими компромиссами пришлось столкнуться. Спойлер: всё.

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
Денис Смирнов из iSpring уже шесть лет в этой конторе и теперь рассказывает, как в их платформе для онлайн-обучения выкручиваются с датами и временем. Фишка в том, что всё настраивается гибко: часовые пояса задаются на уровне аккаунта, а в некоторых модулях можно переопределить их для конкретного юзера.

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
Как неожиданно получился кроссплатформенный облачный сервис для Excel

Автор обитает в офисе, а его главный рабочий инструмент — Excel. Эту софтину он считает лучшим софтом Microsoft. Таблицы для него — гениальная штуковина, хотя он признает: многие готовы называть их злом. Поэтому он и предлагает разобраться по фактам.

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Все пять safety-свойств Raft прошли. Две реплики разошлись

Реализация Raft на TypeScript под сидированной симуляцией: каждый тик, каждая задержка сообщения и каждое падение узла берутся из сида. На двадцать пятом прогоне две реплики применили разные значения — при том, что правила алгоритма выполнялись все до одного.

Интересен не сам баг, а то, какая проверка его поймала. И вопрос: откуда я знаю, что остальные проверки вообще на что-то смотрят?

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
Для Bun 2026-й — год, который перевернул всё. Переписать код на Rust с помощью Claude Fable 5 умудрились за 11 дней. Что ж, это мощнейший аргумент в пользу того, что AI-ускоренная разработка — уже не просто страшилка для сеньоров.

20 августа 2026 выкатили Bun v1.4 — первый продакшн-релиз, где рантайм целиком и полностью работает на Rust. До этого Rust был лишь внутренним инструментом, например, в Claude Code.

Версия 1.3.14 подтянула Bun.Image, HTTP/3 и Global Virtual Store. А вот v1.4 принесла резкий скачок совместимости с Node.js и десятки новых встроенных API.

В декабре 2025 Bun стал частью Anthropic.

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Модель не влезает на стол: почему плоскость — плохой нож

Браузерный генератор вывесок: вбиваешь надпись — с тебя STL-модель корпуса под светодиодную ленту. Считается всё прямо у тебя в браузере, наружу файл не улетает. И вот однажды прилетает вопрос: надпись 500 мм, а стол принтера 256×256. И чё делать?

Стандартный ответ — «порежь в слайсере». Только слайсер пилит плоскостью: две половинки со стеклянными срезами теперь фиг совместишь. Клей по гладкому PLA работает на честном слове, при склейке части едут, а на видном месте остаётся тупая ступенька. Так что автор замутил рез прямо внутри генератора — чтобы половинки сразу выходили с замками и собирались без клея. Переделывал три раза, собрал шесть граблей, каждый вечер — в топку.

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
Playwright для компонентных CAT-тестов в проекте на Angular

Когда говорят «у нас есть тесты на Playwright», обычно представляют классический e2e-сценарий: тест открывает приложение, проходит авторизацию, переходит по нескольким страницам и работает с настоящим или почти настоящим backend. Авторы статьи используют Playwright иначе.

Основной пласт UI-автоматизации в их Angular-проекте — CAT-тесты (component autotest). Они поднимают отдельный компонент или целую бизнес-форму в Storybook, открывают её в настоящем Chromium, выполняют пользовательские действия, управляют HTTP-ответами и сравнивают интерфейс с эталонными снимками. Получается тест, который находится между unit и e2e.

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣 Виндовый диалог. Волшебник с маком

💥 xCode Journal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
Полгода назад автор поддерживал TypeScript SDK для панели администрирования. Рутинные вопросы к панели решались одинаково: написать скрипт на SDK, запустить, прочитать, удалить. Тогда он решил, что модель может вызывать типизированный SDK сама — так появился marzban-mcp.

Но «обернуть SDK в MCP» — лишь 10% работы. Остальные 90% — ответ на вопрос: что можно доверить модели делать с боевой инфраструктурой, и как эту границу выразить в коде.

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
[Перевод] Разбираемся в React Fiber без розовых очков

Когда ты рендеришь React-приложение, хоть раз задумывался, что там реально происходит под капотом? React лепит DOM-дерево и выводит интерфейс на экран. Но как именно он собирает эту конструкцию и шустро обновляет её после изменения состояния?

Статья раскапывает React Fiber — движок согласования (reconciliation), на котором всё держится. Рассказывается, как React собирал DOM до v15, почему ранняя стековая модель тормозила, и каким образом асинхронная архитектура Fiber решила эти боли, начиная с React v16 и вплоть до v19.

Читать далее

👉 Node.JS [ru]
Please open Telegram to view this post
VIEW IN TELEGRAM
❌ Разработчику отказали в собеседовании из-за нейминга файла с резюме

Дело в том, что он назвал файл «resume_final_FINAL_final2.pdf»

«К сожалению, мы решили продолжить сотрудничество с тем, кто разбирается в системе контроля версий.», - ответили бедняге.


✖️ xCode Journal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁15🐳1
💻 Айтишника развели на 200 тысяч под предлогом оффера

Мошенники действовали по простой и давно обкатанной схеме. Соискателям просто кидают тестовое, в котором надо найти баги, а доверчивые и отчаявшиеся от рынка труда работяги без страха скачивают репозиторий, запускают код, а с ним вместе и вирус, который уводит данные счетов и криптокошельков.

✖️ xCode Journal
Please open Telegram to view this post
VIEW IN TELEGRAM