From 26f0de6fafe874c3325b7f6dec951231066e4844 Mon Sep 17 00:00:00 2001 From: Noiszee Date: Wed, 15 Jan 2025 11:52:21 +0200 Subject: [PATCH] filled --- Skills/Architecture.md | 72 ++++++++-------- Skills/Async.md | 16 ++-- Skills/DotNET.md | 72 ++++++++-------- Skills/Paradigms.md | 74 ++++++++--------- Skills/Programming.md | 184 ++++++++++++++++++++--------------------- 5 files changed, 209 insertions(+), 209 deletions(-) diff --git a/Skills/Architecture.md b/Skills/Architecture.md index 1de42519..c2f18b3b 100644 --- a/Skills/Architecture.md +++ b/Skills/Architecture.md @@ -1,9 +1,9 @@ ## Architecture - Application structure - - Separation of concerns - - Inversion of Control - - Dependency Injection + - Separation of concerns k + - Inversion of Control h + - Dependency Injection k - GoF Creational - GoF Structural - GoF Behavioral @@ -12,40 +12,40 @@ - CQS - Modularity - Subsystems - - Directories + - Directories u - Leaking abstractions - - Multiparadigm code - - Contract programming + - Multiparadigm code k + - Contract programming u - Platform-agnostic - Transport-agnostic - Framework-agnostic - Code coverage - - Cohesion - - Coupling - - Cyclomatic complexity - - Reliability - - Quality - - Availability - - Flexibility - - Law of Demeter (LoD) + - Cohesion h + - Coupling + - Cyclomatic complexity u + - Reliability h + - Quality h + - Availability h + - Flexibility h + - Law of Demeter (LoD) k - Application architecture - Isolation between layer - - Domain-specific language (DSL) - - System vs applied code - - Multilayer approach - - Hexagonal architecture + - Domain-specific language (DSL) u + - System vs applied code + - Multilayer approach u + - Hexagonal architecture - Separation of concerns (SoC) - Metaprogramming - Inversion of control (IoC) - - Dependency injection (DI) - - Clean architecture + - Dependency injection (DI) + - Clean architecture u - Domain-driven design (DDD) - - Pub/sub + - Pub/sub h - Message brocker - - Agent + - Agent h - Service locator - - Message Queue (MQ) - - CQRS + - Message Queue (MQ) + - CQRS h - Event sourcing - E-R data modeling - Entity-relationship diagram @@ -56,7 +56,7 @@ - Distributed systems - High-intensive computing - Load balancing - - Gateways + - Gateways h - On-premises - IaaS - PaaS @@ -64,21 +64,21 @@ - FaaS clouds - Serverless - Vendor lock-in - - Bus factor + - Bus factor k - Solution architecture - - A software requirements specification (SRS) + - A software requirements specification (SRS) k - Solution visions - Solution capabilities - System design - Process modelling - Data modelling - - Solution components + - Solution components u - Risk assessment - Non Functional Requirements (NFR) - - Clouds + - Clouds k - BPMN - - Low-code - - No-code + - Low-code h + - No-code k - Metric - Metric abuse - ACID @@ -86,14 +86,14 @@ - Single source of truth (SSOT) - Enterprise architecture - Understanding business needs - - Enterprise strategy + - Enterprise strategy h - Integration with subsystems - - Enterprise vision - - Enterprise capabilities - - Project scope + - Enterprise vision h + - Enterprise capabilities h + - Project scope k - Enterprise service bus - Service-oriented architecture - - Microservices + - Microservices h - Process choreography - Service orchestration - Data warehouse diff --git a/Skills/Async.md b/Skills/Async.md index 63e26c83..8954817b 100644 --- a/Skills/Async.md +++ b/Skills/Async.md @@ -1,8 +1,8 @@ ## Asynchronous programming - Theory - - Event loop - - `try..catch` + - Event loop u + - `try..catch` u - Non-blocking - Async I/O - Thread pool @@ -19,12 +19,12 @@ - Concurrent programming - Parallel programming - Actor Model - - Thread + - Thread k - Process - Async contracts - - Callbacks + - Callbacks u - Callback-last-error-first - - Thenable + - Thenable k - Promise - Async/await - Future @@ -32,11 +32,11 @@ - Sync generator - Async Generator - Async Iterator - - Event + - Event u - Coroutine - Goroutine - Signal - - Stream + - Stream h - Chain of responsibility - Middleware - Locks @@ -85,5 +85,5 @@ - Promise.any - Web Locks API - IPC - - Channel API + - Channel API k - Revealing constructor diff --git a/Skills/DotNET.md b/Skills/DotNET.md index cc2b08e2..778b8c63 100644 --- a/Skills/DotNET.md +++ b/Skills/DotNET.md @@ -1,26 +1,26 @@ ## .NET - Core Concepts and Internals - - Strengths and weaknesses of .NET + - Strengths and weaknesses of .NET k - Stateful and stateless services - - Asynchronous and synchronous programming - - Task-based asynchronous pattern - - Garbage collection in .NET + - Asynchronous and synchronous programming k + - Task-based asynchronous pattern u + - Garbage collection in .NET - .NET runtime versions and support - I/O-bound, CPU-bound tasks - - Real-time applications with SignalR + - Real-time applications with SignalR - Modularity and Dependencies - - .NET assemblies - - NuGet package management - - Dependency management in .NET + - .NET assemblies h + - NuGet package management u + - Dependency management in .NET u - Dependency Injection in .NET - - Inversion of Control (IoC) - - IoC containers in .NET + - Inversion of Control (IoC) + - IoC containers in .NET h - Middleware and pipeline configuration - - Modular applications + - Modular applications h - Environment and Tools - Command line interface (CLI) tools - - .NET CLI + - .NET CLI u - Windows Services and Linux Daemons - Hosting and Deployment models - IIS and Kestrel web server @@ -30,11 +30,11 @@ - Performance monitoring and diagnostics - APIs and Framework Features - LINQ - - SignalR for real-time web functionality + - SignalR for real-time web functionality u - High-performance RPC with `gRPC` - Security features (authentication, authorization) - Cryptography and secure data handling - - Memory and resource management + - Memory and resource management u - Globalization and localization - Network and Protocols - HTTP/HTTPS support @@ -67,9 +67,9 @@ - Memory leak detection - Integration and Extensibility - Interoperability with native libraries - - P/Invoke for calling `C/C++` libraries + - P/Invoke for calling `C/C++` libraries u - COM interop - - .NET for `WebAssembly` + - .NET for `WebAssembly` h - Custom middleware development - Cloud and Microservices - Integration with cloud platforms (Azure, AWS) @@ -78,12 +78,12 @@ - Kubernetes for orchestration - Serverless computing - C# Development - - C# syntax and language fundamentals - - Advanced C# features (LINQ, async/await, delegates, events) - - Reflection and dynamic programming - - Data types and collections - - Generics and extension methods - - Attributes and annotations + - C# syntax and language fundamentals u + - Advanced C# features (LINQ, async/await, delegates, events) u + - Reflection and dynamic programming k + - Data types and collections u + - Generics and extension methods u + - Attributes and annotations u - Interoperability with other .NET languages - `F#` Development - `F#` syntax and language fundamentals @@ -103,26 +103,26 @@ - Office automation and VSTO - Migration strategies for legacy VB6 applications - C++/CLI Development Development - - C++ syntax and language fundamentals - - Interoperability between managed (.NET) and unmanaged (native) code - - Memory management in mixed environments - - `C++/CLI` syntax and usage - - Accessing .NET Framework classes in `C++` - - Writing performance-critical modules - - Interfacing with native libraries and APIs - - Developing custom .NET libraries in `C++` + - C++ syntax and language fundamentals u + - Interoperability between managed (.NET) and unmanaged (native) code h + - Memory management in mixed environments h + - `C++/CLI` syntax and usage u + - Accessing .NET Framework classes in `C++` k + - Writing performance-critical modules + - Interfacing with native libraries and APIs u + - Developing custom .NET libraries in `C++` - Managing resource disposal and finalization - - Creating and consuming DLLs (Dynamic Link Libraries) - - Working with Windows API + - Creating and consuming DLLs (Dynamic Link Libraries) u + - Working with Windows API h - Migration of legacy `C++` code to .NET - Enhancing existing .NET applications with `C++/CLI` - Mobile development - - .NET MAUI / Xamarin - - Interoperability between managed code and iOS/Android API + - .NET MAUI / Xamarin u + - Interoperability between managed code and iOS/Android API u - Game development - - Unity + - Unity u - Web development - - ASP.NET Core + - ASP.NET Core h - Blazor - Razor Syntax - RESTful API development diff --git a/Skills/Paradigms.md b/Skills/Paradigms.md index 91d5f7e5..a19a3ffb 100644 --- a/Skills/Paradigms.md +++ b/Skills/Paradigms.md @@ -1,23 +1,23 @@ ## Multi-paradigm programming - Theory - - Procedural programming - - Imperative programming - - Structured programming - - Non-structured programming - - Functional programming + - Procedural programming u + - Imperative programming h + - Structured programming k + - Non-structured programming u + - Functional programming k - Prototype-based programming - - Object-oriented programming + - Object-oriented programming u - Object-based programming - Generic programming - Concurrent computing - - Asynchronous programming + - Asynchronous programming k - Parallel programming - Reactive programming - Functional-reactive (FRP) - Automata-based programming - Domain-specific languages - - Multi-paradigm programming + - Multi-paradigm programming u - Metaprogramming - Actor model - Lambda calculus @@ -25,48 +25,48 @@ - Information hiding - Aspect-oriented programming - Anemic domain model - - Class composition + - Class composition u - OOP basics - - Constructor - - Operator `new` - - Static method - - Method - - Async method - - Getters, Setters - - Public fields - - Private fields - - Field declarations - - Inheritance - - Parent class - - Polymorphism - - Abstract class - - Interface - - Encapsulation - - Hidden class - - Object form - - Instance - - Introspection + - Constructor u + - Operator `new` u + - Static method u + - Method u + - Async method u + - Getters, Setters u + - Public fields u + - Private fields u + - Field declarations u + - Inheritance u + - Parent class u + - Polymorphism u + - Abstract class k + - Interface h + - Encapsulation u + - Hidden class k + - Object form u + - Instance k + - Introspection h - Reflection - The diamond problem - GRASP - Information expert - - Creator + - Creator h - Controller - - Indirection + - Indirection h - Low coupling - High cohesion - Protected variations - Pure fabrication - SOLID - Single-responsibility principle (SRP) - - Open–closed principle (OCP) + - Open–closed principle (OCP) h - Liskov substitution principle (LSP) - - Interface segregation principle (ISP) + - Interface segregation principle (ISP) h - Dependency inversion principle (DIP) - Patterns - - Singleton - - Factory Method - - Abstract Factory + - Singleton u + - Factory Method k + - Abstract Factory h - Adapter - Observer - Strategy @@ -74,9 +74,9 @@ - Proxy - Chain of Responsibility - Command - - Iterator + - Iterator u - State - - Bridge + - Bridge h - Builder - Prototype - Composite diff --git a/Skills/Programming.md b/Skills/Programming.md index e976b503..ed152495 100644 --- a/Skills/Programming.md +++ b/Skills/Programming.md @@ -1,73 +1,73 @@ ## Programming fundamental concepts - Concepts - - Model - - Modeling + - Model k + - Modeling u - Subject domain - - Algorithm - - Syntax + - Algorithm u + - Syntax k - Semantics - Abstraction - - Paradigm - - Programm - - Programming paradigm - - Programming language - - Contract - - Module - - Library - - Package + - Paradigm k + - Programm k + - Programming paradigm u + - Programming language u + - Contract k + - Module h + - Library u + - Package h - Component - - Framework + - Framework u - Platform - - Source code - - Object code - - Machine code - - Microcode - - Software engineering - - Decomposition + - Source code k + - Object code k + - Machine code k + - Microcode k + - Software engineering k + - Decomposition u - Control flow - - Data flow - - Code reuse + - Data flow k + - Code reuse k - Defensive programming - - Don't repeat yourself (DRY) + - Don't repeat yourself (DRY) h - KISS principle - Syntax and concepts - - Value - - Identifier - - Variable - - Constant + - Value u + - Identifier u + - Variable u + - Constant u - Scalar - - Literal - - Expression + - Literal u + - Expression u - Heap - - Function - - Procedure - - Method - - Class + - Function u + - Procedure u + - Method u + - Class u - Prototype - Event - Type - Flag - Lexical scope - - Code block + - Code block u - Conditions - - Loops + - Loops u - Assignment - Regular expression - Interface - - Namespaces + - Namespaces u - Call stack - Naming conventions - Coding conventions - - Camel case - - Snake case - - Kebab case + - Camel case u + - Snake case u + - Kebab case k - Trailing commas - Return early - Fail-fast - Types - - Primitive types - - Reference types + - Primitive types u + - Reference types u - Type systems - Strong typing - Weak typing @@ -81,64 +81,64 @@ - Covariance - Contravariance - Functions - - Signature - - Argument - - Parameter + - Signature u + - Argument u + - Parameter u - Pure function - - Lambda expression + - Lambda expression u - Side effects - Closure - Partial application - - Currying - - Higher order - - Recursion + - Currying u + - Higher order u + - Recursion u - Tail call optimisation - - Callback + - Callback u - Listener - - Composition - - Pipe + - Composition k + - Pipe h - Memoize - Wrapper - - Functor + - Functor k - Monad - Monoid - - Generator + - Generator u - Coroutine - Data structures - - Array - - Structure - - Record - - Enum + - Array u + - Structure u + - Record h + - Enum u - Instance - - Object - - Collection - - Set - - Hash table - - Linked list - - Doubly list - - Unrolled list + - Object u + - Collection u + - Set h + - Hash table u + - Linked list h + - Doubly list h + - Unrolled list - Circular list - Queue - - Stack + - Stack k - Deque - - Tree + - Tree k - Graph - - Iterator - - Mutable state + - Iterator u + - Mutable state h - Immutable state - Serialization - String parsing - - JSON + - JSON u - JSON5 - YAML - Networking - - DNS + - DNS k - CDN - CORS - IPv4 - IPv6 - NAT - - URL + - URL k - URN - URI - Process and tools @@ -149,7 +149,7 @@ - Linter - Polyfill - Interpreter - - Linker + - Linker k - Dynamic linking - Static linking - Runtime @@ -157,21 +157,21 @@ - Register-based VM - Stack-based VM - Containerization - - Debugger + - Debugger k - Tracing - Garbage collection - Refactoring - Code review - Exception - Unittesting - - git - - Github - - Docker + - git u + - Github u + - Docker k - Kubernetes - - GCC + - GCC k - LLVM - Antipatterns - - Magic numbers + - Magic numbers u - Hard code - Soft code - Cryptic code @@ -181,19 +181,19 @@ - Spaghetti - Silver bullet - Not invented here - - Dead code + - Dead code h - Unreachable code - - Duplicate code + - Duplicate code u - Premature optimization - Micro-optimization - - Nested loops + - Nested loops u - Long method/function/procedure - Long inheritance - - Large class/file + - Large class/file h - Too many parameters - Pass-through parameters - Accumulate and fire - - Use switch/case + - Use switch/case k - Temporary field - Handle object as instances and hashes at the same time - Use fields instead of arguments @@ -202,27 +202,27 @@ - Monkey patch - Yo-yo problem - Runtimes and virtual machines - - Bytecode - - V8 + - Bytecode k + - V8 h - VJM - CLR - Mono - Operating systems - Interrupts - - Drivers + - Drivers u - Kernel - Ring - - Virtual memory + - Virtual memory k - File system - - Linux - - Unix + - Linux h + - Unix h - BSD - - MacOS - - Windows + - MacOS h + - Windows u - Real-time OS - Embedded OS - Standards - - ASCII + - ASCII u - Escape sequence - RFC - IETF @@ -234,6 +234,6 @@ - ISO - MIME - OWASP - - UTF-8 + - UTF-8 u - W3C - ODMG