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 more6 468
Subscribers
-224 hours
-167 days
-1130 days
Posts Archive
Когда внук начал программировать на TypeScript, дедушка переписал на суслика свою квартиру
Repost from Node.js Ukraine Community
В чем преимущество этого фреймворка?
- нет ничего лишнего
- все очень просто
- мы решили все проблемы
- добавлены удобные фишки
- исправлены почти все баги
- заехала новая архитектура папочек
- поддержка TS через удаление типов
- чтобы писать ни нужно знать ничего, ведь это будущее...
💡 Simple optimization examples:
Sources: https://github.com/HowProgrammingWorks/Monomorphism
💡 Как сделать новый популярный фреймворк:
1. Взять один случайный паттерн
2. Дать ему неузнаваемое название
3. Сделать презентацию, пообещав всем, что это и есть решение всех проблем
Признак хорошо спроектированного контракта (будь то интерфейс, сигнатура, абстрактный класс, фасад, тип, API…) — это когда:
• Понятно, как использовать, не заглядывая в исходники. Достаточно имен и, в крайнем случае, тестов или примеров.
• Не требует трассировки вызовов в реализации контракта. Всё очевидно на уровне интерфейса.
• Ошибки локализуются в 1 шаг, без анализа длинных цепочек вызовов.
• Следует LoD (Law of Demeter) и принципу "Do not talk to strangers", ограничивая ненужные зависимости.
• Использует осмысленное именование, которое отражает суть и минимизирует когнитивную нагрузку.
Признак хорошо спроектированного контракта (будь то интерфейс, сигнатура, абстрактный класс, фасад, тип, API…) — это когда:
• Понятно, как использовать, не заглядывая в исходники. Достаточно имен и, в крайнем случае, тестов или примеров.
• Не требует трассировки вызовов в реализации контракта. Всё очевидно на уровне интерфейса.
• Ошибки локализуются в 1 шаг, без анализа длинных цепочек вызовов.
• Следует LoD (Law of Demeter) и принципу "Do not talk to strangers", ограничивая ненужные зависимости.
• Использует осмысленное именование, которое отражает суть и минимизирует когнитивную нагрузку.
💡 Вообще, стилей взаимодейстия больше, разработчики привыкли думать в терминах конкретных технологий и протоколов (websocket, grpc, http api, sse), но имеет смысл обобщить:
- REST/Resources
- RPC/Calls
- Events/Messages
- Shared Database
- Simple data sync
- Operation log sync
- Peer-to-Peer
Описание тут: https://github.com/tshemsedinov/feed/blob/main/README.md#communication-styles-2025-02-24
🤷♂️ Синьор программист мечется между страстным требованием поднять зарплату и страхом, что его выгонят за полную некомпетентность
Available now! Telegram Research 2025 — the year's key insights 
