TGViewer
Channel Public Channel
Настоящий JavaScript

Настоящий JavaScript

@true_js

Тот самый канал по JavaScript.

Личный блог автора - @just_genych
По вопросам рекламы или разработки: @g_abashkin
Subscribers
5.93K
Photos
3K
Videos
6
Links
2.7K
Recent Posts 20 shown
Post #3910 41
Четверо в одну транзакцию: кейс-батлы, PgBouncer под Prisma и реплика, отдающая пустой инвентарь

Оба прошлых текста про этот CS2-сайт с кейсами заканчивались перечнем того, чего там не завезли: платежей, депозита предметов, кейс-баттлов, рефералки, KYC. Теперь список закрыт — и почти вся сложность упиралась в один вопрос: что творится, когда несколько человек разом двигают одни и те же деньги.

Батл четырёх игроков внутри одной транзакции, очередность локов, при которой дедлок не выстреливает, PgBouncer под Prisma и правило чтения с реплики, которое никаким типом не опишешь.

Читать далее

👉 JS
Post #3909 147
Ты в очереди под каким номером?

Вообрази себе очередь. В ней — все, кто вообще когда-либо жил на Земле: от самого первого человека до младенца, появившегося на свет минуту назад. Длина — где-то сто семнадцать миллиардов. И где-то в этой толпе стоишь ты. Место у тебя имеется с самого рождения, отобрать его нельзя и другому не передать. Просто никто пока не удосужился его назвать.

А в статье разбирают, как по дате рождения посчитать свой порядковый номер, чем таблица из пятидесяти точек честнее ровной кривой и как заставить Postgres держать анонимность ответов конструкцией, а не политикой — с одной дырой, которую автор нашёл у себя сам.

Читать далее

👉 JS
Post #3908 193
Пять лет я профессионально пилю библиотеки

Семь лет назад я закинул в npm свою дебютную библиотеку — custom‑border‑mixin. Тогда я залип на неделю, только чтобы в кайф написать SCSS‑миксин.

Если тебе интересно, что весёлого вообще может быть в SCSS, глянь на хелпер: Или все‑таки поменял?

Читай на Habr

👉 JS
Post #3907 226
Один Gmail = тысяча адресов: что случайно откопали в админке

Одна точка в адресе — и сервис видит перед собой совсем другого пользователя. Наткнулись на такое чисто случайно, а после решили проверить, где вообще предел.

Читать целиком: habr.com

👉 JS
Post #3905 200
Реальный кейс: как интернет-магазин на OT Box и OTAPI защищался от DDoS и парсеров

У владельца магазина случилась неприятность: сервер начал уходить в разнос. CPU — 98–100%, а платных запросов к товарной платформе стало больше примерно в 6–7 раз.

Поначалу это выглядело как DDoS-атака. По факту же основной вклад вносил распределённый автоматизированный HTTP-трафик: боты с парсерами шныряли по страницам магазина, грузили сервер и косвенно провоцировали обращения движка OT Box к OTAPI.

В статье разбирают, как устроена вся эта цепочка, почему обычная защита от DDoS не всегда закрывает такой сценарий и что поменялось после фильтрации трафика. Читать далее

👉 JS
Post #3904 220
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
  • 🔥 1
Post #3903 210
Что фронтенду взять у геймдева: уроки Diablo II, римских стратегий и Prince of Persia

В Diablo II вся математика скиллов лежит в простых текстовых файлах: подкрутил циферки — и пересобирать игру ради баланса не надо. В Prince of Persia 1989 года персонаж живёт на состояниях и переходах между ними. А в градостроительных стратегиях сборщик налогов сам решает, что делать следующим шагом, опираясь на список правил.

Геймдев давно закрыл кучу задач, с которыми фронтенд возится до сих пор. В статье — какие инженерные приёмы оттуда можно утащить в веб-разработку и что это даёт на практике: контракты и моки, конечные автоматы, событийная модель, pattern matching и деревья поведения.

Читать далее

👉 JS
Post #3898 221
🔋 Собрали для тебя подборку — лучшие слитые материалы, книги, курсы, гайды и репозитории.

Выбирай свой стек:

🖥 Курсы & GitHub — 1579GB

⌨️ Python — 955GB

😦 Работа в IT — 778GB

🖥 Общий архив — 2346GB

☁️ Хакинг & ИБ — 756GB

🤒 OSINT — 315GB

🙃 Linux & Bash — 459GB

📂 Подписывайся все в одном месте.
  • 🔥 2
  • ❤ 1
  • 👍 1
Post #3896 258
Марио для джунов: 40 КБ, ни одного файла с графикой, а каждый уровень перед выкладкой шерстит бот

