GitHub / HowProgrammingWorks 96 Repositories
Examples for Software Engineering and Programming Lectures
HowProgrammingWorks/Actor
Actor Pattern
Language: JavaScript - Size: 18.6 KB - Last synced at: 10 days ago - Pushed at: 10 days ago - Stars: 1 - Forks: 0

HowProgrammingWorks/Observer
Pattern Observer
Language: JavaScript - Size: 41 KB - Last synced at: 13 days ago - Pushed at: 13 days ago - Stars: 12 - Forks: 2

HowProgrammingWorks/Paradigms
Programming Paradigms Comparison
Language: JavaScript - Size: 12.7 KB - Last synced at: 13 days ago - Pushed at: 13 days ago - Stars: 0 - Forks: 0

HowProgrammingWorks/Book
Metaprogramming. Multi-paradigm approach in the Software Engineering.
Language: JavaScript - Size: 4.1 MB - Last synced at: 14 days ago - Pushed at: over 1 year ago - Stars: 484 - Forks: 83

HowProgrammingWorks/Index
Metarhia educational program index 📖
Size: 786 KB - Last synced at: 18 days ago - Pushed at: 20 days ago - Stars: 3,522 - Forks: 435

HowProgrammingWorks/Disposable
Explicit Resource Management
Language: JavaScript - Size: 0 Bytes - Last synced at: 26 days ago - Pushed at: 26 days ago - Stars: 0 - Forks: 0

HowProgrammingWorks/Exams
Exams readiness test
Language: JavaScript - Size: 86.9 KB - Last synced at: 13 days ago - Pushed at: over 1 year ago - Stars: 109 - Forks: 226

HowProgrammingWorks/Sandboxes
VM Sandboxes
Language: JavaScript - Size: 13.7 KB - Last synced at: about 1 month ago - Pushed at: over 1 year ago - Stars: 18 - Forks: 13

HowProgrammingWorks/Automata
Automata-based programming
Language: JavaScript - Size: 39.1 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 10 - Forks: 6

HowProgrammingWorks/GoodParts
JavaScript Good Parts
Language: JavaScript - Size: 32.2 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 8 - Forks: 2

HowProgrammingWorks/LiskovSubstitution
The Liskov Substitution Principle
Language: JavaScript - Size: 47.9 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 5 - Forks: 1

HowProgrammingWorks/Lenses
Lenses, fp getter & setter
Language: Haskell - Size: 89.8 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 5 - Forks: 3

HowProgrammingWorks/Lazy
Lazy Operations and Data Transformations
Language: JavaScript - Size: 21.5 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 1 - Forks: 2

HowProgrammingWorks/SelfAssessment
Software engineering self assessment
Size: 200 KB - Last synced at: 17 days ago - Pushed at: 5 months ago - Stars: 166 - Forks: 609

HowProgrammingWorks/AsynchronousProgramming
Asynchronous Programming
Language: JavaScript - Size: 57.6 KB - Last synced at: about 1 month ago - Pushed at: about 1 year ago - Stars: 23 - Forks: 28

HowProgrammingWorks/Immutable
Immutable data structures
Language: JavaScript - Size: 1000 Bytes - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 1 - Forks: 1

HowProgrammingWorks/Profile
Personal profile of software engineering skills
Size: 32.2 KB - Last synced at: 14 days ago - Pushed at: over 1 year ago - Stars: 70 - Forks: 466

HowProgrammingWorks/WebsocketChat
Simple browser chat with websocket and node.js
Language: HTML - Size: 44.9 KB - Last synced at: about 1 month ago - Pushed at: 9 months ago - Stars: 24 - Forks: 31

HowProgrammingWorks/Singleton
Single instance
Language: JavaScript - Size: 36.1 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 7 - Forks: 8

HowProgrammingWorks/ADT
Algebraic Data Types
Language: JavaScript - Size: 16.6 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 1 - Forks: 0

HowProgrammingWorks/NativeConcepts
Patterns, Async, Node.js Prerequisites
Size: 2.93 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 0 - Forks: 0

