Standard JSON Schema vs JSON Schema
JSON Schema — это стандарт, которым описывают JSON. Standard JSON Schema — тоже стандарт. Прикинь, да. И это не опечатка, и это не один и тот же стандарт, названный дважды.
Разбор — в статье: Читать далее
👉 Node.JS [ru]
JSON Schema — это стандарт, которым описывают JSON. Standard JSON Schema — тоже стандарт. Прикинь, да. И это не опечатка, и это не один и тот же стандарт, названный дважды.
Разбор — в статье: Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Халявный плагин для входа через VK ID на WordPress
Чел пилил очередной сайт на WordPress и задумал избавить юзеров от возни с регистрацией — пошёл привычным маршрутом, через вход сторонними сервисами. Нынче в тренде логиниться через ВК, вот эту штуку он и прикрутил. Делал так и раньше, но сегодня вылезла загвоздка.
Готовых решений не подъехало — зато выход есть: бесплатный плагин для входа через VK ID на WordPress.
Читать на Habr
👉 Node.JS [ru]
Чел пилил очередной сайт на WordPress и задумал избавить юзеров от возни с регистрацией — пошёл привычным маршрутом, через вход сторонними сервисами. Нынче в тренде логиниться через ВК, вот эту штуку он и прикрутил. Делал так и раньше, но сегодня вылезла загвоздка.
Готовых решений не подъехало — зато выход есть: бесплатный плагин для входа через VK ID на WordPress.
Читать на Habr
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1😁1🐳1
Kwork Hider: расширение, что вешает кнопку «Скрыть» на проекты в Kwork
На kwork.ru/projects ежедневно вылезает 50 проектов, и добрая половина — вообще не твоё. Кнопку «Скрыть» туда не завезли, вот и листаешь один и тот же шлак по десятому кругу.
Расширение Kwork Hider написал автор. Кто по этой ленте ползал — вопросов не задаёт.
Читать дальше: habr.com
👉 Node.JS [ru]
На kwork.ru/projects ежедневно вылезает 50 проектов, и добрая половина — вообще не твоё. Кнопку «Скрыть» туда не завезли, вот и листаешь один и тот же шлак по десятому кругу.
Расширение Kwork Hider написал автор. Кто по этой ленте ползал — вопросов не задаёт.
Читать дальше: habr.com
Please open Telegram to view this post
VIEW IN TELEGRAM
Как запихнуть Angular-приложение в Minecraft
Что нужно, чтобы Angular-приложение ожило прямо в Minecraft и реагировало на то, что делает игрок? В разборе — своя платформа, Renderer2, layout на Yoga, а текст и картинки выводятся блоками.
На выходе — интерактивный прогноз погоды. Крутить им можно прямо из мира игры.
Читать далее
👉 Node.JS [ru]
Что нужно, чтобы Angular-приложение ожило прямо в Minecraft и реагировало на то, что делает игрок? В разборе — своя платформа, Renderer2, layout на Yoga, а текст и картинки выводятся блоками.
На выходе — интерактивный прогноз погоды. Крутить им можно прямо из мира игры.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Пару месяцев назад автор залип на вопросе, на который внятно ответить не мог: когда крутишь кейс на очередном CS2-сайте — тебя кидают на ролле или мухлёж где-то в другом месте? Таких сайтов десятки, бабки там гоняют серьёзные, а исходники не выкладывает ни один. Снаружи — вертушка и кнопка «открыть». Внутри — Steam-боты, эмуляция клиента, HMAC, бухгалтерия на целых числах и очень конкретная математика, которая устроена так, что на дистанции всё равно в плюсе сайт.
Чтобы ответить не на уровне «да там одни скамеры», а с доказательствами, автор написал такой сайт с нуля и выложил под MIT. Не «демку с анимацией», а весь цикл: вход через Steam, открытие кейса с проверяемым роллом, продажа и апгрейд предмета, заявка на вывод, которую реально отправляет торговый бот, и админка, где кейс собирается по RTP ещё до того, как уйдёт в прод.
И пока он это писал, вылезло главное — дело не в жульничестве с роллом. Жульничать там просто не нужно. Репозиторий: github.com/ialakey/caseforge. Читать далее
👉 Node.JS [ru]
Чтобы ответить не на уровне «да там одни скамеры», а с доказательствами, автор написал такой сайт с нуля и выложил под MIT. Не «демку с анимацией», а весь цикл: вход через Steam, открытие кейса с проверяемым роллом, продажа и апгрейд предмета, заявка на вывод, которую реально отправляет торговый бот, и админка, где кейс собирается по RTP ещё до того, как уйдёт в прод.
И пока он это писал, вылезло главное — дело не в жульничестве с роллом. Жульничать там просто не нужно. Репозиторий: github.com/ialakey/caseforge. Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Где жить Node.js-приложению и Next.js-сайту с SSR в 2026
Внутри — про профильные PaaS-облака и про нюансы хостинга сайтов с SSR (рендеринг на стороне сервера): React (Next.js, Remix, Astro), Vue (Nuxt.js, Quasar), Angular. И про то, где у сервисов сильные стороны, а где слабые.
Ещё отдельным блоком — VPS и Serverless-провайдеры. Плюс пример: деплой Node.js-приложения с BullMQ и Redis.
Читать далее
👉 Node.JS [ru]
Внутри — про профильные PaaS-облака и про нюансы хостинга сайтов с SSR (рендеринг на стороне сервера): React (Next.js, Remix, Astro), Vue (Nuxt.js, Quasar), Angular. И про то, где у сервисов сильные стороны, а где слабые.
Ещё отдельным блоком — VPS и Serverless-провайдеры. Плюс пример: деплой Node.js-приложения с BullMQ и Redis.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
JS/TS-библиотека для транслитераций между 50 языками — 2450 комбинаций
Под транслитерацией обычно понимают одну вещь: русский текст, набранный латиницей. Но это лишь половина истории — романизация. А вот решений, которые умеют в обратную сторону, из латиницы в нелатинские письменности, уже заметно меньше. Ну а переводы между самыми разными письменностями и языками вообще — армянский в греческий, хинди в арабский, чешский в корейский — там практически пусто. И у существующих библиотек хроническая беда: контекст им неинтересен, работают побуквенно, а на выходе — каша, плюющая на правила языка. 北海道 (Хоккайдо) превращается в Bei Hai Dao, а بغداد (Багдад) — в bGdd.
В статье автор разбирает, как собирал библиотеку, которая крутится на своём сервере и не выдаёт сюрпризов, на какие лингвистические грабли наступал, чем при этом орудовал и где во всей этой кухне приткнулся ИИ.
Читать далее
👉 Node.JS [ru]
Под транслитерацией обычно понимают одну вещь: русский текст, набранный латиницей. Но это лишь половина истории — романизация. А вот решений, которые умеют в обратную сторону, из латиницы в нелатинские письменности, уже заметно меньше. Ну а переводы между самыми разными письменностями и языками вообще — армянский в греческий, хинди в арабский, чешский в корейский — там практически пусто. И у существующих библиотек хроническая беда: контекст им неинтересен, работают побуквенно, а на выходе — каша, плюющая на правила языка. 北海道 (Хоккайдо) превращается в Bei Hai Dao, а بغداد (Багдад) — в bGdd.
В статье автор разбирает, как собирал библиотеку, которая крутится на своём сервере и не выдаёт сюрпризов, на какие лингвистические грабли наступал, чем при этом орудовал и где во всей этой кухне приткнулся ИИ.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Распиливаем фронтенд на модули и сшиваем обратно: разбор на маркетплейсе
На живом маркетплейсе разберём: как раздробить приложение на feature-модули, как склеить сервисы через DI, как разложить состояние по местам и как запереть всю возню с браузерными API в изоляции.
Читать далее
👉 Node.JS [ru]
На живом маркетплейсе разберём: как раздробить приложение на feature-модули, как склеить сервисы через DI, как разложить состояние по местам и как запереть всю возню с браузерными API в изоляции.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Было время, когда CSS умел запускать JavaScript
Frontend Focus #758, 16 сентября 2026. Внутри — материал Declan Chidlow «CSS Curiosities of the Past». Это прогулка по тем самым костылям, которыми народ заставлял браузеры слушаться. И главный страдалец тут — Internet Explorer.
Что разбирают: «star hack», CSS expressions (да, JS прямо в твоём CSS), DirectX-фильтры IE и легендарный box model hack.
Источник: Frontend Focus #758
👉 Node.JS [ru]
Frontend Focus #758, 16 сентября 2026. Внутри — материал Declan Chidlow «CSS Curiosities of the Past». Это прогулка по тем самым костылям, которыми народ заставлял браузеры слушаться. И главный страдалец тут — Internet Explorer.
Что разбирают: «star hack», CSS expressions (да, JS прямо в твоём CSS), DirectX-фильтры IE и легендарный box model hack.
Источник: Frontend Focus #758
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Functional Programming Jargon, Mapped and Explained
Популярный справочник по жаргону функционального программирования от делегата TC39 Hemanth HM теперь представляет собой исследуемую карту концепций, которая показывает, как они связаны между собой. У каждого понятия — простое определение и пример на JavaScript: каррирование, чистота, функторы, монады и другие.
Новость опубликована в выпуске #802 от 15 сентября 2026 года.
Читать: javascriptweekly.com/issues/802
👉 Node.JS [ru]
Популярный справочник по жаргону функционального программирования от делегата TC39 Hemanth HM теперь представляет собой исследуемую карту концепций, которая показывает, как они связаны между собой. У каждого понятия — простое определение и пример на JavaScript: каррирование, чистота, функторы, монады и другие.
Новость опубликована в выпуске #802 от 15 сентября 2026 года.
Читать: javascriptweekly.com/issues/802
Please open Telegram to view this post
VIEW IN TELEGRAM
«Обратная змейка», часть 2: разбор фидбека, правка багов и свежий босс
Когда выкатывал первую часть, честно ждал десяток лайков и гробовую тишину в комментах. Кому вообще сдалась змейка, склеенная за пару вечеров? Ага, размечтался. Комментов прилетело прилично, и половина — не дежурное «мило, годно», а нормальный такой разбор: одному баг попался, второму — спавн змей аккурат под носом у игрока, а третий вообще начал кидать сравнения — то Pac-Man, то Asteroids.
Сам автор не отпирается: технически игра работала. Но кое-где — не на 100% от своей же задумки, а это, согласись, не то же самое, что «работает хорошо». Так что он решил пройтись по всему списку, а не отделаться сердечком в ответ.
Читать далее
👉 Node.JS [ru]
Когда выкатывал первую часть, честно ждал десяток лайков и гробовую тишину в комментах. Кому вообще сдалась змейка, склеенная за пару вечеров? Ага, размечтался. Комментов прилетело прилично, и половина — не дежурное «мило, годно», а нормальный такой разбор: одному баг попался, второму — спавн змей аккурат под носом у игрока, а третий вообще начал кидать сравнения — то Pac-Man, то Asteroids.
Сам автор не отпирается: технически игра работала. Но кое-где — не на 100% от своей же задумки, а это, согласись, не то же самое, что «работает хорошо». Так что он решил пройтись по всему списку, а не отделаться сердечком в ответ.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Марио, только про джуна: платформер на 40 КБ и бот, что принимает уровни
За этим стоит фронтендер. По вечерам он ковыряет Workaem — агрегатор вакансий в IT. А рядом захотелось чего-то совсем несерьёзного, и за выходные вылезла аркада в стиле Марио, но про карьеру в айти — «Путь джуна». Грибы тут заменили офферами, черепах — легаси, а в замках вместо дракона тебя ждёт собеседование: от тестового до финального.
Дальше накинул ещё пару вечеров, и по ходу вылезло столько всего, чего фронтендер раньше в руках не держал: физика с фиксированным шагом, процедурная генерация уровней, синтез звука, античит на таблицу рекордов и баги, которые глазами вообще не выцепить. Claude пихался в процесс активно, но когда уровень внезапно не проходится или таблица рекордов нагло врёт — разбирался своими руками, в основном по скриншотам и логам. Без файлов графики игра тянет 40 КБ, а каждый уровень перед выкладкой прогоняет бот.
Читать далее
👉 Node.JS [ru]
За этим стоит фронтендер. По вечерам он ковыряет Workaem — агрегатор вакансий в IT. А рядом захотелось чего-то совсем несерьёзного, и за выходные вылезла аркада в стиле Марио, но про карьеру в айти — «Путь джуна». Грибы тут заменили офферами, черепах — легаси, а в замках вместо дракона тебя ждёт собеседование: от тестового до финального.
Дальше накинул ещё пару вечеров, и по ходу вылезло столько всего, чего фронтендер раньше в руках не держал: физика с фиксированным шагом, процедурная генерация уровней, синтез звука, античит на таблицу рекордов и баги, которые глазами вообще не выцепить. Claude пихался в процесс активно, но когда уровень внезапно не проходится или таблица рекордов нагло врёт — разбирался своими руками, в основном по скриншотам и логам. Без файлов графики игра тянет 40 КБ, а каждый уровень перед выкладкой прогоняет бот.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Тестим смарт-контракты на Hardhat 3: node:test, viem и ни одного mocha
Hardhat 3 слил mocha вместе с chai. Теперь тесты крутит встроенный
В гайдах по миграции тебе разжуют конфиги до последней запятой, а вот про то, как теперь вообще писать сами тесты — почти ни слова. Автор как раз пилит учебный проект на этом стэке и собрал рецепт целиком: скелет теста, ассерты на ивенты и кастомные ошибки, сверка балансов с поправкой на газ и пять грабель, на которые он успел наступить лично.
Читать далее
👉 Node.JS [ru]
Hardhat 3 слил mocha вместе с chai. Теперь тесты крутит встроенный
node:test, а с контрактом болтает viem.В гайдах по миграции тебе разжуют конфиги до последней запятой, а вот про то, как теперь вообще писать сами тесты — почти ни слова. Автор как раз пилит учебный проект на этом стэке и собрал рецепт целиком: скелет теста, ассерты на ивенты и кастомные ошибки, сверка балансов с поправкой на газ и пять грабель, на которые он успел наступить лично.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Polymorpheus: та самая недостающая деталь в пазле Angular
Angular — фреймворк хороший. И заботливый: кучу всего там уже продумали за тебя. А если внезапно приспичило что-то нестандартное — текущее поведение обычно спокойно переопределяется или докручивается.
Вот про один такой кейс автор и рассказывает. И заодно показывает инструмент, который слепил много лет назад и с тех пор считает обязательной базой для Angular. Это маленькая библиотека Polymorpheus — в Taiga UI она попадается буквально везде, где надо вывести динамический контент.
Читать далее
👉 Node.JS [ru]
Angular — фреймворк хороший. И заботливый: кучу всего там уже продумали за тебя. А если внезапно приспичило что-то нестандартное — текущее поведение обычно спокойно переопределяется или докручивается.
Вот про один такой кейс автор и рассказывает. И заодно показывает инструмент, который слепил много лет назад и с тех пор считает обязательной базой для Angular. Это маленькая библиотека Polymorpheus — в Taiga UI она попадается буквально везде, где надо вывести динамический контент.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Зачем Lovable сделала Vite-совместимый dev-сервер на Rust
У Lovable в сутки крутится миллион dev-серверов Vite. Отсюда и растут ноги: инженер компании Рафаэль Аморим собрал OJ — dev-сервер на Rust, который подхватывает твой уже имеющийся
Штука открытая. Правда, пока экспериментальная.
Больше деталей — в выпуске React Status #491: react.statuscode.com/issues/491
👉 Node.JS [ru]
У Lovable в сутки крутится миллион dev-серверов Vite. Отсюда и растут ноги: инженер компании Рафаэль Аморим собрал OJ — dev-сервер на Rust, который подхватывает твой уже имеющийся
vite.config.ts и гоняет плагины Vite. Но с прицелом на скромный жор памяти и быстрый холодный старт.Штука открытая. Правда, пока экспериментальная.
Больше деталей — в выпуске React Status #491: react.statuscode.com/issues/491
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Жмёшь кнопку — в ответ тишина. Как не профукать действие юзера и не наплодить дублей
Юзер тапнул, связь отвалилась — и браузер сидит, не в курсе, доехал запрос до сервера или нет. Шлёшь повтор — получаешь дубль. Не шлёшь — действие улетает в никуда.
В материале разбирают схему, которая закрывает оба этих случая: API без toggle, ключ идемпотентности в PostgreSQL, очередь в IndexedDB, Service Worker и проверка офлайна в Playwright. Автор сразу предупреждает: это не полноценный offline-first, а только страховка действий в момент, когда связь рвётся.
Разобраться с повторами
👉 Node.JS [ru]
Юзер тапнул, связь отвалилась — и браузер сидит, не в курсе, доехал запрос до сервера или нет. Шлёшь повтор — получаешь дубль. Не шлёшь — действие улетает в никуда.
В материале разбирают схему, которая закрывает оба этих случая: API без toggle, ключ идемпотентности в PostgreSQL, очередь в IndexedDB, Service Worker и проверка офлайна в Playwright. Автор сразу предупреждает: это не полноценный offline-first, а только страховка действий в момент, когда связь рвётся.
Разобраться с повторами
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
«Протез для силы воли»: расширение Curfew против думскроллинга
По словам автора, он долго жил без понятия, сколько часов сливает в ленте Х, и это его, мягко говоря, подъедало. На смартфоне тебе в помощь вагон приложух, которые считают экранное время в любой софтине. А десктоп — это другая планета: тут каждый чих собираешь руками, по кусочкам, и всё это через одно место работает.
Расширения от думскроллинга в браузере он щупал разные, но у всех один и тот же косяк: блокировку раз плюнуть обойти. Усилий на обход надо меньше, чем запас лени — причём настолько меньше, что лень не успевает даже пикнуть своё «да забей ты». На телефоне порог тоже так себе, но там есть родительский контроль и сторонние тулзы, которые добавят трения.
Пока автор писал материал про харнесс, его посетила мысль: такой же структурный подход неплохо бы прикрутить и к себе — чтобы срывы упирались не в уговоры с самим собой, а в перекрытый путь к обходу. В том тексте разбирали Atomic Habits и его методы закрепления хороших привычек, но там же есть и приёмы против дурных, включая банальное «убрать с глаз долой», а самый рабочий инструмент — наша собственная лень. Вот так и родился Curfew — браузерное расширение, которое следит и режет дневные бюджеты на «вредные» сайты.
Читать далее
👉 Node.JS [ru]
По словам автора, он долго жил без понятия, сколько часов сливает в ленте Х, и это его, мягко говоря, подъедало. На смартфоне тебе в помощь вагон приложух, которые считают экранное время в любой софтине. А десктоп — это другая планета: тут каждый чих собираешь руками, по кусочкам, и всё это через одно место работает.
Расширения от думскроллинга в браузере он щупал разные, но у всех один и тот же косяк: блокировку раз плюнуть обойти. Усилий на обход надо меньше, чем запас лени — причём настолько меньше, что лень не успевает даже пикнуть своё «да забей ты». На телефоне порог тоже так себе, но там есть родительский контроль и сторонние тулзы, которые добавят трения.
Пока автор писал материал про харнесс, его посетила мысль: такой же структурный подход неплохо бы прикрутить и к себе — чтобы срывы упирались не в уговоры с самим собой, а в перекрытый путь к обходу. В том тексте разбирали Atomic Habits и его методы закрепления хороших привычек, но там же есть и приёмы против дурных, включая банальное «убрать с глаз долой», а самый рабочий инструмент — наша собственная лень. Вот так и родился Curfew — браузерное расширение, которое следит и режет дневные бюджеты на «вредные» сайты.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Telegram Serverless: бота реально поднять вообще без своей железки
В BotFather всплыло сообщение про ранний доступ к Telegram Serverless. Идея простая: код бота крутится на инфраструктуре самой Телеги — ни VPS тебе, ни Docker, ни nginx, да и внешняя база данных вроде как не нужна.
Автор копнул, что конкретно там сделали, как теперь выглядит разработка и правда ли можно собрать бота, у которого своего сервера нет в принципе. Но сразу оговорка: это пока early access, ограничения прилагаются, а привычную связку Python + aiogram туда в один клик не закинешь.
Читать далее
👉 Node.JS [ru]
В BotFather всплыло сообщение про ранний доступ к Telegram Serverless. Идея простая: код бота крутится на инфраструктуре самой Телеги — ни VPS тебе, ни Docker, ни nginx, да и внешняя база данных вроде как не нужна.
Автор копнул, что конкретно там сделали, как теперь выглядит разработка и правда ли можно собрать бота, у которого своего сервера нет в принципе. Но сразу оговорка: это пока early access, ограничения прилагаются, а привычную связку Python + aiogram туда в один клик не закинешь.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4😁1