Home

Awesome

Awesome Software Engineering

A curated list of awesome software engineering resources.

Quick links to sections in this page

🔍 Fundamentals🌀 Common Mistakes🎁 Code Review
⚔ Data Structures and Algos💰 Common principles:loop: Design Patterns
:bath: Clean Code:flashlight: Clean Architecture:wrench: Refactoring
🧪 Science🔏 UML & noUML📜 Software Development Methodologies
:mortar_board:OOP🏁 Debugging💪 Testing
🤖 IDEs🧵 Security🏷️ Programming Languages
🗞️ Databases📡 Java🗺️ Python
📥 JavaScript:snail: Rust:microscope: Julia
:wrench: OSI/TCP/IP:wrench: BGP:wrench: TLS certificates:wrench: ACME
:wrench: TCP:wrench: VXLAN:red_circle: REST API🧩 GraphQL
📓 Linux:grey_question: Windows:grey_question: FreeBSD:grey_question: MacOs:sparkles: Virtualization
📊 SSH:bookmark: Git:fax: Vim:fax: Fish:sparkles: Proxmox
:violin: LibreOffice:gem: Kdenlive :black_nib:GIMP:wrench: Package Managers:sparkles: Xen
:books: ZFS:golf: LVM:musical_keyboard: tmux🧮 systemd
:wrench: Network Manager🧮 Ansible:leaves: Docker:milky_way: Kubernetes
🔐 KeePassXC🗿 iptables
:wrench: GitHub Actions:wrench: Jenkins:wrench: ArgoCd:wrench: Argo Workflows

Fundamentals

OOP

  1. :film_strip: [rus] What is OOP by FoxMinded
  2. :film_strip: [rus] OOP: Incapsulation explained by FoxMinded
  3. :film_strip: [rus] OOP: Inheritance explained by FoxMinded
  4. :film_strip: [rus] OOP: Polymorphism by explained by FoxMinded
  5. :film_strip: [eng] OOP explained by Mosh
  6. :scroll: [eng] Why OOP is not a silver bullet
  7. :scroll: [eng] Inheritance vs Composition. Which should you use?

Common mistakes

  1. :film_strip: [rus] 7 Common mistakes of Junior developers
  2. :film_strip: [eng] 5 Programming Anti-patterns for Beginners
  3. :scroll: [eng] Anti-patterns and Code Smells
  4. :film_strip: [rus] Why it is bad to return NULL in Java
  5. :scroll: [eng] The Anti Pattern of Getters And Setters by Ajeng Sugiarti
  6. :scroll: [eng] Avoid getters and setters whenever possible by scottshipp
  7. :scroll: [eng] Software Engineering Anti-patterns catalogue in Wikipedia

Code Review

  1. :film_strip: [eng] How to Review Someone Else's Code by Codecademy
  2. :film_strip: [eng] Code Review Best Practices by JetBrains

Code Style

  1. :scroll: [rus] Code style as a standard of software development

Data Structures and Algos

  1. :film_strip: [eng] Data Structures and Algorithms by Mosh

Common principles

  1. :film_strip: [rus] Problem Domain Decomposition by FoxMinded
  2. :film_strip: [rus] DRY principle
  3. :film_strip: [rus] DRY, KISS, YAGNI
  4. :film_strip: [rus] SOLID principles
  5. :film_strip: [rus] SOLID principles & Architecture: a lecture from FPMI
  6. :film_strip: [eng] Frameworks & Inversion of Control
  7. :film_strip: [eng] Dependency Injection & Inversion of Control
  8. :scroll: [eng] Dependency Injection vs Inversion of Control
  9. :scroll: [rus] Low Coupling & High Cohesion by German Gorelkin
  10. :scroll: [eng] Low Coupling & High Cohesion by Ammar Verbi Merakli
  11. :scroll: [eng] Demeter's Law: Don't talk to strangers by Carlos Caballero
  12. :scroll: [eng] GRASP Design Principles by Krzysztof Kwieciński
  13. :scroll: [eng] What are General Responsibility Assignment Software Patterns? by Jakub Kapuscik
  14. :scroll: [eng] Object-oriented design: GRASP patterns by J.Serrat
  15. :scroll: [eng] ADVANCED SOFTWARE DESIGN: GRASP, SOLID, YAGNI, DRY, KISS, OTHER PRINCIPLES BY Dave Clarke

