Category : javascript

javascript
Непротиворечивая классификация IoC

Direct Control DC — модуль сам контролирует к каким конкретно реализациям ему обращаться. class Form extends Object { scope = 'Form' @mem get log() { return new ConsoleLog( this.scope ) } // direct @mem get net() { return new HttpNet( this.scope ) } // direct send( payload: string ) { this.log.info( 'Sending', payload ) this.net.request( payload ) } } class SignIn extends Form { scope = 'SignIn:' + this.auth.id + ':' + super.scope @mem ge…

  • вторник, 1 сентября 2026 г. в 00:00:08
javascript
Быстродействие, или Смотря как измерять

Всем привет! Меня зовут Владимир, я разработчик СберБанк Онлайн в канале «web». Наверняка вам встречалось мнение, что один и тот же язык должен показывать примерно одинаковую скорость: если код написан на JavaScript, место его запуска – браузер, Node.js, Deno или Bun – кажется второстепенной деталью, а результаты должны быть близкими. Но есть одна проблема: язык сам по себе мы почти никогда не запускаем. Например, в браузере JavaScript исполняется внутри процесса Google Chrome, а Node.js, Deno,…

  • вторник, 1 сентября 2026 г. в 00:00:07
javascript
React Fiber: как React научился прерывать рендер и расставлять приоритеты

Всем привет! Я Артем, фронтенд-разработчик в команде мессенджера Т-Банка. Работаю с React не первый год, участвовал в миграции на разные версии реакта, в том числе в переходе с классовых компонентов на функциональные. Мне всегда было интересно, зачем will*-методы были помечены как deprecated и  как устроены переходы на функциональные компоненты.Банальный пример — когда печатаешь в input, а интерфейс начинает лагать на большом списке: классическая боль старого React. Я решил разобраться, как и п…

  • вторник, 1 сентября 2026 г. в 00:00:06
javascript
Из генерации — в переписку: доводим ответ ИИ‑агента до клиента и CRM на n8n

Всем привет! Напомню: в первой статье я показал дебаунс на Redis, который склеивает дробные сообщения клиента. Во второй — модуль привязки «чат = сделка» и то, почему вебхуки стоит держать в изолированных ключах. Если первые две части были про архитектуру и концепции, то эта — с обилием кода. Я покажу, как именно вырезаются теги, парсятся телефоны и нарезаются абзацы, потому что без кода это превратится в «я просто настроил ноды». Обе предыдущие статьи заканчиваются примерно одинаково: «...и те…

  • понедельник, 31 августа 2026 г. в 00:00:10
javascript
GPT Сгенерировал картинку игры, пытаюсь ее разработать. Часть 2

Это вторая часть о создании браузерной игры. И мы подошли к исходам графики, когда я понял, как именно будет выглядеть игра, всю визуализацию мне предоставил chatGPT, сгенерировав прикольную картинку. В голове у меня было более сырое представление, я ему просто описал суть, что должна быть платформа, желейный куб и тд. Вот что он сделал: Меня этот вид очень вдохновил и я захотел в это поиграть ОглавлениеПластикКаменьКубПластикКак былоВсё на месте: трава, камень, тени, туман. И всё равно игрушеч…

  • понедельник, 31 августа 2026 г. в 00:00:09
javascript
Браузерная 3D-игра в одиночку. Часть 1

Я хочу начать серию статей о том, как я решил разработать залипательную игру. Сразу скажу, что я не гуру геймдева и вообще большая область моих знаний составляет разработка backend на Python, js, system design и тд. Игровой опыт закончился в 15 лет на скромной 3д мобильной игре про добычу биткоинов, где я мучился ради простых моделек в Blender и кода на c#, но это совсем другая история.Главный вопрос - Почему?Почему сейчас? Почему соло? Почему куб? Ах да… вы же еще не знаете идею. Давайте по по…

  • воскресенье, 30 августа 2026 г. в 00:00:03
javascript
Пишем свой React: Fiber, хуки и рендеринг под капотом

Зачем?Каждый день мы пишем JSX и используем хуки. Но как это работает под капотом? Чтобы разобраться, мы с нуля напишем собственную версию React.За основу мы возьмем отличный туториал Didact, но пойдем дальше: переведем все на TypeScript, добавим поддержку Фрагментов, реализуем useEffect и useContext. К концу стать React превратится для вас в понятный алгоритм)JSXЧто мы знаем про JSX? Это разметка, которая расширяет возможности JavaScript и позволяет писать в нем разметку, вот пример:const head…

  • воскресенье, 30 августа 2026 г. в 00:00:02
javascript
У моего героя нет здоровья, ключей и очков. Есть масса, и это всё сразу

Я делаю браузерный 3D-платформер. Игрок катает красный желейный куб по каменным плитам, парящим в небе. У куба нет полоски здоровья, нет инвентаря с ключами и нет счётчика очков.Не потому что я минималист и не потому что так задумывал с самого начала. А потому что в какой-то момент посмотрел на черновик спецификации и понял, что мне придётся писать, отлаживать и балансировать три отдельные системы. Одну я осилить был готов. Три - не очень.Куб на каменных плитахВот он. Красный, желейный, никаког…

  • суббота, 29 августа 2026 г. в 00:00:10
javascript
Эра инженерной зрелости: как выглядит стек JS-разработки в 2026 году глазами сообщества

Хайп-цикл фронтенда, кажется, наконец-то выдохся. Мы вышли из фазы бесконечного переизобретения колеса, где каждый месяц появлялся «убийца React», и вошли в эпоху убийцы Fable инженерной зрелости. Сегодня опытного инженера сложно впечатлить очередным фреймворком: ценность сместилась в сторону предсказуемости, скорости поставки (delivery) и снижения когнитивной нагрузки. Привет, меня зовут Паша Востриков, и я — архитектор веб-направления в «Лаборатории Касперского». В этой статье хочу разобрать …

  • суббота, 29 августа 2026 г. в 00:00:08