Category : javascript

javascript
Монорепозиторий с поддержкой Vite, TS, ESM и абсолютных импортов без расширений с использованием «s…

ЦелиНастройка абсолютных импортов без расширений для внутренних модулей пакета с использованием Node.js subpath imports, как единого источника псевдонимов: без дублирования в tsconfig path aliases;с поддержкой VSCode IntelliSense - автоимпорт, автодополнение и всплывающие подсказки импортов.Настройка conditional exports - маппинг на исходный код внутренней библиотеки в dev-режиме, для работы Vite(HMR) и VSCode(IntelliSense) с живым кодом без пересборки.Настройка приоритета для автоимпорта публи…

  • среда, 26 августа 2026 г. в 00:00:08
javascript
Один рендер‑стек, два мира: как мы показали layout микросхем в браузере через WebGPU

Тот же Rust‑код, что рисует топологию на десктопе, собирается в wasm и рисует в <canvas> через WebGPU. Сайт при этом не знает про GPU: кликнул на нарушение в списке, камера уехала на место, маркер показал дефект. Ниже как это устроено, где «просто пересобрали» было бы враньём, и какие ловушки сидят не в Rust, а в вебе.ЗадачаУ нас десктопный инструмент для топологии интегральных схем, layout в формате GDSII (и OASIS). Файл описывает геометрию кристалла: иерархия ячеек, на листьях прямоугол…

  • среда, 26 августа 2026 г. в 00:00:07
javascript
o2 game engine

Этот проект я начал 11 лет назад и вложил в него все свои навыки и опыт работы в геймдеве. Я делаю игры уже 15+ лет, и в своем движке я постарался дать разработчику то что считаю нужным: удобство и простоту, при этом оставляя его производительным и гибким. Я работаю в основном с мобильными играми, так что движок скорее нацелен на мобилки. Однако нет препятствий использовать его для десктопа и под веб.Я все еще дорабатываю его, но он уже вполне стабилен и я делаю игры на нем. Сейчас это ближе к …

  • вторник, 25 августа 2026 г. в 00:00:11
javascript
Как устроен локальный шахматный помощник в браузере: Stockfish 18, Manifest V3 и веб-доски

Я хотел подсказку рядом с доской, а не ещё одну вкладку с движком. Stockfish 18 давно умеет искать сильный ход, упаковать WASM в Chromium-расширение тоже не подвиг. Первое демо на своей статичной странице собралось за вечер: фигуры сняли, FEN собрали, стрелка легла. Настоящая работа началась, когда ту же схему повесили на живой шахматный сайт.Самый неприятный случай оказался не «движок тупит», а «движок прав, только не про эту доску». Реванш на Lichess часто стартует на том же URL и с той же на…

  • вторник, 25 августа 2026 г. в 00:00:09
javascript
DeepSeek управляет вашим рестораном

Как просьба друга «настроить кассу» закончилась open‑source ERP, тринадцатью российскими интеграциями и нейросетью, которая теперь считает закупки, ищет косяки в учёте и пишет владельцу в Telegram.Есть у меня друг. Назовём его Артём.Полгода назад он решил открыть ресторан. Небольшой: пятнадцать столиков, кухня, бар, доставка. Никакой федеральной сети и отдела автоматизации на сорок человек. Обычный ресторан, где владелец ещё вчера выбирал стулья, сегодня разбирается с поставщиком мяса, а вечеро…

  • вторник, 25 августа 2026 г. в 00:00:08
javascript
Глубокое погружение в React Fiber

Задумывались ли вы когда-нибудь о том, что на самом деле происходит под капотом, когда вы рендерите приложение React? Мы знаем, что React строит дерево DOM и отображает UI на экране, но как React конструирует это дерево и как он эффективно обновляет его при изменении состояния?В этой статье мы рассмотрим React Fiber — основной движок согласования (reconciliation) React. Мы рассмотрим, как React строил DOM до v15, недостатки этой ранней стековой (stack) модели с точки зрения производительности и…

  • вторник, 25 августа 2026 г. в 00:00:07
javascript
Модель не влезает на стол: почему плоскость — плохой нож

У меня браузерный генератор вывесок: человек набирает надпись, получает STL-модель корпуса под светодиодную ленту. Всё считается на его же машине, файл никуда не уходит. Однажды пришёл вопрос, который сломал мне неделю: надпись 500 мм, стол принтера 256×256. Что делать?Стандартный ответ — «режьте в слайсере». Слайсер режет плоскостью, и это честно работает ровно до момента, когда вы забираете со стола две половинки со срезами и понимаете, что совместить их нормально не получится они не совпадаю…

  • вторник, 25 августа 2026 г. в 00:00:06
javascript
Больше свободы агентам — жёстче проверки: линтинг React 19 на ESLint 10

Чем дальше, тем больше доверяю ИИ-агентам, наверное потому что я пока жестко не влетел. Более того, процесс идёт постепенно - тут разрешил машину в облаке запустить когда задача XXX, не спрашивая у меня разрешения на каждый чих, здесь ещё что-то.Это очень сильно ускоряет работу, хотя и влететь можно сильно и больно. Пока меня это обошло стороной, поэтому в разрезе агентов и их креатива больше всего прилетает о того что они пишут больше кода чем надо, делают мелкие опечатки и ошибки и для борьбы…

  • понедельник, 24 августа 2026 г. в 00:00:11
javascript
Playwright для компонентных CAT-тестов в проекте на angular

Когда говорят «у нас есть тесты на Playwright», обычно представляют классический e2e-сценарий: тест открывает приложение, проходит авторизацию, переходит по нескольким страницам и работает с настоящим или почти настоящим backend.Мы используем Playwright немного иначе.Основной пласт UI-автоматизации в нашем Angular-проекте — это CAT-тесты. CAT в данном случае расшифровывается как component autotest. Мы поднимаем отдельный компонент или целую бизнес-форму в Storybook, открываем её в настоящем Chr…

  • воскресенье, 23 августа 2026 г. в 00:00:02