HowProgrammingWorks/Memoization
Memoization of synchronous and asynchronous functions
Language: JavaScript - Size: 157 KB - Last synced at: about 1 month ago - Pushed at: over 1 year ago - Stars: 18 - Forks: 26

HowProgrammingWorks/Reflect
Reflect API
Language: JavaScript - Size: 9.77 KB - Last synced at: 5 days ago - Pushed at: over 3 years ago - Stars: 4 - Forks: 7

HowProgrammingWorks/Benchmark
Performance testing for different techniques
Language: JavaScript - Size: 65.4 KB - Last synced at: about 1 month ago - Pushed at: almost 2 years ago - Stars: 17 - Forks: 16

HowProgrammingWorks/Promise
Asynchronous Programming with Promises
Language: JavaScript - Size: 69.3 KB - Last synced at: about 1 month ago - Pushed at: 11 months ago - Stars: 21 - Forks: 15

HowProgrammingWorks/Functor
Mappable objects
Language: JavaScript - Size: 34.2 KB - Last synced at: about 1 month ago - Pushed at: over 1 year ago - Stars: 22 - Forks: 17

HowProgrammingWorks/ReactiveProgramming
Reactive Programming
Language: JavaScript - Size: 8.79 KB - Last synced at: about 1 month ago - Pushed at: over 1 year ago - Stars: 2 - Forks: 6

HowProgrammingWorks/FunctionalProgramming
Functional Programming
Language: JavaScript - Size: 11.7 KB - Last synced at: about 1 month ago - Pushed at: over 3 years ago - Stars: 11 - Forks: 8

HowProgrammingWorks/Wrapper
Wrapper functions, Interface wrappers, etc.
Language: JavaScript - Size: 83 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 14 - Forks: 27

HowProgrammingWorks/Factory
Factory for FP, OOP, other paradigms and metaprogramming
Language: JavaScript - Size: 48.8 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 4 - Forks: 11

HowProgrammingWorks/Pool
Object Pool
Language: JavaScript - Size: 61.5 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 8 - Forks: 10

HowProgrammingWorks/NativeContracts
JavaScript Native Contracts
Language: JavaScript - Size: 0 Bytes - Last synced at: about 2 months ago - Pushed at: about 2 months ago - Stars: 0 - Forks: 0

HowProgrammingWorks/Function
Functions as a method to raise level of code abstraction
Language: JavaScript - Size: 138 KB - Last synced at: 22 days ago - Pushed at: 8 months ago - Stars: 43 - Forks: 192

HowProgrammingWorks/NodeServer
Compare node.js servers
Language: JavaScript - Size: 469 KB - Last synced at: 14 days ago - Pushed at: 6 months ago - Stars: 95 - Forks: 44

HowProgrammingWorks/Antipatterns
Antipatterns as a Worst Practices
Language: JavaScript - Size: 66.4 KB - Last synced at: about 1 month ago - Pushed at: almost 2 years ago - Stars: 17 - Forks: 17

HowProgrammingWorks/AsyncAwait
Async/Await
Language: JavaScript - Size: 46.9 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 11 - Forks: 13

HowProgrammingWorks/Queue
JavaScript Queue optimised for V8
Language: JavaScript - Size: 44.9 KB - Last synced at: about 2 months ago - Pushed at: about 2 months ago - Stars: 3 - Forks: 0

HowProgrammingWorks/CircularBuffer
CircularBuffer for JavaScript and TypeScript
Language: JavaScript - Size: 13.7 KB - Last synced at: about 2 months ago - Pushed at: about 2 months ago - Stars: 0 - Forks: 0

HowProgrammingWorks/InversionOfControl
IoC: dependency injection, module sandboxing, framework wrappers, etc.
Language: JavaScript - Size: 73.2 KB - Last synced at: 21 days ago - Pushed at: 7 months ago - Stars: 26 - Forks: 98

