Optimize the decisions that define your code by exploring the common mistakes and intentional tradeoffs made by expert developers.
In Software Mistakes and Tradeoffs you will learn how to:
Reason about your systems to make intuitive and better design decisions
Understand consequences and how to balance tradeoffs
Pick the right library for your problem
Thoroughly analyze all of your service’s dependencies
Understand delivery semantics and how they influence distributed architecture
Design and execute performance tests to detect code hot paths and validate a system’s SLA
Detect and optimize hot paths in your code to focus optimization efforts on root causes
Decide on a suitable data model for date/time handling to avoid common (but subtle) mistakes
Reason about compatibility and versioning to prevent unexpected problems for API clients
Understand tight/loose coupling and how it influences coordination of work between teams
Clarify requirements until they are precise, easily implemented, and easily tested
Optimize your APIs for friendly user experience
Code performance versus simplicity. Delivery speed versus duplication. Flexibility versus maintainability—every decision you make in software engineering involves balancing tradeoffs. In Software Mistakes and Tradeoffs you’ll learn from costly mistakes that Tomasz Lelek and Jon Skeet have encountered over their impressive careers. You’ll explore real-world scenarios where poor understanding of tradeoffs lead to major problems down the road, so you can pre-empt your own mistakes with a more thoughtful approach to decision making.
Learn how code duplication impacts the coupling and evolution speed of your systems, and how simple-sounding requirements can have hidden nuances with respect to date and time information. Discover how to efficiently narrow your optimization scope according to 80/20 Pareto principles, and ensure consistency in your distributed systems. You’ll soon have built up the kind of knowledge base that only comes from years of experience.
About the Technology
Every step in a software project involves making tradeoffs. When you’re balancing speed, security, cost, delivery time, features, and more, reasonable design choices may prove problematic in production. The expert insights and relatable war stories in this book will help you make good choices as you design and build applications.
About the Book
Software Mistakes and Tradeoffs explores real-world scenarios where the wrong tradeoff decisions were made and illuminates what could have been done differently. In it, authors Tomasz Lelek and Jon Skeet share wisdom based on decades of software engineering experience, including some delightfully instructive mistakes. You’ll appreciate the specific tips and practical techniques that accompany each example, along with evergreen patterns that will change the way you approach your next projects.
What’s Inside
How to reason about your software systematically
How to pick tools, libraries, and frameworks
How tight and loose coupling affect team coordination
Requirements that are precise, easy to implement, and easy to test
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/001. Chapter 1. Introduction.mp4
29.7 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/002. Chapter 1. Code design patterns and why they do not always work.mp4
28.9 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/003. Chapter 1. Architecture design patterns and why they do not always work.mp4
26.9 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/004. Chapter 2. Code duplication is not always bad Code duplication vs. flexibility.mp4
23.5 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/005. Chapter 2. Libraries and sharing code between codebases.mp4
25.1 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/007. Chapter 2. Looking at the tradeoffs and disadvantages of a separate service.mp4
28 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/009. Chapter 2. Looking at inheritance and tight coupling.mp4
27.7 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/010. Chapter 3. Exceptions vs. other patterns of handling errors in your code.mp4
30.9 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/014. Chapter 3. Exceptions in multithread environments.mp4
23.4 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/018. Chapter 4. Balancing flexibility and complexity.mp4
24.5 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/020. Chapter 4. Guarding against unpredictable usage of the hooks API.mp4
27.2 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/025. Chapter 5. Hot paths in your code.mp4
25.6 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/027. Chapter 5. Hot path detection in your code.mp4
24.4 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/028. Chapter 5. Improvements for hot path performance.mp4
23.8 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/029. Chapter 5. Optimizing word exists using a cache.mp4
23.7 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/030. Chapter 6. Simplicity vs. cost of maintenance for your API.mp4
29.2 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/031. Chapter 6. Directly exposing settings of a dependent library.mp4
27.3 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/033. Chapter 6. Deprecatingremoving a setting in the cloud client library.mp4
34 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/039. Chapter 7. Time zones, UTC, and offsets from UTC Part 2.mp4
24.3 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/044. Chapter 7. Using the right libraries or packages.mp4
35.6 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/047. Chapter 7. Representing date and time values in text Part 1.mp4
28 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/048. Chapter 7. Representing date and time values in text Part 2.mp4
27.4 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/049. Chapter 7. Explaining code with comments.mp4
24 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/050. Chapter 7. Handling ambiguous or skipped times.mp4
25.1 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/051. Chapter 8. Working with evolving time zone data.mp4
26.7 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/052. Chapter 8. Leveraging data locality and memory of your machines.mp4
26.9 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/055. Chapter 8. Join big data sets from multiple partitions.mp4
30.9 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/058. Chapter 8. Implement joins using Apache Spark.mp4
28.1 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/059. Chapter 9. Third-party libraries Libraries you use become your code.mp4
34.7 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/060. Chapter 9. Concurrency models and scalability.mp4
29.7 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/062. Chapter 9. Testing with fakes (test double) and mocks.mp4
29.6 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/064. Chapter 9. Choosing and maintaining third-party dependencies.mp4
26.6 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/067. Chapter 10. Producing data and idempotency.mp4
34.6 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/069. Chapter 10. Common mistakes when implementing deduplication in distributed systems.mp4
31.2 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/070. Chapter 10. Making your logic atomic to prevent race conditions.mp4
30.2 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/071. Chapter 11. Delivery semantics in distributed systems.mp4
28 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/075. Chapter 11. Restarting from the earliest or latest offsets.mp4
24.3 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/077. Chapter 12. Managing versioning and compatibility.mp4
25.8 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/079. Chapter 12. Versioning for libraries.mp4
25.1 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/080. Chapter 12. Source, binary, and semantic compatibility Part 1.mp4
25.3 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/081. Chapter 12. Source, binary, and semantic compatibility Part 2.mp4
27.8 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/082. Chapter 12. Techniques for handling breaking changes.mp4
30.7 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/083. Chapter 12. Managing internal-only libraries.mp4
33.3 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/086. Chapter 12. Further versioning considerations.mp4
23.2 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/087. Chapter 12. Versioning for data storage.mp4
25.1 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/089. Chapter 12. Expecting the unexpected.mp4
24.8 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/090. Chapter 12. Separating API and storage representations.mp4
27.8 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/092. Chapter 13. Do-it-yourself (DIY) dependency injection.mp4
26 MB
[TutsNode.net] - Software Mistakes and Tradeoffs, Video Edition/095. Chapter 13. When to use functional programming.mp4
30.4 MB
Alternative Torrents for 'Software Mistakes and Tradeoffs Video Edition'.