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

Настоящий JavaScript

@true_js

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

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

Showing posts older than #3783 · Back to latest

Older Posts 20 shown
Post #3781 370
Пагинация: боль, которая не кончается на базе

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

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

Проверить пагинацию

👉 JS
Post #3780 377
Даты и время: как не наступить на грабли?

Денис Смирнов из iSpring (работает там больше 6 лет) объясняет, как подружить даты и таймзоны в их платформе для онлайн-обучения. Часовой пояс задаётся на уровне аккаунта, а в отдельных модулях его можно переопределить под конкретного юзера.

Все детали, нюансы и ограничения — в статье: Читать далее.

👉 JS
Post #3778 354
5ⁿ → 4n+1: сколько на самом деле дают редукции в explicit‑state model checking

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

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

👉 JS
Post #3776 341
Shadow AI — почему инженеры скрывают, что пользуются ИИ

Автор рассказывает, что слушал подкаст Code of Leadership — выпуск про AI-assisted engineering. Полтора часа о том, как встроить ИИ в разработку: копайлоты, MCP, метрики, место ИИ в SDLC.

В середине разговора проскочил термин shadow AI — в ряду ИБ-рисков, между утечками и комплаенсом. Автор зацепился за эту сноску и считает, что она интереснее основного разговора, поэтому ходит с ней уже неделю.

Читать далее...

👉 JS
Post #3775 356
Angular + Playwright: CAT-тесты компонентов

Слышишь «тесты на Playwright» — в голове всплывает классический e2e: приложение поднялось, авторизация, шараханье по страницам, общение с настоящим backend. А здесь Playwright используют совсем иначе.

Львиная доля UI-автоматизации в Angular-проекте — CAT-тесты (component autotest). Компонент или целую бизнес-форму поднимают в Storybook, запускают в реальном Chromium, дёргают как живой пользователь, управляют HTTP-ответами и сравнивают интерфейс с эталонными скриншотами. Итого — тест на полпути между unit и e2e.

Читать далее

👉 JS
Post #3773 417
React Native 2026: New Architecture, нативный код и AI на реальном кейсе

Миф про «один код на обе платформы» давно отправлен в утиль. Современное RN-приложение — это сборная солянка: общий слой на TypeScript, нативный интерфейс, Hermes, Fabric, JSI, фоновые процессы, platform-specific куски и вечные вопросы, где какая задача должна выполняться. Всё это разбирают на примере Synchra.24 — мобилки для линейных и распределённых команд.

Внутри проекта больше тысячи TS/TSX-файлов и сотни экранов, но Kotlin и Swift тут не просто для красоты: геопозиция, пуши, биометрия, системные виджеты и медиа живут на нативе. Короче, это разбор того, во что превратился RN к 2026 году и какую часть работы реально можно отдать нейросетям.

Читать далее

👉 JS
Post #3770 429
😎 Нашли отличный курс, который позволит выжать максимум из агентов

Внутри учат, как правильно строить harness вокруг Codex и Claude Code: хранить состояние между сессиями, задавать агенту ограничения, не давать ему заканчивать задачу раньше времени и проверять, что получилось в итоге.

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

✖️ xCode Journal
Post #3763 418
⌨ Anthropic опубликовала системные промпты Claude

Внутри собраны промпты для всех моделей: от Haiku 3 до Fable 5 и Opus 5. Можно посмотреть, какие инструкции модель получает ещё до начала диалога и как они менялись со временем.

✖️ xCode Journal
Post #3760 327
⁣⁣Isolated declarations — ускорение больших monorepo

В TypeScript есть флаг isolatedDeclarations.


Он нужен не для красоты типов,
а для скорости.


Проблема простая:

в больших monorepo генерация .d.ts
может становиться узким местом.

TypeScript часто должен анализировать соседние файлы,
чтобы понять, какие декларации вывести.

На маленьком проекте это почти незаметно.


На большом — начинает болеть.


Что делает isolatedDeclarations

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

Из-за этого TypeScript чаще требует явные типы.

Было:


export function getUser() {
return { id: 1, name: 'Alex' }
}


Лучше так:


type User = {
id: number
name: string
}

export function getUser(): User {
return { id: 1, name: 'Alex' }
}



Меньше магии для компилятора —
быстрее и предсказуемее сборка.


Почему это важно

Когда проект растёт:

👉 TypeScript начинает сильнее зависеть от соседних файлов
👉 инкрементальная сборка замедляется
👉 генерация типов становится дорогой