HowProgrammingWorks/ConcurrentQueue
Asynchronous Concurrent Queue with Priority and Factor
Language: JavaScript - Size: 56.6 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 13 - Forks: 10

HowProgrammingWorks/Thenable
Thenable contract
Language: JavaScript - Size: 62.5 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 14 - Forks: 6

HowProgrammingWorks/RevealingConstructor
Revealing Constructor Pattern
Language: JavaScript - Size: 22.5 KB - Last synced at: about 1 month ago - Pushed at: over 1 year ago - Stars: 5 - Forks: 1

HowProgrammingWorks/Deferred
Deferred (and comparison to Future and Promise)
Language: JavaScript - Size: 24.4 KB - Last synced at: about 1 month ago - Pushed at: over 1 year ago - Stars: 4 - Forks: 2

HowProgrammingWorks/Future
Future as Asynchronous Abstraction
Language: JavaScript - Size: 47.9 KB - Last synced at: 10 days ago - Pushed at: 6 months ago - Stars: 11 - Forks: 3

HowProgrammingWorks/ActorModel
Actor model (concurrent computation model)
Language: JavaScript - Size: 63.5 KB - Last synced at: about 1 month ago - Pushed at: 7 months ago - Stars: 19 - Forks: 9

HowProgrammingWorks/State
Pattern State
Language: TypeScript - Size: 24.4 KB - Last synced at: about 2 months ago - Pushed at: about 2 months ago - Stars: 1 - Forks: 1

HowProgrammingWorks/Struct
Record, struct or structure
Language: JavaScript - Size: 34.2 KB - Last synced at: about 1 month ago - Pushed at: about 2 months ago - Stars: 3 - Forks: 2

HowProgrammingWorks/Callbacks
Callbacks, Listeners and Events
Language: JavaScript - Size: 55.7 KB - Last synced at: about 1 month ago - Pushed at: 8 months ago - Stars: 17 - Forks: 28

HowProgrammingWorks/LinkedList
Linked list data structure
Language: Haskell - Size: 35.2 KB - Last synced at: about 1 month ago - Pushed at: 2 months ago - Stars: 12 - Forks: 37

HowProgrammingWorks/TransactionScript
Transaction Script Pattern
Language: JavaScript - Size: 0 Bytes - Last synced at: 2 months ago - Pushed at: 2 months ago - Stars: 0 - Forks: 0

HowProgrammingWorks/ActiveRecord
Active Record pattern
Language: JavaScript - Size: 14.6 KB - Last synced at: 2 months ago - Pushed at: 2 months ago - Stars: 1 - Forks: 0

HowProgrammingWorks/ValueObject
ValueObject pattern
Language: JavaScript - Size: 0 Bytes - Last synced at: 2 months ago - Pushed at: 2 months ago - Stars: 0 - Forks: 0

HowProgrammingWorks/TypedArrays
ArrayBuffer, DataView, Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array
Language: JavaScript - Size: 24.4 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 6 - Forks: 8

HowProgrammingWorks/Visitor
Visitor Pattern
Language: JavaScript - Size: 44.9 KB - Last synced at: about 1 month ago - Pushed at: 4 months ago - Stars: 4 - Forks: 1

HowProgrammingWorks/hpw
Laboratory work auto checker
Language: JavaScript - Size: 233 KB - Last synced at: 9 days ago - Pushed at: 4 months ago - Stars: 8 - Forks: 18

HowProgrammingWorks/Unittesting
Unit Testing
Language: JavaScript - Size: 29.3 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 5 - Forks: 4

HowProgrammingWorks/Websocket
Websocket support in Node.js 21
Language: JavaScript - Size: 22.5 KB - Last synced at: about 1 month ago - Pushed at: 7 months ago - Stars: 12 - Forks: 0

HowProgrammingWorks/Trees
Tree node with 5 pointers
Language: JavaScript - Size: 30.3 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 4 - Forks: 13

HowProgrammingWorks/Threads
Multithreading: WorkerThreads, Workers, SheredWorkers
Language: JavaScript - Size: 38.1 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 13 - Forks: 3

