Обновить
128K+

JavaScript *

Прототипно-ориентированный язык программирования

142,77
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

Как я ускорил загрузку графиков Vigo Pulse в 2 раза

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели4.8K

В Vigo Pulse на одном графике могут оказаться сотни линий, а ответ сервера — содержать тысячи повторяющихся ключей и временных меток. Я пересмотрел формат данных и на одном из больших запросов сократил сжатый ответ с 1 МБ до 500 КБ, а время до отрисовки графика — с 3 до 1,5 секунды при скорости 4 Мбит/с.

Расскажу, что дал переход на колоночный JSON, как он показал себя рядом с MessagePack и BSON и помогает ли смена формата, если уже включён gzip. А ещё — как изменил фильтры и обработку тяжёлых графиков, чтобы не загружать лишние данные.

Читать далее

Обновления GigaIDE за октябрь 2026

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.2K

Октябрь стал для GigaIDE месяцем больших изменений: вышел единый дистрибутив 2026.1, в бесплатном Community-режиме появились C# и Go, а привычные инструменты для Java/Kotlin, JavaScript/TypeScript, Python, баз данных и интеграций получили новые возможности. Собрали главное за месяц — от новых языков до доработок плагинов.

Release notes за предыдущий месяц доступен по ссылке.

Читать далее

Исследование: во сколько обходится AI‑разработка сайта в зависимости от используемых JavaScript‑фреймворков

Время на прочтение2 мин
Охват и читатели11K

Разработчик Нолан Лоусон (Nolan Lawson) сравнил, сколько денег и времени требуется нейросетям для разработки одного веб‑приложения на разных JavaScript‑фреймворках. В тестах самым дорогим вариантом оказался Angular, а самым дешёвым — связка Hono и htmx. Разница в медианной стоимости составила почти два раза.

Читать далее

Кривой TypeScript тип выжрал 15 гигов оперативы

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели11K

VSCode перестал показывать типы, автокомплит умер, а ноутбук начал пожирать всю оперативку. Под подозрением были расширения, антивирус и корпоративное ПО. Но после нескольких перезагрузок и часов расследования выяснилось, что виновником оказался всего один криво описанный тип в TypeScript, который запускал десятки зависших Node.js-процессов.

Читать далее

Как я не купил терменвокс и сделал его в браузере или Air Theremin

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.1K

Доча посмотрела серию из «Кати и Эфа» и сказала, что видела там прикольный инструмент под названием терменвокс. Я вспомнил, что давно хотел тоже попробовать поиграть на нём. Загуглил, и цены оказались какие-то негуманные для инструмента на полчаса игры.

Тут мне пришла мысль сделать аналог терменвокса для телефона, чтобы для игры можно было использовать гироскоп. В современном мире расстояние от идеи до воплощения сильно сократилось, хотелось вот прям сразу пойти и вайбкодить, но я чутка притормозил себя и сперва загуглил аналоги. Оказалось, что существует прекрасный https://theremin.site/, где можно водить мышкой и генерировать прекрасные звуки. Но мне хотелось использовать именно гироскоп, поэтому я быстро создал прототип и поиграл с ним.

Читать далее

Как я собрал интерактивную черную дыру и квантовую лабораторию в стиле ЦУП 90-х на чистом JS

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели10K

Вступление:

Привет, Хабр! Я всегда любил физику и ретро-эстетику. Однажды мне захотелось сделать научно-популярный проект, который не просто показывает текст с формулами, а позволяет «покрутить» физику руками. Так появился ЦУП-7 — интерактивный пульт с рендерингом черной дыры на WebGL и пятью квантовыми экспериментами. В этой статье я расскажу, как устроен проект под капотом, с какими проблемами я столкнулся и почему решил отказаться от фреймворков.

Читать далее

Голографический верстак из обычной вебки: разбираю турбину руками без шлема и датчиков глубины

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели11K

Сделал в браузере голографический верстак: на обычной вебке разбираю турбину, собираю молекулы и достаю органы из 3D-модели человека голыми руками, без шлема и датчиков глубины. Рассказываю, во что упирается hand tracking на простой камере и какие решения сработали.

Продолжение ниже

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели9K

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

Читать далее

vue‑why‑render 0.8: граф реактивности, WASM‑ядро и VS Code расширение

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели9.5K

Месяц назад я написал статью о том, как сделал отладчик рендеров для Vue — инструмент, который называет точную причину каждой перерисовки. Рассказывал про renderTriggered, про ловушки с process.env.NODE_ENV, кириллицей в байтовых смещениях и вычислением чужих computed.

С тех пор вышла версия 0.8 — с тремя большими фичами, которые я не планировал делать так быстро. Расскажу, что нового и зачем.

Читать далее

Космическая игра в одном HTML-файле: процедурная галактика, планеты из шума и звук без единого семпла

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.9K

Привет. Я делаю одиночную космическую игру VoidVibe: полёт, бой, торговля, станции, морпехи, абордаж. Работает в браузере (WebGL2) и на Android, оффлайн. Вся игра это один index.html. Внутри нет ни одной картинки, ни одного звукового файла, ни одной библиотеки. Для себя я поставил лимит 512 КБ по gzip на весь файл. Сейчас release-сборка весит 193 КБ из 512, а dev-сборка с панелью разработчика 264 КБ.

Здесь без воды: как устроен генератор, как лежат модели, что делают шейдеры, как синтезируется звук, как собирается файл и где я набил шишки. Код местами урезан, чтобы влезть в статью.

