We are not original, history repeats itself and bugs are no exception. The vast majority of the bugs we experience are common and a reply of a previous bug that often times we faced in the past. The power is in recognizing that pattern of failure when we run into it.
Learn to debug like a senior developer with this comprehensive debugging course. To learn more check out debugagent.com/
This video is a part of the second module covering debugging theory. Here we discuss the process that we need to follow when running into a bug. Ever spent all night on a bug only to find out it was a "stupid" thing that you missed in the beginning? We all have! There's a systematic process for tracking an issue that reduces the chance of this recurring.
By leveraging these tools and techniques you will gain access to the secret weapon of senior developers and consultants. This will make you a better developer and a happier one. Stop treating debugging like throwing out the garbage and treat it as a skill that you should improve.
In the following modules we cover:
* Debugging Theory - Ever spent all night on a bug only to find out it was a "stupid" thing that you missed in the beginning? We all have! There's a systematic process for tracking an issue that reduces the chance of this recurring.
* Tooling - Is your debugging session limited to the IDE? What do you do when there's a dead end or the problem only happens in the release version of your application? That's where external tooling can take you to the next level as a developer.
* Code - This isn't a course on coding. You should know how to do that before you start. But how do you write code that's easier to debug? Code that fails in predictable ways. Code whose failures are easy to understand and track. Code that doesn't drain your bank account because it overuses cloud resources.
* Kubernetes - Not only is Kubernetes hostile to debugging, it does that on a scale that creates its own set of problems. Add the complexity of production debugging to the mix and we've got a new set of problems.
* Serverless - Kubernetes has an ephemeral state problem, serverless takes that problem to a completely new level.
* Fullstack - As we chase a bug we need to venture outside our comfort zone. To tiers and tools we might not be as comfortable with. In this module we'll discuss debugging the frontend and the database to create a tongs motion around the bug.
* Observability - Production debugging is really about observability. Yet so many of us leave these tools to the DevOps team. In this module we'll cover these tools from a developer perspective.
The full course includes more than 5 hours of video material.
00:00 Introduction
00:15 Problems Shift
01:16 Wrong State
01:38 Exceptions or Faults
03:29 Core Dumps
04:15 Bad Application State
05:29 Hardcoded State
06:26 Duplicate State
07:21 Concurrency, Timing and Races
08:27 Deadlocks
09:07 Livelocks
10:43 Timing Issues
11:41 Performance
12:35 Resource Starvation
15:01 Final Word
28 июл 2024