Practical Debugging at Scale: Defining Failure - P. 30 |DebugAgent.com
What's a failure in programming? A crash would be the first response out of the mouth of the vast majority of developers. But that's probably one of the least problematic failures. In many cases, a failure is a "good thing" and should be encouraged as discussed in the previous video in the series (fail-fast). This video is the direct sequel and in it we discuss the types of failure and how/where we should deal with them. Learn to debug like a senior developer with this comprehensive debugging course. To learn more check out https://debugagent.com/ This video is a part of the third module covering debugging tools. 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. 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. * 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:10 Failure can be Binary 00:55 Some Failures are Insidious 01:32 Microservices and Cloud Sent Us Back 02:14 Don't Fix the Bug 03:20 Debugging Failure 04:00 Throw Exceptions 04:16 Enforce with Unit Tests 04:28 Test External Source Failures 04:38 Low Timeouts/Low Retries 05:00 Bad Data can Cascade 06:04 Hybrid 07:03 Production Differences 07:53 Debugging Starts in the Code 08:22 Final Word
Download
0 formatsNo download links available.