Design Patterns

  1. :film_strip: [eng] Design Patterns by Mosh
  2. :book: Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
  3. :film_strip: [rus] Design patterns (brief)
  4. :film_strip: [rus] Design patterns (full)
  5. :scroll: [eng] Java Design Patterns - online catalog
  6. :scroll: [eng] The Builder pattern vs Java syntax
  7. :scroll: [eng] Awesome Software and Architectural Design Patterns

Clean Architecture

  1. :book: Clean Architecture, A Craftsman's Guide to Software Structure And Design, Robert C. Martin
  2. :film_strip: [rus] SOLID principles & Architecture: a lecture from FPMI

Clean Code

  1. :film_strip: [rus] Clean Code lecture by FoxMinded
  2. :book: Clean Code: A Handbook of Agile Software Craftsmanship,Robert C. Martin

Refactoring

  1. :book: Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, 2st edition
  2. :film_strip: [rus] Refactoring lectures by FoxMinded
  3. :scroll: [eng] The Art of Refactoring: 5 Tips to Write Better Code
  4. :scroll: [eng] Code Refactoring Best Practices: When (and When Not) to Do It

Science

  1. :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

  1. :film_strip: [eng] A brief UML tutorial by Lucidchart
  2. :film_strip: [eng] A detailed UML tutorial by Derek Banas
  3. :scroll: [eng] noUML explained, UML criticism by Vladimir Frolov, part1
  4. :scroll: [eng] noUML explained by Vladimir Frolov, part2

Software Development Methodologies

  1. :film_strip: [rus] Who is who in Software Development: Developer, QA, BA, PM - who are those people? by FoxMinded
  2. :film_strip: [rus] Phases
  3. :film_strip: [rus] Methodologies

Debugging

  1. :film_strip: [rus] Debugging, lecture from FPMI, part1
  2. :film_strip: [rus] Debugging, lecture from FPMI, part2
  3. :scroll: [eng] Debugging tips
  4. :scroll: [eng] 10 Debugging Tips for Beginners: How to Troubleshoot and Fix Your Code Without Pulling Your Hair Out By Hartley Brody

Testing

  1. :film_strip: [rus] Unit Testing in Software Development
  2. :film_strip: [eng] TTD vs BDD 1
  3. :film_strip: [eng] TTD vs BDD 2
  4. :scroll: [eng] Unit Tests vs Functional Tests
  5. :film_strip: [eng] TTD crash course
  6. :film_strip: [eng] BDD

TTD in Java

  1. Go to "TestNG" and "Mockito" subsections below under "Java Frameworks" section.

BDD in Java

  1. Go to "Serenity BDD" subsection below under "Java Frameworks" section.

TTD in JavaScript

  1. Go to "Jest" subsection below under "Java Script Frameworks" section.
  2. :film_strip: [eng] React Unit Testing

IDEs

IntelliJ Idea

  1. :film_strip: [eng] IntelliJ Idea Full Course by Amigoscode

Linux

  1. :film_strip: [eng] 6 Things to Know When Switching to Linux from Windows by Chris Titus
  2. :film_strip: [eng] 6 Mistakes New Linux Users Make by Chris Titus
  3. :film_strip: [rus] Unix philosophy by unixway
  4. :film_strip: [eng] 5 Things I Hate About Linux by Chris Titus

Linux Distributions

  1. :film_strip: [eng] Which Linux Distribution? | Understanding Linux Distros by Chris Titus
  2. :film_strip: [eng] How to Choose a Linux Distribution by Chris Titus
  3. :scroll: [eng] GNU/Linux Distributions Timeline
  4. :film_strip: [eng] Debian vs Arch by Chris Titus
  5. :film_strip: [eng] Why Ubuntu is the Devil and Why So Many No Longer Use It by Chris Titus

Command line

  1. :film_strip: [eng] 15 Useful Linux Commands Every Linux User Needs | Learning Terminal Part 1
  2. :film_strip: [eng] 15 Useful Linux Commands Every Linux User Needs | Learning Terminal Part 2

