en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

HowProgrammingWorks - JavaScript and Node.js Programming

HowProgrammingWorks - JavaScript and Node.js Programming

Open in Telegram

Программная инжененрия для 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

Show more
6 575
Subscribers
-324 hours
+97 days
+6230 days
Posts Archive
На прошлой неделе я потратил 2 часа, чтобы заставить AI написать генератор уникальных идентификаторов так же эффективно, как
На прошлой неделе я потратил 2 часа, чтобы заставить AI написать генератор уникальных идентификаторов так же эффективно, как это сделал я за 18 минут. Без развернутого ТЗ генератор, написанный AI давал в 4-5 раз худшую производительность. Потом я погулял неделю и придумал как написать код, работающий еще в 2 раза эффективнее. Интересно, сколько времени теперь понадобится, чтобы сделать новое ТЗ, по которому такой результат будет достигнут AI. https://github.com/HowProgrammingWorks/CodeWithAI

У меня, кстати уже собран пример чата с автоматической синхронизацией состояния для сообщений и реакций, с таким техстеком: CRDT + PWA (service worker), websocket, Node.js server (сохранение на файловую систему) + OPFS (сохранение в браузере на файловую систему), мы его на курсах и в сообществе и с выпускниками курсов разбирали. Но вам я его не покажу пока, потому, что вы хитрожопые и все хотите взять и использовать без понимая, держите вот вторую часть лекции по CRDT https://youtu.be/7HVvvtQdkRg

Вся невероятная сила новой модели в одной картинка
Вся невероятная сила новой модели в одной картинка

AI приложение для медитации: нажал кнопку и оно медитирует за вас

«AI приложение, которое использует вас, как ассистента»

🚀 Вместе эти технологии формируют инфраструктуру для local-first приложений: 1️⃣ PWA (Progressive Web App) Веб-приложения с
🚀 Вместе эти технологии формируют инфраструктуру для local-first приложений: 1️⃣ PWA (Progressive Web App) Веб-приложения с пользовательским опытом, близким к нативному: офлайн-режим, установка, быстрое время загрузки. Решают проблемы плохой связи и медленной сети, сочетая преимущества веба и нативных приложений. 2️⃣ CRDT (Conflict-Free Replicated Data Types) Структуры данных для автоматического разрешения конфликтов в распределённых системах. Решают проблемы синхронизации, параллельного редактирования и обеспечивают работу офлайн-приложений без потери или конфликтов данных. 3️⃣ CAS Containers (Compare-And-Swap) Атомарный механизм одновременного доступа, который хранит записи базы данных с защитой через хеши или версии. Решает проблемы race conditions, конфликтов одновременных изменений, обеспечивает консистентность и оптимистичное управление параллельным доступом в распределённых БД. 4️⃣ IndexedDB (browser built-in database) Встроенная в браузер база данных с API для транзакционного хранения структурированных данных на стороне клиента. Решает задачи офлайн-хранения, локальных запросов, кэширования и построения b-tree индексов. 5️⃣ OPFS (Origin Private File System) Защищённая высокопроизводительная файловая система, доступная только веб-приложениям в рамках одного origin (источника). Решает задачи хранения крупных файлов и высокоскоростных файловых операций в вебе. 6️⃣ Blockchain (без майнинга) Распределённый защищённый журнал записей для децентрализованной базы данных с неизменяемой историей. Решает задачи целостности и неизменности данных, прозрачности и доверия. 7️⃣ JavaScript Smart Contracts Бизнес-логика, выполняемая на языке JavaScript в децентрализованных средах. Решает задачи автоматизации и доверия при изменении данных, автоматического подтверждения договорённостей и безопасного выполнения кода. 8️⃣ WebSocket Протокол для двунаправленного обмена данными в реальном времени через одно TCP-соединение. Решает проблемы задержек и поддерживает интерактивные приложения, близкие к реальному времени. 9️⃣ WebRTC (Web Real-Time Communication) Протокол для потоковой передачи мультимедиа и обмена данными напрямую между пользователями. Решает задачи прямого взаимодействия в реальном времени, низких задержек и децентрализации без промежуточных серверов. 🔟 Metaschema Декларативный язык схем для моделирования, валидации и синхронизации данных. Решает проблемы несоответствия данных, эволюции и миграции схем, упрощает описание метаданных и работу со сложными структурами данных.

