An open API service providing repository metadata for many open source software ecosystems.

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