Bash

  1. :film_strip: [eng] Bash tutorial

Sh

  1. :scroll: [eng] How to Linux sh command
  2. :scroll: [eng] How to sh(1) - Linux man page

zsh+OhMyZsh+fzf+powerlevel10k

  1. :scroll: [eng] zsh+OhMyZsh+fzf+powerlevel10k: Your terminal can be much, MUCH more productive by Ivan
  2. :scroll: [eng] fzf: Why you should be using fzf, the command line fuzzy finder by Alexey Samoshkin

User Access Permissions

  1. :scroll: [eng] How to Create Users in Linux (useradd Command)
  2. :scroll: [eng] Users and groups
  3. :scroll: [eng] Access Control Lists

Fish

  1. :scroll: [eng] fish Tutorial
  2. :scroll: [eng] fish Documentation

Package Managers

  1. :scroll: [eng] 5 Best Linux Package Managers for Linux Newbies
  2. :scroll: [eng] Best Linux Package Managers

Tips & Tricks

  1. :scroll: [eng] Awesome Linux Configuration Scripts by Alliedium
  2. :film_strip: [eng] Git Bare Repository - A Better Way To Manage Dotfiles by DistroTube

Linux Utilities

  1. :film_strip: [eng] Linux Apps I Use Daily by Chris Titus
  2. :film_strip: [eng] Linux Apps I Use At Work by Chris Titus

tmux

  1. :film_strip: [rus] Console Utility tmux by unixway

systemd

  1. :scroll: [eng] Beginners Guide on systemd tutorial in Linux

Network Manager

  1. :scroll: [eng] Configuring IP Networking with nmtui
  2. :scroll: [eng] Configuring IP Networking with nmcli

Arch Linux, Manjaro

  1. :film_strip: [rus] Arch Linux basics
  2. :film_strip: [rus] Arch Linux pacman
  3. :film_strip: [rus] Arch Linux AUR
  4. :film_strip: [rus] Arch Linux vs Manjaro

LVM

  1. :film_strip: [rus] LVM: Theory and practice by unixway

SSH

  1. :film_strip: [rus] OpenSSH basics by unixway
  2. :film_strip: [eng] SSH config basics

Linux Filesystems

  1. :film_strip: [eng] File Systems | Which One is the Best? ZFS, BTRFS, or EXT4 by Chris Titus
  2. :scroll: [eng] Classic SysAdmin: The Linux Filesystem Explained

ZFS

  1. :film_strip: [eng] What Is ZFS?: A Brief Primer by Level1Linux
  2. :film_strip: [rus] ZFS filesystem by unixway

Desktop Environments

KDE

  1. :film_strip: [eng] How to Customize KDE | KDE Customization by Chris Titus
  2. :film_strip: [eng] KDE is Slow !?! | Disable Baloo File Indexer by Chris Titus

Image Editing

GIMP

  1. :film_strip: [eng] GIMP vs Photoshop | How to Optimize Your Workflow by Chris Titus

Video Editing

Kdenlive

  1. :film_strip: [eng] Kdenlive Tutorial 2019 - Beginner Basics by Victoriano de Jesus
  2. :film_strip: [eng] 2020 Kdenlive Video Tutorials by Victoriano de Jesus
  3. :film_strip: [eng] Kdenlive Cinematic Title Animation by makinars

Text Editing

Vim

  1. :film_strip: [eng] Vim Basics in 8 Minutes by tutorialLinux

LibreOffice

  1. :film_strip: [eng] Microsoft Office vs LibreOffice | How to Make the Change by Chris Titus

Windows

  1. :film_strip: [eng] 17 Reasons Why I Do Not Use Windows 10 by Chris Titus
  2. :film_strip: [eng] Speed Up Windows 10 in 2020 by Chris Titus

FreeBSD

  1. :scroll: [eng] FreeBSD Basics

MacOs

  1. :scroll: [eng] A Complete Beginner's Guide to macOS: Get Started in Just 1 Hour

Source Control

Git

  1. :film_strip: [eng] Git Tutorial - Learn Git in 1 Hour by Mosh
  2. :film_strip: [rus] Git Basic Training
  3. :scroll: [eng] Awesome Git Exerises by Alliedium
  4. :scroll: [eng] Git exercies online by fracz

