Code Monkey home page Code Monkey logo

awesome-software-engineering's Introduction

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 โžฟ Design Patterns
๐Ÿ›€ Clean Code ๐Ÿ”ฆ Clean Architecture ๐Ÿ”ง Refactoring
๐Ÿงช Science ๐Ÿ” UML & noUML ๐Ÿ“œ Software Development Methodologies
๐ŸŽ“OOP ๐Ÿ Debugging ๐Ÿ’ช Testing
๐Ÿค– IDEs ๐Ÿงต Security ๐Ÿท๏ธ Programming Languages
๐Ÿ—ž๏ธ Databases ๐Ÿ“ก Java ๐Ÿ—บ๏ธ Python
๐Ÿ“ฅ JavaScript ๐ŸŒ Rust ๐Ÿ”ฌ Julia
๐Ÿ”ง OSI/TCP/IP ๐Ÿ”ง BGP ๐Ÿ”ง TLS certificates ๐Ÿ”ง ACME
๐Ÿ”ง TCP ๐Ÿ”ง VXLAN ๐Ÿ”ด REST API ๐Ÿงฉ GraphQL
๐Ÿ““ Linux โ” Windows โ” FreeBSD โ” MacOs โœจ Virtualization
๐Ÿ“Š SSH ๐Ÿ”– Git ๐Ÿ“  Vim ๐Ÿ“  Fish โœจ Proxmox
๐ŸŽป LibreOffice ๐Ÿ’Ž Kdenlive โœ’๏ธGIMP ๐Ÿ”ง Package Managers โœจ Xen
๐Ÿ“š ZFS โ›ณ LVM ๐ŸŽน tmux ๐Ÿงฎ systemd
๐Ÿ”ง Network Manager ๐Ÿงฎ Ansible ๐Ÿƒ Docker ๐ŸŒŒ Kubernetes
๐Ÿ” KeePassXC ๐Ÿ—ฟ iptables
๐Ÿ”ง GitHub Actions ๐Ÿ”ง Jenkins ๐Ÿ”ง ArgoCd ๐Ÿ”ง Argo Workflows

Fundamentals

OOP

  1. ๐ŸŽž๏ธ [rus] What is OOP by FoxMinded
  2. ๐ŸŽž๏ธ [rus] OOP: Incapsulation explained by FoxMinded
  3. ๐ŸŽž๏ธ [rus] OOP: Inheritance explained by FoxMinded
  4. ๐ŸŽž๏ธ [rus] OOP: Polymorphism by explained by FoxMinded
  5. ๐ŸŽž๏ธ [eng] OOP explained by Mosh
  6. ๐Ÿ“œ [eng] Why OOP is not a silver bullet
  7. ๐Ÿ“œ [eng] Inheritance vs Composition. Which should you use?

Common mistakes

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

Code Review

  1. ๐ŸŽž๏ธ [eng] How to Review Someone Else's Code by Codecademy
  2. ๐ŸŽž๏ธ [eng] Code Review Best Practices by JetBrains

Code Style

  1. ๐Ÿ“œ [rus] Code style as a standard of software development

Data Structures and Algos

  1. ๐ŸŽž๏ธ [eng] Data Structures and Algorithms by Mosh

Common principles

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

Design Patterns

  1. ๐ŸŽž๏ธ [eng] Design Patterns by Mosh
  2. ๐Ÿ“– Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
  3. ๐ŸŽž๏ธ [rus] Design patterns (brief)
  4. ๐ŸŽž๏ธ [rus] Design patterns (full)
  5. ๐Ÿ“œ [eng] Java Design Patterns - online catalog
  6. ๐Ÿ“œ [eng] The Builder pattern vs Java syntax
  7. ๐Ÿ“œ [eng] Awesome Software and Architectural Design Patterns

Clean Architecture

  1. ๐Ÿ“– Clean Architecture, A Craftsman's Guide to Software Structure And Design, Robert C. Martin
  2. ๐ŸŽž๏ธ [rus] SOLID principles & Architecture: a lecture from FPMI

Clean Code

  1. ๐ŸŽž๏ธ [rus] Clean Code lecture by FoxMinded
  2. ๐Ÿ“– Clean Code: A Handbook of Agile Software Craftsmanship,Robert C. Martin

