Awesome
Awesome Software Engineering
A curated list of awesome software engineering resources.
Quick links to sections in this page
Fundamentals
OOP
- :film_strip: [rus] What is OOP by FoxMinded
- :film_strip: [rus] OOP: Incapsulation explained by FoxMinded
- :film_strip: [rus] OOP: Inheritance explained by FoxMinded
- :film_strip: [rus] OOP: Polymorphism by explained by FoxMinded
- :film_strip: [eng] OOP explained by Mosh
- :scroll: [eng] Why OOP is not a silver bullet
- :scroll: [eng] Inheritance vs Composition. Which should you use?
Common mistakes
- :film_strip: [rus] 7 Common mistakes of Junior developers
- :film_strip: [eng] 5 Programming Anti-patterns for Beginners
- :scroll: [eng] Anti-patterns and Code Smells
- :film_strip: [rus] Why it is bad to return NULL in Java
- :scroll: [eng] The Anti Pattern of Getters And Setters by Ajeng Sugiarti
- :scroll: [eng] Avoid getters and setters whenever possible by scottshipp
- :scroll: [eng] Software Engineering Anti-patterns catalogue in Wikipedia
Code Review
- :film_strip: [eng] How to Review Someone Else's Code by Codecademy
- :film_strip: [eng] Code Review Best Practices by JetBrains
Code Style
- :scroll: [rus] Code style as a standard of software development
Data Structures and Algos
- :film_strip: [eng] Data Structures and Algorithms by Mosh
Common principles
- :film_strip: [rus] Problem Domain Decomposition by FoxMinded
- :film_strip: [rus] DRY principle
- :film_strip: [rus] DRY, KISS, YAGNI
- :film_strip: [rus] SOLID principles
- :film_strip: [rus] SOLID principles & Architecture: a lecture from FPMI
- :film_strip: [eng] Frameworks & Inversion of Control
- :film_strip: [eng] Dependency Injection & Inversion of Control
- :scroll: [eng] Dependency Injection vs Inversion of Control
- :scroll: [rus] Low Coupling & High Cohesion by German Gorelkin
- :scroll: [eng] Low Coupling & High Cohesion by Ammar Verbi Merakli
- :scroll: [eng] Demeter's Law: Don't talk to strangers by Carlos Caballero
- :scroll: [eng] GRASP Design Principles by Krzysztof Kwieciński
- :scroll: [eng] What are General Responsibility Assignment Software Patterns? by Jakub Kapuscik
- :scroll: [eng] Object-oriented design: GRASP patterns by J.Serrat
- :scroll: [eng] ADVANCED SOFTWARE DESIGN: GRASP, SOLID, YAGNI, DRY, KISS, OTHER PRINCIPLES BY Dave Clarke
Design Patterns
- :film_strip: [eng] Design Patterns by Mosh
- :book: Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
- :film_strip: [rus] Design patterns (brief)
- :film_strip: [rus] Design patterns (full)
- :scroll: [eng] Java Design Patterns - online catalog
- :scroll: [eng] The Builder pattern vs Java syntax
- :scroll: [eng] Awesome Software and Architectural Design Patterns
Clean Architecture
- :book: Clean Architecture, A Craftsman's Guide to Software Structure And Design, Robert C. Martin
- :film_strip: [rus] SOLID principles & Architecture: a lecture from FPMI
Clean Code
- :film_strip: [rus] Clean Code lecture by FoxMinded
- :book: Clean Code: A Handbook of Agile Software Craftsmanship,Robert C. Martin
Refactoring
- :book: Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, 2st edition
- :film_strip: [rus] Refactoring lectures by FoxMinded
- :scroll: [eng] The Art of Refactoring: 5 Tips to Write Better Code
- :scroll: [eng] Code Refactoring Best Practices: When (and When Not) to Do It
Science
- :scroll: [eng] Software Engineering Research Methods: A curated collection of literature for philosophy of science and research methodologies with a focus on software engineering
UML & noUML
- :film_strip: [eng] A brief UML tutorial by Lucidchart
- :film_strip: [eng] A detailed UML tutorial by Derek Banas
- :scroll: [eng] noUML explained, UML criticism by Vladimir Frolov, part1
- :scroll: [eng] noUML explained by Vladimir Frolov, part2
Software Development Methodologies
- :film_strip: [rus] Who is who in Software Development: Developer, QA, BA, PM - who are those people? by FoxMinded
- :film_strip: [rus] Phases
- :film_strip: [rus] Methodologies
Debugging
- :film_strip: [rus] Debugging, lecture from FPMI, part1
- :film_strip: [rus] Debugging, lecture from FPMI, part2
- :scroll: [eng] Debugging tips
- :scroll: [eng] 10 Debugging Tips for Beginners: How to Troubleshoot and Fix Your Code Without Pulling Your Hair Out By Hartley Brody
Testing
- :film_strip: [rus] Unit Testing in Software Development
- :film_strip: [eng] TTD vs BDD 1
- :film_strip: [eng] TTD vs BDD 2
- :scroll: [eng] Unit Tests vs Functional Tests
- :film_strip: [eng] TTD crash course
- :film_strip: [eng] BDD
TTD in Java
- Go to "TestNG" and "Mockito" subsections below under "Java Frameworks" section.
BDD in Java
- Go to "Serenity BDD" subsection below under "Java Frameworks" section.
TTD in JavaScript
- Go to "Jest" subsection below under "Java Script Frameworks" section.
- :film_strip: [eng] React Unit Testing
IDEs
IntelliJ Idea
- :film_strip: [eng] IntelliJ Idea Full Course by Amigoscode
Linux
- :film_strip: [eng] 6 Things to Know When Switching to Linux from Windows by Chris Titus
- :film_strip: [eng] 6 Mistakes New Linux Users Make by Chris Titus
- :film_strip: [rus] Unix philosophy by unixway
- :film_strip: [eng] 5 Things I Hate About Linux by Chris Titus
Linux Distributions
- :film_strip: [eng] Which Linux Distribution? | Understanding Linux Distros by Chris Titus
- :film_strip: [eng] How to Choose a Linux Distribution by Chris Titus
- :scroll: [eng] GNU/Linux Distributions Timeline
- :film_strip: [eng] Debian vs Arch by Chris Titus
- :film_strip: [eng] Why Ubuntu is the Devil and Why So Many No Longer Use It by Chris Titus
Command line
- :film_strip: [eng] 15 Useful Linux Commands Every Linux User Needs | Learning Terminal Part 1
- :film_strip: [eng] 15 Useful Linux Commands Every Linux User Needs | Learning Terminal Part 2
Bash
- :film_strip: [eng] Bash tutorial
Sh
- :scroll: [eng] How to Linux sh command
- :scroll: [eng] How to sh(1) - Linux man page
zsh+OhMyZsh+fzf+powerlevel10k
- :scroll: [eng] zsh+OhMyZsh+fzf+powerlevel10k: Your terminal can be much, MUCH more productive by Ivan
- :scroll: [eng] fzf: Why you should be using fzf, the command line fuzzy finder by Alexey Samoshkin
User Access Permissions
- :scroll: [eng] How to Create Users in Linux (useradd Command)
- :scroll: [eng] Users and groups
- :scroll: [eng] Access Control Lists
Fish
- :scroll: [eng] fish Tutorial
- :scroll: [eng] fish Documentation
Package Managers
- :scroll: [eng] 5 Best Linux Package Managers for Linux Newbies
- :scroll: [eng] Best Linux Package Managers
Tips & Tricks
- :scroll: [eng] Awesome Linux Configuration Scripts by Alliedium
- :film_strip: [eng] Git Bare Repository - A Better Way To Manage Dotfiles by DistroTube
Linux Utilities
- :film_strip: [eng] Linux Apps I Use Daily by Chris Titus
- :film_strip: [eng] Linux Apps I Use At Work by Chris Titus
tmux
- :film_strip: [rus] Console Utility tmux by unixway
systemd
- :scroll: [eng] Beginners Guide on systemd tutorial in Linux
Network Manager
- :scroll: [eng] Configuring IP Networking with nmtui
- :scroll: [eng] Configuring IP Networking with nmcli
Arch Linux, Manjaro
- :film_strip: [rus] Arch Linux basics
- :film_strip: [rus] Arch Linux pacman
- :film_strip: [rus] Arch Linux AUR
- :film_strip: [rus] Arch Linux vs Manjaro
LVM
- :film_strip: [rus] LVM: Theory and practice by unixway
SSH
- :film_strip: [rus] OpenSSH basics by unixway
- :film_strip: [eng] SSH config basics
Linux Filesystems
- :film_strip: [eng] File Systems | Which One is the Best? ZFS, BTRFS, or EXT4 by Chris Titus
- :scroll: [eng] Classic SysAdmin: The Linux Filesystem Explained
ZFS
- :film_strip: [eng] What Is ZFS?: A Brief Primer by Level1Linux
- :film_strip: [rus] ZFS filesystem by unixway
Desktop Environments
KDE
- :film_strip: [eng] How to Customize KDE | KDE Customization by Chris Titus
- :film_strip: [eng] KDE is Slow !?! | Disable Baloo File Indexer by Chris Titus
Image Editing
GIMP
- :film_strip: [eng] GIMP vs Photoshop | How to Optimize Your Workflow by Chris Titus
Video Editing
Kdenlive
- :film_strip: [eng] Kdenlive Tutorial 2019 - Beginner Basics by Victoriano de Jesus
- :film_strip: [eng] 2020 Kdenlive Video Tutorials by Victoriano de Jesus
- :film_strip: [eng] Kdenlive Cinematic Title Animation by makinars
Text Editing
Vim
- :film_strip: [eng] Vim Basics in 8 Minutes by tutorialLinux
LibreOffice
- :film_strip: [eng] Microsoft Office vs LibreOffice | How to Make the Change by Chris Titus
Windows
- :film_strip: [eng] 17 Reasons Why I Do Not Use Windows 10 by Chris Titus
- :film_strip: [eng] Speed Up Windows 10 in 2020 by Chris Titus
FreeBSD
- :scroll: [eng] FreeBSD Basics
MacOs
- :scroll: [eng] A Complete Beginner's Guide to macOS: Get Started in Just 1 Hour
Source Control
Git
- :film_strip: [eng] Git Tutorial - Learn Git in 1 Hour by Mosh
- :film_strip: [rus] Git Basic Training
- :scroll: [eng] Awesome Git Exerises by Alliedium
- :scroll: [eng] Git exercies online by fracz
Security
KeePassXC
- :film_strip: [eng] Introduction to KeePassXC
iptables
- :film_strip: [eng] iptables: getting started
- :film_strip: [rus] Iptables detailed tutorial
Databases
SQL
- :film_strip: [eng] SQL Tutorial | PostgreSQL | Full Course by Amigoscode
Apache Ignite
- :film_strip: [eng] [eng] Getting started with Apache Ignite part 1
- :film_strip: [eng] Getting started with Apache Ignite part 2
- :film_strip: [eng] Getting started with Apache Ignite part 3
- :film_strip: [eng] Getting started with Apache Ignite part 4
- :film_strip: [eng] Moving Apache Ignite into Production: Best Practices for Distributed Transactions
- :scroll: [eng] Boosting Jira Cloud App Development with Apache Ignite and Spring Boot
- :book: High Performance in-memory computing with Apache Ignite: Building low latency, near real time application, Shamim Ahmed Bhuiyan, Michael Zheludkov and Timur Isachenko
Programming Languages
Java
- :film_strip: [rus] Java Overview by FoxMinded
- :film_strip: [rus] Java Application Development: the first steps by FoxMinded
- :scroll: [eng] AWESOME JAVA: A curated list of awesome frameworks, libraries and software for the Java programming language.
- :film_strip: [rus] What is a Java server, comparison of Java Servers: Tomcat, Jetty, Wildfly, Glassfish, IBM WebSphere, Oracle WebLogic
- :film_strip: [eng] Java Tutorial for Beginners by Mosh
- :film_strip: [rus] [rus] [rus] Java For Beginners by FoxMinded
- :film_strip: [rus] [rus] Why it is bad to return NULL in Java
- :film_strip: [rus] Never ever use Lombok! Why this library is bad by FoxMinded
- :book: Thinking in Java, Bruce Eckel, 4th edition
- :scroll: [eng] Java Tutorials by JournalDev
Code Style
- :scroll: [eng] Checkstyle is a tool for enforcing a Code Standard in Java
- :scroll: [eng] Jenkins Warnings Next Generation Plugin
- :scroll: [eng] How to Centralize your Checkstyle Configuration with Maven
Build Tools
Maven
- :film_strip: [eng] Simple Explanation of Maven and pom.xml
- :scroll: [eng] Maven Tutorial
- :scroll: [eng] Multi-Module Maven Project by Baeldung
Java Frameworks
- :film_strip: [rus] Which Java Frameworks you should know by FoxMinded
Java Collections Framework
- :scroll: [eng] Java Collections Framework official documentation
ExecutorService
- :scroll: [eng] ExecutorService - 10 tips and tricks
- :scroll: [eng] InterruptedException and interrupting threads explained
TestNG
- :scroll: [eng] Introduction to TestNG
- :scroll: [eng] Why TestNG is better than JUnit
- :film_strip: [eng] Java Unit Testing with TestNG and Mockito
- :book: Practical Unit Testing with TestNG and Mockito, Tomek Kaczanowski
Mockito
- :scroll: [eng] Unit Tests with Mockito: Tutorial
- :scroll: [eng] Mockito in six easy examples
- :scroll: [ru] A sip of Mockito
- :scroll: [eng] Mockito - Quick Guide
- :scroll: [eng] Mockito When/Then Cookbook
- :scroll: [eng] Usage of Mockito
- :scroll: [eng] Mocking with Mockito: advanced techniques
- :book: Practical Unit Testing with JUnit and Mockito, Tomek Kaczanowski
Serenity BDD
- :scroll: [eng] How to implement test automation using Serenity
- :scroll: [eng] Serenity BDD official documentation
- :scroll: [eng] JBehave vs Cucumber JVM comparison
Hibernate
- :film_strip: [rus] What is JDBC? What is ORM, Hibernate & JPA? by FoxMinded
- :film_strip: [eng] Getting started with Hibernate
- :film_strip: [rus] Spring Boot JPA(Hibernate): let's add a database to our Java-based website by letsCode
- :film_strip: [eng] Hibernate Tutorial, Full Course
Spring Boot
- :film_strip: [eng] Spring Boot Tutorial for Beginners by freeCodeCamp.org
- :film_strip: [rus] Comparing Spring and JavaEE by FoxMinded
- :film_strip: [rus] Spring Boot 2: let us build a simple website together! by letsCode
- :scroll: [eng] Boosting Jira Cloud App Development with Apache Ignite and Spring Boot
Spring Boot Dev Tools
- :scroll: [eng] Faster Development with Spring Boot DevTools
- :scroll: [eng] Optimize Your Dev Loop with Spring Boot Dev Tools
JavaScript
- :film_strip: [eng] Java Script Tutorials by Mosh
- :scroll: [eng] AWESOME JAVASCRIPT: A collection of awesome browser-side JavaScript libraries, resources and shiny things
JavaScript frameworks, Tools and Runtimes
Node.js
- :film_strip: [eng] Node.js Tutorial for Beginners: Learn Node in 1 Hour by Mosh
- :scroll: [eng] AWESOME NODEJS: Delightful Node.js packages and resources
Babel
- :film_strip: [eng] What is Babel and why you need it? Introduction to Babel
Jest
- :film_strip: [rus] Jest: Unit Testing in Java Script
React
- :film_strip: [eng] React Tutorial for Beginners [React js]
- :scroll: [eng] AWESOME REACT: A collection of awesome things regarding React ecosystem
- :film_strip: [eng] React in 30 minutes
- :film_strip: [eng] Learn useState In 15 Minutes - React Hooks Explained
- :film_strip: [eng] Learn useEffect In 13 Minutes
- :film_strip: [eng] Redux Tutorial - Learn Redux from Scratch
- :film_strip: [eng] React Unit Testing
Python
- :film_strip: [eng] Python Tutorial - Python for Beginners [2020]
- :scroll: [eng] AWESOME PYTHON: A curated list of awesome Python frameworks, libraries, software and resources
Rust
Rust Tutorial
Rust at Microsoft
Rust at AWS
Julia
Criticism of Julia
Getting started with Julia
Julia adoption
Julia co-creators talks
Julia performance
Julia vs C++
Contributing to Julia ecosystem
Language basics
Finding Julia packages
DataFrames
DataFrames.jl
ML
Parallel Computing
IDE
Notebooks
Jupyter
Pluto.jl
Jilia in production
Microservices
Deployment
Sysimage
Docker
Differential equations
DifferentialEquations.jl
OOP in Julia
Integration with other languages
Python
Basics of hardware architecture
DevOps
- :film_strip: [eng] DevOps explained by IBM
- :scroll: [eng] What is DevOps, DevOps lifecycle
- :scroll: [eng] Continuous Delivery vs Continuous Deployment
- :scroll: [eng] DevOps exercies by Bregman Arie
Ansible
- :film_strip: [eng] What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners by Simplilearn
- :film_strip: [eng] You need to learn Ansible RIGHT NOW!! (Linux Automation) by NetworkChuck
Virtualization
- :film_strip: [eng] Virtualization Explained
- :film_strip: [eng] Introduction to Virtualization by Chris Titus
- :film_strip: [eng] Virtualization Explained | Docker | VMware | QEMU | Virtualbox by
- :film_strip: [eng] Stop using Virtualbox, Here's how to use QEMU instead
- :scroll: [eng] QEMU/KVM — Virtualization on Linux
- :film_strip: [rus] KVM Virtualization. Part 1 by unixway
- :scroll: [rus] What is Hypervisor, what's its role in virtualization, types, comparison
- :scroll: [rus] Virtualization systems. Compare the VMware, Hyper-V, KVM, Xen
- :scroll: [eng] Compare the Top Hypervisors of 2022
Proxmox
- :scroll: [eng] Comparing Server Virtualization Software. Why choose Proxmox VE for your workloads?
- :film_strip: [eng] Virtualize Everything! - Proxmox Install Tutorial by Craft Computing
- :film_strip: [eng] Proxmox VE 6.0 Beginner Tutorial - Installing Proxmox & Creating a virtual machine by Proxmox HHS
- :film_strip: [eng] Virtualize Windows 10 with Proxmox VE by Techno Tim
- :film_strip: [rus] Proxmox tutorial by realmanual
Xen
- :film_strip: [eng] Getting Started Tutorial: Building An Open Source XCP-NG & Xen Orchestra Virtualization Lab
Open vSwitch
- :scroll: [eng] Production Quality, Multilayer Open Virtual Switch
Containers and Container Orchestration
- :scroll: [eng] What is a container?
- :film_strip: [rus] From Docker to Kubernetes: historical retrospective by unixway. From 10:48
LXC
- :scroll: [eng] What's LXC?
- :scroll: [rus] LXC Containers in Linux
- :scroll: [eng] LXC on gentoo wiki
- :scroll: [rus] LXC aka Linux Container: simple and reliable
Docker
Basics
- :film_strip: [rus] Docker basics
- :scroll: [eng] Docker Interview Questions
- :scroll: [eng] Docker Exercises by Bregman Arie
- :film_strip: [eng] Portainer - Lightweight Management UI for Docker
Architecture (containerd, CRI-O and runc)
- :scroll: [eng] The differences between Docker, containerd, CRI-O and runc
- :scroll: [rus] The differences between Docker, containerd, CRI-O and runc
- :scroll: [eng] Docker vs containerd vs CRI-O: An In-Depth Comparison
Distributions (Docker, nerdctl + Rancher Desktop)
- :film_strip: [eng] How To Replace Docker With nerdctl And Rancher Desktop
How to configure on different platforms
- :scroll: [eng] Install Docker Desktop on Windows
- :scroll: [eng] Install Docker Desktop on Mac
- :scroll: [eng] Install Docker Desktop on Linux
Sample application
- :scroll: [eng] Get the app contents, build image, start container
- :scroll: [eng] Update the application
- :scroll: [eng] Share the application
- :scroll: [eng] Persist data
Best practices for building containers
- :scroll: [eng] Best practices for building containers
- :scroll: [eng] Docker Images : Part I - Reducing Image Size
- :scroll: [eng] Docker Images : Part II - Details Specific To Different Languages
- :scroll: [eng] Docker Images : Part III - Going Farther To Reduce Image Size
- :scroll: [eng] Faster CI Builds with Docker Layer Caching and BuildKit
- :scroll: [eng] Advanced Dockerfiles: Faster Builds and Smaller Images Using BuildKit and Multistage Builds
- :scroll: [eng] Docker build cache sharing on multi-hosts with BuildKit and buildx
- :scroll: [eng] Speed up multi-stage Docker builds in CI/CD with Buildkit’s registry cache
- :scroll: [eng] Docker ARG vs ENV
- :scroll: [rus] ENTRYPOINT vs CMD: Back to Basics
- :scroll: [eng] docker build with --build-arg with multiple arguments
- :scroll: [eng] specifying .dockerignore file
- :scroll: [eng] Specify dockerignore from command line
- :scroll: [eng] Explore Docker layers using Dive
- :scroll: [eng] Docker Cache – How to Do a Clean Image Rebuild and Clear Docker's Cache
- :scroll: [eng] Tag an image for a private repository
GPU pass-through
- :scroll: [eng] How to Properly Use the GPU within a Docker Container
- :scroll: [eng] A Dockerfile for training model in PyTorch with GPU
Advanced
- :scroll: [eng] Dockerfile reference: FROM
- :scroll: [eng] Dockerfile reference: ARG
- :scroll: [eng] Dockerfile reference: COPY
- :scroll: [eng] Dockerfile reference: LABEL
- :scroll: [eng] Dockerfile reference: USER
- :scroll: [eng] Dockerfile reference: SHELL
- :scroll: [eng] docker build
- :scroll: [eng] docker builder prune
- :scroll: [eng] Comparing Four Hosted Docker Registries
- :scroll: [eng] Shipping images with a registry
Docker compose
- :scroll: [eng] Docker Compose Tutorial
- :scroll: [eng] docker-compose build
- :scroll: [eng] How to define build-args in docker-compose?
- :scroll: [eng] Kompose (translate Docker Compose file into Kubernetes resources)
Kubernetes
- :film_strip: [rus] Kubernetes video tutorial
- :scroll: [eng] Setting up a Kubernetes cluster with Kubespray
- :scroll: [eng] Kubernetes exercies by Bregman Arie
Local Distributions
k3s/k3d
- :scroll: [eng] K3s Server Configuration Reference
- :film_strip: [eng] DOT. K3d - How to run Kubernetes cluster locally using Rancher K3s
minikube
- :film_strip: [eng] Minikube Basics and How to Get Started with Kubernetes by Peter Jausovec
Kubernetes Tools
- :scroll: [eng] Kubernetes Essential Tools: 2021
- :scroll: [rus] Kubernetes Essential Tools: 2021
kubectl
- :film_strip: [rus] Intro to Kubernetes, Part 2 by unixway
Lens
- :film_strip: [eng] DOT. Lens - Kubernetes IDE and Dashboard
Kubernetes Objects
- :film_strip: [rus] Intro to Kubernetes, Part 2 by unixway. From 05:04
- :film_strip: [rus] Intro to Kubernetes, Part 3 by unixway
- :scroll: [eng] Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what?
- :scroll: [rus] Kubernetes: ClusterIP vs NodePort vs LoadBalancer, Services and Ingress – survey, examlpes
- :scroll: [eng] Publishing Services (ServiceTypes)
- :scroll: [eng] Jobs
- :scroll: [eng] Deployments
- :scroll: [eng] K8s: Deployments vs StatefulSets vs DaemonSets
Ingress
- :scroll: [eng] NGINX Ingress Controller. Installation Guide
- :film_strip: [rus] Intro to Kubernetes, Part 4 by unixway. From 29:16
Applying manifests
- :film_strip: [rus] Intro to Kubernetes, Part 3 by unixway. From 05:51
Kubernetes Operators
- :film_strip: [rus] What are Kubernetes Operators?
- :scroll: [eng] Operator for Apache CouchDB
Stateful workloads in Kubernetes
- :film_strip: [eng] Stateful Kubernetes Applications - Ask Me Anything
Longhorn
- :scroll: [eng] Install Longhorn on Kubernetes
Running a database in k8s as an example
- :film_strip: [rus] Intro to Kubernetes, Part 5 by unixway
Kubernetes manifest parameterization
Kustomize
- :scroll: [eng] Declarative Management of Kubernetes Objects Using Kustomize
Helm
- :scroll: [eng] 13 Best Practices for using Helm
- :scroll: [eng] The Chart Best Practices Guide
- :scroll: [eng] Values Files
- :scroll: [eng] Helm install in certain order (stackoverflow)
- :scroll: [eng] Chart Hooks
- :scroll: [eng] Helm Rollback
Kubernetes monitoring
Prometheus
- :scroll: [eng] What is Prometheus? | When does it fit? | When does it not fit?
- :scroll: [eng] Prometheus Operator packaged by Bitnami
- :scroll: [eng] Using Custom Prometheus with Lens app
Grafana
- :scroll: [rus] Grafana - yet another tool for technical monitoring
- :scroll: [eng] Grafana project
- :scroll: [eng] Grafana Operator packaged by Bitnami
Networks
OSI/TCP/IP
- :scroll: [eng] The OSI Model
- :scroll: [eng] The TCP/IP Model
BGP
- :scroll: [eng] What is BGP? | BGP routing explained
- :scroll: [eng] BGP (Border Gateway Protocol)
HTTPS
TLS certificates
- :scroll: [eng] Configuring custom SSL/TLS certificates
ACME
- :scroll: [rus] The ACME protocol has been approved as an IETF standard
- :scroll: [eng] ACME Protocol: What it is and how it works
- :scroll: [eng] How It Works
TCP
- :scroll: [rus] TCP/IP for Beginners
- :scroll: [eng] Transmission Control Protocol
- :scroll: [eng] Linux in the Network
VXLAN
- :film_strip: [eng] VxLAN | Issues with traditional vlan | VXLAN benifits explained | free ccna 200-301
- :scroll: [eng] Virtual Extensible LAN
- :scroll: [eng] VXLAN Virtual eXtensible Local Area Network
- :film_strip: [eng] VxLAN | Part 1 - How VxLAN Works
REST API
- :film_strip: [eng] REST API explained by Mosh
- :film_strip: [eng] Autogenerating Swagger Documentation with Node & Express
- :film_strip: [rus] REST API testing via Postman
GraphQL
- :scroll: [eng] Introduction to GraphQL by Udara Bibile
- :scroll: [eng] GraphQL With Python Flask by Manish Jain
- :scroll: [eng] Schema-First GraphQL: The Road Less Travelled by Jakub Draganek
CI/CD
GitHub
- :film_strip: [eng] GitHub CLI - How to manage repositories more efficiently
GitHub Actions
- :film_strip: [eng] Github Actions Review And Tutorial
GitLab
- :film_strip: [eng] GitLab CI CD Tutorial for Beginners [Crash Course]
Jenkins
- :scroll: [eng] Jenkins Pipeline Tutorial
- :scroll: [eng] Continuous Integration with Jenkins
- :film_strip: [rus] Jenkins Video Course in Russian
- :scroll: [eng] Jenkins CheatSheet
- :scroll: [eng] Jenkins Interview Questions
- :scroll: [eng] jenkins.io - User handbook
- :film_strip: [end] CI CD Pipeline Using Jenkins
ArgoCd
- :film_strip: [eng] Argo CD - Applying GitOps Principles To Manage A Production Environment In Kubernetes
- :film_strip: [eng] Environments Based On Pull Requests (PRs): Using Argo CD To Apply GitOps Principles On Previews
- :film_strip: [eng] Koncrete - GitOps As A Service With Argo CD
- :film_strip: [eng] GitOps Without Pipelines With ArgoCD Image Updater
Argo Workflows
- :film_strip: [eng] Argo Workflows and Pipelines - CI/CD, Machine Learning, and Other Kubernetes Workflows
- :film_strip: [eng] Argo Events - Event-Based Dependency Manager for Kubernetes
- :film_strip: [eng] Automation of Everything - How To Combine Argo Events, Workflows & Pipelines, CD, and Rollouts
Cloud
Infrastructure as Code
Crossplane
- :film_strip: [eng] What Is Kubernetes (k8s)? Kubernetes Explained
- :film_strip: [eng] Crossplane - GitOps-based Infrastructure as Code through Kubernetes API
- :film_strip: [eng] How To Apply GitOps To Everything - Combining Argo CD And Crossplane
- :scroll: [eng] Crossplane Documentation. Overview
- :scroll: [eng] Crossplane Documentation. Install & Configure
- :scroll: [eng] Crossplane Documentation. Provision Infrastructure
- :scroll: [eng] Crossplane Documentation. Terminology
- :scroll: [eng] Crossplane project on GitHub
- :scroll: [eng] provider-aws: Crossplane infrastructure provider for Amazon Web Services
- :scroll: [eng] provider-aws Documentation
- :scroll: [eng] What is the AWS CDK? - AWS Cloud Development Kit (CDK) v2
- :scroll: [eng] CRD is just a table in Kubernetes
- :scroll: [rus] CRD is just a table in Kubernetes
- :scroll: [eng] Kubernetes Custom Resources
- :scroll: [eng] provider-aws Custom Resource Definitions
- :scroll: [eng] LocalStack
- :scroll: [eng] LocalStack Documentation. AWS Service Feature Coverage
- :scroll: [rus] GitOps approach, its pros and cons
- :scroll: [eng] Environment variables to configure the AWS CLI - AWS Command Line Interface
- :scroll: [eng] AWS Reference Platform for Kubernetes + Data Services
- :scroll: [eng] LocalStack AWS CLI
Microservices
Devspace
- :scroll: [eng] What is DevSpace?
- :scroll: [eng] Onboarding Guide
- :scroll: [eng] Image Building
- :scroll: [eng] Deployments
- :scroll: [eng] Development Mode
- :scroll: [eng] Config Variables
- :scroll: [eng] Config Profiles