Category : javascript

javascript
Два мажора, один README, одно демо: два почти бесплатных дизайн-ревью

Именно работа над документацией вскрыла обе ошибки. Тут есть мета-урок: документация — самое дешёвое дизайн-ревью, которое можно у себя устроить, но это уже тема для другого поста.Это и есть тот самый «пост», другая статья — и первое, что ей нужно сделать, это поправить тизер. Тизер привирает. Документация поймала только одну из двух ошибок. Вторую поймал первый настоящий потребитель API, которого я собирал параллельно. Эти два ревью сработали в паре: документация смотрит на форму API, потребит…

  • четверг, 4 июня 2026 г. в 00:00:08
javascript
Как сломался Code Blocks: маленькое расширение, большое неудобство и история про устаревший движок

Всем привет, меня зовут Сергей Прощаев. Эта статья будет не про большую архитектуру и не про разбор тестового задания — а про маленький, почти бытовой случай, который, как мне кажется, хорошо иллюстрирует, насколько мы привыкаем к удобным инструментам и насколько хрупкой бывает их работа.Преподаю и много пишу код, который потом нужно красиво показать — в документах, статьях и особенно в презентациях для занятий. И на днях я случайно наткнулся на то, что мой давно любимый инструмент — надстройка…

  • четверг, 4 июня 2026 г. в 00:00:07
javascript
Я делаю ГИГАХРУЩ: браузерный survival horror без движка, ассетов и спокойной жизни

Привет. Я делаю ГИГАХРУЩ — браузерный survival horror / ARPG shooter про вылазки внутри безграничной бетонной структуры.Да, звучит как питч из папки после этого меня точно забанят, поэтому начну с технической части. Это не Unity WebGL, не Phaser, не Godot export, не React‑обвязка вокруг canvas и не набор купленных ассетов. Игра собрана как один браузерный билд на TypeScript/Vite, WebGL/canvas, процедурных текстурах, процедурных спрайтах, процедурном звуке и плоских структурах данных.Идея была п…

  • четверг, 4 июня 2026 г. в 00:00:05
javascript
MobX или приправа реактивности для JS

Привет, Хабр!Меня зовут Сергей Волков, я фронтенд-разработчик в компании VK. Мы используем MobX для работы с реактивными значениями в веб-приложениях, поэтому я хочу познакомить вас с этим инструментом и показать, почему на него стоит обратить внимание.В этой статье я хочу поделиться своими мыслями о MobX - инструменте, который я искренне полюбил после многих лет разработки интерфейсов. Приятного чтения! :)Да кто такой этот ваш MobX?древний мемЕсли коротко, это стейт-менеджер с невероятно гибк…

  • четверг, 4 июня 2026 г. в 00:00:05
javascript
Компонентная разработка (reusable)

Это не разбор, не рекомендация, а скорее ценный опыт фронтовой команды с полей российского IT. Все что описано ниже — общий результат нашей работы.Перед любой командой со стороны менеджмента и бизнеса стоит одна и та же задача «давайте быстрее — надо было еще вчера». Нас эта судьба также не миновала. Первое, с чего начинается оптимизация, своя дизайн‑система. У нас уже была своя дизайн‑система, она выручала нас во многих кейсах, но она была старая, подходы к разработке давно изменились, и UI Ki…

  • среда, 3 июня 2026 г. в 00:00:16
javascript
Удаляем фон и замазываем лица прямо в браузере: ONNX Runtime, MediaPipe и грабли Service Worker

TL;DR. Две нейросетевые задачи — удаление фона (ONNX Runtime Web + модель silueta) и замазывание лиц (MediaPipe Tasks Vision + BlazeFace) — запущены полностью на клиенте: ни один пиксель не уходит на сервер. Ниже — почему «в браузере», какие модели выбраны и почему, как тянуть 43-мегабайтную модель с прогресс-баром, почему лица лучше пикселизировать, чем размывать, и подробный разбор бага, на который я убил вечер: Service Worker, кэширующий .mjs/.wasm, ломает dynamic import() с ошибкой «Failed …

  • среда, 3 июня 2026 г. в 00:00:14
javascript
Как я разогнал Qwen3.6-27B до 73 токен/с в llama.cpp: параметры, которые реально работают

Локальные LLM сейчас — это действительно мощный инструмент. Они уже вплотную приблизились к проприетарным моделям вроде Claude, особенно в задачах кодинга. Я сам активно использую локальные модели для разработки на TypeScript и Go.На данный момент самая интересная модель для моего стека — Qwen3.6-27B. Но один только выбор хорошей модели ничего не гарантирует. Без правильных параметров вы не получите ни скорости, ни качества.В этой статье я расскажу, с какими конкретно параметрами запускаю Qwen3…

  • среда, 3 июня 2026 г. в 00:00:11
javascript
Математика больших чисел: из игры с нулевой суммой в игру с растущей суммой

Исходный код, разобранный в статье, опубликован в этом репозитории.Любая торговая стратегия в бесконечной временной перспективе стремится к нулевому матожиданию сделки: ничего не заработали, заплатили комиссию бирже. Можно предположить, что это связано с утечкой информации, стратегию применяют другие участники рынка и забирают ликвидность. Но дело в другом: это фундаментальный закон больших чисел. Объем рынка подлежит прогнозу, а значит это конечная сумма. При игре с конечной суммой капитал на …

  • вторник, 2 июня 2026 г. в 00:00:22
javascript
React Native iOS Push Notifications: почему push не сохраняются в background/killed state

ВведениеМатериал написан на основе реального кейса интеграции Mindbox SDK в React Native приложение, но все описанные проблемы и решения универсальны - они касаются любого push-провайдера и любого проекта, где уведомления должны работать в killed state на iOS.Полагаю, вы законно спросите: А какая задача вообще стояла? Отвечаю, необходимо было не просто показать пользователю push-сообщение, а нужно было эти пуши сохранить в памяти телефона, да ещё и в состоянии, когда приложение закрыто.Я не буд…

  • вторник, 2 июня 2026 г. в 00:00:20