Refactoring

  1. ๐Ÿ“– Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, 2st edition
  2. ๐ŸŽž๏ธ [rus] Refactoring lectures by FoxMinded
  3. ๐Ÿ“œ [eng] The Art of Refactoring: 5 Tips to Write Better Code
  4. ๐Ÿ“œ [eng] Code Refactoring Best Practices: When (and When Not) to Do It

Science

  1. ๐Ÿ“œ [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. ๐ŸŽž๏ธ [eng] A brief UML tutorial by Lucidchart
  2. ๐ŸŽž๏ธ [eng] A detailed UML tutorial by Derek Banas
  3. ๐Ÿ“œ [eng] noUML explained, UML criticism by Vladimir Frolov, part1
  4. ๐Ÿ“œ [eng] noUML explained by Vladimir Frolov, part2

Software Development Methodologies

  1. ๐ŸŽž๏ธ [rus] Who is who in Software Development: Developer, QA, BA, PM - who are those people? by FoxMinded
  2. ๐ŸŽž๏ธ [rus] Phases
  3. ๐ŸŽž๏ธ [rus] Methodologies

Debugging

  1. ๐ŸŽž๏ธ [rus] Debugging, lecture from FPMI, part1
  2. ๐ŸŽž๏ธ [rus] Debugging, lecture from FPMI, part2
  3. ๐Ÿ“œ [eng] Debugging tips
  4. ๐Ÿ“œ [eng] 10 Debugging Tips for Beginners: How to Troubleshoot and Fix Your Code Without Pulling Your Hair Out By Hartley Brody

Testing

  1. ๐ŸŽž๏ธ [rus] Unit Testing in Software Development
  2. ๐ŸŽž๏ธ [eng] TTD vs BDD 1
  3. ๐ŸŽž๏ธ [eng] TTD vs BDD 2
  4. ๐Ÿ“œ [eng] Unit Tests vs Functional Tests
  5. ๐ŸŽž๏ธ [eng] TTD crash course
  6. ๐ŸŽž๏ธ [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. ๐ŸŽž๏ธ [eng] React Unit Testing

IDEs

IntelliJ Idea

  1. ๐ŸŽž๏ธ [eng] IntelliJ Idea Full Course by Amigoscode

Linux

  1. ๐ŸŽž๏ธ [eng] 6 Things to Know When Switching to Linux from Windows by Chris Titus
  2. ๐ŸŽž๏ธ [eng] 6 Mistakes New Linux Users Make by Chris Titus
  3. ๐ŸŽž๏ธ [rus] Unix philosophy by unixway
  4. ๐ŸŽž๏ธ [eng] 5 Things I Hate About Linux by Chris Titus

Linux Distributions

  1. ๐ŸŽž๏ธ [eng] Which Linux Distribution? | Understanding Linux Distros by Chris Titus
  2. ๐ŸŽž๏ธ [eng] How to Choose a Linux Distribution by Chris Titus
  3. ๐Ÿ“œ [eng] GNU/Linux Distributions Timeline
  4. ๐ŸŽž๏ธ [eng] Debian vs Arch by Chris Titus
  5. ๐ŸŽž๏ธ [eng] Why Ubuntu is the Devil and Why So Many No Longer Use It by Chris Titus

Command line

  1. ๐ŸŽž๏ธ [eng] 15 Useful Linux Commands Every Linux User Needs | Learning Terminal Part 1
  2. ๐ŸŽž๏ธ [eng] 15 Useful Linux Commands Every Linux User Needs | Learning Terminal Part 2

Bash

  1. ๐ŸŽž๏ธ [eng] Bash tutorial

Sh

  1. ๐Ÿ“œ [eng] How to Linux sh command
  2. ๐Ÿ“œ [eng] How to sh(1) - Linux man page

zsh+OhMyZsh+fzf+powerlevel10k

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

User Access Permissions

  1. ๐Ÿ“œ [eng] How to Create Users in Linux (useradd Command)
  2. ๐Ÿ“œ [eng] Users and groups
  3. ๐Ÿ“œ [eng] Access Control Lists

Fish

  1. ๐Ÿ“œ [eng] fish Tutorial
  2. ๐Ÿ“œ [eng] fish Documentation

Package Managers

  1. ๐Ÿ“œ [eng] 5 Best Linux Package Managers for Linux Newbies
  2. ๐Ÿ“œ [eng] Best Linux Package Managers

Tips & Tricks

  1. ๐Ÿ“œ [eng] Awesome Linux Configuration Scripts by Alliedium
  2. ๐ŸŽž๏ธ [eng] Git Bare Repository - A Better Way To Manage Dotfiles by DistroTube

Linux Utilities

  1. ๐ŸŽž๏ธ [eng] Linux Apps I Use Daily by Chris Titus
  2. ๐ŸŽž๏ธ [eng] Linux Apps I Use At Work by Chris Titus

tmux

  1. ๐ŸŽž๏ธ [rus] Console Utility tmux by unixway

systemd

  1. ๐Ÿ“œ [eng] Beginners Guide on systemd tutorial in Linux

Network Manager

  1. ๐Ÿ“œ [eng] Configuring IP Networking with nmtui
  2. ๐Ÿ“œ [eng] Configuring IP Networking with nmcli

Arch Linux, Manjaro

  1. ๐ŸŽž๏ธ [rus] Arch Linux basics
  2. ๐ŸŽž๏ธ [rus] Arch Linux pacman
  3. ๐ŸŽž๏ธ [rus] Arch Linux AUR
  4. ๐ŸŽž๏ธ [rus] Arch Linux vs Manjaro

LVM

  1. ๐ŸŽž๏ธ [rus] LVM: Theory and practice by unixway

SSH

  1. ๐ŸŽž๏ธ [rus] OpenSSH basics by unixway
  2. ๐ŸŽž๏ธ [eng] SSH config basics

Linux Filesystems

  1. ๐ŸŽž๏ธ [eng] File Systems | Which One is the Best? ZFS, BTRFS, or EXT4 by Chris Titus
  2. ๐Ÿ“œ [eng] Classic SysAdmin: The Linux Filesystem Explained

ZFS

  1. ๐ŸŽž๏ธ [eng] What Is ZFS?: A Brief Primer by Level1Linux
  2. ๐ŸŽž๏ธ [rus] ZFS filesystem by unixway

Desktop Environments

KDE

  1. ๐ŸŽž๏ธ [eng] How to Customize KDE | KDE Customization by Chris Titus
  2. ๐ŸŽž๏ธ [eng] KDE is Slow !?! | Disable Baloo File Indexer by Chris Titus

Image Editing

GIMP

  1. ๐ŸŽž๏ธ [eng] GIMP vs Photoshop | How to Optimize Your Workflow by Chris Titus

Video Editing

Kdenlive

  1. ๐ŸŽž๏ธ [eng] Kdenlive Tutorial 2019 - Beginner Basics by Victoriano de Jesus
  2. ๐ŸŽž๏ธ [eng] 2020 Kdenlive Video Tutorials by Victoriano de Jesus
  3. ๐ŸŽž๏ธ [eng] Kdenlive Cinematic Title Animation by makinars

Text Editing

Vim

  1. ๐ŸŽž๏ธ [eng] Vim Basics in 8 Minutes by tutorialLinux

LibreOffice

  1. ๐ŸŽž๏ธ [eng] Microsoft Office vs LibreOffice | How to Make the Change by Chris Titus

Windows

  1. ๐ŸŽž๏ธ [eng] 17 Reasons Why I Do Not Use Windows 10 by Chris Titus
  2. ๐ŸŽž๏ธ [eng] Speed Up Windows 10 in 2020 by Chris Titus

FreeBSD

  1. ๐Ÿ“œ [eng] FreeBSD Basics

MacOs

  1. ๐Ÿ“œ [eng] A Complete Beginner's Guide to macOS: Get Started in Just 1 Hour

Source Control

Git

  1. ๐ŸŽž๏ธ [eng] Git Tutorial - Learn Git in 1 Hour by Mosh
  2. ๐ŸŽž๏ธ [rus] Git Basic Training
  3. ๐Ÿ“œ [eng] Awesome Git Exerises by Alliedium
  4. ๐Ÿ“œ [eng] Git exercies online by fracz

Security

KeePassXC

  1. ๐ŸŽž๏ธ [eng] Introduction to KeePassXC

iptables

  1. ๐ŸŽž๏ธ [eng] iptables: getting started
  2. ๐ŸŽž๏ธ [rus] Iptables detailed tutorial

Databases

SQL

  1. ๐ŸŽž๏ธ [eng] SQL Tutorial | PostgreSQL | Full Course by Amigoscode

Apache Ignite

  1. ๐ŸŽž๏ธ [eng] [eng] Getting started with Apache Ignite part 1
  2. ๐ŸŽž๏ธ [eng] Getting started with Apache Ignite part 2
  3. ๐ŸŽž๏ธ [eng] Getting started with Apache Ignite part 3
  4. ๐ŸŽž๏ธ [eng] Getting started with Apache Ignite part 4
  5. ๐ŸŽž๏ธ [eng] Moving Apache Ignite into Production: Best Practices for Distributed Transactions
  6. ๐Ÿ“œ [eng] Boosting Jira Cloud App Development with Apache Ignite and Spring Boot
  7. ๐Ÿ“– 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. ๐ŸŽž๏ธ [rus] Java Overview by FoxMinded
  2. ๐ŸŽž๏ธ [rus] Java Application Development: the first steps by FoxMinded
  3. ๐Ÿ“œ [eng] AWESOME JAVA: A curated list of awesome frameworks, libraries and software for the Java programming language.
  4. ๐ŸŽž๏ธ [rus] What is a Java server, comparison of Java Servers: Tomcat, Jetty, Wildfly, Glassfish, IBM WebSphere, Oracle WebLogic
  5. ๐ŸŽž๏ธ [eng] Java Tutorial for Beginners by Mosh
  6. ๐ŸŽž๏ธ [rus] [rus] [rus] Java For Beginners by FoxMinded
  7. ๐ŸŽž๏ธ [rus] [rus] Why it is bad to return NULL in Java
  8. ๐ŸŽž๏ธ [rus] Never ever use Lombok! Why this library is bad by FoxMinded
  9. ๐Ÿ“– Thinking in Java, Bruce Eckel, 4th edition
  10. ๐Ÿ“œ [eng] Java Tutorials by JournalDev

Code Style

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

Build Tools

Maven
  1. ๐ŸŽž๏ธ [eng] Simple Explanation of Maven and pom.xml
  2. ๐Ÿ“œ [eng] Maven Tutorial
  3. ๐Ÿ“œ [eng] Multi-Module Maven Project by Baeldung

Java Frameworks

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

JavaScript

  1. ๐ŸŽž๏ธ [eng] Java Script Tutorials by Mosh
  2. ๐Ÿ“œ [eng] AWESOME JAVASCRIPT: A collection of awesome browser-side JavaScript libraries, resources and shiny things

JavaScript frameworks, Tools and Runtimes

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

Python

  1. ๐ŸŽž๏ธ [eng] Python Tutorial - Python for Beginners [2020]
  2. ๐Ÿ“œ [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. ๐ŸŽž๏ธ [eng] DevOps explained by IBM
  2. ๐Ÿ“œ [eng] What is DevOps, DevOps lifecycle
  3. ๐Ÿ“œ [eng] Continuous Delivery vs Continuous Deployment
  4. ๐Ÿ“œ [eng] DevOps exercies by Bregman Arie

Ansible

  1. ๐ŸŽž๏ธ [eng] What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners by Simplilearn
  2. ๐ŸŽž๏ธ [eng] You need to learn Ansible RIGHT NOW!! (Linux Automation) by NetworkChuck

Virtualization

  1. ๐ŸŽž๏ธ [eng] Virtualization Explained
  2. ๐ŸŽž๏ธ [eng] Introduction to Virtualization by Chris Titus
  3. ๐ŸŽž๏ธ [eng] Virtualization Explained | Docker | VMware | QEMU | Virtualbox by
  4. ๐ŸŽž๏ธ [eng] Stop using Virtualbox, Here's how to use QEMU instead
  5. ๐Ÿ“œ [eng] QEMU/KVM โ€” Virtualization on Linux
  6. ๐ŸŽž๏ธ [rus] KVM Virtualization. Part 1 by unixway
  7. ๐Ÿ“œ [rus] What is Hypervisor, what's its role in virtualization, types, comparison
  8. ๐Ÿ“œ [rus] Virtualization systems. Compare the VMware, Hyper-V, KVM, Xen
  9. ๐Ÿ“œ [eng] Compare the Top Hypervisors of 2022

Proxmox

  1. ๐Ÿ“œ [eng] Comparing Server Virtualization Software. Why choose Proxmox VE for your workloads?
  2. ๐ŸŽž๏ธ [eng] Virtualize Everything! - Proxmox Install Tutorial by Craft Computing
  3. ๐ŸŽž๏ธ [eng] Proxmox VE 6.0 Beginner Tutorial - Installing Proxmox & Creating a virtual machine by Proxmox HHS
  4. ๐ŸŽž๏ธ [eng] Virtualize Windows 10 with Proxmox VE by Techno Tim
  5. ๐ŸŽž๏ธ [rus] Proxmox tutorial by realmanual

Xen

  1. ๐ŸŽž๏ธ [eng] Getting Started Tutorial: Building An Open Source XCP-NG & Xen Orchestra Virtualization Lab

Open vSwitch

  1. ๐Ÿ“œ [eng] Production Quality, Multilayer Open Virtual Switch

Containers and Container Orchestration

  1. ๐Ÿ“œ [eng] What is a container?
  2. ๐ŸŽž๏ธ [rus] From Docker to Kubernetes: historical retrospective by unixway. From 10:48

LXC

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

Docker

Basics

  1. ๐ŸŽž๏ธ [rus] Docker basics
  2. ๐Ÿ“œ [eng] Docker Interview Questions
  3. ๐Ÿ“œ [eng] Docker Exercises by Bregman Arie
  4. ๐ŸŽž๏ธ [eng] Portainer - Lightweight Management UI for Docker

Architecture (containerd, CRI-O and runc)

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

Distributions (Docker, nerdctl + Rancher Desktop)

  1. ๐ŸŽž๏ธ [eng] How To Replace Docker With nerdctl And Rancher Desktop

How to configure on different platforms

  1. ๐Ÿ“œ [eng] Install Docker Desktop on Windows
  2. ๐Ÿ“œ [eng] Install Docker Desktop on Mac
  3. ๐Ÿ“œ [eng] Install Docker Desktop on Linux

Sample application

  1. ๐Ÿ“œ [eng] Get the app contents, build image, start container
  2. ๐Ÿ“œ [eng] Update the application
  3. ๐Ÿ“œ [eng] Share the application
  4. ๐Ÿ“œ [eng] Persist data

Best practices for building containers

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

GPU pass-through

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

Advanced

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

Docker compose

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

Kubernetes

  1. ๐ŸŽž๏ธ [rus] Kubernetes video tutorial
  2. ๐Ÿ“œ [eng] Setting up a Kubernetes cluster with Kubespray
  3. ๐Ÿ“œ [eng] Kubernetes exercies by Bregman Arie

Local Distributions

k3s/k3d

  1. ๐Ÿ“œ [eng] K3s Server Configuration Reference
  2. ๐ŸŽž๏ธ [eng] DOT. K3d - How to run Kubernetes cluster locally using Rancher K3s

minikube

  1. ๐ŸŽž๏ธ [eng] Minikube Basics and How to Get Started with Kubernetes by Peter Jausovec

Kubernetes Tools

  1. ๐Ÿ“œ [eng] Kubernetes Essential Tools: 2021
  2. ๐Ÿ“œ [rus] Kubernetes Essential Tools: 2021

kubectl

  1. ๐ŸŽž๏ธ [rus] Intro to Kubernetes, Part 2 by unixway

Lens

  1. ๐ŸŽž๏ธ [eng] DOT. Lens - Kubernetes IDE and Dashboard

Kubernetes Objects

  1. ๐ŸŽž๏ธ [rus] Intro to Kubernetes, Part 2 by unixway. From 05:04
  2. ๐ŸŽž๏ธ [rus] Intro to Kubernetes, Part 3 by unixway
  3. ๐Ÿ“œ [eng] Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what?
  4. ๐Ÿ“œ [rus] Kubernetes: ClusterIP vs NodePort vs LoadBalancer, Services and Ingress โ€“ survey, examlpes
  5. ๐Ÿ“œ [eng] Publishing Services (ServiceTypes)
  6. ๐Ÿ“œ [eng] Jobs
  7. ๐Ÿ“œ [eng] Deployments
  8. ๐Ÿ“œ [eng] K8s: Deployments vs StatefulSets vs DaemonSets

Ingress

  1. ๐Ÿ“œ [eng] NGINX Ingress Controller. Installation Guide
  2. ๐ŸŽž๏ธ [rus] Intro to Kubernetes, Part 4 by unixway. From 29:16

Applying manifests

  1. ๐ŸŽž๏ธ [rus] Intro to Kubernetes, Part 3 by unixway. From 05:51

Kubernetes Operators

  1. ๐ŸŽž๏ธ [rus] What are Kubernetes Operators?
  2. ๐Ÿ“œ [eng] Operator for Apache CouchDB

Stateful workloads in Kubernetes

  1. ๐ŸŽž๏ธ [eng] Stateful Kubernetes Applications - Ask Me Anything

Longhorn

  1. ๐Ÿ“œ [eng] Install Longhorn on Kubernetes

Running a database in k8s as an example

  1. ๐ŸŽž๏ธ [rus] Intro to Kubernetes, Part 5 by unixway

Kubernetes manifest parameterization

Kustomize

  1. ๐Ÿ“œ [eng] Declarative Management of Kubernetes Objects Using Kustomize

Helm

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

Kubernetes monitoring

Prometheus

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

Grafana

  1. ๐Ÿ“œ [rus] Grafana - yet another tool for technical monitoring
  2. ๐Ÿ“œ [eng] Grafana project
  3. ๐Ÿ“œ [eng] Grafana Operator packaged by Bitnami

Networks

OSI/TCP/IP

  1. ๐Ÿ“œ [eng] The OSI Model
  2. ๐Ÿ“œ [eng] The TCP/IP Model

BGP

  1. ๐Ÿ“œ [eng] What is BGP? | BGP routing explained
  2. ๐Ÿ“œ [eng] BGP (Border Gateway Protocol)

HTTPS

TLS certificates

  1. ๐Ÿ“œ [eng] Configuring custom SSL/TLS certificates

ACME

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

TCP

  1. ๐Ÿ“œ [rus] TCP/IP for Beginners
  2. ๐Ÿ“œ [eng] Transmission Control Protocol
  3. ๐Ÿ“œ [eng] Linux in the Network

VXLAN

  1. ๐ŸŽž๏ธ [eng] VxLAN | Issues with traditional vlan | VXLAN benifits explained | free ccna 200-301
  2. ๐Ÿ“œ [eng] Virtual Extensible LAN
  3. ๐Ÿ“œ [eng] VXLAN Virtual eXtensible Local Area Network
  4. ๐ŸŽž๏ธ [eng] VxLAN | Part 1 - How VxLAN Works

REST API

  1. ๐ŸŽž๏ธ [eng] REST API explained by Mosh
  2. ๐ŸŽž๏ธ [eng] Autogenerating Swagger Documentation with Node & Express
  3. ๐ŸŽž๏ธ [rus] REST API testing via Postman

GraphQL

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

CI/CD

GitHub

  1. ๐ŸŽž๏ธ [eng] GitHub CLI - How to manage repositories more efficiently

GitHub Actions

  1. ๐ŸŽž๏ธ [eng] Github Actions Review And Tutorial

GitLab

  1. ๐ŸŽž๏ธ [eng] GitLab CI CD Tutorial for Beginners [Crash Course]

Jenkins

  1. ๐Ÿ“œ [eng] Jenkins Pipeline Tutorial
  2. ๐Ÿ“œ [eng] Continuous Integration with Jenkins
  3. ๐ŸŽž๏ธ [rus] Jenkins Video Course in Russian
  4. ๐Ÿ“œ [eng] Jenkins CheatSheet
  5. ๐Ÿ“œ [eng] Jenkins Interview Questions
  6. ๐Ÿ“œ [eng] jenkins.io - User handbook
  7. ๐ŸŽž๏ธ [end] CI CD Pipeline Using Jenkins

ArgoCd

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

Argo Workflows

  1. ๐ŸŽž๏ธ [eng] Argo Workflows and Pipelines - CI/CD, Machine Learning, and Other Kubernetes Workflows
  2. ๐ŸŽž๏ธ [eng] Argo Events - Event-Based Dependency Manager for Kubernetes
  3. ๐ŸŽž๏ธ [eng] Automation of Everything - How To Combine Argo Events, Workflows & Pipelines, CD, and Rollouts

Cloud

Infrastructure as Code

Crossplane

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

Microservices

Devspace

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

awesome-software-engineering's People

Contributors

alexandrprodanov avatar boris-karpov avatar emptyshell avatar irublev avatar koppor avatar pgagarinov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-software-engineering's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.