TGViewer
Channel Public Channel
HowProgrammingWorks - JavaScript and Node.js Programming

HowProgrammingWorks - JavaScript and Node.js Programming

@howprogrammingworks

Программная инжененрия для 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
Subscribers
6.52K
Photos
382
Videos
20
Links
963

Showing posts older than #1995 · Back to latest

Older Posts 20 shown
Post #1994 2.11K
Даже в JavaScript/TypeScript мире начала распространяться благая весть, что наследование это зло, и в большинстве случаев его лучше заменить структурной композицией или открытым конструктором. Но не все помнят, что была целая группа языков программирования объектно-базированных, где классы были и можно было делать экземпляры, но нельзя было делать новых классов: ada, fortran, foxbase, clipper... Подумайте, это интересное решение, так можно делать и в js/ts
  • ❤ 7
  • 🔥 3
  • ⚡ 2
  • 😁 2
  • 💯 1
Post #1993 2.06K
Post #1992 2.12K
Post #1991 2.09K
Post #1990 2.19K
Post #1989 2.2K
  • 🤣 10
  • ❤ 2
  • 💯 2
  • 😢 1
Post #1988 2.35K
Post #1987 2.07K
Post #1986 2.12K
Post #1985 2.2K
Post #1984 2.29K
Post #1983 2.23K
Post #1982 2.18K
То, что Promis не монада, это общеизвестно, но нашлись люди, которые говорят, что Array монада, и что из Thenable нельзя сделать монаду, здесь доказательство про Thenable, о про Array даже говорить нет нужды, ну я надеюсь, что это очевидно... или нет? https://github.com/HowProgrammingWorks/Thenable/blob/master/JavaScript/b-monad.js
  • ❤ 5
  • 👍 3
  • 💯 1
Post #1981 2.16K
Post #1980 2.1K
💡 Как должен выглядеть стектрейс с AggregateError + cause

В примеры кода добавлена обработка ошибок: ООП, ФП, прототипного, реактивного и других стилей.

AggregateError: Validation
at validatePoint (/monad-result.js:82:20)
at Monad.chain (/monad-result.js:21:12)
at Object.<anonymous> (/monad-result.js:93:43)
[errors]: [
TypeError: Invalid x: NaN
at validatePoint (/monad-result.js:79:40)
at Monad.chain (/monad-result.js:21:12)
at Object.<anonymous> (/monad-result.js:93:43)
TypeError: Invalid y: false
at validatePoint (/monad-result.js:80:40)
at Monad.chain (/monad-result.js:21:12)
at Object.<anonymous> (/monad-result.js:93:43)
]
}


- Тут валидация выдает не только первую ошибку, но все, которые может найти, а значит, не нужно запускать код или его тесты много раз, исправляя ошибки по очереди
- Благодаря ФП и Result тут вся программа доходит до конца, выдавая максимум ошибок, не вылетая на первой же
- Обработка ошибок не требует кучи if-else в прикладном коде, все ветвление скрыто
- Стек-трейс вложенный, но простой и понятный

Обработка ошибок добавлена почти во все стили, это просто пример на ФП, но загляните, то же реализовано на ООП и других парадигмах и стилях.

Code: https://github.com/HowProgrammingWorks/Paradigms/blob/main/JavaScript/monad-result.js
  • 👍 12
  • 🔥 4
  • ❤ 2
Post #1979 2.06K
Post #1978 2.18K
Post #1977 2.14K
Это выпускник курса Patterns празднует 2027 год в коллективе своей компании.

Воскресенье - последний шанс зарегистрироваться, потом догнать курс уже будет нереально, а следующего набора ждать примнрно 5 месяцев. https://nodeua.com/Patterns-2025
  • 😁 22
  • 🤣 10
  • ❤ 3
  • 👎 1
Post #1976 2.2K
Любой руководитель, получив высокий уровень власти, может решить, что получил полный контроль над системой. Но стоит опуститься на уровень деталей - и его сразу придавит мощностью континуума. Кстати, это и со специалистами работает, которые отлично освоили высокоуровневый язык программирования, но за каждым оператором стоит много слоев компиляции, оптимизации, виртуализации, исполнения на конкретном железе. Копни туда и открывается непрерывная сложность: даже император не способен гарантировать, что в полдень в самом дальнем селе по его приказу все поднимут правую руку. Ошибки в коде исправить можно, но нельзя гарантировать, что вы за конечное время действительно поняли, что исправлено, и приказали коду работать правильно во всех случаях, инженеру не приходит гениальная мысль по команде, дети не смеются по расписанию, почтальон может заблудиться, а генерал - охрипнуть. Абсолютная надежность, она как скорость света, недостижима даже в мелочах.
  • ❤ 21
  • 👍 6
  • 💯 4
  • ⚡ 1
Post #1975 2.12K
HowProgrammingWorks - JavaScript and Node.js Programming 🧐 last call, вы станете понимать такой юмор 👉 https://nodeua.com/Patterns-2025-paradigms
Тут видео с объяснением этого мема

https://www.youtube.com/watch?v=Sn0jeJfQOT0
  • ❤ 2
  • 🤣 2
  • 🤯 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →