Category : javascript

javascript
Дроны над Дубаем и новостной агрегатор: Flask, MCP-сервер, AI-агент и Telegram-бот

28 февраля 2026 года я стоял у окна на 41-м этаже в JBR в Дубае и смотрел, как системы ПВО ОАЭ перехватывают иранские беспилотники прямо над моей головой. Полез в новости — в Google и Яндексе статья двухчасовой давности, Telegram‑каналы противоречат друг другу. Когда это происходит где‑то далеко, не придаёшь этому значения. Когда ты в центре событий, то хочешь знать оперативную информацию, желательно с push‑уведомлениями. Начал с Telegram‑канала по Ближнему Востоку — агрегировал RSS мировых аге…

  • вторник, 17 марта 2026 г. в 00:00:10
javascript
Что такое dataLayer на самом деле: от аналитиков — разработчикам

Если спросить разработчика, что такое dataLayer, чаще всего ответ будет примерно такой: «Ну это что-то из GTM». Я понимаю, что вот вы, конкретно вы, уважаемый читатель, так не отвечаете, и никто так не отвечает, но у меня вот такая статистика. А если спросить аналитика, что нужно для настройки событий, ответ будет: «Нужно просто пушнуть это в dataLayer» Здесь начинается легкое раздражение с обеих сторон. Разработчику кажется, что это часть Google Tag Manager, которую он не обязан понимать. Ана…

  • вторник, 17 марта 2026 г. в 00:00:09
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