Category : javascript

javascript
Системный подход к Agile: исследование совместимостей Java библиотек [лонг]

Java называют языком программирования. С формальной точки зрения это может быть и так. На практике картина более широкая. Я же утверждаю, что Java — это технология: целая программная система для гибкой (agile) разработки. В ней можно выделить четыре ключевых подсистемы, которые вместе образуют Java платформу:Система ведения онтологии, то есть модели мира из набора абстрактных концептов, которые каждый разработчик переносит к себя в голову через когнитивные ассоциации.Система формальной верифика…

  • вторник, 17 марта 2026 г. в 00:00:08
javascript
ООП для управления состоянием во Vue

Чувак, уже есть Pinia, Pinia Colada, TanStack Query для Vue, зачем ещё один способ управлять состоянием во Vue?Да меня просто задолбало писать везде флаги отслеживания состояния для действий и делать store через фабричную функцию, как это делали наши праотцы в начале 2000-х. Запоминать зоопарк из разных composable-функций и хуков. Изучать какую-то другую систему реактивности, типа MobX, тоже не хочу. Это какой-то зашквар.Я хочу использовать то, что есть: реактивность Vue везде, классы, методы. …

  • вторник, 17 марта 2026 г. в 00:00:06
javascript
Temporal: долгий процесс решения проблемы времени в JavaScript

Как меняется JavaScript?JavaScript уникален тем, что работает во всех браузерах. У него нет какого-то одного «владельца», поэтому нельзя внести изолированное изменение и ждать, что оно будет применено везде. Эволюция происходит через TC39 — Технический комитет, отвечающий за ECMAScript.Пленарное заседание TC39, проведённое в нью-йоркском офисе Bloomberg в 2018 годуПредложения должны пройти последовательность этапов развития:Этап 0: идея.Этап 1: принято пространство задач.Этап 2: выбрана архитек…

  • вторник, 17 марта 2026 г. в 00:00:05
javascript
Мобильное приложение Ватерпас: DewDrop. Реальная история…

Если вы ранее работали с мобильным приложением DogPlanner, то вы, наверное, уже знакомы с робопёсом Роби. Но в любом случае, позвольте рассказать вам его историю. Роби живёт на Марсе... ходит молва, что он был собран кем-то из деталей первого в истории марсохода Sojourner. Он изучает красную планету, да и, по возможности, всю вселенную через сигналы, приходящие из космоса. Ему многое интересно, так как на Марсе не так уж много вариантов для развлечений и общения, только несколько марсоходов и с…

  • вторник, 17 марта 2026 г. в 00:00:05
javascript
Reactive Route — новый роутер для разных фреймворков и реактивных систем в 2 КБ

Я не OpenSource разработчик, но за пару десятков лет написал под сотню enterprise-level библиотек, которые остаются в рабочем контуре, дорабатываются под каждый проект и адаптируются к новым технологиям. Большого смысла выходить в OSS не было, кроме как для упрощения обучения коллег и единого места хранения документации.Но и желание помогать другим и делиться выстраданными подходами, экспертизой и конкретным кодом мне не чуждо - сегодня поможешь ты, завтра - тебе. Через полгода подготовки и ада…

  • понедельник, 16 марта 2026 г. в 00:00:07
javascript
Навигация по длинным AI-диалогам: расширение для браузера

Проблема Часто использую ChatGPT и другие нейросети для работы: обсуждаю идеи, пишу код, прошу объяснить сложные темы. В итоге в чате накапливаются сотни сообщений. И тут начинается хаос:Нужно найти функцию, которую обсуждали утром? 5 минут скролла вверх в поисках нужного места — и я уже потерял нить разговора. Приходится начинать заново.Отдельная боль — потеря контекста моделью. Пишешь код, а модель внезапно «забывает» техническое задание из начала диалога. ChatGPT просто обрезает контекст, а …

  • понедельник, 16 марта 2026 г. в 00:00:07
javascript
Пишем браузерное расширение для НСПД

Сделали расширение, которое вытаскивает координаты из НСПД, конвертирует EPSG:3857 → WGS84 и открывает точку в Яндекс/2ГИС/Google одним кликом. Под капотом — калибровка проекции и перехват SPA-навигации. Работаем с НСПД ежедневно. Наш типичный сценарий:Нашли объект в кадастреНужно посмотреть его на Яндекс.Картах (спутник, панорамы)Копируем координаты из URL — x=4366832.14&y=6748857.58Открываем конвертер EPSG:3857 → WGS84Копируем результат, вставляем в поиск картПовторить 20-30 раз за деньЕж…

  • воскресенье, 15 марта 2026 г. в 00:00:05
javascript
Symbiote.js — изоморфные веб-компоненты без лишних сложностей

Привет, Хабр!Меня зовут Алекс, и я мейнтейнер Symbiote.js - библиотеки для создания UI-компонентов и изоморфных приложений на самых современных веб-стандартах. Сегодня я расскажу про наше важное мажорное обновление - версию 3.x.Идея в двух словахSymbiote.js - это легкая (~6.4 kb brotli) обертка над Custom Elements, которая добавляет реактивность, шаблоны и механизмы работы со слоями данных. Без Virtual DOM, без специального компилятора, без обязательного этапа сборки - компоненты можно подключа…

  • суббота, 14 марта 2026 г. в 00:00:08
javascript
Как я интегрировал GigaChat API в свой проект: опыт создания AI-ассистента с голосовым управлением

Привет! Давно хотел поиграть с GigaChat от Сбера и наконец дошли руки. Решил не ограничиваться скучной перепиской, а сделать полноценного голосового ассистента. Чтобы можно было просто говорить с ним, как с Алисой или Siri, и получать озвученный ответ.В итоге собрал веб-приложение, где фронт ловит голос, отправляет его в текст (через распознавание речи), я гоняю этот текст через GigaChat, а ответ озвучиваю с помощью SaluteSpeech.В этом посте расскажу, с какими граблями пришлось столкнуться: как…

  • суббота, 14 марта 2026 г. в 00:00:07