HowProgrammingWorks/Symbol
Unique identifier for special object properties
Language: JavaScript - Size: 34.2 KB - Last synced at: about 1 month ago - Pushed at: 5 months ago - Stars: 5 - Forks: 11

HowProgrammingWorks/Transaction
Atomic transaction container for struct or object
Language: JavaScript - Size: 42 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 10 - Forks: 11

HowProgrammingWorks/Streams
Read, write, transform data streams
Language: JavaScript - Size: 38.1 KB - Last synced at: about 1 month ago - Pushed at: 7 months ago - Stars: 12 - Forks: 7

HowProgrammingWorks/Timers
Timers: setImmediate, setTimeout, setInterval, nextTick
Language: JavaScript - Size: 120 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 9 - Forks: 11

HowProgrammingWorks/Semaphore
Binary Semaphore, Counting Semaphore
Language: JavaScript - Size: 45.9 KB - Last synced at: about 1 month ago - Pushed at: 8 months ago - Stars: 13 - Forks: 6

HowProgrammingWorks/Strategy
Strategy Pattern
Language: JavaScript - Size: 43 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 7 - Forks: 2

HowProgrammingWorks/StateMachine
Finite-State Machine or Finite-State Automaton
Size: 6.84 KB - Last synced at: 9 days ago - Pushed at: 6 months ago - Stars: 2 - Forks: 1

HowProgrammingWorks/SingleResponsibility
The Single Responsibility Principle
Language: JavaScript - Size: 55.7 KB - Last synced at: about 1 month ago - Pushed at: 7 months ago - Stars: 3 - Forks: 3

HowProgrammingWorks/Proxy
Proxy
Language: JavaScript - Size: 51.8 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 10 - Forks: 7

HowProgrammingWorks/Reusable
Reusable abstractions
Language: JavaScript - Size: 181 KB - Last synced at: 22 days ago - Pushed at: 8 months ago - Stars: 37 - Forks: 153

HowProgrammingWorks/PrototypePattern
Prototype - Creational GoF Pattern
Language: JavaScript - Size: 23.4 KB - Last synced at: about 1 month ago - Pushed at: 8 months ago - Stars: 6 - Forks: 0

HowProgrammingWorks/Modularity
Modularity and Dependency
Language: JavaScript - Size: 59.6 KB - Last synced at: about 1 month ago - Pushed at: 12 months ago - Stars: 23 - Forks: 9

HowProgrammingWorks/Monomorphism
Monomorphism and Polymorphism
Language: JavaScript - Size: 123 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 9 - Forks: 8

HowProgrammingWorks/NodejsStarterKit
Starter Kit for Node.js 16 or later, minimum dependencies 🚀
Language: JavaScript - Size: 536 KB - Last synced at: 15 days ago - Pushed at: 12 months ago - Stars: 459 - Forks: 101

HowProgrammingWorks/Mediator
Define an interaction between instances as a separate instance
Language: JavaScript - Size: 36.1 KB - Last synced at: about 1 month ago - Pushed at: 4 months ago - Stars: 3 - Forks: 1

HowProgrammingWorks/Interpreter
GoF Interpreter Pattern
Language: JavaScript - Size: 21.5 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 4 - Forks: 0

HowProgrammingWorks/LiveTable
Multiuser spreadsheet example
Language: HTML - Size: 31.3 KB - Last synced at: about 1 month ago - Pushed at: 12 months ago - Stars: 13 - Forks: 4

HowProgrammingWorks/Iteration
Different implementation of iterations as a code abstraction
Language: JavaScript - Size: 118 KB - Last synced at: 21 days ago - Pushed at: 8 months ago - Stars: 14 - Forks: 121

HowProgrammingWorks/InterfaceSegregation
The Interface Segregation Principle
Language: JavaScript - Size: 25.4 KB - Last synced at: about 1 month ago - Pushed at: 7 months ago - Stars: 4 - Forks: 1