Security

KeePassXC

  1. :film_strip: [eng] Introduction to KeePassXC

iptables

  1. :film_strip: [eng] iptables: getting started
  2. :film_strip: [rus] Iptables detailed tutorial

Databases

SQL

  1. :film_strip: [eng] SQL Tutorial | PostgreSQL | Full Course by Amigoscode

Apache Ignite

  1. :film_strip: [eng] [eng] Getting started with Apache Ignite part 1
  2. :film_strip: [eng] Getting started with Apache Ignite part 2
  3. :film_strip: [eng] Getting started with Apache Ignite part 3
  4. :film_strip: [eng] Getting started with Apache Ignite part 4
  5. :film_strip: [eng] Moving Apache Ignite into Production: Best Practices for Distributed Transactions
  6. :scroll: [eng] Boosting Jira Cloud App Development with Apache Ignite and Spring Boot
  7. :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

  1. :film_strip: [rus] Java Overview by FoxMinded
  2. :film_strip: [rus] Java Application Development: the first steps by FoxMinded
  3. :scroll: [eng] AWESOME JAVA: A curated list of awesome frameworks, libraries and software for the Java programming language.
  4. :film_strip: [rus] What is a Java server, comparison of Java Servers: Tomcat, Jetty, Wildfly, Glassfish, IBM WebSphere, Oracle WebLogic
  5. :film_strip: [eng] Java Tutorial for Beginners by Mosh
  6. :film_strip: [rus] [rus] [rus] Java For Beginners by FoxMinded
  7. :film_strip: [rus] [rus] Why it is bad to return NULL in Java
  8. :film_strip: [rus] Never ever use Lombok! Why this library is bad by FoxMinded
  9. :book: Thinking in Java, Bruce Eckel, 4th edition
  10. :scroll: [eng] Java Tutorials by JournalDev

Code Style

  1. :scroll: [eng] Checkstyle is a tool for enforcing a Code Standard in Java
  2. :scroll: [eng] Jenkins Warnings Next Generation Plugin
  3. :scroll: [eng] How to Centralize your Checkstyle Configuration with Maven

Build Tools

Maven
  1. :film_strip: [eng] Simple Explanation of Maven and pom.xml
  2. :scroll: [eng] Maven Tutorial
  3. :scroll: [eng] Multi-Module Maven Project by Baeldung

Java Frameworks

  1. :film_strip: [rus] Which Java Frameworks you should know by FoxMinded
Java Collections Framework
  1. :scroll: [eng] Java Collections Framework official documentation
ExecutorService
  1. :scroll: [eng] ExecutorService - 10 tips and tricks
  2. :scroll: [eng] InterruptedException and interrupting threads explained
TestNG
  1. :scroll: [eng] Introduction to TestNG
  2. :scroll: [eng] Why TestNG is better than JUnit
  3. :film_strip: [eng] Java Unit Testing with TestNG and Mockito
  4. :book: Practical Unit Testing with TestNG and Mockito, Tomek Kaczanowski
Mockito
  1. :scroll: [eng] Unit Tests with Mockito: Tutorial
  2. :scroll: [eng] Mockito in six easy examples
  3. :scroll: [ru] A sip of Mockito
  4. :scroll: [eng] Mockito - Quick Guide
  5. :scroll: [eng] Mockito When/Then Cookbook
  6. :scroll: [eng] Usage of Mockito
  7. :scroll: [eng] Mocking with Mockito: advanced techniques
  8. :book: Practical Unit Testing with JUnit and Mockito, Tomek Kaczanowski
Serenity BDD
  1. :scroll: [eng] How to implement test automation using Serenity
  2. :scroll: [eng] Serenity BDD official documentation
  3. :scroll: [eng] JBehave vs Cucumber JVM comparison
Hibernate
  1. :film_strip: [rus] What is JDBC? What is ORM, Hibernate & JPA? by FoxMinded
  2. :film_strip: [eng] Getting started with Hibernate
  3. :film_strip: [rus] Spring Boot JPA(Hibernate): let's add a database to our Java-based website by letsCode
  4. :film_strip: [eng] Hibernate Tutorial, Full Course
