diff --git a/Skills/Architecture.md b/Skills/Architecture.md index 62dac42c..4b04d60c 100644 --- a/Skills/Architecture.md +++ b/Skills/Architecture.md @@ -1,15 +1,15 @@ ## Architecture - Application structure - - Modularity - - Components - - Directories - - GRASP - - SOLID + - Modularity h + - Components h + - Directories u + - GRASP u + - SOLID u - 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 k - Domain-specific language (DSL) - System vs applied code - Multilayer approach @@ -45,7 +45,7 @@ - E-R data modeling - Entity-relationship diagram - IDEF1X - - UML + - UML u - Work breakdown structure - Budget estimation - Distributed systems diff --git a/Skills/DotNET.md b/Skills/DotNET.md index cc2b08e2..7178c8d3 100644 --- a/Skills/DotNET.md +++ b/Skills/DotNET.md @@ -5,7 +5,7 @@ - Stateful and stateless services - Asynchronous and synchronous programming - Task-based asynchronous pattern - - Garbage collection in .NET + - Garbage collection in .NET h - .NET runtime versions and support - I/O-bound, CPU-bound tasks - Real-time applications with SignalR @@ -78,11 +78,11 @@ - Kubernetes for orchestration - Serverless computing - C# Development - - C# syntax and language fundamentals + - C# syntax and language fundamentals u - Advanced C# features (LINQ, async/await, delegates, events) - Reflection and dynamic programming - - Data types and collections - - Generics and extension methods + - Data types and collections u + - Generics and extension methods u - Attributes and annotations - Interoperability with other .NET languages - `F#` Development @@ -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 u - 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 k - Migration of legacy `C++` code to .NET - Enhancing existing .NET applications with `C++/CLI` - Mobile development diff --git a/Skills/Paradigms.md b/Skills/Paradigms.md index 91d5f7e5..c8cba6d4 100644 --- a/Skills/Paradigms.md +++ b/Skills/Paradigms.md @@ -1,13 +1,13 @@ ## Multi-paradigm programming - Theory - - Procedural programming - - Imperative programming - - Structured programming - - Non-structured programming - - Functional programming + - Procedural programming u + - Imperative programming u + - Structured programming u + - Non-structured programming k + - Functional programming u - Prototype-based programming - - Object-oriented programming + - Object-oriented programming u - Object-based programming - Generic programming - Concurrent computing @@ -17,7 +17,7 @@ - Functional-reactive (FRP) - Automata-based programming - Domain-specific languages - - Multi-paradigm programming + - Multi-paradigm programming k - Metaprogramming - Actor model - Lambda calculus @@ -27,27 +27,27 @@ - Anemic domain model - Class composition - OOP basics - - Constructor - - Operator `new` - - Static method - - Method + - Constructor u + - Operator `new` u + - Static method u + - Method u - Async method - - Getters, Setters - - Public fields - - Private fields - - Field declarations - - Inheritance - - Parent class - - Polymorphism - - Abstract class - - Interface - - Encapsulation + - Getters, Setters u + - Public fields u + - Private fields u + - Field declarations u + - Inheritance u + - Parent class u + - Polymorphism u + - Abstract class u + - Interface u + - Encapsulation u - Hidden class - Object form - - Instance + - Instance h - Introspection - Reflection - - The diamond problem + - The diamond problem e - GRASP - Information expert - Creator @@ -58,25 +58,25 @@ - Protected variations - Pure fabrication - SOLID - - Single-responsibility principle (SRP) + - Single-responsibility principle (SRP) u - Open–closed principle (OCP) - Liskov substitution principle (LSP) - Interface segregation principle (ISP) - Dependency inversion principle (DIP) - Patterns - - Singleton - - Factory Method - - Abstract Factory - - Adapter - - Observer + - Singleton h + - Factory Method h + - Abstract Factory h + - Adapter h + - Observer h - Strategy - - Facade + - Facade h - Proxy - Chain of Responsibility - Command - - Iterator + - Iterator h - State - - Bridge + - Bridge h - Builder - Prototype - Composite diff --git a/Skills/Programming.md b/Skills/Programming.md index e976b503..9cc2c807 100644 --- a/Skills/Programming.md +++ b/Skills/Programming.md @@ -1,29 +1,29 @@ ## Programming fundamental concepts - Concepts - - Model - - Modeling + - Model u + - Modeling u - Subject domain - - Algorithm - - Syntax + - Algorithm u + - Syntax u - Semantics - - Abstraction - - Paradigm - - Programm - - Programming paradigm - - Programming language + - Abstraction u + - Paradigm u + - Programm u + - Programming paradigm u + - Programming language u - Contract - Module - - Library + - Library u - Package - Component - - Framework + - Framework h - Platform - - Source code - - Object code - - Machine code + - Source code h + - Object code h + - Machine code h - Microcode - - Software engineering + - Software engineering h - Decomposition - Control flow - Data flow @@ -32,60 +32,60 @@ - Don't repeat yourself (DRY) - KISS principle - Syntax and concepts - - Value - - Identifier - - Variable - - Constant - - Scalar - - Literal - - Expression - - Heap - - Function - - Procedure - - Method - - Class - - Prototype - - Event + - 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 h + - Event h - Type - Flag - Lexical scope - Code block - - Conditions - - Loops + - Conditions u + - Loops u - Assignment - - Regular expression + - Regular expression u - Interface - - Namespaces + - Namespaces u - Call stack - - Naming conventions + - Naming conventions h - Coding conventions - - Camel case - - Snake case + - Camel case u + - Snake case u - Kebab case - Trailing commas - Return early - Fail-fast - Types - - Primitive types - - Reference types + - Primitive types u + - Reference types u - Type systems - - Strong typing - - Weak typing + - Strong typing u + - Weak typing u - Duck typing - - Static typing - - Dynamic typing + - Static typing u + - Dynamic typing u - Nominal typing - Structural typing - - Explicit typing + - Explicit typing u - Type inference - Covariance - Contravariance - Functions - Signature - - Argument - - Parameter + - Argument u + - Parameter u - Pure function - - Lambda expression + - Lambda expression h - Side effects - Closure - Partial application @@ -98,28 +98,28 @@ - Composition - Pipe - Memoize - - Wrapper + - Wrapper h - Functor - Monad - Monoid - Generator - Coroutine - Data structures - - Array - - Structure + - Array u + - Structure u - Record - - Enum + - Enum h - Instance - - Object - - Collection - - Set - - Hash table + - Object u + - Collection u + - Set u + - Hash table u - Linked list - Doubly list - Unrolled list - Circular list - - Queue - - Stack + - Queue u + - Stack u - Deque - Tree - Graph @@ -128,7 +128,7 @@ - Immutable state - Serialization - String parsing - - JSON + - JSON k - JSON5 - YAML - Networking @@ -142,18 +142,18 @@ - URN - URI - Process and tools - - Compiler - - Just-in-time compilation - - Ahead-of-time compilation + - Compiler k + - Just-in-time compilation k + - Ahead-of-time compilation k - Transpiler - Linter - Polyfill - Interpreter - Linker - - Dynamic linking - - Static linking + - Dynamic linking h + - Static linking h - Runtime - - Virtual machine + - Virtual machine u - Register-based VM - Stack-based VM - Containerization @@ -161,34 +161,34 @@ - Tracing - Garbage collection - Refactoring - - Code review - - Exception - - Unittesting - - git - - Github + - Code review h + - Exception u + - Unittesting h + - git h + - Github h - Docker - Kubernetes - GCC - LLVM - Antipatterns - Magic numbers - - Hard code + - Hard code k - Soft code - Cryptic code - Improbability factor - Accidental complexity - Action at a distance - - Spaghetti + - Spaghetti h - Silver bullet - Not invented here - Dead code - Unreachable code - - Duplicate code + - Duplicate code k - Premature optimization - Micro-optimization - - Nested loops - - Long method/function/procedure - - Long inheritance + - Nested loops k + - Long method/function/procedure k + - Long inheritance k - Large class/file - Too many parameters - Pass-through parameters @@ -212,18 +212,18 @@ - Drivers - Kernel - Ring - - Virtual memory - - File system - - Linux - - Unix + - Virtual memory k + - File system h + - Linux k + - Unix h - BSD - - MacOS - - Windows + - MacOS k + - Windows u - Real-time OS - Embedded OS - Standards - - ASCII - - Escape sequence + - ASCII u + - Escape sequence u - RFC - IETF - IANA @@ -234,6 +234,6 @@ - ISO - MIME - OWASP - - UTF-8 + - UTF-8 u - W3C - ODMG