Udemy courses: Git and Docker

I want to recommend a couple of courses on Udemy that I took over the last couple of months. Both helped me gain confidence and knowledge in tools that I use every day: Git and Docker.

The Git & Github Bootcamp

https://www.udemy.com/course/git-and-github-bootcamp/

The following sentence is annoying, but also true: the best time to learn Git was yesterday. Fortunately, the second best time is today! Git is an essential tool for work in any code-related field, from data science to game development to machine learning. This course covers everything you need to know to start using Git and Github in the real-world today!

I think this is one of the most balanced courses I've ever taken on Udemy. The author included everything one needs to understand. He also covered advanced topics like reflogs, hashing, and Git objects. The course teaches command-line usage, yet thanks to GitKraken visualizations used in some lectures, it's easy to understand the difference between branches.

Neither subject is examined too shallowly nor too deeply. I got the exact amount of knowledge to see how things work in relation to my everyday usage and potential problems. There are no extra details that would extend the course unnecessarily, the kind of details you forget in a couple of months.

Content:

  • Introduction to Git, installation and setup
  • Adding and committing files
  • Working with branches
  • Stashing
  • Undoing changes: restore, revert, detached HEAD
  • How to work with GitHub
  • Fetching and pulling
  • Collaboration workflows: feature branches
  • Rebasing
  • Tags
  • Hashing and objects
  • Reflogs
  • Aliases

I'm very happy that I took this course! I enjoyed the presentation style. The lecturer isn't too serious and cracks some silly jokes from time to time, but that doesn't distract. Though some people may find his manner unsuitable for them.

Docker & Kubernetes: The Practical Guide

https://www.udemy.com/course/docker-kubernetes-the-practical-guide/

Docker & Kubernetes are amongst the most in-demand technologies and topics you can learn these days. Why? Because they significantly simplify the development and deployment process of both simple and complex software projects. Especially in web development (though not limited to that), Docker can really take you to the next level!

One of many courses by Maximilian Schwarzmüller that I took, he's quite active on Udemy and other platforms. Some I found extremely good (React), while some are too superficial (Golang) for my liking. His guide on Docker and Kubernetes is rather on the React side of the spectrum. It takes almost 24 hours and covers everything from simple manually written Docker commands to deployment to Amazon Web Services.

I'd say that sometimes it can be too much. With about 6 hours dedicated to this topic in great detail, it can be hard to find this information relevant to your job. As a test engineer, I don't configure AWS deployments! Nevertheless, it's always good to know a little bit more about things happening around me. And even if I forget something, I can always come back and refresh my knowledge once the need to tinker with AWS or another cloud provider arises.

Content:

  • Docker Images & Containers: The Core Building Blocks
  • Managing Data & Working with Volumes
  • Networking: (Cross-)Container Communication
  • Building Multi-Container Applications with Docker
  • Docker Compose: Elegant Multi-Container Orchestration
  • Working with "Utility Containers" & Executing Commands In Containers
  • A More Complex Setup: A Laravel & PHP Dockerized Project
  • Deploying Docker Containers
  • Docker & Containers - A Summary
  • Getting Started with Kubernetes
  • Kubernetes in Action - Diving into the Core Concepts
  • Managing Data & Volumes with Kubernetes
  • Kubernetes Networking
  • Kubernetes - Deployment (AWS EKS)

While you might not be interested in all these subjects, I think Max is great at explaining complex things in simple words.