Spring Boot
  1. :film_strip: [eng] Spring Boot Tutorial for Beginners by freeCodeCamp.org
  2. :film_strip: [rus] Comparing Spring and JavaEE by FoxMinded
  3. :film_strip: [rus] Spring Boot 2: let us build a simple website together! by letsCode
  4. :scroll: [eng] Boosting Jira Cloud App Development with Apache Ignite and Spring Boot
Spring Boot Dev Tools
  1. :scroll: [eng] Faster Development with Spring Boot DevTools
  2. :scroll: [eng] Optimize Your Dev Loop with Spring Boot Dev Tools

JavaScript

  1. :film_strip: [eng] Java Script Tutorials by Mosh
  2. :scroll: [eng] AWESOME JAVASCRIPT: A collection of awesome browser-side JavaScript libraries, resources and shiny things

JavaScript frameworks, Tools and Runtimes

Node.js
  1. :film_strip: [eng] Node.js Tutorial for Beginners: Learn Node in 1 Hour by Mosh
  2. :scroll: [eng] AWESOME NODEJS: Delightful Node.js packages and resources
Babel
  1. :film_strip: [eng] What is Babel and why you need it? Introduction to Babel
Jest
  1. :film_strip: [rus] Jest: Unit Testing in Java Script
React
  1. :film_strip: [eng] React Tutorial for Beginners [React js]
  2. :scroll: [eng] AWESOME REACT: A collection of awesome things regarding React ecosystem
  3. :film_strip: [eng] React in 30 minutes
  4. :film_strip: [eng] Learn useState In 15 Minutes - React Hooks Explained
  5. :film_strip: [eng] Learn useEffect In 13 Minutes
  6. :film_strip: [eng] Redux Tutorial - Learn Redux from Scratch
  7. :film_strip: [eng] React Unit Testing

Python

  1. :film_strip: [eng] Python Tutorial - Python for Beginners [2020]
  2. :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

  1. :film_strip: [eng] DevOps explained by IBM
  2. :scroll: [eng] What is DevOps, DevOps lifecycle
  3. :scroll: [eng] Continuous Delivery vs Continuous Deployment
  4. :scroll: [eng] DevOps exercies by Bregman Arie

Ansible

  1. :film_strip: [eng] What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners by Simplilearn
  2. :film_strip: [eng] You need to learn Ansible RIGHT NOW!! (Linux Automation) by NetworkChuck

Virtualization

  1. :film_strip: [eng] Virtualization Explained
  2. :film_strip: [eng] Introduction to Virtualization by Chris Titus
  3. :film_strip: [eng] Virtualization Explained | Docker | VMware | QEMU | Virtualbox by
  4. :film_strip: [eng] Stop using Virtualbox, Here's how to use QEMU instead
  5. :scroll: [eng] QEMU/KVM — Virtualization on Linux
  6. :film_strip: [rus] KVM Virtualization. Part 1 by unixway
  7. :scroll: [rus] What is Hypervisor, what's its role in virtualization, types, comparison
  8. :scroll: [rus] Virtualization systems. Compare the VMware, Hyper-V, KVM, Xen
  9. :scroll: [eng] Compare the Top Hypervisors of 2022

Proxmox

  1. :scroll: [eng] Comparing Server Virtualization Software. Why choose Proxmox VE for your workloads?
  2. :film_strip: [eng] Virtualize Everything! - Proxmox Install Tutorial by Craft Computing
  3. :film_strip: [eng] Proxmox VE 6.0 Beginner Tutorial - Installing Proxmox & Creating a virtual machine by Proxmox HHS
  4. :film_strip: [eng] Virtualize Windows 10 with Proxmox VE by Techno Tim
  5. :film_strip: [rus] Proxmox tutorial by realmanual

Xen

  1. :film_strip: [eng] Getting Started Tutorial: Building An Open Source XCP-NG & Xen Orchestra Virtualization Lab

Open vSwitch

  1. :scroll: [eng] Production Quality, Multilayer Open Virtual Switch

Containers and Container Orchestration

  1. :scroll: [eng] What is a container?
  2. :film_strip: [rus] From Docker to Kubernetes: historical retrospective by unixway. From 10:48

