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

Настоящий JavaScript

@true_js

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

Личный блог автора - @just_genych
По вопросам рекламы или разработки: @g_abashkin
Subscribers
5.92K
Photos
3K
Videos
7
Links
2.7K

Showing posts older than #3875 · Back to latest

Older Posts 20 shown
Post #3873 285
Лучший хостинг для Node.js-приложений и Next.js-сайтов с SSR в 2026

Разбор про профильные PaaS-облака и про то, чем на самом деле отличается хостинг сайтов с SSR — тем самым рендерингом на сервере — на React (Next.js, Remix, Astro), Vue (Nuxt.js, Quasar) и Angular. Где сервисы тащат, а где откровенно сдают позиции — тоже есть. Плюс отдельно про VPS и Serverless-провайдеров.

И ещё живой кейс: как задеплоить Node.js-приложение с BullMQ и Redis.

Читать далее

👉 JS
Post #3872 295
Гоняем 30 млн микробов прямо в браузере

WebGPU даёт видюхе куда больше, чем просто рисование картинок — через compute shaders её можно нагрузить обычными вычислениями, по полной программе.

И где тут предел, если всё крутится в обычном браузере? А если под вычислениями понимать честную симуляцию на десятки миллионов объектов? Ответы — в статье.

Читать далее

👉 JS
Post #3869 357
Почему видео из аниме-плеера просто так не вставить, и как я всё равно собрал синхронный просмотр на двоих

Затея простая: смотреть аниме с корешами так, чтобы твоя пауза ставила паузу у всех. Не Discord Go Live с его артефактами и мыльной картинкой, не «на счёт три жмём пробел» — нужен честный общий плеер: кто угодно нажал, у всех перемоталось. Автор думал, что управится за вечер.

Хрен там. Вылезло четыре проблемы, причём три из них он вообще нигде не встретил описанными, плюс ночь на разбор того, почему hls.js тупо молчит в ответ.

Внутри: почему ссылка на видео напрямую в браузере бесполезна, как устроен прокси с подписанными токенами и переписыванием HLS-плейлистов на лету, как синхронизировать плеер без вечного эха событий и почему preload="none" ломает Media Source Extensions. Читать далее

👉 JS
  • 👍 2
Post #3868 330
Тестировать API многие умеют ровно одну штуку: кинуть запрос и порадоваться, что вернулось 200. На собесе такое катит минуты две. А вот в проде вылезает совсем другое — то, что статус-код вообще не ловит: в ответе прилетел чужой заказ, вместо нормальной ошибки валидации пришёл молчаливый 500, товар со склада так и не списался.

Давай разберём 20 базовых проверок — они и отделяют QA, который реально тестирует API, от того, кто просто дёргает ручки. Успешный ответ, входные данные, ошибки, доступ и состояние системы — всё на одном сквозном сценарии, с примерами на curl и в Postman. Новичок соберёт себе последовательность, опытный — сверится и прикинет, куда расширять набор тестов.

Узнать, что ловит прод →

👉 JS
  • 🔥 2
Post #3867 326
Что подвезли в HTML к 2026 году

🚀 Прилетел Frontend Focus #757. Chris Coyier разложил, чем HTML разжился: тег geolocation, HTML-in-Canvas, камера и микрофон через usermedia и тег model. По сравнению с CSS и JavaScript HTML плетётся в хвосте, но фич всё равно навалило прилично.

Lea Verou после долгих недель споров — включая ответ Bramus — снова возвращается к извечному: а нужен ли вообще большинству сайтов тумблер светлой и тёмной темы, торчащий на виду постоянно. Declan Chidlow собрал HTML-сниппеты, которые давно пора на свалку: условные комментарии, X-UA-Compatible и cleartype. W3C открыл опрос сообщества 2026 года о том, куда дальше грести его работе и веб-стандартам.

⚡️ Коротко: команда Tailwind CSS становится частью Shopify; заявки по Interop 2027 принимают до 23 сентября; Chrome перебрался на релизы раз в две недели, следом подтягиваются Firefox, Edge и Brave; поддержку JPEG XL включат по умолчанию в Firefox 158.

Читать: frontendfoc.us/issues/757

👉 JS
Post #3865 296
🤩 Нашли репу с десятками практических проектов для прокачки навыков и резюме

Внутри 54 проекта разной сложности по Terraform, Kubernetes, Docker, CI/CD, DevSecOps, AWS, Azure, безопасности и мониторингу.

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

✖️ xCode Journal
Post #3863 299
🤣 Наконец-то батя покажет, как он в детстве ходил в школу за 100 верст

💥 xCode Journal
Post #3861 306
withComponentInputBinding: уменьшаем связанность, инвертируем зависимости

В Angular-проектах routed-компоненты часто выполняют оркестрирующую роль для своего роута: они инжектят ActivatedRoute, достают из него параметры и по ним выполняют инициализацию с помощью доменных сервисов. Такой компонент принято считать smart container, но действительно ли ему необходимо знать про ActivatedRoute и конкретный сервис?

Автор рассказывает, как с помощью фичи withComponentInputBinding и резолверов можно инвертировать зависимости для routed-компонентов и уменьшить их связанность.

Читать далее

👉 JS
Post #3859 329
Разработчик в Казахстане обходится на 22% дороже, если он ИП

Компания находит мидла на бэкенд в Казахстане, договаривается о вилке, а бухгалтер спрашивает: он ИП или физлицо? Вопрос не формальный: от ответа зависит, будет ли проект стоить на 22% дороже.

