Последние месяцы я делаю 3D‑мир, который работает прямо в браузере — на Three.js: сцена, персонажи, сеть.Самое неприятное в производительности браузерного 3D — не ошибки. Ошибку видно: она в консоли, у неё есть стек и виновник. А есть второй класс проблем: всё работает, ничего не падает, просто тормозит. Консоль чистая, кадры падают, и непонятно, с чего начинать.Речь про Three.js, но большинство выводов переносится на любой WebGL‑стек.Почему речь про слой, а не про «ещё один 3D‑мир»Когда говоря…
Pro-сборка была важным этапом в развитии GigaIDE: она позволила быстрее развивать профессиональные инструменты, собирать обратную связь от корпоративных пользователей и проверять сценарии, которые выходят за рамки Community-версии. Но у отдельного дистрибутива есть и обратная сторона: пользователю нужно выбирать сборку, командам — отдельно управлять установками, а продукту — поддерживать лишнюю развилку там, где её уже можно убрать.Поэтому мы упростили модель поставки. На GitVerse уже вышел еди…
Если следить за React только по крупным релизам, легко пропустить момент, когда библиотека тихо меняет направление. React 19.3 — как раз такой случай. Сам релиз вышел 9 сентября 2026 года. И я хочу поделиться парой моментов из этого обновления. Рассмотрим пару хуков это ViewTransition и Fragment Refs. Еще, что я могу выделить, это новые возможности для SSR, Server Components и работы с браузерными API. Самое интересное тут даже не в том, сколько новых API добавили. Просто React постепенно перет…
Сейчас в ИТ‑сфере довольно турбулентно и непредсказуемо: экономическая нестабильность, массовые увольнения, сокращение общего числа вакансий, повсеместное внедрение ИИ, который угрожает заменить разработчиков. Все заставляет переживать работников интеллектуальной сферы. Предчувствие перемен подталкивает одних «прощупывать рынок» и проверять свою востребованность, а других — искать работу после сокращения. Поиск может занять несколько месяцев, год и более.Всё это заставляет многих специалистов б…
Я руководитель подразделения: занимаюсь закупками, логистикой и персоналом. Несколько лет назад мне нужно было организовать учёт документов и рейсов для трёх магазинов, склада и трёх автомобилей. Отдельного бюджета на разработку не было. Начал с Google Sheets и Glide, а затем добавил Apps Script и Telegram.Со временем вокруг таблицы появились регистрация пользователей, роли, состояние диалогов, отчёты и архивирование. Система работает, но теперь я готовлю следующий этап — обработку входящих док…
В современном мире мало уметь хорошо работать только с одним инструментом/стеком, нужна широкая экспертиза в современных тулах. Вы можете быть 10+ лет опыта синьор AQA на селениуме, но когда придет пора искать новую работу — обнаружится пробел в навыках, который второпях не очень‑то и закрывается. Поэтому необходимо постоянно быть в курсе и изучать новые и давно зарекомендовавшие себя инструменты и подходы.На момент написания статьи Playwright в топе востребованных фреймворков для QA на европей…
Функциональное программирование (ФП) предоставляет много преимуществ, и, как следствие, его популярность растет. Однако, каждая парадигма программирования имеет собственный уникальный жаргон и ФП не исключение. Цель этого словаря терминов — облегчить изучение ФП.Примеры написаны на JavaScript (ES2015). Почему JavaScript?Где уместно, в этом документе используются термины, определенные в Fantasy Land spec.СодержаниеArity / АрностьHigher-Order Function (HOF) / Функция более высокого порядкаClosure…
Расширения Chrome иногда могут душить сами себя, попадая в бесконечные циклы. В статье я расскажу о том, как искал причины странного поведения pop-up окна нашего внутреннего расширения. Найдя их, я провёл ряд оптимизаций, а ещё создал чек-лист проверок, которые полезно выполнять перед публикацией нового расширения Chrome.Привет, Хабр! Меня зовут Анатолий, я занимаюсь фронтендом в компании Циан.Всё началось с того, что коллега написал в чат: “Попап расширения открывается через несколько секунд п…
Меня зовут Кирилл, я работаю BIM‑менеджером, вместе со своей коллегой Анастасией @nobimnolife разрабатываем IDS Core. В этой статье — как мы дошли от просмотрщика IFC браузере до постобработчика.ИнтерфейсВ прошлый раз мы писали о том, как не узнавать о пустом параметре из файла, которого полчаса назад не существовало, — то есть проверять модель до экспорта в IFC. Но бывает и наоборот: файл уже выгружен, отправлен, и проверка нашла мелочь. В маппинге написали для помещений площадь как IfcArea вм…