Cantitate/Preț
Produs

Software Mistakes and Tradeoffs

Autor Jon Skeet, Tomasz Lelek
en Limba Engleză Paperback – iul 2022

Suntem de părere că Software Mistakes and Tradeoffs reprezintă un ghid esențial pentru tranziția de la scrierea de cod la ingineria de sisteme robuste. Abordarea autorilor diferă de cea din Software Architecture: The Hard Parts de Neal Ford prin faptul că este mai puțin abstractă și mult mai aplicabilă; în timp ce Ford se concentrează pe structuri arhitecturale teoretice, Jon Skeet și Tomasz Lelek plonjează direct în mecanica deciziilor zilnice care pot salva sau îngropa un proiect. Considerăm că forța acestui volum rezidă în onestitatea cu care sunt prezentate greșelile de carieră, transformând eșecurile în lecții despre semantica livrării și dependențele serviciilor. În contextul operei sale anterioare, dacă în C# in Depth Jon Skeet explora granularitatea limbajului pentru a maximiza eficiența programării, aici extinde perspectiva asupra întregului ecosistem de dezvoltare software. Nu mai discutăm doar despre sintaxă, ci despre cum cuplajul dintre echipe și cod influențează succesul pe termen lung. Stilul este tehnic și pragmatic, axat pe optimizarea API-urilor pentru o experiență de utilizare superioară și pe clarificarea cerințelor până când acestea devin ușor de testat. Credem că structura axată pe 'hot paths' și validarea SLA-urilor oferă instrumente concrete pentru dezvoltatorii care trebuie să justifice deciziile tehnice în fața unor constrângeri de business rigide. Este o lectură despre echilibrul fragil dintre viteză și stabilitate, oferind o metodologie clară pentru a naviga prin labirintul compromisurilor tehnice inevitabile.

Citește tot Restrânge

Preț: 29066 lei

Preț vechi: 36334 lei
-20%

Puncte Express: 436

Carte disponibilă

Livrare economică 14-28 septembrie
Livrare express 29 august-04 septembrie pentru 4080 lei

Livrare prin curier în România Termenul estimat este afișat lângă disponibilitate.
Transport gratuit de la 40000 lei Plată online sau ramburs, în funcție de opțiunile comenzii.
Retur gratuit în 14 zile Comandă securizată și suport în română.

Specificații

ISBN-13: 9781617299209
ISBN-10: 1617299200
Pagini: 300
Dimensiuni: 186 x 232 x 26 mm
Greutate: 0.63 kg
Editura: Manning Publications

De ce să citești această carte

Recomandăm această carte inginerilor software seniori și arhitecților care doresc să își rafineze intuiția în designul de sistem. Veți câștiga o metodologie riguroasă pentru evaluarea bibliotecilor externe și gestionarea dependențelor, învățând să anticipați consecințele pe termen lung ale deciziilor arhitecturale. Este un ghid practic despre cum să alegeți soluția corectă atunci când nu există un răspuns perfect, ci doar compromisuri bine înțelese.


Despre autor

Jon Skeet este un dezvoltator Java la Google în Londra, recunoscut la nivel mondial ca o autoritate în ecosistemul .NET și un lider de comunitate proeminent. Este autorul celebrei serii C# in Depth și cel mai activ contributor pe platforma Stack Overflow, fiind celebru pentru precizia și profunzimea răspunsurilor sale tehnice. Tomasz Lelek aduce în acest volum o vastă experiență în sisteme distribuite și performanță, completând viziunea lui Skeet cu studii de caz din producție.


Descriere scurtă

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

About the reader
For mid- and senior-level developers and architects who make decisions about software design and implementation.

About the author
Tomasz Lelek works daily with a wide range of production services, architectures, and JVM languages. A Google engineer and author of C# in Depth, Jon Skeet is famous for his many practical contributions to Stack Overflow.

Table of Contents
1 Introduction
2 Code duplication is not always bad: Code duplication vs. flexibility
3 Exceptions vs. other patterns of handling errors in your code
4 Balancing flexibility and complexity
5 Premature optimization vs. optimizing the hot path: Decisions that impact code performance
6 Simplicity vs. cost of maintenance for your API
7 Working effectively with date and time data
8 Leveraging data locality and memory of your machines
9 Third-party libraries: Libraries you use become your code
10 Consistency and atomicity in distributed systems
11 Delivery semantics in distributed systems
12 Managing versioning and compatibility
13 Keeping up to date with trends vs. cost of maintenance of your code

Notă biografică

Tomasz Lelek has years of experience working with various production services, architectures, and programming languages. He has designed systems that handle tens of millions of unique users and hundreds of thousands of operations per second. Currently, he designs developer tools for DataStax, a company that builds products around Cassandra Database.