LXC

  1. :scroll: [eng] What's LXC?
  2. :scroll: [rus] LXC Containers in Linux
  3. :scroll: [eng] LXC on gentoo wiki
  4. :scroll: [rus] LXC aka Linux Container: simple and reliable

Docker

Basics

  1. :film_strip: [rus] Docker basics
  2. :scroll: [eng] Docker Interview Questions
  3. :scroll: [eng] Docker Exercises by Bregman Arie
  4. :film_strip: [eng] Portainer - Lightweight Management UI for Docker

Architecture (containerd, CRI-O and runc)

  1. :scroll: [eng] The differences between Docker, containerd, CRI-O and runc
  2. :scroll: [rus] The differences between Docker, containerd, CRI-O and runc
  3. :scroll: [eng] Docker vs containerd vs CRI-O: An In-Depth Comparison

Distributions (Docker, nerdctl + Rancher Desktop)

  1. :film_strip: [eng] How To Replace Docker With nerdctl And Rancher Desktop

How to configure on different platforms

  1. :scroll: [eng] Install Docker Desktop on Windows
  2. :scroll: [eng] Install Docker Desktop on Mac
  3. :scroll: [eng] Install Docker Desktop on Linux

Sample application

  1. :scroll: [eng] Get the app contents, build image, start container
  2. :scroll: [eng] Update the application
  3. :scroll: [eng] Share the application
  4. :scroll: [eng] Persist data

Best practices for building containers

  1. :scroll: [eng] Best practices for building containers
  2. :scroll: [eng] Docker Images : Part I - Reducing Image Size
  3. :scroll: [eng] Docker Images : Part II - Details Specific To Different Languages
  4. :scroll: [eng] Docker Images : Part III - Going Farther To Reduce Image Size
  5. :scroll: [eng] Faster CI Builds with Docker Layer Caching and BuildKit
  6. :scroll: [eng] Advanced Dockerfiles: Faster Builds and Smaller Images Using BuildKit and Multistage Builds
  7. :scroll: [eng] Docker build cache sharing on multi-hosts with BuildKit and buildx
  8. :scroll: [eng] Speed up multi-stage Docker builds in CI/CD with Buildkit’s registry cache
  9. :scroll: [eng] Docker ARG vs ENV
  10. :scroll: [rus] ENTRYPOINT vs CMD: Back to Basics
  11. :scroll: [eng] docker build with --build-arg with multiple arguments
  12. :scroll: [eng] specifying .dockerignore file
  13. :scroll: [eng] Specify dockerignore from command line
  14. :scroll: [eng] Explore Docker layers using Dive
  15. :scroll: [eng] Docker Cache – How to Do a Clean Image Rebuild and Clear Docker's Cache
  16. :scroll: [eng] Tag an image for a private repository

GPU pass-through

  1. :scroll: [eng] How to Properly Use the GPU within a Docker Container
  2. :scroll: [eng] A Dockerfile for training model in PyTorch with GPU

Advanced

  1. :scroll: [eng] Dockerfile reference: FROM
  2. :scroll: [eng] Dockerfile reference: ARG
  3. :scroll: [eng] Dockerfile reference: COPY
  4. :scroll: [eng] Dockerfile reference: LABEL
  5. :scroll: [eng] Dockerfile reference: USER
  6. :scroll: [eng] Dockerfile reference: SHELL
  7. :scroll: [eng] docker build
  8. :scroll: [eng] docker builder prune
  9. :scroll: [eng] Comparing Four Hosted Docker Registries
  10. :scroll: [eng] Shipping images with a registry

Docker compose

  1. :scroll: [eng] Docker Compose Tutorial
  2. :scroll: [eng] docker-compose build
  3. :scroll: [eng] How to define build-args in docker-compose?
  4. :scroll: [eng] Kompose (translate Docker Compose file into Kubernetes resources)

Kubernetes

  1. :film_strip: [rus] Kubernetes video tutorial
  2. :scroll: [eng] Setting up a Kubernetes cluster with Kubespray
  3. :scroll: [eng] Kubernetes exercies by Bregman Arie

Local Distributions

