HowProgrammingWorks - JavaScript and Node.js Programming (@HowProgrammingWorks) — Telegram-канал | Telegram Dialogs
Все каналы
HowProgrammingWorks - JavaScript and Node.js Programming

HowProgrammingWorks - JavaScript and Node.js Programming

@HowProgrammingWorks

6.5K подписчиков технологии 💬 Комментарии открыты

Программная инжененрия для JavaScript, TypeScrip, Node.js 👉 Group: https://t.me/How_Programming_Works 👉 Node.js channel: https://t.me/metarhia 👉 Node.js group: https://t.me/nodeua

Последние публикации

HowProgrammingWorks - JavaScript and Node.js Programming
21.07.2026 05:21 · 👁 1.1K
Что я понял по итогам работы над структурами данных для стандартной библиотеки Metarhia Это же классическая тема, но ее мало кто хорошо осваивает в наше время, тем более в мире JS/Web разработки и во времена, когда все пишет AI. И даже если учили и знают, как делать хотябы простейший список, то нет привычки его использовати и знания остаются аккадемической теорией, невосстребованными вообще, а в коде массивы и объекты, ну максимум Set/Map. Почему же так случается? - Обычно людей учат как устроены структуры данных внутри, а нужно учить, как их применять. Внутреннее устройство даже не всегда нужно знать. - Нет хороших примеров использовани и нет культуры написания кода на структурах, так что, просто так это не поменять, нужно менять трек обучения. - Еще вариант: добавить скилы для этого и заставить типовые случаи внедлять через AI, это наверно сейчас более актуально, людей быстро не переучить. Я за последний месяц собрал свои наработки за последние 15 лет и сделал и продакшен-версии кода и учебные примеры, записал много лекций и стримов по структурам данных. Буду делать примеры и скилы, а пока вот продакшен-реди реализация самых нужных структур тут https://github.com/metarhia/metautil
HowProgrammingWorks - JavaScript and Node.js Programming
20.07.2026 06:10 · 👁 1.2K
https://youtu.be/ECMKu9bTeA8
HowProgrammingWorks - JavaScript and Node.js Programming
19.07.2026 06:09 · 👁 1.4K
Object.freeze / seal / preventExtensions: сколько это стоит в V8 Бенчмарк на create / read / write для обычного объекта {} и трех режимов защиты: freeze, preventExtensions, seal. - create: защита дороже обычного объекта ~в x4: {} 5.7 ns, а для freeze/seal ~25 ns - read: разницы почти нет, все ~1.4–1.6 ns - write: preventExtensions и seal пишут в существующие поля так же быстро, как {}, а freeze в кидает исключение ~2245 ns (долго) Вывод: читать frozen можно спокойно, дорого создавать (это обычно редко), а писать в freeze через try/catch не нужно, но в коде freeze может быть, если есть тесты, подтверждающие, что не пишем в поля https://github.com/HowProgrammingWorks/Object
HowProgrammingWorks - JavaScript and Node.js Programming
18.07.2026 05:24 · 👁 1.5K
https://youtu.be/pt-wtF2qUPY
HowProgrammingWorks - JavaScript and Node.js Programming
17.07.2026 05:23 · 👁 2K
Трехконтурная разработка: вместо того, чтобы генерировать с помощью AI миллионы строк кода в одном репозитории можно разделить это на 2 или три цикла. Первый контур: технологический стек Здесь сосредоточены основные инженерные усилия: runtime, протоколы, хранение данных, безопасность, наблюдаемость производительность, управление памятью и конкурентностью, инфраструктура, стабильные контракты и точки расширения. Этот код пишется редко, долго и дорого. Его создают лучшие инженеры вместе с AI, тщательно тестируют, профилируют и переиспользуют во множестве продуктов. Первый контур уменьшает кодовую базу второго на несколько порядков. Второй контур: параметризованные модули Это крупные готовые возможности: аутентификация, платежи, уведомления, workflow, отчёты, интеграции, роли и права, биллинг, отчеты и т.д. Здесь используются метапрограммирование, кодогенерация, схемы, зависимые типы, декларативные контракты и динамическая диспетчеризация. Модуль не реализует один конкретный сценарий. Он представляет семейство сценариев и перенастраивается через метаданные, политики, схемы и обработчики. Второй контур уменьшает кодовую базу третьего на несколько порядков. Третий контур: продукт Продукт собирается из готовых узлов. В нём остаются: модель предметной области, схемы данных, бизнес-правила, политики, конфигурация модулей, небольшое количество уникальных обработчиков, связи между бизнес-процессами. В результате полноценный продукт может состоять из нескольких сотен или нескольких тысяч строк кода, конфигурации и схем. Основная идея: - Каждый следующий контур сужает пространство решений - AI особенно эффективен, когда работает внутри заранее подготовленной системы ограничений - Чем сильнее первый и второй контуры, тем меньше кода требуется третьему, тем меньше контекста нужно AI, тем проще ревью, тестирование, сопровождение и миграции. Эти и другие вопросы обсуждаем каждый четверг на созвоне сообщества https://www.patreon.com/c/tshemsedinov
HowProgrammingWorks - JavaScript and Node.js Programming
16.07.2026 11:32 · 👁 1.6K
И еще про оптимизации в V8 (статья с блога v8, она актуальна по состоянию на 2026) 👉 https://v8.dev/blog/pointer-compression - Большая часть памяти V8 хранит указатели и небольшие значения (SMI) - SMI означает Small Integer, то есть небольшое целое число - SMI хранится прямо в ячейке значения без создания отдельного объекта в куче - Сжатый указатель хранит небольшое смещение адреса вместо полного 64-битного адреса - Один изолят V8 должен хранить свою кучу в области памяти размером до 4 ГБ - Сжатые указатели и SMI занимают 32 бита в памяти - V8 разворачивает указатели при чтении и сжимает их при сохранении - V8 хранит базовый адрес кучи в регистре CPU для быстрого разворачивания указателей - Сжатие указателей уменьшает диапазон целых чисел SMI и ограничивает прямое значения double - Это может уменьшить размер кучи V8 до 43%, а использование памяти процессом рендеринга браузера до 20%
HowProgrammingWorks - JavaScript and Node.js Programming
14.07.2026 12:05 · 👁 1.7K
https://youtu.be/nNqjgjG2iBU
HowProgrammingWorks - JavaScript and Node.js Programming
13.07.2026 06:27 · 👁 3.2K
https://youtu.be/o9gYlSou0vY
HowProgrammingWorks - JavaScript and Node.js Programming
10.07.2026 10:04 · 👁 3.3K
Fable наконец начал понимать конструкции с динамическим наименованием классов, раньше невозможно было пояснить и проще было написать руками такие вещи и то другие модели часто переписывали, если встречали такое на что-то привычное, например defineProperty или брендинг классов. Ладно там Fable, а вы такое умели? Через объект-контейнер и свойство с динамическим именем const createClass = (name) => { const container = { [name]: class {} }; const Entity = container[name]; return Entity; }; Более короткий способ const createClass = (name) => ({ [name]: class {}, })[name]; Или через деструктуризацию const createClass = (name) => { const { [name]: Entity } = { [name]: class {} }; return Entity; };
HowProgrammingWorks - JavaScript and Node.js Programming
09.07.2026 10:07 · 👁 2.5K
По многочисленным заявкам у нас будут сессии лайвкода, с разработкой архитектуры, применением AI, ревью кода и при помощи тех техник, которые мы пропагандируем (хорошее описание, md файлики со спеками и ADR, и все такое), сегодня сразу две сессии такие, доменный код и системный код: 🧑‍💻 Livecoding + AI: Payment Gateway (Тимур и Нечай) Платежная система - доменный код и архитектура Thursday, 9 July · 17:00 – 19:00 Time zone: Europe/Kiev В NextTick https://nexttick.it/?utm_source=timur_tg_howprogworks 🎙 Metarhia: metautil, metacom, data structures (Тимур) Системный и платформенный код и архитектура Thursday, 9 July · 19:00 – 21:00 Time zone: Europe/Kiev В сообществе Метархия https://www.patreon.com/c/tshemsedinov
Чат поддержки
Ответим здесь же, обычно быстро
Здравствуйте! Напишите ваш вопрос — оператор ответит в этом чате.