CAS-контейнер это один из блоков, из которых мы соберем технологию для local-first (offline-first) разработки, вместе с CRDT и Websocket он обеспечит синхронизацию приложений между закладками браузера, между несколькими устройствами, между разными пользователями. Менторы курса Patterns делают пример фронтенда, я пишу бекенд и синхронизацию. Скоро мы объединим это вместе с PWA и web workers, OPFS и indexedDB как я писал тут https://t.me/metarhia/1904 а позже реализуем транспорт при помощи WebRTC, а целостность состояния будет обеспечивать Blockchain. Конечно, их использование не обязательно, это просто блоки, из которых можно будет собрать свое решение. Бизнес-логику можно будет писать как сервисы или как смарт-контракты на выбор. Даже разработка API будет рациональной, 80% функциональности можно делать без серверного API даже вообще не разрабатывая сервера, на автоматической синхронизации базы данных, но можно и свое API реализовать. Поставьте ❤️ если вы уловили, что мы хотим сделать, 👍 если частично, но интересно, 🤷‍♂ если совсем сложно понять. Все эти технологические блоки совсем скоро позволят писать фронтенд не в стиле простыни, где визуальные компоненты содержат работу с API через fetch, а бизнес-логика размазана по событиям на кнопочках (как в делали ваши деды на Delphi), но позволит делать чистую архитектуру и изолировать слои. Ни кто, конечно, не запретит писать лапшу, но сделать простое и красивое решение будет в разы проще. Что мы покажем на примере проекта.

🎫 Открыл Community подписку на Patreon для еженедельных стримов, семинаров, лайвкода, Q&A сессий, всяких материалов, что я выпускникам готовлю. Раньше она была, но последние два года я туда приглашал только всех, кто на курсы приходил и выпускников, каждую неделю 2 часа, мы уже ведем это 5 лет, там всегда интересно. Теперь $10 в месяц: https://www.patreon.com/tshemsedinov/membership

Вчера проводил лайвкодинг с Cursor 1.3.9 (claude-4-sonet, claude-3.5-sonet, gpt-4.1, o3, gemini-2.5-pro) для студентов курса по паттернам, Node.js и асинхронности. Показал, как правильно формулировать задачу для ИИ — воспринимать его как исполнителя, а не как волшебную коробку, которая все делает за вас. Больше часа писал техническое задание, а затем ИИ очень быстро все реализовал — но все идеи уже были в ТЗ. Я предоставил примеры кода из своих предыдущих разработок, описание задачи заняло 71 строку: https://github.com/metarhia/metautil/blob/gsid-ai/lib/TASKS.md После этого, с небольшими доработками в течение 10–15 минут, он сгенерировал вот эти 43 строки кода: https://github.com/metarhia/metautil/blob/gsid-ai/lib/gsid.js а также много вспомогательного кода для анализа результатов, отчета по производительности и оптимизации, который я добавил в конец файла TASKS_md. Некоторые материалы я публикую здесь, другие будут доступны только студентам. Скоро запишу видео со сравнением — что получается, если воспринимать ИИ как ассистента, и что выходит, когда человек не понимает задачу и не умеет управлять ИИ.

Комментарий под видео: а вот AI по этому поводу говорит... Как вы можете это объяснить?

Как у вас с работой?
Anonymous voting

💡 Новые примеры кода из курсов Метархии: - Простой блокчейн со смартконтрактами (JavaScript + Node.js): https://github.com/H
💡 Новые примеры кода из курсов Метархии: - Простой блокчейн со смартконтрактами (JavaScript + Node.js): https://github.com/HowProgrammingWorks/Blockchain - Реализация CAS структур данных: https://github.com/HowProgrammingWorks/CAS - Примеры использования Atomics: https://github.com/HowProgrammingWorks/Atomics - CRDT структуры данных: https://github.com/HowProgrammingWorks/CRDT 👉 Курсы Метархии: - Async 2025: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Async-2025.md - Node.js 2025: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/NodeJS-2025.md - Patterns 2025: https://nodeua.com/Patterns-2025.html

Вы хотите внедрить local-first в своих проектах? (выбираем что именно)
Anonymous voting

Продолжаю писать примеры CRDT для лекции о синхронизации структур данных в распределенных системах и дальнейшего включения этих возможностей в Metarhia. Уже готовы каунтеры: - G-Counter: Grow-only State-based - PN-Counter: Positive-Negative State-based - OP-Counter: Operation-based Counter - AC-Counter: Accumulated Counter - Δ-G-Counter: Delta-based Grow-only - S-Counter: Schema-based Counter И часть множеств готова: - G-Set: Grow-only Set - 2P-Set: Two-Phase Set - LWW-Set: Last-Writer-Wins Set - OR-Set: Observed-Remove Set - PN-Set: Positive-Negative Set Другие CRDT появятся тут в ближайшее время: https://github.com/HowProgrammingWorks/CRDT