HowProgrammingWorks - JavaScript and Node.js Programming
前往频道在 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
显示更多6 585
订阅者
+124 小时
+227 天
+6730 天
正在加载数据
相似频道
标签云
进出提及
---
---
---
---
---
---
吸引订阅者
十月 '2610月 '26
十月 '26
+137
在3个频道中
九月 '26
+58
在3个频道中
Get PRO
八月 '26
+143
在4个频道中
Get PRO
七月 '26
+49
在4个频道中
Get PRO
六月 '26
+141
在2个频道中
Get PRO
五月 '26
+146
在3个频道中
Get PRO
四月 '26
+199
在2个频道中
Get PRO
三月 '26
+115
在4个频道中
Get PRO
二月 '26
+109
在2个频道中
Get PRO
一月 '26
+55
在0个频道中
Get PRO
十二月 '25
+72
在1个频道中
Get PRO
十一月 '25
+60
在4个频道中
Get PRO
十月 '25
+121
在1个频道中
Get PRO
九月 '25
+48
在0个频道中
Get PRO
八月 '25
+68
在1个频道中
Get PRO
七月 '25
+55
在1个频道中
Get PRO
六月 '25
+54
在1个频道中
Get PRO
五月 '25
+64
在0个频道中
Get PRO
四月 '25
+57
在2个频道中
Get PRO
三月 '25
+101
在2个频道中
Get PRO
二月 '25
+114
在0个频道中
Get PRO
一月 '25
+153
在2个频道中
Get PRO
十二月 '24
+94
在1个频道中
Get PRO
十一月 '24
+81
在0个频道中
Get PRO
十月 '24
+106
在2个频道中
Get PRO
九月 '24
+138
在0个频道中
Get PRO
八月 '24
+243
在1个频道中
Get PRO
七月 '24
+286
在3个频道中
Get PRO
六月 '24
+89
在0个频道中
Get PRO
五月 '24
+188
在3个频道中
Get PRO
四月 '24
+105
在2个频道中
Get PRO
三月 '24
+124
在0个频道中
Get PRO
二月 '24
+79
在2个频道中
Get PRO
一月 '24
+115
在1个频道中
Get PRO
十二月 '23
+120
在0个频道中
Get PRO
十一月 '23
+103
在1个频道中
Get PRO
十月 '23
+107
在1个频道中
Get PRO
九月 '23
+251
在0个频道中
Get PRO
八月 '23
+142
在0个频道中
Get PRO
七月 '23
+188
在0个频道中
Get PRO
六月 '23
+125
在0个频道中
Get PRO
五月 '23
+87
在0个频道中
Get PRO
四月 '23
+63
在0个频道中
Get PRO
三月 '23
+105
在0个频道中
Get PRO
二月 '23
+58
在0个频道中
Get PRO
一月 '23
+82
在0个频道中
Get PRO
十二月 '22
+301
在0个频道中
Get PRO
十一月 '22
+156
在0个频道中
Get PRO
十月 '22
+78
在0个频道中
Get PRO
九月 '22
+106
在0个频道中
Get PRO
八月 '22
+110
在0个频道中
Get PRO
七月 '22
+110
在0个频道中
Get PRO
六月 '22
+185
在0个频道中
Get PRO
五月 '22
+81
在0个频道中
Get PRO
四月 '22
+49
在0个频道中
Get PRO
三月 '22
+63
在0个频道中
Get PRO
二月 '22
+91
在0个频道中
Get PRO
一月 '22
+193
在0个频道中
Get PRO
十二月 '21
+131
在0个频道中
Get PRO
十一月 '21
+53
在0个频道中
Get PRO
十月 '21
+91
在0个频道中
Get PRO
九月 '21
+165
在0个频道中
Get PRO
八月 '21
+81
在0个频道中
Get PRO
七月 '21
+64
在0个频道中
Get PRO
六月 '21
+67
在0个频道中
Get PRO
五月 '21
+52
在0个频道中
Get PRO
四月 '21
+106
在0个频道中
Get PRO
三月 '21
+111
在0个频道中
Get PRO
二月 '21
+133
在0个频道中
Get PRO
一月 '21
+126
在0个频道中
Get PRO
十二月 '20
+3 962
在0个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 28 十月 | +1 | |||
| 27 十月 | +3 | |||
| 26 十月 | +3 | |||
| 25 十月 | +11 | |||
| 24 十月 | +3 | |||
| 23 十月 | +8 | |||
| 22 十月 | +7 | |||
| 21 十月 | +3 | |||
| 20 十月 | +18 | |||
| 19 十月 | +28 | |||
| 18 十月 | +2 | |||
| 17 十月 | 0 | |||
| 16 十月 | +2 | |||
| 15 十月 | 0 | |||
| 14 十月 | +5 | |||
| 13 十月 | +2 | |||
| 12 十月 | +4 | |||
| 11 十月 | +7 | |||
| 10 十月 | +4 | |||
| 09 十月 | +7 | |||
| 08 十月 | +5 | |||
| 07 十月 | +2 | |||
| 06 十月 | +5 | |||
| 05 十月 | +3 | |||
| 04 十月 | +1 | |||
| 03 十月 | +2 | |||
| 02 十月 | +1 | |||
| 01 十月 | 0 |
频道帖子
| 2 | https://youtu.be/JfqXebvThI4 | 1 112 |
| 3 | https://youtu.be/ddDfjBswtGA | 1 367 |
| 4 | https://youtu.be/2teKcIDANI4 | 1 900 |
| 5 | 🏛 Открыт новый набор в NextTick
- Сейчас это 700+ инженеров
- Ведущие Илья Климов и Тимур Шемсединов
- Ваши затраты: 2 часа в неделю + $50/месяц
- Каждый месяц 2 стрима: по архитектуре и по коммуникациям
- Калибровка поможет за 15 минут понять, что вам нужно
- Три видео в неделю помогут с AI, архитектурой и коммуникациями
- Чат, где вам помогут по рабочим вопросам ведущие и коллеги
✔️ https://gm.nexttick.it/go/timur-tg-metarhia | 1 905 |
| 6 | 📦 reslop@0.3.4 (отличия от 0.3.0)
- Поддержка 12 агентов через ACP:
- Добавлены Junie by JetBrains, Copilot, Pi, Kiro by AWS, Cline, Windsurf, Kilo Code, Antigravity
- Переведены с CLI на ACP: Claude Code, Codex, Cursor, OpenCode
- Помогает установить эти 12 агентов на выбор, SDK и ACP для них, если нужно, из npm и пакетных менеджеров
- Авторазрешение конфликтов git rebase
- Поддержка git worktrees
- Улучшена фоновая работа команд, тестов, агентов
- Улучшения UI/UX (горячи клавиши, пап-ап меню, редакторы) и многое другое
https://github.com/tshemsedinov/reslop | 2 054 |
| 7 | Тут говорят, что у программистов забрали, самое интересное, а оставили рутину, а я думаю, что как раз наоборот - заблали рутину и оставили самое интересное. Программирование это же не про то, как написать цикл, функцию и класс, а про то, как придумать принцип по которому они будут написаны, например, выделить характеристики кода, как: иммутабельность, идемпотентность, гранулярность, зацепленность, ленивость... и придумать, что эта характеристика дает нам полезного, пока AI не придумал ни одной новой парадигмы программирования, ни одного нового паттерна или приема, ни одного обобщения.
Программирование в его наиболее интеллектуальной части - это не код, а создание принципов, по которым код должен быть устроен.
Циклы, функции, классы, промисы - это механизмы. А иммутабельность, идемпотентность, композируемость, гранулярность, связность, зацепленность -характеристики, через которые мы управляем свойствами кода.
- Иммутабельность дает упрощение конкурентного исполнения
- Мутабельность - скорость и экономию памяти, но много опасностей
- Идемпотентность - устойчивость к повторам
- Слабое зацепление - гибкость через заменяемость
- Композируемость - повторное использование и порождение новых абстракций
Такие и подобные вещи формируют модель мышления, которое позволяет создавать целые классы программ иначе.
ИИ уже участвовал в открытии новых алгоритмов, обнаружил более эффективные алгоритмы сортировки, новые алгоритмы умножения матриц и оптимизации вычислений. Но это не то же самое, что создание новой парадигмы программирования.
Можно выделить четыре уровня интеллектуальной деятельности:
1. Реализация -написать код по заданным правилам
2. Проектирование - выбрать известные принципы, паттерны и ограничения
3. Обобщение - обнаружить общий принцип в разных решениях и сформулировать новую абстракцию
4. Изобретение - предложить новый принцип организации вычислений, который открывает ранее недоступные возможности или существенно меняет подход к разработке
ИИ уверенно работает на первых двух уровнях, способен неплохо помогать на третьем и демонстрирует скромные результаты на четвертом, прежде всего в алгоритмических задачах. Но общепризнанной новой фундаментальной парадигмы программирования, да что там... даже нового паттерна или приема созданного ИИ мы не видим.
Настоящий прорыв в AI-assisted programming - это переход от генерации реализаций к генерации и проверке принципов.
Наивно писать "сделай мне архитектуру с SOLID", нужно стремиться к "найди характеристику системы, которую мы еще не формализовали, выведи из нее полезные следствия, предложи новый способ организауии кода и докажи, что он работает и дает полезные характеристики кодовой базы". | 2 395 |
| 8 | https://youtu.be/SydBpt0Oyn0 | 1 846 |
| 9 | https://www.youtube.com/watch?v=ffUWw_cZt6E | 2 088 |
| 10 | Неудобно, но вынужден | 2 433 |
| 11 | https://youtu.be/zJj7CKSPpEA | 2 489 |
| 12 | Reslop 0.3.0
- Экспериментальная поддержка запуска агентов из reslop с планами: cloude code, cursor, codex, antigravity, opencode
- Запуск npm, git, агентов и всего остального в фоновом режиме, UI не блокируется
- Импорт issue из GitHub, GitLab в задачи
- Много оптимизаций и теперь все летает
- Проработан UX: tasks, agents, run
https://reslop.it/ | 2 404 |
| 13 | https://youtu.be/ZRrq3DuXvd4 | 2 210 |
| 14 | https://youtu.be/EV3BqA06qQc | 2 204 |
| 15 | Если взять одно, что я хочу в JavaScript, то это будет Block Expression. При чем в V8 все готово, чтобы это сделать, в каждом блоке последнее выражение отдельно сохраняется в структуре V8, я даже согласен на do-expression, но зачем этот do?
Сейчас приходится либо выносить функцию или использовать IIFE или let снаружи - это отвратительно:
let price;
if (user.isAdmin) {
price = 0;
} else if (user.hasDiscount) {
const discount = calculateDiscount(user);
price = basePrice * (1 - discount);
} else {
price = basePrice;
}
Промежуточные переменные не загрязняют scope, а можно было бы:
const id = {
const normalized = name.trim().toLowerCase();
const separator = normalized.includes("-") ? "-" : "_";
const parts = normalized.split(separator);
parts.join(":");
};
Вместо IIFE только представьте как можно было бы переписать:
const config = (() => {
const env = process.env.NODE_ENV ?? 'development';
const production = env === 'production';
// do something...
return { env, host, port, secure: production };
})();
Но лучше всего в try/catch, представьте это как перепишем:
let data;
try {
const text = await readFile(path, 'utf8');
data = JSON.parse(text);
} catch {
data = 'default value';
}
А теперь представьте литерал объекта:
const response = {
user,
permissions: {
const roles = await getRoles(user);
if (roles.includes('admin')) ['read', 'write", 'delete'];
else if (roles.includes('editor')) ['read', 'write'];
else ['read'];
},
displayName: { ... some calculations },
};
Или вызов функции:
render({
const width = container.clientWidth;
const columns = Math.max(1, Math.floor(width / 300));
const gap = columns > 3 ? 24 : 16;
{ width, columns, gap };
}); | 3 686 |
| 16 | Тип компании, где я работаю | 2 275 |
| 17 | Какой сейчас размер вашей команды? Не компании и не IT отдела, а именно продуктовой команды. | 2 482 |
| 18 | На кого учиться, если все профессии отберут роботы? Где пределы экспансии искусственного интеллекта? Что останется кожаным?
https://youtu.be/BQRDr71Yaaw | 2 511 |
| 19 | Объем текста и объем кода должны заставлять нас не махнуть рукой, а заставлять ии делать меньше бюрократии | 2 560 |
| 20 | https://youtu.be/I5ILntVSjkQ | 2 779 |
