Threat Modeling: Designing for Security

4.0/5 · 200+ ratings

Adam Shostack provides a practical framework for identifying and addressing security risks before they become costly vulnerabilities. As a leading expert who helped shape Microsoft’s security practices, Shostack moves beyond reactive patching to focus on secure design from the start. The book introduces the Four Question Framework, a logical process that helps teams determine what they are buildi…

Shelves
Computers Adam Shostack Software Programming Nonfiction Hackers book Business Computer Science Technology Technical Reference

More like this


Programming Pearls

"The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encount…

4.0/5 · 200+ ratings

Think Like a Programmer: An Introduction to Creative Problem Solving

Rewire your brain Examples in this book are written in C++, but will improve your ability to think like a programmer in any language. <…

4.0/5 · 200+ ratings

Design Patterns: Elements of Reusable Object-Oriented Software

Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct s…

4.0/5 · 200+ ratings

Thinking in Java

Thinking in Java is a printed version of Bruce Eckel's online materials that provides a useful perspective on mastering Java for those with previo…

4.0/5 · 200+ ratings

HTML and CSS: Design and Build Websites

Every day, more and more people want to learn some HTML and CSS. Joining the professional web designers and programmers are new audiences who need…

4.0/5 · 200+ ratings

The Go Programming Language

Go is an open-source programming language that makes it easy to build clean, reliable, and efficient software. It has been winning converts from d…

4.0/5 · 200+ ratings

Head First Design Patterns

You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know y…

4.0/5 · 200+ ratings

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declaration…

4.0/5 · 200+ ratings

Python for Data Analysis

Python for Data Analysis is concerned with the nuts and bolts of manipulating, processing, cleaning, and crunching data in Python. It is also a pr…

4.0/5 · 200+ ratings

Penguin Random House Python Crash Course

Python Crash Course is a fast-paced, thorough introduction to programming with Python that will have you writing programs, solving problems, and m…

4.0/5 · 200+ ratings

Head First Java

Learning a complex new language is no easy task especially when it s an object-oriented computer programming language like Java. You might think t…

4.0/5 · 200+ ratings

The Art of Computer Programming, Volume 1: Fundamental Algorithms

The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer program…

4.0/5 · 200+ ratings