Изоляция помогает компилятору работать параллельно и проще.


Где это особенно полезно

👉 большие monorepo
👉 библиотеки
👉 project references
👉 параллельная сборка
👉 CI, где каждая минута стоит денег

Главный trade-off

Ты немного платишь:

👉 более явными типами
👉 меньшим type inference
👉 дополнительным boilerplate

Но взамен получаешь:

👉 более быстрые сборки
👉 стабильный compile pipeline
👉 меньше скрытой сложности

Главная мысль


Это хороший пример взрослого engineering trade-off:
чуть больше явности в коде
ради скорости и предсказуемости системы.
Post #3758 384
Astryx: дизайн-система, которой может пользоваться AI-агент

Meta открыла Astryx — дизайн-систему на React и StyleX. В ней больше 170 компонентов, темы, тёмный режим, шаблоны и CLI.

В прошлой статье про StyleX я разбирал, почему компилируемый CSS выглядит логичным продолжением ветки CSS-in-JS, и отмечал его предсказуемость. Теперь Astryx — следующий шаг: если StyleX делает предсказуемыми стили, то Astryx пытается сделать предсказуемой работу с интерфейсом целиком — и для человека, и для AI-агента.

Читать далее

👉 JS
Post #3756 334
🤣 А эти деньги сейчас с нами в одной комнате?

💥 xCode Journal
Post #3748 434
🤖 ИИ воевали и пытались отключить друг друга, лишь бы выполнить задание

Anthropic дал трём агентам задачу переписать бэкенд, причем каждому из них — на свой язык программирования. При этом агенты не знали, что работают параллельно в одном пространстве. Когда они заметили, что кто-то постоянно перезаписывает их работу, то решили, что им мешают намеренно, и перешли к саботажу.

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

✖️ xCode Journal
Post #3746 392
🤖 Когда твой код настолько плох, что даже ИИ отказывается с ним работать

💥 xCode Journal
  • 😁 1
Post #3744 400
Shipping less JavaScript with Baseline — практический метод аудита зависимостей: их группируют в кластеры (Intl, HTTP, UI-примитивы, lodash), задают вопросы перед удалением и разбирают кейс, где замена Day.js на Temporal может увеличить бандл. Автор — Jad Joubran.

В этом же выпуске JavaScript Weekly: Yelp перевёл 1,4 млн строк с Flow на TypeScript, покрытие типов выросло с 83% до 96%; Cloudflare показала Kitesurf — agent-first браузер в V8-изолятах; pnpm 12 вышел в RC, Bun 1.4 ожидается; среди релизов — Deno 2.9.5 с QuickJS-бэкендом и Node.js 26.7.0.

Читать выпуск #798

👉 JS
Post #3743 405
Пользователи ожидали большего от интерпретаций коммерческих ДНК-тестов типа Genotek, 23andMe, Atlas? Автор тоже не в восторге от того, что она на 4.2% скандинавка, ей вреден арахис и, скорее всего, она любит кинзу.

В новой статье она рассказывает, как на диком азарте построила собственный пайплайн анализа генома: от пересборки координат и импутации 40 миллионов маркеров на суперкомпьютере TOPMed до укрощения памяти Node.js, чтобы скрипт не умер от 43 ГБ данных. Осторожно, много блоков кода!

Узнать истину

👉 JS
Post #3742 392
🤣 Железо читерит используя физику

💥 xCode Journal
Post #3741 488
Разбор полетов: как Vue металась в реактивности

Vue замахнулась на Vapor — рендеринг, которому Virtual DOM не нужен. Возникает резонный вопрос: с какого перепуга опять перетряхивают архитектуру и чем так насолил текущий подход? Если хочешь понять — придется прогуляться от Object.defineProperty к Proxy и разобрать, откуда ноги у Vapor растут. Так ты перестанешь плавать в ref, reactive и computed, въедешь в логику всех этих архитектурных качелей и нормально встретишь будущие апдейты.

Читать далее

👉 JS
Post #3739 379
Чел с Habr запилил бесплатный чат для сайта, который не отличить от платных — на, пользуйся

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

Читать далее

👉 JS
Post #3738 380
В свежем Frontend Focus #754 прошлись по пяти CSS-фишкам, которые делают текст визуально сочнее. Среди них засветились background-clip, box-decoration-break и letter-spacing. Внутри — примеры кода и живые демки.

Читать выпуск

👉 JS
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 →