k3s/k3d

  1. :scroll: [eng] K3s Server Configuration Reference
  2. :film_strip: [eng] DOT. K3d - How to run Kubernetes cluster locally using Rancher K3s

minikube

  1. :film_strip: [eng] Minikube Basics and How to Get Started with Kubernetes by Peter Jausovec

Kubernetes Tools

  1. :scroll: [eng] Kubernetes Essential Tools: 2021
  2. :scroll: [rus] Kubernetes Essential Tools: 2021

kubectl

  1. :film_strip: [rus] Intro to Kubernetes, Part 2 by unixway

Lens

  1. :film_strip: [eng] DOT. Lens - Kubernetes IDE and Dashboard

Kubernetes Objects

  1. :film_strip: [rus] Intro to Kubernetes, Part 2 by unixway. From 05:04
  2. :film_strip: [rus] Intro to Kubernetes, Part 3 by unixway
  3. :scroll: [eng] Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what?
  4. :scroll: [rus] Kubernetes: ClusterIP vs NodePort vs LoadBalancer, Services and Ingress – survey, examlpes
  5. :scroll: [eng] Publishing Services (ServiceTypes)
  6. :scroll: [eng] Jobs
  7. :scroll: [eng] Deployments
  8. :scroll: [eng] K8s: Deployments vs StatefulSets vs DaemonSets

Ingress

  1. :scroll: [eng] NGINX Ingress Controller. Installation Guide
  2. :film_strip: [rus] Intro to Kubernetes, Part 4 by unixway. From 29:16

Applying manifests

  1. :film_strip: [rus] Intro to Kubernetes, Part 3 by unixway. From 05:51

Kubernetes Operators

  1. :film_strip: [rus] What are Kubernetes Operators?
  2. :scroll: [eng] Operator for Apache CouchDB

Stateful workloads in Kubernetes

  1. :film_strip: [eng] Stateful Kubernetes Applications - Ask Me Anything

Longhorn

  1. :scroll: [eng] Install Longhorn on Kubernetes

Running a database in k8s as an example

  1. :film_strip: [rus] Intro to Kubernetes, Part 5 by unixway

Kubernetes manifest parameterization

Kustomize

  1. :scroll: [eng] Declarative Management of Kubernetes Objects Using Kustomize

Helm

  1. :scroll: [eng] 13 Best Practices for using Helm
  2. :scroll: [eng] The Chart Best Practices Guide
  3. :scroll: [eng] Values Files
  4. :scroll: [eng] Helm install in certain order (stackoverflow)
  5. :scroll: [eng] Chart Hooks
  6. :scroll: [eng] Helm Rollback

Kubernetes monitoring

Prometheus

  1. :scroll: [eng] What is Prometheus? | When does it fit? | When does it not fit?
  2. :scroll: [eng] Prometheus Operator packaged by Bitnami
  3. :scroll: [eng] Using Custom Prometheus with Lens app

Grafana

  1. :scroll: [rus] Grafana - yet another tool for technical monitoring
  2. :scroll: [eng] Grafana project
  3. :scroll: [eng] Grafana Operator packaged by Bitnami

Networks

OSI/TCP/IP

  1. :scroll: [eng] The OSI Model
  2. :scroll: [eng] The TCP/IP Model

BGP

  1. :scroll: [eng] What is BGP? | BGP routing explained
  2. :scroll: [eng] BGP (Border Gateway Protocol)

HTTPS

TLS certificates

  1. :scroll: [eng] Configuring custom SSL/TLS certificates

ACME

  1. :scroll: [rus] The ACME protocol has been approved as an IETF standard
  2. :scroll: [eng] ACME Protocol: What it is and how it works
  3. :scroll: [eng] How It Works

TCP

  1. :scroll: [rus] TCP/IP for Beginners
  2. :scroll: [eng] Transmission Control Protocol
  3. :scroll: [eng] Linux in the Network

VXLAN

  1. :film_strip: [eng] VxLAN | Issues with traditional vlan | VXLAN benifits explained | free ccna 200-301
  2. :scroll: [eng] Virtual Extensible LAN
  3. :scroll: [eng] VXLAN Virtual eXtensible Local Area Network
  4. :film_strip: [eng] VxLAN | Part 1 - How VxLAN Works