Демо можно потрогать тут: https://void-vibe.com/play (в демо часть режимов отрезана, но галактика, полёт, бой, станции и верфь есть).

Читать далее

Прощай, setTimeout(0): как современный Web API управляет приоритетами задач и разгружает главный поток

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.6K

Представьте ситуацию: человек полчаса собирал важный отчёт в веб-таблице или подбирал сложную комбинацию фильтров, нажимает «Сохранить» или «Применить» — и страница намертво замирает. Курсор превращается в колесико, меню не открывается, скролл не работает. В голове пользователя сразу паника: «Всё зависло? Мои данные пропали? Нажать ещё раз? Перезагрузить страницу?!»

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

Почему так происходит? Однопоточный Main Thread наглухо заблокирован вычислениями. Но как дать браузеру возможность реагировать на действия человека, не останавливая сам расчёт?

Мы собрали бенчмарк и на реальных профилях из DevTools сравнили современные подходы для освобождения main thread. Внутри — результаты замеров, трассировки Event Loop и ответ на вопрос, как сохранить полную отзывчивость интерфейса при различных нагрузках.

Читать далее

Headless‑браузер без браузера: 5 408 байт

Уровень сложностиСложный
Время на прочтение20 мин
Охват и читатели11K

Или история о том, как 5408 байт обфусцированного JavaScript, прилетающих в HTTP-заголовке, превращаются в свободный доступ к GPT, Claude, Mistral и генерации картинок если построить браузерный манекен на чистом JS.

Читать далее

Gravity Defied: стик‑человечек на мотоцикле

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели15K

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

Всё началось с того, что мы с другом сели за PS5, и он запустил Trials Rising. После сотни попыток на одной трассе мне стало интересно, откуда у этого жанра растут ноги. Сам я рос на Hill Climb Racing на iPod, так что идея была знакомой, а вот первоисточник — нет. Ответ нашёлся быстро. Gravity Defied когда-то помещалась в память кнопочного телефона и держалась на одной простой мысли: мотоцикл нужно чувствовать, а любая неточность в наклоне заканчивается ударом головой о землю.

Читать далее

Ближайшие события

Giga IDE Pro больше не будет. Но это хорошая новость

Время на прочтение6 мин
Охват и читатели15K

Pro-сборка была важным этапом в развитии GigaIDE: она позволила быстрее развивать профессиональные инструменты, собирать обратную связь от корпоративных пользователей и проверять сценарии, которые выходят за рамки Community-версии. Но у отдельного дистрибутива есть и обратная сторона: пользователю нужно выбирать сборку, командам — отдельно управлять установками, а продукту — поддерживать лишнюю развилку там, где её уже можно убрать.

Читать далее

Жаргон функционального программирования

Уровень сложностиПростой
Время на прочтение31 мин
Охват и читатели17K

Функциональное программирование (ФП) предоставляет много преимуществ, и, как следствие, его популярность растет. Однако, каждая парадигма программирования имеет собственный уникальный жаргон и ФП не исключение. Цель этого словаря терминов — облегчить изучение ФП.

Примеры написаны на JavaScript (ES2015). Почему JavaScript?

Где уместно, в этом документе используются термины, определенные в Fantasy Land spec.

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

«Обмани сербского» — это мой психологический симулятор судебно-психиатрической экспертизы, упакованный в эстетику терминала.

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

Твоя задача тоже простая: не уехать на пожизненное.

Читать далее

Подмена камеры в Яндекс.Телемосте

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели9.6K

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

В статье разбираю, как это устроено: как подменить камеру через getUserMedia и canvas.captureStream, как найти человека в кадре без нейросети и с MediaPipe, как распознать щелчок пальцами по видео и как сделать субтитры с переводом прямо в браузере.

Читать далее

Неожиданный антивайб разработки через ИИ-агентов

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели9.4K

Менеджеры считают, что ИИ-агенты ускорят разработку в десять раз. Математика говорит, что ускорится только написание. Проверять смысл по-прежнему будут люди, с конечной скоростью, и очередь выстроится к самым опытным. PostgreSQL 19 не вышел в срок. Не потому, что ИИ нашёл много багов, а потому что ИИ научился генерировать правдоподобные отчёты быстрее, чем люди успевают их читать. В статье разбираю, почему так, где настоящий предел и что меняется.

Читать далее

Чей номер и чей БИК: две офлайн-библиотеки на открытых реестрах Минцифры и ЦБ

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели12K

Когда в форме нужно проверить ИНН, подсказать банк по БИК или показать оператора по номеру телефона, обычно подключают внешний API. Мне захотелось обойтись без него: все эти данные государство и так публикует открыто, и они достаточно маленькие, чтобы положить их прямо в npm-пакет.

Так появились две библиотеки. phoneoperator по реестру Минцифры определяет оператора и регион номера, bankbik по справочнику ЦБ находит банк по БИК и проверяет ИНН, СНИЛС, ОГРН и счета. Обе работают без сети и обновляются сами. Внутри: как 60 МБ реестра ужимаются до 45 КБ, почему у МТС два названия и почему сайт Минцифры не пускает GitHub.

Песочницы: phoneoperator и bankbik.

Проверить реквизиты

Обновления GigaIDE за сентябрь 2026

Время на прочтение5 мин
Охват и читатели8.4K

Как и в предыдущие месяцы, по итогам сентября мы решили рассказать про то, как изменилась GigaIDE за прошедший месяц. Ниже — краткий обзор обновлений Pro-функциональности GigaIDE, которую можно найти на нашем маркетплейсе.

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