Последние пару лет изменили то, как пишется код. Copilot, Cursor, ChatGPT, Claude - все это генерирует вполне работающий JavaScript быстрее, чем успеваешь сформулировать задачу. Это удобно. Но у этого удобства есть обратная сторона, сгенерированный код работает правильно в смысле делает что просили, но не всегда правильно в смысле не течет по памяти и не роняет прод под нагрузкой.Модели хорошо знают синтаксис и паттерны. Они значительно хуже разбираются в том, что происходит под капотом конкрет…
Меня зовут Алекс Гусев и сегодня я расскажу о том, как ChatGPT убедил меня переписать библиотеку @teqfw/di, которую я бережно "выращиваю" с 2019-го года, и почему я всё-таки убедился.Эта JS-библиотека позволяет мне использовать в своих веб-приложениях позднее связывание и даёт возможность писать изоморфный код, который без изменений работает и в браузере, и на бэке. Без транспиляции исходников, без ручной регистрации зависимостей - так, как я привык делать в Java и PHP. Я почти 7 лет вр…
Долгое время я использовал пакет request (теперь устаревший) для выполнения HTTP-запросов в Node.js. Затем в моду вошли промисы (promises), и я переключился на request-promise (также ныне устаревший). Затем я начал использовать axios и думал, что на этом все... но ошибался. История HTTP в Node.js продолжает эволюционировать, и это прекрасно.Выполнение запросов HTTP - одна из самых распространенных задач в Node.js. Будь то обращение к API, получение данных из внешнего сервиса или разработка веб-…
Привет, друзья!В этой небольшой статье я расскажу вам о новом свойстве события toggle — source, а также о новом атрибуте HTML-элемента dialog — closedby.Свойство source позволяет определять источник переключения видимости поповера (popover), а атрибут closedby позволяет декларативно управлять логикой закрытия dialog, но обо всем по порядку.❯ ToggleEvent.sourceДоступное только для чтения свойство source интерфейса ToggleEvent - это экземпляр объекта Element, представляющий собой элемент управлен…
OpenIDE 2025.3 базируется на обновлённой IntelliJ IDEA Platform 2025.3 и включает изменения как из апстрима, так и собственные доработки консорциума. Ниже разберём все заметные нововведения по порядку.Наш ответ Чемберлену! Дополнение через ".."В OpenIDE 2025.3 появилась фича под названием Command Completion. Идея в том, чтобы вызывать действия IDE прямо из автодополнения кода, без необходимости запоминать горячие клавиши или лезть в меню.Работает просто: ставите точку после выражения и …
В части 1 мы выяснили, что объекты в Heap не освобождаются сами по себе этим занимается Garbage Collector. Но как именно GC решает, что можно удалить? Если подумать, задача не такая очевидная, объект не нужен - понятие логическое, а GC работает с физическим графом ссылок.Ответ в том, что GC не пытается угадать намерения программы. Он задаёт более простой вопрос, можно ли добраться до этого объекта из работающего кода? Если нельзя объект недостижим, и никакой код уже не сможет его использовать. …
Мы (человечество) очень хотим создать разум. Инопланетян мы пока не нашли, поэтому пытаемся собрать его сами из кремния и электричества. Но то, куда свернула индустрия сегодня, вызывает вопросы. Мы греем планету мегаваттами энергии, перемножая гигантские матрицы в дата-центрах, чтобы обучить LLM. Backpropagation и современный инференс - это непозволительно дорого и энергозатратно.А что если вернуться к истокам? Что если интеллект — это не градиентный спуск, а кристаллизация связей под давлением…
Одна из главных проблем i18n в приложениях заключается в том, что о ней вспоминают в последнюю очередь.Обычно мы разрабатываем продукт, проверяем соответствие рынку (Product-Market Fit) и только спустя месяцы или годы решаем: «Пора выходить на глобальный уровень».Сложность в том, что решения для i18n носят структурный характер и сильно влияют на работу команды. Куда эффективнее закладывать это в техническое задание с первого дня.Как же с этим справиться? Заморозить разработку на неделю и рефакт…
Система типов в TypeScript может творить чудеса, но на практике многие используют ее едва ли на десять процентов. Признайтесь, мы все хотя бы раз лепили any просто чтобы компилятор отстал и дал собрать проект. Проблема в том, что такие компромиссы рано или поздно приводят к неожиданным падениям в рантайме.В этой небольшой статье мы разберем с вами несколько полезных практик, которые помогут писать более чистый код и будут реально отлавливать баги еще до того, как они попадут в продакшен.Просто …