REST API

  1. :film_strip: [eng] REST API explained by Mosh
  2. :film_strip: [eng] Autogenerating Swagger Documentation with Node & Express
  3. :film_strip: [rus] REST API testing via Postman

GraphQL

  1. :scroll: [eng] Introduction to GraphQL by Udara Bibile
  2. :scroll: [eng] GraphQL With Python Flask by Manish Jain
  3. :scroll: [eng] Schema-First GraphQL: The Road Less Travelled by Jakub Draganek

CI/CD

GitHub

  1. :film_strip: [eng] GitHub CLI - How to manage repositories more efficiently

GitHub Actions

  1. :film_strip: [eng] Github Actions Review And Tutorial

GitLab

  1. :film_strip: [eng] GitLab CI CD Tutorial for Beginners [Crash Course]

Jenkins

  1. :scroll: [eng] Jenkins Pipeline Tutorial
  2. :scroll: [eng] Continuous Integration with Jenkins
  3. :film_strip: [rus] Jenkins Video Course in Russian
  4. :scroll: [eng] Jenkins CheatSheet
  5. :scroll: [eng] Jenkins Interview Questions
  6. :scroll: [eng] jenkins.io - User handbook
  7. :film_strip: [end] CI CD Pipeline Using Jenkins

ArgoCd

  1. :film_strip: [eng] Argo CD - Applying GitOps Principles To Manage A Production Environment In Kubernetes
  2. :film_strip: [eng] Environments Based On Pull Requests (PRs): Using Argo CD To Apply GitOps Principles On Previews
  3. :film_strip: [eng] Koncrete - GitOps As A Service With Argo CD
  4. :film_strip: [eng] GitOps Without Pipelines With ArgoCD Image Updater

Argo Workflows

  1. :film_strip: [eng] Argo Workflows and Pipelines - CI/CD, Machine Learning, and Other Kubernetes Workflows
  2. :film_strip: [eng] Argo Events - Event-Based Dependency Manager for Kubernetes
  3. :film_strip: [eng] Automation of Everything - How To Combine Argo Events, Workflows & Pipelines, CD, and Rollouts

Cloud

Infrastructure as Code

Crossplane

  1. :film_strip: [eng] What Is Kubernetes (k8s)? Kubernetes Explained
  2. :film_strip: [eng] Crossplane - GitOps-based Infrastructure as Code through Kubernetes API
  3. :film_strip: [eng] How To Apply GitOps To Everything - Combining Argo CD And Crossplane
  4. :scroll: [eng] Crossplane Documentation. Overview
  5. :scroll: [eng] Crossplane Documentation. Install & Configure
  6. :scroll: [eng] Crossplane Documentation. Provision Infrastructure
  7. :scroll: [eng] Crossplane Documentation. Terminology
  8. :scroll: [eng] Crossplane project on GitHub
  9. :scroll: [eng] provider-aws: Crossplane infrastructure provider for Amazon Web Services
  10. :scroll: [eng] provider-aws Documentation
  11. :scroll: [eng] What is the AWS CDK? - AWS Cloud Development Kit (CDK) v2
  12. :scroll: [eng] CRD is just a table in Kubernetes
  13. :scroll: [rus] CRD is just a table in Kubernetes
  14. :scroll: [eng] Kubernetes Custom Resources
  15. :scroll: [eng] provider-aws Custom Resource Definitions
  16. :scroll: [eng] LocalStack
  17. :scroll: [eng] LocalStack Documentation. AWS Service Feature Coverage
  18. :scroll: [rus] GitOps approach, its pros and cons
  19. :scroll: [eng] Environment variables to configure the AWS CLI - AWS Command Line Interface
  20. :scroll: [eng] AWS Reference Platform for Kubernetes + Data Services
  21. :scroll: [eng] LocalStack AWS CLI

Microservices

Devspace

  1. :scroll: [eng] What is DevSpace?
  2. :scroll: [eng] Onboarding Guide
  3. :scroll: [eng] Image Building
  4. :scroll: [eng] Deployments
  5. :scroll: [eng] Development Mode
  6. :scroll: [eng] Config Variables
  7. :scroll: [eng] Config Profiles