diff --git a/Skills/JavaScript.md b/Skills/JavaScript.md index 0ff8fc89..8d5af8bc 100644 --- a/Skills/JavaScript.md +++ b/Skills/JavaScript.md @@ -1,122 +1,122 @@ ## JavaScript - Language - - `Object` - - `Function` - - `Boolean` - - `Number` - - `BigInt` - - `String` - - `Symbol` - - `Infinity` - - `NaN` - - `undefined` - - `null` - - `this` - - `instanceof` - - `...spread` - - `...rest` - - `typeof` - - Destructuring - - Generators - - Iterators - - Async generator - - Async iterator - - Chaining - - Optional chaining - - IIFE - - Async IIFE + - `Object`u + - `Function`u + - `Boolean`u + - `Number`u + - `BigInt`u + - `String`u + - `Symbol`u + - `Infinity`u + - `NaN`u + - `undefined`u + - `null`u + - `this`u + - `instanceof`u + - `...spread`u + - `...rest`u + - `typeof`u + - Destructuring u + - Generators u + - Iterators u + - Async generator h + - Async iterator h + - Chaining u + - Optional chaining h + - IIFE + - Async IIFE - `global` - `globalThis` - - `window` - - Getters and setters - - `__proto__` - - `prototype` - - Equality operators - - Logical operators - - Logical Assignment - - Bitwise operators - - Ternary operator - - `void` - - `yield` - - `await` - - Template literal - - Strict mode - - Hoisting - - `delete` - - `in` - - `super` - - `eval` - - `static` - - `Number.parseInt` - - `Number.parseFloat` - - Property descriptors - - Sealing properties - - Freezing properties - - Computed properties - - Instance class fields - - Static class fields - - Private class fields - - Private class methods + - `window` u + - Getters and setters u + - `__proto__` k + - `prototype` k + - Equality operators u + - Logical operators u + - Logical Assignment u + - Bitwise operators u + - Ternary operator u + - `void` h + - `yield` + - `await` u + - Template literal u + - Strict mode u + - Hoisting u + - `delete` u + - `in` u + - `super` u + - `eval` u + - `static` u + - `Number.parseInt` u + - `Number.parseFloat` u + - Property descriptors + - Sealing properties + - Freezing properties + - Computed properties h + - Instance class fields u + - Static class fields u + - Private class fields u + - Private class methods u - Statements - - `if` - - `while` - - `do..while` - - `for` - - `for..in` - - `for..of` - - `for await` - - `throw` - - `break` - - `continue` - - `import` - - `export` - - `label` - - `try..catch` - - `switch` - - `class` - - `extends` - - `with` - - `new` + - `if` u + - `while` u + - `do..while` u + - `for` u + - `for..in` u + - `for..of` u + - `for await` u + - `throw` u + - `break` u + - `continue` u + - `import` u + - `export` u + - `label` h + - `try..catch` u + - `switch` u + - `class` u + - `extends` u + - `with` h + - `new` u - Functions - - Arrow function - - Async function - - Function declaration - - Function expression - - Default parameters - - Functional object - - `Function.prototype.call` - - `Function.prototype.bind` - - `Function.prototype.apply` - - `return` + - Arrow function u + - Async function u + - Function declaration u + - Function expression u + - Default parameters u + - Functional object u + - `Function.prototype.call` k + - `Function.prototype.bind` k + - `Function.prototype.apply` k + - `return` u - Data structures - - `Array` - - `Map` - - `Set` - - `WeakMap` - - `WeakSet` + - `Array` u + - `Map` u + - `Set` u + - `WeakMap` h + - `WeakSet` h - Typed arrays - - Mixins - - `Object.assign` + - Mixins h + - `Object.assign` k - Standard classes and namespaces - - `Proxy` - - `RegExp` - - `Date` - - `Math` - - `Reflect` - - `Error` - - `Atomics` - - `JSON` - - `WeakRef` - - `FinalizationRegistry` - - `Intl` - - `Promise` - - `console` - - Timers + - `Proxy` h + - `RegExp` u + - `Date` u + - `Math` u + - `Reflect` + - `Error` u + - `Atomics` h + - `JSON` u + - `WeakRef` + - `FinalizationRegistry` h + - `Intl` h + - `Promise` u + - `console` u + - Timers u - Infrastructure - - V8 - - Node.js - - npm - - prettier - - MDN - - TC39 + - V8 k + - Node.js u + - npm u + - prettier k + - MDN u + - TC39 diff --git a/Skills/NodeJS.md b/Skills/NodeJS.md index bd891457..c7657ff0 100644 --- a/Skills/NodeJS.md +++ b/Skills/NodeJS.md @@ -11,14 +11,14 @@ - I/O-bound, CPU-bound, memory-bound tasks - Interactive applications (close to real-time) - Modularity, layers and dependencies - - CommonJS modules - - ECMAScript modules + - CommonJS modules u + - ECMAScript modules u - Module `node:module` - Caching in CJS and ESM - Modules as singletons - Contexts and scripts module `node:vm` - - Dependencies: `npm`, `node_modules` - - Files `package.json`, `package-lock.json` + - Dependencies: `npm`, `node_modules` u + - Files `package.json`, `package-lock.json` u - Module-based permissions model - Isolation with modularity - Dependency injection @@ -77,7 +77,7 @@ - Long polling - REST - RPC - - Routing + - Routing - DoS - DDoS - XSS diff --git a/Skills/Programming.md b/Skills/Programming.md index e976b503..706e9403 100644 --- a/Skills/Programming.md +++ b/Skills/Programming.md @@ -1,73 +1,73 @@ ## Programming fundamental concepts - Concepts - - Model - - Modeling - - Subject domain - - Algorithm - - Syntax - - Semantics - - Abstraction - - Paradigm - - Programm - - Programming paradigm - - Programming language + - Model u + - Modeling u + - Subject domain u + - Algorithm u + - Syntax u + - Semantics u + - Abstraction u + - Paradigm u + - Programm u + - Programming paradigm u + - Programming language u - Contract - - Module - - Library - - Package - - Component - - Framework - - Platform - - Source code - - Object code - - Machine code + - Module u + - Library u + - Package u + - Component u + - Framework u + - Platform u + - Source code u + - Object code u + - Machine code u - Microcode - - Software engineering - - Decomposition + - Software engineering u + - Decomposition u - Control flow - Data flow - - Code reuse + - Code reuse u - Defensive programming - - Don't repeat yourself (DRY) + - Don't repeat yourself (DRY) u - KISS principle - Syntax and concepts - - Value - - Identifier - - Variable - - Constant - - Scalar - - Literal - - Expression - - Heap - - Function - - Procedure - - Method - - Class - - Prototype - - Event - - Type - - Flag - - Lexical scope - - Code block - - Conditions - - Loops - - Assignment - - Regular expression - - Interface - - Namespaces - - Call stack - - Naming conventions - - Coding conventions - - Camel case - - Snake case + - Value u + - Identifier u + - Variable u + - Constant u + - Scalar u + - Literal u + - Expression u + - Heap u + - Function u + - Procedure u + - Method u + - Class u + - Prototype u + - Event u + - Type u + - Flag u + - Lexical scope u + - Code block u + - Conditions u + - Loops u + - Assignment u + - Regular expression u + - Interface u + - Namespaces u + - Call stack u + - Naming conventions u + - Coding conventions u + - Camel case u + - Snake case u - Kebab case - - Trailing commas + - Trailing commas u - Return early - Fail-fast - Types - - Primitive types - - Reference types + - Primitive types u + - Reference types u - Type systems - Strong typing - Weak typing @@ -81,92 +81,92 @@ - Covariance - Contravariance - Functions - - Signature - - Argument - - Parameter - - Pure function - - Lambda expression - - Side effects + - Signature u + - Argument u + - Parameter u + - Pure function u + - Lambda expression u + - Side effects u - Closure - Partial application - Currying - Higher order - - Recursion + - Recursion u - Tail call optimisation - - Callback - - Listener - - Composition + - Callback u + - Listener u + - Composition u - Pipe - - Memoize - - Wrapper + - Memoize u + - Wrapper u - Functor - Monad - Monoid - Generator - Coroutine - Data structures - - Array - - Structure - - Record - - Enum - - Instance - - Object - - Collection - - Set - - Hash table - - Linked list - - Doubly list - - Unrolled list - - Circular list - - Queue - - Stack - - Deque - - Tree - - Graph - - Iterator - - Mutable state - - Immutable state - - Serialization - - String parsing - - JSON - - JSON5 - - YAML + - Array u + - Structure u + - Record k + - Enum k + - Instance u + - Object u + - Collection u + - Set u + - Hash table u + - Linked list h + - Doubly list h + - Unrolled list h + - Circular list h + - Queue u + - Stack u + - Deque h + - Tree h + - Graph h + - Iterator u + - Mutable state k + - Immutable state k + - Serialization h + - String parsing h + - JSON u + - JSON5 h + - YAML h - Networking - DNS - CDN - CORS - - IPv4 + - IPv4 k - IPv6 - NAT - - URL + - URL u - URN - - URI + - URI u - Process and tools - - Compiler - - Just-in-time compilation - - Ahead-of-time compilation - - Transpiler - - Linter + - Compiler u + - Just-in-time compilation u + - Ahead-of-time compilation u + - Transpiler k + - Linter k - Polyfill - - Interpreter + - Interpreter u - Linker - Dynamic linking - Static linking - - Runtime + - Runtime u - Virtual machine - Register-based VM - Stack-based VM - Containerization - - Debugger + - Debugger u - Tracing - Garbage collection - - Refactoring - - Code review - - Exception - - Unittesting - - git - - Github - - Docker + - Refactoring u + - Code review u + - Exception u + - Unittesting k + - git u + - Github u + - Docker h - Kubernetes - GCC - LLVM @@ -203,7 +203,7 @@ - Yo-yo problem - Runtimes and virtual machines - Bytecode - - V8 + - V8 h - VJM - CLR - Mono @@ -214,11 +214,11 @@ - Ring - Virtual memory - File system - - Linux - - Unix + - Linux k + - Unix k - BSD - - MacOS - - Windows + - MacOS k + - Windows u - Real-time OS - Embedded OS - Standards @@ -229,7 +229,7 @@ - IANA - IEEE - Base64 - - ECMA + - ECMA u - ICANN - ISO - MIME