HowProgrammingWorks/HigherOrderFunction
Higher-order functions having functions as arguments or result
Language: JavaScript - Size: 114 KB - Last synced at: 20 days ago - Pushed at: 8 months ago - Stars: 22 - Forks: 79

HowProgrammingWorks/Graph
Directed graph implementations
Language: JavaScript - Size: 37.1 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 13 - Forks: 17

HowProgrammingWorks/Generics
Generic Programming
Language: TypeScript - Size: 31.3 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 5 - Forks: 5

HowProgrammingWorks/GracefulShutdown
Graceful shutdown for network servers
Language: JavaScript - Size: 40 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 13 - Forks: 7

HowProgrammingWorks/FactoryMethod
Factory method
Language: JavaScript - Size: 53.7 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 3 - Forks: 1

HowProgrammingWorks/Facade
Pattern Facade Implementations
Language: JavaScript - Size: 44.9 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 6 - Forks: 4

HowProgrammingWorks/EventEmitter
Simple EventEmitter with multiple listeners
Language: JavaScript - Size: 89.8 KB - Last synced at: about 1 month ago - Pushed at: 7 months ago - Stars: 24 - Forks: 28

HowProgrammingWorks/EventSourcing
Event Sourcing
Language: JavaScript - Size: 29.3 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 8 - Forks: 7

HowProgrammingWorks/DataTypes
Built-in data types
Language: JavaScript - Size: 147 KB - Last synced at: 15 days ago - Pushed at: 7 months ago - Stars: 39 - Forks: 233

HowProgrammingWorks/DependencyInversion
The Dependency Inversion Principle
Language: JavaScript - Size: 56.6 KB - Last synced at: about 1 month ago - Pushed at: 7 months ago - Stars: 5 - Forks: 4

HowProgrammingWorks/DataStructures
Data structures basics
Language: JavaScript - Size: 34.2 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 7 - Forks: 30

HowProgrammingWorks/Composite
Composite pattern
Language: JavaScript - Size: 39.1 KB - Last synced at: about 1 month ago - Pushed at: 7 months ago - Stars: 3 - Forks: 1

HowProgrammingWorks/Composition
Function composition
Language: JavaScript - Size: 147 KB - Last synced at: 20 days ago - Pushed at: 8 months ago - Stars: 21 - Forks: 71

HowProgrammingWorks/Creator
GRASP: Creator principle
Language: JavaScript - Size: 25.4 KB - Last synced at: about 1 month ago - Pushed at: 4 months ago - Stars: 4 - Forks: 1

HowProgrammingWorks/Command
Pattern Command
Language: JavaScript - Size: 65.4 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 7 - Forks: 5

HowProgrammingWorks/DDD
Domain-driven design
Language: JavaScript - Size: 134 KB - Last synced at: 15 days ago - Pushed at: 3 months ago - Stars: 105 - Forks: 101

HowProgrammingWorks/Closure
Function closures and storing data in function scope
Language: JavaScript - Size: 164 KB - Last synced at: 21 days ago - Pushed at: 8 months ago - Stars: 29 - Forks: 112

HowProgrammingWorks/ChatGPT
How to work together with ChatGPT
Language: JavaScript - Size: 31.3 KB - Last synced at: about 1 month ago - Pushed at: 11 months ago - Stars: 21 - Forks: 0

HowProgrammingWorks/CQRS
Command-Query Responsibility Segregation
Language: JavaScript - Size: 35.2 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 8 - Forks: 7

HowProgrammingWorks/CQS
CQS - Command-query separation principle
Language: JavaScript - Size: 31.3 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 6 - Forks: 4

HowProgrammingWorks/ChainOfResponsibility
Pattern: Chain of responsibility
Language: JavaScript - Size: 33.2 KB - Last synced at: about 1 month ago - Pushed at: 7 months ago - Stars: 5 - Forks: 1

HowProgrammingWorks/Collector
Data Collectors for Asynchronous Programming
Language: JavaScript - Size: 40 KB - Last synced at: about 1 month ago - Pushed at: 8 months ago - Stars: 5 - Forks: 4
