Я строил не 3D‑мир, а базовый слой под ним: три узких места в браузерном 3D
Последние месяцы я делаю 3D‑мир, который работает прямо в браузере — на Three.js: сцена, персонажи, сеть. Самое неприятное в про…
Tech news from the best sources
Последние месяцы я делаю 3D‑мир, который работает прямо в браузере — на Three.js: сцена, персонажи, сеть. Самое неприятное в про…
В работе за компьютером есть довольно странное противоречие. С одной стороны, мы стараемся избавиться от всего, что отвлекает: выключаем всплывающие…
Автор: Ильдар Ишкинин, ведущий инженер Innostage Привет, Хабр! Когда выбираешь межсетевой экран недостаточно смотреть только на характеристики, заяв…
Проверить результат работы ИИ, найти причину срывов сроков, заметить пропущенный сценарий в требованиях - для этих задач нужны разные инструменты. К…
Привет, Хабр! Меня зовут Егор Смирнов, я руководитель команды Backend for Frontend в VK. Одна из зон нашей ответственности — поддержка и развитие ин…
Зачем ускорять реактивность, если всё упирается в DOM? Рассказываю об устройстве Raph/Nova и показываю, как одно ядро используется для DOM и Canvas.…
Однажды у меня возникла потребность в кольцевом буфере на C++ для хранения довольно объёмных потоковых данных. Проблема заключалась в том, что мне б…
Чтобы React летал как Vue 3, достаточно забрать у него тяжелые вычисления и переложить их на плоский реактивный граф зависи…
Обновили Go до 1.25 и оставили привычный automaxprocs ? Пустой импорт теперь может отключить встроенное управление GOMAXPROCS и изменить поведе…
Битовые массивы кажутся экзотической структурой данных, которую применяют только опытные учёные мужи в специфичных сферах? Не всегда! В&nb…
Система прошла функциональные проверки: документы проводятся, отчёты формируются, интеграции работают. Но после подключения нескольких сотен пользов…
C++ умеет ровно то, за что его одновременно любят и боятся: дает разработчику почти полный контроль над происходящим, позволяет выжимать из программ…
Для главной страницы я сделал минутное видео с четырьмя главами: можно посмотреть всё демо или сразу перейти к интересующей функции. Плеер работает…
«SubcomposeAsyncImage в списках использовать нежелательно, он тормозит скролл» — так написано в документации популярной библиотеки Coil. Действитель…
Переписка с близким человеком — одна из самых личных вещей на телефоне. А мы делаем сервис, которому нужно её прочитать. Из файла экспорта получаютс…
Несколько лет назад мы решили заменить legacy e‑commerce‑платформу, которая продолжала работать и принимать заказы. Новый frontend построили на …
В диспетчере задач напротив Archicad 26 стояло «Не отвечает». Процесс держал около 13% процессора и почти 4 ГБ памяти, каталог покрытий стен больше…
Переход на новый JDK может изменить поведение сервиса даже без изменений в коде: JVM по-другому выбирает GC, расходует память и обрабатывает старые…
24 сентября вышла PostgreSQL 19 Beta 4. До release candidate осталось совсем немного, и на этом этапе уже интереснее смотреть не на длинный список н…
Сценарий знакомый: открываешь в pandas файл побольше, ноутбук задумывается, и через минуту всё падает с MemoryError. Следом обычно звучит совет: для…
Сразу хочу обозначить важный момент: эта статья не столько про пакет SilentJSON, сколько про схему работы с информацией , которую на его примере уда…
В прошлый раз я вытащил Active Record из Yii1 в отдельный composer-пакет и показал, что код Yii1 умеет жить без фреймворка. Но интереснее…
По мере роста продукта backend-системы требуют всё больше инженерных решений: появляются новые сервисы, растёт нагрузка, усложняется работа с данным…
Производительность React-приложения редко ломается из-за одной “тяжёлой” функции. На практике проблемы накапливаются постепенно: компонент начинает…
Есть Vue DevTools с галкой «Highlight updates». Есть react-scan в соседней экосистеме. Оба показывают одно и то же: вот этот компонент перерисовался…
У любого ускорителя Python есть число: во сколько раз он быстрее. Меряют его на ядрах - сортировка, обход дерева, арифметика в цикле. Сервис устроен…
Переписать проект на Rust — звучит как короткий путь к скорости и безопасной работе с памятью. Но реальные миграции дают куда менее однозначную карт…
В FastAPI можно объявить обработчик как async def , а можно как обычный def . Многие ставят async везде «потому что так быс…
Поехали. Вообще говоря, я всегда делал бэкенд исключительно на PHP. Я считаю его отличным языком для бэкенда, вернее не только для бэкенда, а отличн…
Пустой наследник Random работает медленнее родителя. string[] и object[] оказываются одним объектом. А Matrix4x4 до сих пор держит шестнадцать полей…