В статье разбирают, откуда берутся эти 22%, почему НДФЛ с казахстанца платить не надо, но налоговым агентом вы всё равно остаётесь, и какая формулировка в договоре превращает экономию в доначисление.

Дисклеймер: это не универсальный рецепт. Описан типовой случай: разработчик живет в Казахстане, работает там и в Россию не приезжает.

Читать далее

👉 JS
Post #3858 303
i18n в Next.js без SEO-дублей: locale в маршрутах, metadata и hreflang

Перевод интерфейса меняет текст, но сам по себе не создаёт отдельную языковую страницу. Адрес /search/music может показать английский или русский интерфейс в зависимости от client state, cookie или настроек браузера — URL при этом остаётся тем же.

Для поисковой индексации языковые версии удобнее разделить адресами. Читать далее

👉 JS
Post #3852 329
Картинка загрузилась, но API вернул images: [] — ловушка relationship в SQLAlchemy

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

Речь про добавление изображений в админку сайта портфолио. У проекта есть заголовок, описание и несколько изображений. После загрузки файла API должен вернуть обновлённый проект, чтобы интерфейс сразу показал новую картинку. Файл сохранялся, строка появлялась в базе, повторный GET тоже находил изображение. Но ответ самого запроса загрузки выглядел так: images: [].

Читать далее

👉 JS
Post #3849 316
«Ссылка недействительна» с первой попытки: её открыли до пользователя

В сервисе появились обращения: человек запрашивает сброс пароля, получает письмо, нажимает на ссылку и видит «ссылка недействительна или устарела». Запрашивает второй раз — то же самое, пятый — то же самое.

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

Читать далее

👉 JS
Post #3848 338
Что реально даёт HTTP/2 и HTTP/3 — и когда не даёт вообще ничего

Про HTTP/3 пишут примерно одно и то же: QUIC решает проблему head-of-line blocking, соединение переживает смену сети, рукопожатие укладывается в один раунд. Всё это правда. Непонятно другое — сколько из этого достаётся конкретной странице и в каких случаях не достаётся ничего.

Читать далее: статья на Habr

👉 JS
Post #3845 373
Незар из Т-Банка — о том, как автоматизировать поиск «мёртвого кода» в Angular

В крупном Angular-проекте накопилось много неиспользуемого кода: он замедляет разработку и мешает новичкам. Ручная очистка оказалась слишком трудоёмкой, поэтому команда внедрила Knip — статический анализатор для TypeScript.

В статье автор делится опытом: рассказывает, как настроил инструмент, интегрировал его в pre-commit и CI/CD. Подробности — по ссылке 👇

Как мы внедрили Knip в Angular-проект: от настройки до CI/CD
Post #3844 356
Плагин как основа архитектуры: Cordis и DeepSeek Harness

Что изменится, если плагин станет не дополнением, а основной единицей архитектуры приложения? На примере Cordis и DeepSeek Harness разбираем, как среда композиции управляет зависимостями, эффектами и жизненным циклом компонентов.

Сравниваем три способа доставки клиентских плагинов: виртуальные модули в общем графе сборки, Module Federation и собственную модульную систему DSH. Сопоставляем Cordis с микросервисами и Kubernetes, обсуждаем ограничения и роль в разработке независимых команд и AI-агентов.

Затрагиваем метатеорию Cordis и спекулятивную архитектуру, где композиция приложения становится предметом эксперимента. Будет полезно архитекторам, техлидам и JS/TS-разработчикам модульных продуктов, плагинных платформ и систем с динамическими AI-компонентами.

Читать далее

👉 JS
Post #3843 320
В конце марта 2026 года Figma открыла канвас для AI-агентов. Claude Code, Codex и подобные инструменты получили возможность создавать и редактировать макеты через MCP-сервер Figma.

Автор решил проверить, насколько хорошо Claude Code справится с переносом дизайна лендингов в макет и сколько это будет стоить. Агенту давали либо скриншот, либо ссылку на сайт, отслеживая каждый шаг, обращения к инструментам и расход токенов.

Читать далее

👉 JS
Post #3839 314
Одна цифра сломала QR. Почему успешного чтения недостаточно

Два QR одинакового размера, одна строка и пять блоков вместо шести. С виду оба исправны, но из одного два декодера не смогли извлечь ничего. В материале восстанавливают опечатку, разбирают её путь через кодировщик и проверяют, почему даже успешное чтение не доказывает правильность QR.

Шесть иллюстраций, 160 сочетаний версии и уровня коррекции, 960 сравнений с Nayki и код эксперимента для самостоятельного запуска.

Читать далее: Habr

👉 JS
Post #3838 311
Vanilla Disintegrate — современные и эффектные анимации для веба

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

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

Читать далее

👉 JS
Post #3836 337
💻 Хакер похитил с помощью агента API-ключ и сжег кредитов на $600 000!

Исследователь METR навайбкодил приложение для управления ИИ-агентами. Из-за бага интерфейс на несколько дней оказался открыт всему интернету, хакер нашел его и попросил агента раскрыть API-ключ. Последующие три недели гений просто тратил кредиты на ИИ-модели.

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

✖️ xCode Journal
Post #3833 341
Будете в Питере - сохраняйте

Атмосферная квартира у метро «Петроградская»: инди-артхаус интерьер, дух старого Петербурга и проектор для уютных вечеров.

Подойдёт для отдыха и удалённой работы.

Посуточная аренда:
https://t.me/FlatErmitage
Older posts →
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 →