gram news
Аватар канала Настоящий JavaScript

Настоящий JavaScript

@true_js

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

5,990подписчиков

Открыть канал

Последние посты

  • Настоящий JavaScript

    22 сент., 17:07

    Свой localhost можно открыть любому — бесплатный сервис Cloudflare всё сделаетЗапускаешь одну команду — и всё:cloudflared tunnel --url http://localhost:8000Пригодится для локальных проектов, проверки вебхуков, живой демонстрации клиентам, быстрых превью и чтобы ИИ-агенты дотянулись до приложений на твоей машине :)Cloudflare Tunnel👉 JS
  • Настоящий JavaScript

    22 сент., 15:45

  • Настоящий JavaScript

    22 сент., 13:07

    Кажется, у Jev завелась открытая локальная замена — LayaLaya — это открытая локальная модель для принятия решений, 421 млн параметров. Заточена под структурированные решения: быстрые да/нет, оценка, выбор из вариантов. Жрёт меньше 1 ГБ памяти, лежит бесплатно на Hugging Face, поднимается на ноуте и даже на телефоне.В тесте её столкнули с облачным 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 токена, так
  • Настоящий JavaScript

    22 сент., 09:07

    Четверо в одну транзакцию: кейс-батлы, PgBouncer под Prisma и реплика, отдающая пустой инвентарьОба прошлых текста про этот CS2-сайт с кейсами заканчивались перечнем того, чего там не завезли: платежей, депозита предметов, кейс-баттлов, рефералки, KYC. Теперь список закрыт — и почти вся сложность упиралась в один вопрос: что творится, когда несколько человек разом двигают одни и те же деньги.Батл четырёх игроков внутри одной транзакции, очередность локов, при которой дедлок не выстреливает, PgBouncer под Prisma и правило чтения с реплики, которое никаким типом не опишешь.Читать далее👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    21 сент., 17:07

    Ты в очереди под каким номером?Вообрази себе очередь. В ней — все, кто вообще когда-либо жил на Земле: от самого первого человека до младенца, появившегося на свет минуту назад. Длина — где-то сто семнадцать миллиардов. И где-то в этой толпе стоишь ты. Место у тебя имеется с самого рождения, отобрать его нельзя и другому не передать. Просто никто пока не удосужился его назвать.А в статье разбирают, как по дате рождения посчитать свой порядковый номер, чем таблица из пятидесяти точек честнее ровной кривой и как заставить Postgres держать анонимность ответов конструкцией, а не политикой — с одной дырой, которую автор нашёл у себя сам.Читать далее👉 JS
  • Настоящий JavaScript

    21 сент., 13:07

    Пять лет я профессионально пилю библиотекиСемь лет назад я закинул в npm свою дебютную библиотеку — custom‑border‑mixin. Тогда я залип на неделю, только чтобы в кайф написать SCSS‑миксин.Если тебе интересно, что весёлого вообще может быть в SCSS, глянь на хелпер: Или все‑таки поменял?Читай на Habr👉 JS
  • Настоящий JavaScript

    21 сент., 09:07

    Один Gmail = тысяча адресов: что случайно откопали в админкеОдна точка в адресе — и сервис видит перед собой совсем другого пользователя. Наткнулись на такое чисто случайно, а после решили проверить, где вообще предел.Читать целиком: habr.com👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    21 сент., 05:27

  • Настоящий JavaScript

    20 сент., 17:07

    Реальный кейс: как интернет-магазин на OT Box и OTAPI защищался от DDoS и парсеровУ владельца магазина случилась неприятность: сервер начал уходить в разнос. CPU — 98–100%, а платных запросов к товарной платформе стало больше примерно в 6–7 раз.Поначалу это выглядело как DDoS-атака. По факту же основной вклад вносил распределённый автоматизированный HTTP-трафик: боты с парсерами шныряли по страницам магазина, грузили сервер и косвенно провоцировали обращения движка OT Box к OTAPI.В статье разбирают, как устроена вся эта цепочка, почему обычная защита от DDoS не всегда закрывает такой сценарий и что поменялось после фильтрации трафика. Читать далее👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    20 сент., 13: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 не светится в браузере. Про server-side data fetching для App Router как раз есть в документации Next.js.В учебном проекте EventMap поток событий с внешнего источника идёт через server API слой.Читать далее👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    20 сент., 09:07

    Что фронтенду взять у геймдева: уроки Diablo II, римских стратегий и Prince of PersiaВ Diablo II вся математика скиллов лежит в простых текстовых файлах: подкрутил циферки — и пересобирать игру ради баланса не надо. В Prince of Persia 1989 года персонаж живёт на состояниях и переходах между ними. А в градостроительных стратегиях сборщик налогов сам решает, что делать следующим шагом, опираясь на список правил.Геймдев давно закрыл кучу задач, с которыми фронтенд возится до сих пор. В статье — какие инженерные приёмы оттуда можно утащить в веб-разработку и что это даёт на практике: контракты и моки, конечные автоматы, событийная модель, pattern matching и деревья поведения.Читать далее👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    20 сент., 06:37

    🤣 Типичный ИИ💥 xCode Journal
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    18 сент., 17:07

    Марио для джунов: 40 КБ, ни одного файла с графикой, а каждый уровень перед выкладкой шерстит ботФронтендер вечерами пилит пет-проект Workaem — агрегатор IT-вакансий. И как-то захотелось рядом с ним соорудить что-то совсем несерьёзное. Уикенд — и на свет появилась аркада в стиле Марио, только про карьеру в айти. Имя ей — «Путь джуна». Грибы подменили офферы, черепах — легаси, а в замках вместо дракона сидят собеседования: от тестового до финала. Потом аркаду ещё пару вечеров допиливали.По ходу дела вылезло много такого, чего он как фронтендер раньше в жизни не трогал: фиксированный шаг физики, процедурные уровни, синтез звука, античит. Плюс баги, которые на глаз вообще не ловились. Claude он гонял активно — как и в основном проекте: тот шустро клепает код. А вот почему уровень вдруг не проходится или откуда таблица рекордов берёт враньё — автор копал сам, в основном по скриншотам и
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    18 сент., 13:07

    Steam инженерными глазами: OpenID, которому стукнул 2007-й, ★ в названии ножа и цена, приехавшая строкой в чужой локалиВ бэклоге это обычно записано как «да там делов-то: логин через Steam прикрутить и цены с маркета тащить». Реальность бьёт по лицу иначе. Вместо OAuth — OpenID 2.0 родом аж из 2007 года. Плюс та самая ★ в имени ножа, из-за которой одно и то же название для двух соседних эндпоинтов собирается двумя прямо противоположными путями. И цена, которая приходит строкой да ещё не в твоей локали.И да, автор не поленился стянуть весь этот зоопарк в одно место.Читать далее👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    18 сент., 09:07

    Polymorpheus: та самая деталь пазла для AngularAngular — штука мощная и на удивление заботливая: кучу всего придумали за тебя. А если внезапно нужен свой сценарий — старое поведение чаще всего не проблема переопределить или докрутить.Автор как раз про такой случай: показывает инструмент, который сделал давным-давно и с тех пор считает это прямо обязательной базой для Angular. Это маленькая библиотека Polymorpheus. В Taiga UI её пихают вообще везде, где надо вывести динамический контент.Читать далее👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    17 сент., 17:07

    «Обратная змейка», часть 2: читаю комментарии, чиню баги и добавляю боссаПубликуя первую часть, автор ставил на десяток лайков и мёртвую тишину в комментах: кому вообще приспичит всерьёз разбирать змейку, которую слепили за пару вечеров. Не срослось. Комментов набежало прилично, и добрая половина — не дежурное «мило, годно», а настоящий разбор полётов: один выцепил баг, другой — спавн змей вплотную к игроку и справедливо назвал это нечестным, третий вообще приплеснул игру то к Pac-Man, то к Asteroids.По технике игра работала. Но местами — не на все сто процентов своей задумки, а это, как ни крути, не то же самое, что работала хорошо. Поэтому автор пошёл по всему списку, а не откинулся сердечком в ответ.Читать далее👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    17 сент., 13:07

    Functional Programming Jargon, Mapped outИзвестный справочник по жаргону функционального программирования от Hemanth HM, делегата TC39, теперь подан как интерактивная карта концепций: она показывает, как понятия цепляются друг за друга, а к каждому идут короткое определение и пример на JavaScript. Каррирование, чистота, функторы, монады — если раньше эти слова пролетали мимо, теперь их есть где разложить по полочкам.Также в выпуске: выкатили React 19.3; атакеры прощупывают открытые Vite dev-серверы и через обход server.fs.deny утягивают учётные данные из .env (дырку заткнули в Vite 7.3.2 и 8.0.5 раньше в этом году); в Safari 27 приехал переписанный загрузчик модулей, так что top-level await теперь стабильно работает во всех основных браузерах; а pnpm 12.4 научился рулить Rust- и Python-пакетами заодно с npm в одном workspace.Полный выпуск: JavaScript Weekly #802
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    17 сент., 09:29

    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👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    16 сент., 17:07

    Уведомления в Slack для Allure 3Уведомления о том, чем закончился прогон — это в первую очередь про удобство в работе с тестами. Не надо каждые пять минут тыкаться проверить, всё ли уже закончилось: сообщение прилетит в Slack само. Меньше отвлекающих факторов — больше времени в потоке.В Allure Report такую штуку прикрутили ещё в версии 3.0 — через плагин для Slack. А в свежем руководстве разжёвано, как сконфигурировать канал так, чтобы сводка по итогам уезжала в Slack после каждого запуска Allure Report. Читать далее👉 JS
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript
  • Настоящий JavaScript

    16 сент., 13:07

    React в 2026-м: вайб-кодинг, Next.js, рынок и фронтенд после прихода ИИ — интервью с Александром ЛомковымReact уже давно не просто библиотека, чтобы рисовать интерфейсы. Вокруг наросла целая махина экосистемы, а работа фронтендера гнётся под ИИ быстрее, чем кто-либо успевает освежить свой roadmap. И вопросы на столе простые: надо ли сейчас реально шарить JavaScript, стоит ли брать Next.js «по умолчанию», чем React всё-таки лучше Angular, где косяк у вайб-кодинга и останется ли вообще писать код руками лет через пять?Автор телеграм-канала «Shulepov Code» Александр поговорил с Александром Ломковым — фронтендером и автором YouTube-канала «Friendly Frontend». Проговорили рынок найма, переезд из VK в Wildberries, нейронки в живой разработке, React с его экосистемой, серверный рендеринг и то, какие скиллы теперь весят больше, чем умение писать код само по себе.Читать далее
    Иллюстрация к посту канала Настоящий JavaScriptИллюстрация к посту канала Настоящий JavaScript