From bb845f4eddf9b5ae41ba4fb5c82766a187a761a3 Mon Sep 17 00:00:00 2001 From: DenysP21 Date: Sun, 12 Jan 2025 20:09:17 +0200 Subject: [PATCH 1/3] Update skills after course --- Skills/Architecture.md | 26 +++---- Skills/Async.md | 6 +- Skills/Databases.md | 6 +- Skills/DotNET.md | 8 +- Skills/JavaScript.md | 112 +++++++++++++-------------- Skills/NodeJS.md | 12 +-- Skills/Paradigms.md | 14 ++-- Skills/Programming.md | 172 ++++++++++++++++++++--------------------- 8 files changed, 178 insertions(+), 178 deletions(-) diff --git a/Skills/Architecture.md b/Skills/Architecture.md index 62dac42c..59c3bba4 100644 --- a/Skills/Architecture.md +++ b/Skills/Architecture.md @@ -1,15 +1,15 @@ ## Architecture - Application structure - - Modularity - - Components - - Directories + - Modularity h + - Components h + - Directories u - GRASP - SOLID - GoF patterns - CQS - Leaking abstractions - - Multiparadigm code + - Multiparadigm code h - Contract programming - Platform-agnostic - Transport-agnostic @@ -18,13 +18,13 @@ - Cohesion - Coupling - Cyclomatic complexity - - Reliability - - Quality - - Availability - - Flexibility + - Reliability u + - Quality u + - Availability u + - Flexibility u - Law of Demeter (LoD) - Application architecture - - Isolation between layer + - Isolation between layer h - Domain-specific language (DSL) - System vs applied code - Multilayer approach @@ -53,9 +53,9 @@ - Load balancing - Gateways - On-premises - - IaaS - - PaaS - - SaaS + - IaaS h + - PaaS h + - SaaS h - FaaS clouds - Serverless - Vendor lock-in @@ -70,7 +70,7 @@ - Solution components - Risk assessment - Non Functional Requirements (NFR) - - Clouds + - Clouds k - BPMN - Low-code - No-code diff --git a/Skills/Async.md b/Skills/Async.md index 63e26c83..a6580a7f 100644 --- a/Skills/Async.md +++ b/Skills/Async.md @@ -22,7 +22,7 @@ - Thread - Process - Async contracts - - Callbacks + - Callbacks h - Callback-last-error-first - Thenable - Promise @@ -59,7 +59,7 @@ - Mutex - Spin Lock - JavaScript & Node.js specific - - Timers + - Timers h - `setImmediate` - `nextTick` - AbortController @@ -77,7 +77,7 @@ - AsyncLocalStorage - AsyncResource - Techniques - - Async.js library + - Async.js library h - RxJS library - Promise.all - Promise.allSettled diff --git a/Skills/Databases.md b/Skills/Databases.md index c499feb1..18124ffb 100644 --- a/Skills/Databases.md +++ b/Skills/Databases.md @@ -1,17 +1,17 @@ ## Databases - Theory and concepts - - Data types + - Data types k - Performance tuning - Migrations - Schema versioning - - Backup and recovery + - Backup and recovery h - Database scalability - Relational databases - Key-value store - Tuple store - Graph databases - - Object databases + - Object databases h - Column databases - Navigational databases - Hierarchical databases diff --git a/Skills/DotNET.md b/Skills/DotNET.md index cc2b08e2..2b795229 100644 --- a/Skills/DotNET.md +++ b/Skills/DotNET.md @@ -78,10 +78,10 @@ - Kubernetes for orchestration - Serverless computing - C# Development - - C# syntax and language fundamentals + - C# syntax and language fundamentals h - Advanced C# features (LINQ, async/await, delegates, events) - Reflection and dynamic programming - - Data types and collections + - Data types and collections h - Generics and extension methods - Attributes and annotations - Interoperability with other .NET languages @@ -103,7 +103,7 @@ - Office automation and VSTO - Migration strategies for legacy VB6 applications - C++/CLI Development Development - - C++ syntax and language fundamentals + - C++ syntax and language fundamentals k - Interoperability between managed (.NET) and unmanaged (native) code - Memory management in mixed environments - `C++/CLI` syntax and usage @@ -113,7 +113,7 @@ - Developing custom .NET libraries in `C++` - Managing resource disposal and finalization - Creating and consuming DLLs (Dynamic Link Libraries) - - Working with Windows API + - Working with Windows API h - Migration of legacy `C++` code to .NET - Enhancing existing .NET applications with `C++/CLI` - Mobile development diff --git a/Skills/JavaScript.md b/Skills/JavaScript.md index 0ff8fc89..18c07d81 100644 --- a/Skills/JavaScript.md +++ b/Skills/JavaScript.md @@ -1,25 +1,25 @@ ## JavaScript - Language - - `Object` - - `Function` - - `Boolean` - - `Number` - - `BigInt` - - `String` - - `Symbol` - - `Infinity` - - `NaN` - - `undefined` - - `null` - - `this` - - `instanceof` - - `...spread` - - `...rest` - - `typeof` + - `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` h + - `...rest` u + - `typeof` u - Destructuring - Generators - - Iterators + - Iterators h - Async generator - Async iterator - Chaining @@ -28,27 +28,27 @@ - Async IIFE - `global` - `globalThis` - - `window` - - Getters and setters - - `__proto__` - - `prototype` + - `window` h + - Getters and setters k + - `__proto__` h + - `prototype` h - Equality operators - Logical operators - Logical Assignment - - Bitwise operators - - Ternary operator - - `void` + - Bitwise operators u + - Ternary operator u + - `void` k - `yield` - `await` - Template literal - Strict mode - Hoisting - - `delete` - - `in` - - `super` + - `delete` u + - `in` u + - `super` h - `eval` - `static` - - `Number.parseInt` + - `Number.parseInt` k - `Number.parseFloat` - Property descriptors - Sealing properties @@ -59,42 +59,42 @@ - Private class fields - Private class methods - Statements - - `if` - - `while` - - `do..while` - - `for` - - `for..in` - - `for..of` + - `if` u + - `while` u + - `do..while` u + - `for` u + - `for..in` u + - `for..of` u - `for await` - `throw` - - `break` - - `continue` - - `import` - - `export` + - `break` u + - `continue` u + - `import` u + - `export` u - `label` - - `try..catch` - - `switch` - - `class` + - `try..catch` k + - `switch` u + - `class` u - `extends` - `with` - - `new` + - `new` k - Functions - - Arrow function - - Async function + - Arrow function u + - Async function h - Function declaration - Function expression - Default parameters - Functional object - `Function.prototype.call` - - `Function.prototype.bind` + - `Function.prototype.bind` h - `Function.prototype.apply` - `return` - Data structures - - `Array` - - `Map` - - `Set` + - `Array` u + - `Map` k + - `Set` u - `WeakMap` - - `WeakSet` + - `WeakSet` h - Typed arrays - Mixins - `Object.assign` @@ -104,19 +104,19 @@ - `Date` - `Math` - `Reflect` - - `Error` + - `Error` h - `Atomics` - - `JSON` + - `JSON` h - `WeakRef` - `FinalizationRegistry` - `Intl` - `Promise` - - `console` - - Timers + - `console` h + - Timers k - Infrastructure - V8 - - Node.js - - npm - - prettier + - Node.js u + - npm u + - prettier u - MDN - TC39 diff --git a/Skills/NodeJS.md b/Skills/NodeJS.md index bd891457..094e3c9b 100644 --- a/Skills/NodeJS.md +++ b/Skills/NodeJS.md @@ -17,8 +17,8 @@ - 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` h + - Files `package.json`, `package-lock.json` u - Module-based permissions model - Isolation with modularity - Dependency injection @@ -103,16 +103,16 @@ - Inspector - Data access - Data access layer - - Repository + - Repository h - Active record - Query builder - Object-Relational Mapping - CRUD - DTO - Error handling and debugging - - `Error` + - `Error` h - `error.cause` - - `error.code` + - `error.code` h - `error.message` - `error.stack` - `Error.captureStackTrace` @@ -121,7 +121,7 @@ - Heap dump - Debugging tools - Flame graph - - Memory leaks + - Memory leaks h - Resource leaks - Data race - Integrations and bindings diff --git a/Skills/Paradigms.md b/Skills/Paradigms.md index 91d5f7e5..82911cf0 100644 --- a/Skills/Paradigms.md +++ b/Skills/Paradigms.md @@ -1,13 +1,13 @@ ## Multi-paradigm programming - Theory - - Procedural programming + - Procedural programming h - Imperative programming - - Structured programming + - Structured programming h - Non-structured programming - - Functional programming + - Functional programming h - Prototype-based programming - - Object-oriented programming + - Object-oriented programming h - Object-based programming - Generic programming - Concurrent computing @@ -28,9 +28,9 @@ - Class composition - OOP basics - Constructor - - Operator `new` + - Operator `new` h - Static method - - Method + - Method h - Async method - Getters, Setters - Public fields @@ -47,7 +47,7 @@ - Instance - Introspection - Reflection - - The diamond problem + - The diamond problem h - GRASP - Information expert - Creator diff --git a/Skills/Programming.md b/Skills/Programming.md index e976b503..7fc99f76 100644 --- a/Skills/Programming.md +++ b/Skills/Programming.md @@ -1,72 +1,72 @@ ## Programming fundamental concepts - Concepts - - Model + - Model h - Modeling - Subject domain - - Algorithm - - Syntax - - Semantics - - Abstraction - - Paradigm - - Programm - - Programming paradigm - - Programming language + - Algorithm k + - Syntax u + - Semantics h + - Abstraction h + - Paradigm h + - Programm u + - Programming paradigm h + - Programming language u - Contract - - Module - - Library + - Module h + - Library k - Package - - Component - - Framework - - Platform - - Source code - - Object code - - Machine code - - Microcode - - Software engineering - - Decomposition + - Component h + - Framework h + - Platform h + - Source code u + - Object code h + - Machine code h + - Microcode h + - Software engineering k + - Decomposition k - Control flow - Data flow - - Code reuse - - Defensive programming - - Don't repeat yourself (DRY) - - KISS principle + - Code reuse k + - Defensive programming k + - Don't repeat yourself (DRY) k + - KISS principle u - Syntax and concepts - - Value - - Identifier - - Variable - - Constant - - Scalar - - Literal - - Expression + - Value u + - Identifier u + - Variable u + - Constant u + - Scalar h + - Literal u + - Expression k - Heap - - Function + - Function u - Procedure - - Method - - Class + - Method k + - Class k - Prototype - - Event - - Type - - Flag + - Event h + - Type k + - Flag k - Lexical scope - - Code block - - Conditions - - Loops + - Code block u + - Conditions k + - Loops k - Assignment - Regular expression - - Interface + - Interface k - Namespaces - Call stack - - Naming conventions - - Coding conventions - - Camel case - - Snake case - - Kebab case + - Naming conventions e + - Coding conventions e + - Camel case u + - Snake case k + - Kebab case k - Trailing commas - Return early - Fail-fast - Types - - Primitive types + - Primitive types h - Reference types - Type systems - Strong typing @@ -81,11 +81,11 @@ - Covariance - Contravariance - Functions - - Signature - - Argument - - Parameter - - Pure function - - Lambda expression + - Signature u + - Argument u + - Parameter u + - Pure function h + - Lambda expression k - Side effects - Closure - Partial application @@ -105,30 +105,30 @@ - Generator - Coroutine - Data structures - - Array - - Structure + - Array k + - Structure h - Record - Enum - Instance - - Object - - Collection + - Object k + - Collection - Set - - Hash table - - Linked list + - Hash table h + - Linked list h - Doubly list - Unrolled list - Circular list - Queue - Stack - Deque - - Tree - - Graph - - Iterator + - Tree h + - Graph h + - Iterator h - Mutable state - Immutable state - Serialization - String parsing - - JSON + - JSON h - JSON5 - YAML - Networking @@ -138,11 +138,11 @@ - IPv4 - IPv6 - NAT - - URL + - URL k - URN - URI - Process and tools - - Compiler + - Compiler k - Just-in-time compilation - Ahead-of-time compilation - Transpiler @@ -152,40 +152,40 @@ - Linker - Dynamic linking - Static linking - - Runtime + - Runtime h - Virtual machine - Register-based VM - Stack-based VM - Containerization - - Debugger + - Debugger u - Tracing - Garbage collection - - Refactoring - - Code review + - Refactoring u + - Code review u - Exception - Unittesting - - git - - Github + - git u + - Github u - Docker - Kubernetes - GCC - LLVM - Antipatterns - Magic numbers - - Hard code - - Soft code - - Cryptic code + - Hard code k + - Soft code k + - Cryptic code k - Improbability factor - Accidental complexity - Action at a distance - - Spaghetti - - Silver bullet + - Spaghetti k + - Silver bullet k - Not invented here - - Dead code - - Unreachable code - - Duplicate code + - Dead code k + - Unreachable code k + - Duplicate code k - Premature optimization - - Micro-optimization + - Micro-optimization h - Nested loops - Long method/function/procedure - Long inheritance @@ -209,26 +209,26 @@ - Mono - Operating systems - Interrupts - - Drivers + - Drivers k - Kernel - Ring - Virtual memory - File system - - Linux - - Unix + - Linux k + - Unix h - BSD - - MacOS - - Windows + - MacOS h + - Windows u - Real-time OS - Embedded OS - Standards - - ASCII + - ASCII h - Escape sequence - RFC - IETF - IANA - IEEE - - Base64 + - Base64 h - ECMA - ICANN - ISO From 1b2e56eb00cf3fe780ba0dd5e30a7a1e166268d2 Mon Sep 17 00:00:00 2001 From: DenysP21 Date: Tue, 14 Jan 2025 11:48:32 +0200 Subject: [PATCH 2/3] Update Programming.md --- Skills/Programming.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Skills/Programming.md b/Skills/Programming.md index 7fc99f76..5f79b595 100644 --- a/Skills/Programming.md +++ b/Skills/Programming.md @@ -171,7 +171,7 @@ - GCC - LLVM - Antipatterns - - Magic numbers + - Magic numbers k - Hard code k - Soft code k - Cryptic code k From c991ffebcd3ace0c0f5cc9911c456ee48de79fe8 Mon Sep 17 00:00:00 2001 From: DenysP21 Date: Tue, 14 Jan 2025 12:18:52 +0200 Subject: [PATCH 3/3] New update Programming.md --- Skills/Programming.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Skills/Programming.md b/Skills/Programming.md index 5f79b595..c4f42a35 100644 --- a/Skills/Programming.md +++ b/Skills/Programming.md @@ -175,7 +175,7 @@ - Hard code k - Soft code k - Cryptic code k - - Improbability factor + - Improbability factor k - Accidental complexity - Action at a distance - Spaghetti k