Category : javascript

javascript
Пишем Pac-Man на чистом JavaScript: ностальгия, «Пиксели» и туман войны

Сцена почти как в фильме 1. Введение: кино, которое разбудило воспоминания.Недавно, когда писал статью про «Тетрис», я поймал себя на мысли, что вспоминаю не только падающие блоки, но и другой культовый проект — жёлтый кругляш, вечно убегающий от призраков. А потом в памяти всплыл фильм «Пиксели» (2015). Там есть сцена, которая одновременно смешная — жутковатая: создатель Пакмана, Тору Иватани, выходит к гигантскому Пакмену и пытается с ним поговорить по-отечески: «Пакман, я сделал тебя. Ты та…

  • четверг, 19 марта 2026 г. в 00:00:05
javascript
ChatGPT 5.4 Pro: обзор, бенчмарки, сравнение

Помните, как пару лет назад мы восхищались тем, что нейросеть может написать связный абзац? А год назад – что она осилила код без синтаксической ошибки? Сегодня планка взлетела так высоко, что уникальные способности моделей превращаются в стандартный пакет услуг.OpenAI выкатила GPT‑5.4 Pro. И если раньше слово “Pro” в названии часто означало просто “чуть больше токенов и подороже”, то теперь это действительно профессорский уровень. Модель берёт сложнейший тест ARC-AGI-2 с результатом 83,3% (про…

  • среда, 18 марта 2026 г. в 00:00:05
javascript
Почему ИИ выдаёт глупый код — и как это исправить

Скинули в ИИ текст ошибки. Получили поверхностный ответ. Закрыли вкладку. «Этот ваш ИИ – глупый какой-то».Узнали? Согласны?Статья собрана по заметкам из телеграм-канала автора.Откуда берётся разочарованиеПервый опыт с ИИ почти у всех одинаков: открыть chatgpt.com, написать вопрос, получить ответ. Модель отвечает связно, но поверхностно. Код не подходит к проекту. Объяснение — как из учебника для начинающих.Вывод напрашивается сам: «ИИ хорош для болтовни, но не для реальной работы».Этот вывод не…

  • среда, 18 марта 2026 г. в 00:00:04
javascript
Event Loop для начинающих. Не так страшно, как вам рассказывали

JavaScript выполняет код в одном основном потоке. Это означает, что инструкции выполняются последовательно — одна за другой. Получил команду — выполнил. Но что делать интерпретатору, если он встречает код, который не может выполнить сразу? Например, обработчик события. Пока событие, допустим, клик на кнопку, не произошло, код внутри обработчика не выполнится. Такой код называют асинхронным. К асинхронным операциям относятся, например, таймеры (setTimeout), сетевые запросы или события интерфейса…

  • среда, 18 марта 2026 г. в 00:00:04
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