Фронтендер вечерами пилит пет-проект Workaem — агрегатор IT-вакансий. И как-то захотелось рядом с ним соорудить что-то совсем несерьёзное. Уикенд — и на свет появилась аркада в стиле Марио, только про карьеру в айти. Имя ей — «Путь джуна». Грибы подменили офферы, черепах — легаси, а в замках вместо дракона сидят собеседования: от тестового до финала. Потом аркаду ещё пару вечеров допиливали.

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

Читать далее

👉 JS
Post #3894 238
Steam инженерными глазами: OpenID, которому стукнул 2007-й, ★ в названии ножа и цена, приехавшая строкой в чужой локали

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

И да, автор не поленился стянуть весь этот зоопарк в одно место.

Читать далее

👉 JS
  • 👍 1
Post #3893 250
Polymorpheus: та самая деталь пазла для Angular

Angular — штука мощная и на удивление заботливая: кучу всего придумали за тебя. А если внезапно нужен свой сценарий — старое поведение чаще всего не проблема переопределить или докрутить.

Автор как раз про такой случай: показывает инструмент, который сделал давным-давно и с тех пор считает это прямо обязательной базой для Angular. Это маленькая библиотека Polymorpheus. В Taiga UI её пихают вообще везде, где надо вывести динамический контент.

Читать далее

👉 JS
Post #3891 252
«Обратная змейка», часть 2: читаю комментарии, чиню баги и добавляю босса

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

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

Читать далее

👉 JS
Post #3888 248
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

👉 JS
Post #3887 252
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
Post #3885 258
Уведомления в Slack для Allure 3

Уведомления о том, чем закончился прогон — это в первую очередь про удобство в работе с тестами. Не надо каждые пять минут тыкаться проверить, всё ли уже закончилось: сообщение прилетит в Slack само. Меньше отвлекающих факторов — больше времени в потоке.

В Allure Report такую штуку прикрутили ещё в версии 3.0 — через плагин для Slack. А в свежем руководстве разжёвано, как сконфигурировать канал так, чтобы сводка по итогам уезжала в Slack после каждого запуска Allure Report. Читать далее

👉 JS
  • ❤ 1
Post #3883 276
React в 2026-м: вайб-кодинг, Next.js, рынок и фронтенд после прихода ИИ — интервью с Александром Ломковым

React уже давно не просто библиотека, чтобы рисовать интерфейсы. Вокруг наросла целая махина экосистемы, а работа фронтендера гнётся под ИИ быстрее, чем кто-либо успевает освежить свой roadmap. И вопросы на столе простые: надо ли сейчас реально шарить JavaScript, стоит ли брать Next.js «по умолчанию», чем React всё-таки лучше Angular, где косяк у вайб-кодинга и останется ли вообще писать код руками лет через пять?

Автор телеграм-канала «Shulepov Code» Александр поговорил с Александром Ломковым — фронтендером и автором YouTube-канала «Friendly Frontend». Проговорили рынок найма, переезд из VK в Wildberries, нейронки в живой разработке, React с его экосистемой, серверный рендеринг и то, какие скиллы теперь весят больше, чем умение писать код само по себе.

Читать далее

👉 JS
Post #3882 288
Фронтенд на модули: как раскидать приложение по кускам и связать их между собой — разбор на маркетплейсе

На живом кейсе маркетплейса глянем, как порезать приложение на feature-модули и сцепить сервисы через DI. Заодно зацепим организацию состояния и то, как изолировать возню с браузерными API.

Читать далее: habr.com

👉 JS
Post #3875 276
JS/TS-либа для транслита между 50 языками — 2450 комбинаций

У большинства слово «транслитерация» вызывает ровно одну картинку: берем русский текст и пишем его latinskimi bukvami. Но это только половина истории — романизация. Либами, которые романизируют всякое разное, никого не удивишь. А вот те, что умеют в обратную сторону — из латиницы в нелатинские системы письма, — уже редкость. И совсем глухо с теми, кто жонглирует произвольными письменностями: армянский в греческий, хинди в арабский, чешский в корейский. Мало того, у того, что уже существует, хроническая болячка: контекст им не указ, гонят побуквенно. Результат — читать это невозможно, правила языка летят в кювет: 北海道 (Хоккайдо) превращается в Bei Hai Dao, а بغداد (Багдад) — в bGdd.

В статье автор рассказывает, как он такую библиотеку пилил, на какие лингвистические грабли наступал, каким инструментарием орудовал и где во всей этой движухе приткнулся ИИ.

Читать далее

👉 JS
Older posts →

About this channel

How can I read @true_js without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Настоящий JavaScript: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Настоящий JavaScript have?
Настоящий JavaScript (@true_js) has 5.93K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Настоящий JavaScript know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →