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 579
المشتركون
-324 ساعات
+97 أيام
+6230 أيام
أرشيف المشاركات
На воркшопе по парадигмам (на этих выходных) я решил развернуть их сравнение через свойства кода, которые мы достигаем благодаря следующим идеям и их комбинациям:
- Control Flow: Statements, algorithm steps, Expression, Command-style, Declarative style
- State: Mutable, Immutable, Copy-on-write, Stateless
- Contexts: Objects, Records, Closures, Containers, Modules
- Branching: statement, expressions, guards, pattern matching
- Iteration: Loops, Recursion, Iterators / Generators, Streams
- Instantiation: Operator
new, Creational patterns like Factory, Builder, Closures, Containers, Cloning
- Inheritance: Classes (extends), Interfaces (implements), Prototype programming, Mixins, Composition, Aggregation, Partial/Curry, Traits
- Primitive values: Scalars, Boxing, Value Objects, Containers
- Purity: Pure functions, Functions with side effects, IO monads
- Evaluation Flow: Function composition, Nested calls, Pipeline |>
- Dependencies: pass, injection, global namespaces, service locators
- Structural Control: Pattern matching, Nested if/else conditionals, Guards
- Error handling: Total functions, Throwing exceptions, Error codes, Return null, undefined, Null objects, Option / Either / Result / Promise
- Stability of Effects: Idempotent operations, Order-sensitive operations, Commutative / associative operations
- Resource Control: Manual destruction, RAII / disposables, Region-based allocation
- Concurrency Model: Shared-memory, Stateless, Message passing (Actor model), Transactional
- Asynchronity: Callback, Promise, Async/await, Future, Task, Async compose, Observer (EventEmitter, EventTarget, Signal), Streams and other abstractions
- Other topics: Data Ownership, Code granularity, Point-free style, Referential transparency🧩 Сегодня в 23:59 (GMT+3) поднимается цена на Patterns 2025, еще можно успеть
https://nodeua.com/Patterns-2025
⭐️ Воркшоп по парадигмам программирования 22-23 ноября
Программа воркшопа:
Суббота - с 11:00 до 14:00
Объектно-ориентированное программирование и обзор парадигм, как писать одновременно понятный и эффективный код, задания с проверкой, разбор решений в прямом эфире.
Воскресенье - с 11:00 до 14:30
Функциональное программирование, реактивное, асинхронное, контрактное, автоматное и другие парадигмы и обзор характеристик кода, которые они дают.
Для кого: если вы практикующий программист, но ощущаете, что ваши знания не системные, с пробелами и не упорядочены, то этот воркшоп очень быстро наведет порядок в большом объеме знаний и покажет практическое применение.
Будут рассмотрены понятия: инкапсуляция, наследование, полиморфизм (Ad-hoc, Subtype, Parametric, Dynamic dispatch и другие), структурная композиция, агрегация, делегирование, дженерики, закон Деметры, чистые функции, функции первого класса, мутабельности против иммутабельности, ссылочная прозрачность, функции высшего порядка, композиция функций, каррирование, частичное применение, ADT, скрытое и явное состояние, ленивые вычисления, декларативный и императивный стиль, рекурсия против циклов, обобщенное программирование, функторы, монады и мное другое.
Что говорят те, кто прошли воркшоп: начали понимать как оптимальнее решать свои задачи и ощутили уверенность в своих решениях, потому, что они были приняты не случайно и не потому, что всегда так делали или это единственное, что мы знали, а с пониманием разных подходов и характеристик кода, которые они дают, сильных и слабых сторон, получаемых в результате.
Напоминаю, в субботу и воскресенье 22-23 листопаду воркшоп по парадигмам. Раньше он был частью курса по паттернам, но я вынес его в отдельный воркшоп. Все, кто до завтра успеет записаться на курс по паттернам, попадают на воркшоп бесплатно.
Владение несколькими парадигмами и разными стилями написания кода стало сейчас важным для практической работы, оно не только позволяет понимать код коллег и быстро вникать в соседние языки и платформы, но расширяет мышление и делает разработчика гибким и более конкурентоспособным.
До начала курса по паттернам очень важно понимать базовые принципы ООП, ФП, процедурного и прототипного программирования, разные стили: асинхронный, реактивный, контрактный, декларативный. Отсидеться в одном фреймворке не удастся, свести все задачи к одной парадигме и стилю - тоже не выйдет.
Паттерны дают готовые проверенные решения для часто встречающихся ситуаций, ускоряя разработку, повышая эффективность взаимодействия с AI, позволяют видеть структуру кода, управлять его характеристиками для построения надежных архитектурных решений.
Знание парадигм помогает адаптировать паттерны для вашего конкретного случая, выбирать правильный инструмент под задачу, сокращая сложность и ошибки. Идеи ООП (инкапсуляция, структурная композиция, наследование, полиморфизм, делегирование, сокрытие, диспетчеризация, зацепление и связывание в коде) формируют устойчивые и поддерживаемые системы.
Паттерны + парадигмы дают общую архитектурную грамотность, без которой невозможно строить продукты на JavaScript и TypeScript. Осваивая парадигмы и паттерны Вы развиваете инженерное мышление, умение работать с абстракциями, связями, ответственностями и потоками данных.
Это фундамент, который превращает разработчика из автора скриптов на 1 раз в синьора, способного создавать масштабные, долгоживущие и надежные системы.
🧩 Через неделю мы начинаем курс Pattern 2025
Уже заполнено 70% мест, со среды цены поднимутся.
https://nodeua.com/Patterns-2025
- Курс Patterns Mini уже завершился
- В выходные будет воркшоп по парадигмам программирования
- С понедельника начинается первая неделя 2025 года
В бесплатном курсе Patterns Mini вышли последние три лекции и там не только про GRASP и SOLID, но есть, например, паттерн SAGA и его реализацию через оркестрацию и хореографию https://nodeua.com/Patterns-2025-free
Сделал в нормальном качестве и нарезал
https://youtu.be/E2Yp0YLdCCc
