gram news
Node.JS [ru] | Серверный JavaScript channel avatar

Node.JS [ru] | Серверный JavaScript

@we_use_js

Node.js, backend и AI-разработка: статьи, новости, вайбкодинг, автоматизация и работа с ИИ-агентами. Личный блог автора - @just_genych По вопросам рекламы или разработки: @g_abashkin РКН: https://vk.cc/cJPGOP

ProjectsRUProgramming

10,900subscribers

Open the Channel

Latest posts

  • Node.JS [ru] | Серверный JavaScript

    22 Sept, 17:07

    Свой localhost можно выкинуть в интернет за пару секунд. Бесплатно, силами Cloudflare.Хватит одной команды в терминале:cloudflared tunnel --url http://localhost:8000Зачем это вообще нужно: гонять локальные проекты наружу, ловить вебхуки, показывать клиенту, что там у тебя работает, делать быстрые превью. Ну и пускать ИИ-агентов в приложения, которые крутятся у тебя на машине.try.cloudflare.com👉 Node.JS [ru]
    307video1Open in Telegram
  • Node.JS [ru] | Серверный JavaScript

    22 Sept, 14:45

  • Node.JS [ru] | Серверный JavaScript

    22 Sept, 13:07

    Кажется, у Jev нарисовался конкурент из открытого лагеря — Laya. Локальная открытая модель для принятия решений на 421 млн параметров, заточена под структурированные решения: быстрое да/нет, оценка, выбор из вариантов. Ест меньше 1 ГБ памяти, бесплатно лежит на Hugging Face, крутится на ноуте и даже на телефоне.Теперь тест. Laya против облачного Jev — одна и та же змейка, одинаковый формат решений, 30 секунд на всё. У Laya: счёт 46, длина 52, 86,5 решений в секунду, P50 около 9 мс. У Jev: счёт 1, длина 7, 3,2 решения в секунду, полный цикл запроса к API 317 мс. На M5 Pro медиана вышла 15,3 мс у локальной Laya против 298,1 мс у облачного Jev — почти 20-кратный разрыв в этом тесте. Ключевая разница в том, что Laya решает каждый шаг на месте, а Jev на каждом шаге стоит и ждёт ответа от облачного API.Правда, проект сам честно называет два ограничения: контекст всего 512–1024 токена, так
  • Node.JS [ru] | Серверный JavaScript

    22 Sept, 09:07

    Четверо в одной транзакции: кейс-батлы, PgBouncer под Prisma и реплика, которая показывает пустой инвентарьПро этот сайт с кейсами CS2 уже вышло две статьи, и обе заканчивались перечислением того, чего на нём до сих пор нет: платежей, депозита предметов, кейс-баттлов, рефералки, KYC. Что ж, список теперь исчерпан. И почти вся сложная часть ужалась до одного вопроса: что вообще творится, когда несколько человек разом двигают одни и те же деньги?Внутри — батл на четверых в рамках одной транзакции, порядок блокировок, благодаря которому дедлок не прилетает, PgBouncer под Prisma и правило про чтение с реплики, которое типом ну никак не описать.Читать далее👉 Node.JS [ru]
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    22 Sept, 07:29

  • Node.JS [ru] | Серверный JavaScript

    21 Sept, 17:07

    Diablo II, римские стратегии и Prince of Persia: чему фронтенд может поучиться у геймдеваВ Diablo II статы скиллов лежат в обычных текстовых файлах — захотел покрутить баланс, пересобирать игру не придётся. В Prince of Persia 1989-го поведение героя расписано через состояния и переходы. А в градостроительных стратегиях сборщик налогов сам решает, что делать дальше, опираясь на набор правил.Геймдев давно закрыл кучу задач, над которыми фронтенд до сих пор чешет репу. В статье — какие инженерные приёмы из игр тащат в веб и что ты с этого получишь на практике: контракты и моки, конечные автоматы, событийная модель, pattern matching и деревья поведения.Читать далее👉 Node.JS [ru]
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    21 Sept, 13:07

    «Я профессионально создаю библиотеки 5 лет»Говорит, что первую свою библиотеку залил в npm 7 лет назад — custom-border-mixin. И ради этого тупо выпал из жизни на неделю: хотелось в кайф написать SCSS-миксин.Любопытно, где в SCSS вообще можно веселиться? Глянь на хелпер.Читать на Habr👉 Node.JS [ru]
  • Node.JS [ru] | Серверный JavaScript

    21 Sept, 09:07

    Next.js, внешний API, Zod, нормализация и controlled fallbackЛюбой внешний API тащит свою модель данных: как названы поля, что там за вложенные объекты, где картинки, где цены, по каким правилам крутится пагинация — всё это вотчина провайдера. А UI приложения живёт в собственной модели, и с чужой она не совпадает.Начнёшь дёргать event._embedded.venues[0].city.name напрямую из компонента — и всё, структура внешнего ответа расползлась по интерфейсу. Провайдер поменял API — у тебя поехали карточки, detail page, search, metadata и тесты.В App Router запрос наружу можно гонять на сервере: Server Components умеют fetch, а серверный код в клиентский bundle не просачивается. API key при такой схеме остаётся вне браузера — документация Next.js описывает server-side data fetching для App Router. В учебном проекте EventMap внешний источник событий ходит через серверный API-слой.Читать далее
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    21 Sept, 08:49

  • Node.JS [ru] | Серверный JavaScript

    20 Sept, 17:07

    Форма, которая знает слишком много: как превратить правила СХД в состояние UIЖила-была команда, и занесло её на сложную форму для систем хранения данных. Теперь ребята выкладывают опыт: на руках три разных сценария, на выходе один интерфейс — и при этом не пришлось плодить дублирующееся состояние и утопать в обработчиках.Читать на Habr: habr.com/ru/companies/aerodisk/articles/1083430👉 Node.JS [ru]
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    20 Sept, 13:07

    Telegram Serverless: бота реально поднять вообще без своей железкиВ BotFather всплыло сообщение про ранний доступ к Telegram Serverless. Идея простая: код бота крутится на инфраструктуре самой Телеги — ни VPS тебе, ни Docker, ни nginx, да и внешняя база данных вроде как не нужна.Автор копнул, что конкретно там сделали, как теперь выглядит разработка и правда ли можно собрать бота, у которого своего сервера нет в принципе. Но сразу оговорка: это пока early access, ограничения прилагаются, а привычную связку Python + aiogram туда в один клик не закинешь.Читать далее👉 Node.JS [ru]
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    20 Sept, 09:07

    «Протез для силы воли»: расширение Curfew против думскроллингаПо словам автора, он долго жил без понятия, сколько часов сливает в ленте Х, и это его, мягко говоря, подъедало. На смартфоне тебе в помощь вагон приложух, которые считают экранное время в любой софтине. А десктоп — это другая планета: тут каждый чих собираешь руками, по кусочкам, и всё это через одно место работает.Расширения от думскроллинга в браузере он щупал разные, но у всех один и тот же косяк: блокировку раз плюнуть обойти. Усилий на обход надо меньше, чем запас лени — причём настолько меньше, что лень не успевает даже пикнуть своё «да забей ты». На телефоне порог тоже так себе, но там есть родительский контроль и сторонние тулзы, которые добавят трения.Пока автор писал материал про харнесс, его посетила мысль: такой же структурный подход неплохо бы прикрутить и к себе — чтобы срывы упирались не в уговоры с
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    20 Sept, 06:37

    🤣 Типичный ИИ💥 xCode Journal
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    19 Sept, 18:07

    Жмёшь кнопку — в ответ тишина. Как не профукать действие юзера и не наплодить дублейЮзер тапнул, связь отвалилась — и браузер сидит, не в курсе, доехал запрос до сервера или нет. Шлёшь повтор — получаешь дубль. Не шлёшь — действие улетает в никуда.В материале разбирают схему, которая закрывает оба этих случая: API без toggle, ключ идемпотентности в PostgreSQL, очередь в IndexedDB, Service Worker и проверка офлайна в Playwright. Автор сразу предупреждает: это не полноценный offline-first, а только страховка действий в момент, когда связь рвётся.Разобраться с повторами👉 Node.JS [ru]
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    19 Sept, 13:07

    Зачем Lovable сделала Vite-совместимый dev-сервер на RustУ Lovable в сутки крутится миллион dev-серверов Vite. Отсюда и растут ноги: инженер компании Рафаэль Аморим собрал OJ — dev-сервер на Rust, который подхватывает твой уже имеющийся vite.config.ts и гоняет плагины Vite. Но с прицелом на скромный жор памяти и быстрый холодный старт.Штука открытая. Правда, пока экспериментальная.Больше деталей — в выпуске React Status #491: react.statuscode.com/issues/491👉 Node.JS [ru]
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    18 Sept, 17:07

    Polymorpheus: та самая недостающая деталь в пазле AngularAngular — фреймворк хороший. И заботливый: кучу всего там уже продумали за тебя. А если внезапно приспичило что-то нестандартное — текущее поведение обычно спокойно переопределяется или докручивается.Вот про один такой кейс автор и рассказывает. И заодно показывает инструмент, который слепил много лет назад и с тех пор считает обязательной базой для Angular. Это маленькая библиотека Polymorpheus — в Taiga UI она попадается буквально везде, где надо вывести динамический контент.Читать далее👉 Node.JS [ru]
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    18 Sept, 13:07

    Тестим смарт-контракты на Hardhat 3: node:test, viem и ни одного mochaHardhat 3 слил mocha вместе с chai. Теперь тесты крутит встроенный node:test, а с контрактом болтает viem.В гайдах по миграции тебе разжуют конфиги до последней запятой, а вот про то, как теперь вообще писать сами тесты — почти ни слова. Автор как раз пилит учебный проект на этом стэке и собрал рецепт целиком: скелет теста, ассерты на ивенты и кастомные ошибки, сверка балансов с поправкой на газ и пять грабель, на которые он успел наступить лично.Читать далее👉 Node.JS [ru]
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    18 Sept, 09:07

    Марио, только про джуна: платформер на 40 КБ и бот, что принимает уровниЗа этим стоит фронтендер. По вечерам он ковыряет Workaem — агрегатор вакансий в IT. А рядом захотелось чего-то совсем несерьёзного, и за выходные вылезла аркада в стиле Марио, но про карьеру в айти — «Путь джуна». Грибы тут заменили офферами, черепах — легаси, а в замках вместо дракона тебя ждёт собеседование: от тестового до финального.Дальше накинул ещё пару вечеров, и по ходу вылезло столько всего, чего фронтендер раньше в руках не держал: физика с фиксированным шагом, процедурная генерация уровней, синтез звука, античит на таблицу рекордов и баги, которые глазами вообще не выцепить. Claude пихался в процесс активно, но когда уровень внезапно не проходится или таблица рекордов нагло врёт — разбирался своими руками, в основном по скриншотам и логам. Без файлов графики игра тянет 40 КБ, а каждый уровень перед
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    18 Sept, 06:37

    🤣 Просто не самый надёжный протокол передачи данных💥 xCode Journal
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript
  • Node.JS [ru] | Серверный JavaScript

    17 Sept, 17:07

    «Обратная змейка», часть 2: разбор фидбека, правка багов и свежий боссКогда выкатывал первую часть, честно ждал десяток лайков и гробовую тишину в комментах. Кому вообще сдалась змейка, склеенная за пару вечеров? Ага, размечтался. Комментов прилетело прилично, и половина — не дежурное «мило, годно», а нормальный такой разбор: одному баг попался, второму — спавн змей аккурат под носом у игрока, а третий вообще начал кидать сравнения — то Pac-Man, то Asteroids.Сам автор не отпирается: технически игра работала. Но кое-где — не на 100% от своей же задумки, а это, согласись, не то же самое, что «работает хорошо». Так что он решил пройтись по всему списку, а не отделаться сердечком в ответ.Читать далее👉 Node.JS [ru]
    Image from a post by Node.JS [ru] | Серверный JavaScriptImage from a post by Node.JS [ru] | Серверный JavaScript