HowProgrammingWorks - JavaScript and Node.js Programming
6.54K subscribers
379 photos
20 videos
1 file
952 links
Программная инжененрия для 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
Download Telegram
Ownership and Resource Lifetime

Pure JavaScript examples of deterministic resource lifetime, ownership, move, borrow, lease, shared ownership, weak references, and RAII-inspired abstractions built on modern JavaScript.
const timers = require('node:timers/promises');

class AbortScope {
  #controller = new AbortController();
  signal = this.#controller.signal;
  [Symbol.dispose]() {
    this.#controller.abort(new Error('Scope disposed'));
  }
}

const main = async () => {
  let operation;
  {
    using scope = new AbortScope();
    operation = timers.setTimeout(1000, 'done', {
      signal: scope.signal,
    });
  }
  try {
    await operation;
  } catch (error) {
    console.log(error.name);
  }
};

main();

Sources: https://github.com/HowProgrammingWorks/Ownership
🔥76👀2👍1
С самых простых вещей, язык не особо важно какой, но лучше сразу 2 параллельно учить, они сейчас все развитые, а вот важное:
- как делать промежуточные переменные вместо сложных выражений
- разделять сложное на части и объединять части в целое
- давать всему семантически полезные имена, строить читаемые управляющие конструкции, избегать комментариев
- избегать accidental complexity, из нескольких решений выбирать попроще
- сначала думать о данных, как они представлены в памяти и связаны, а уже потом писать алгоритмы обработки
- привыкать думать об ограничениях и контрактах, какие входные данные можно изменять, какие нет
- больше думать не о вычислительной сложности, а о семантической сложности и как ее можно изолировать
👍268🔥5
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥2
Prototyping IDE with harness, terminal, execution sandbox, test runner, parallel execution and scheduling
🤷‍♂17🔥43😁2🤯2
- Следующий шаг - сделать человека частью харнеса: ему пишут задачу, и он выполняет
- Это тебе кто-то сгенерировал или ты до сих пор сам посты пишешь?
😁16🤣3👎2💯1
Программисты почти перестали спорить про языки и фреймворки.

Теперь у каждого свои суеверия про AI, как правильно настроить окружение и формат работы вокруг агентов, каким инструментам можно доверять и каким нет, как чистить контекст...

Часть - полезная, а часть - просто суеверия. Но спорить о них можно вечно.

Свято место холивара пусто не бывает.
👍14💯64👎2🔥1
🧠 VSCode, Claude Code, Cursor, Codex: внутри у них один и тот же цикл. Он умещается в пару сотен строк.

Сделал вам прототип: рабочий кодинг-агент на Node.js, целиком читаемый за один вечер.

На агента 700 строк, инструменты 600 строк, остальной код terminal UI IDE конечно (~5k строк), его можно не читать вообще, никаких фреймворков. Внутри:
- цикл модель - вызов инструмента - результат - снова модель
- минимальная IDE прямо в терминале: дерево файлов, редактор с подсветкой, шелл и чат с агентом
- 11 инструментов: read, write, edit, bash, grep, glob, patch, fetch, todo, check, delete

В начале я дал ему 3 инструмента: read, write, bash, а остальные он сам себе написал себе на несчастном gemini-3.5-flash-lite.
Поддерживет любой OpenAI-совместимый провайдер: меняете BASE_URL в конфиге и работаете хоть на локальной модели.

⭐️ https://github.com/HowProgrammingWorks/Agent
🔥1514😁4🤝3
😁60💯11😢5🤣42👍2🤝2
Инструмент для ревью нейрослопа уже позволяет генерировать md-файлы с задачами для агентов, это похоже на план выполнения, по которому агент идет, читает комментарии и TODO, ставит галочки, что сделано. А вы принимаете или не принимаете каждый фрагмент кода и режете код на отдельные коммиты в гите. https://github.com/tshemsedinov/metadiff
13👍6🤷‍♂1🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣14🔥31
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤷‍♂22🔥2
👁 reslop v0.1.3

Changes:
- Showed added/removed and staged/total counts in the file list
- Highlighted JSX and TSX syntax, including
- Added vim-style j/k navigation and Ctrl scrolling
- Improved TUI/UX with background git and npm checks to avoid a freeze

npm i -g reslop


https://github.com/tshemsedinov/reslop
👍41👎1🔥1