Git

Notes on Git

Notes on Git: configuration, workflow, working tree and staging area, HEAD, branching, merging (fast-forward merge, three-way merge, squash merge), merge conflicts, rebasing, managing remotes, resetting and reverting, etc.

TypeScript

Notes on Advanced TypeScript

Notes on Advanced TypeScript: generics, types as sets, excess property checking, type guards, mapped types, lookup types, index signatures, non-null assertion operator, enums, parameter modifiers, etc.

JavaScript

Notes on Dan Abramov's Just JavaScript Series

Notes on Dan Abramov's Just JavaScript Series, covering his mental model on primitive and special values, expressions, immutability, object properties, prototypes, variables, evaluation, assignment, etc.

JavaScript

Notes on Will Sentance's JavaScript Hard Parts Series

Notes on Will Sentance's JavaScript Hard Parts Series, covering his mental model of JavaScript execution (call stack, scope, closure and async), object-oriented programming, and functional programming (immutability and composition).

C

Pointers in C

Notes on pointers in C: declaring a pointer, initializing a pointer, getting an address, getting and changing a value, purpose of pointers, etc.

Algorithms

Big O Notation

Notes on Big O notation: definition of Big O, approximation in determining runtimes, and individual runtimes: constant, logarithmic, linear, quasilinear, quadratic, exponential, factorial, etc.