Documenting Software Architectures: Views and Beyond


Paul Clements - 2002
    For all but the most trivial software systems, you must pay close attention to its architecture, the conceptual glue that holds every phase of a project together.

Domain-Driven Design Distilled


Vaughn Vernon - 2016
    Now, for the first time, there's an accessible guide to the basics of DDD: What it is, what problems it solves, how it works, and how to quickly gain value from it. Concise, readable, and actionable, Domain-Driven Design Distilled never buries you in detail-it focuses on what you need to know to get results. Vaughn Vernon, author of the best-selling Implementing Domain-Driven Design, draws on his twenty years of experience applying DDD principles to real-world situations. He is uniquely well-qualified to demystify its complexities, illuminate its subtleties, and help you solve the problems you might encounter. Vernon guides you through each core DDD technique for building better software. You'll learn how to segregate domain models using the powerful Bounded Contexts pattern, to develop a Ubiquitous Language within an explicitly bounded context, and to help domain experts and developers work together to create that language. Vernon shows how to use Subdomains to handle legacy systems and to integrate multiple Bounded Contexts to define both team relationships and technical mechanisms. Domain-Driven Design Distilled brings DDD to life. Whether you're a developer, architect, analyst, consultant, or customer, Vernon helps you truly understand it so you can benefit from its remarkable power. Coverage includes What DDD can do for you and your organization-and why it's so important The cornerstones of strategic design with DDD: Bounded Contexts and Ubiquitous Language Strategic design with Subdomains Context Mapping: helping teams work together and integrate software more strategically Tactical design with Aggregates and Domain Events Using project acceleration and management tools to establish and maintain team cadence

REST in Practice: Hypermedia and Systems Architecture


Jim Webber - 2010
    You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.Learn basic Web techniques for application integrationUse HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applicationsDiscover the Create, Read, Update, Delete (CRUD) pattern for manipulating resourcesBuild RESTful services that use hypermedia to model state transitions and describe business protocolsLearn how to make Web-based solutions secure and interoperableExtend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPubUnderstand how the Semantic Web will impact systems design

Effective C++: 55 Specific Ways to Improve Your Programs and Designs


Scott Meyers - 1991
    But the state-of-the-art has moved forward dramatically since Meyers last updated this book in 1997. (For instance, there s now STL. Design patterns. Even new functionality being added through TR1 and Boost.) So Meyers has done a top-to-bottom rewrite, identifying the 55 most valuable techniques you need now to be exceptionally effective with C++. Over half of this edition s content is new. Templates broadly impact C++ development, and you ll find them everywhere. There s extensive coverage of multithreaded systems. There s an entirely new chapter on resource management. You ll find substantial new coverage of exceptions. Much is gained, but nothing s lost: You ll find the same depth of practical insight that first made Effective C++ a classic all those years ago. Bill Camarda, from the July 2005 href="http://www.barnesandnoble.com/newslet... Only

The Elements of User Experience: User-Centered Design for the Web


Jesse James Garrett - 2002
    This book aims to minimize the complexity of user-centered design for the Web with explanations and illustrations that focus on ideas rather than tools or techniques.

Synthetic Worlds: The Business and Culture of Online Games


Edward Castronova - 2005
    People of all ages and from all walks of life now spend thousands of hours—and dollars—partaking in this popular new brand of escapism. But the line between fantasy and reality is starting to blur. Players have created virtual societies with governments and economies of their own whose currencies now trade against the dollar on eBay at rates higher than the yen. And the players who inhabit these synthetic worlds are starting to spend more time online than at their day jobs. In Synthetic Worlds, Edward Castronova offers the first comprehensive look at the online game industry, exploring its implications for business and culture alike. He starts with the players, giving us a revealing look into the everyday lives of the gamers—outlining what they do in their synthetic worlds and why. He then describes the economies inside these worlds to show how they might dramatically affect real world financial systems, from potential disruptions of markets to new business horizons. Ultimately, he explores the long-term social consequences of online games: If players can inhabit worlds that are more alluring and gratifying than reality, then how can the real world ever compete? Will a day ever come when we spend more time in these synthetic worlds than in our own? Or even more startling, will a day ever come when such questions no longer sound alarmist but instead seem obsolete? With more than ten million active players worldwide—and with Microsoft and Sony pouring hundreds of millions of dollars into video game development—online games have become too big to ignore. Synthetic Worlds spearheads our efforts to come to terms with this virtual reality and its concrete effects. “Illuminating. . . . Castronova’s analysis of the economics of fun is intriguing. Virtual-world economies are designed to make the resulting game interesting and enjoyable for their inhabitants. Many games follow a rags-to-riches storyline, for example. But how can all the players end up in the top 10%? Simple: the upwardly mobile human players need only be a subset of the world's population. An underclass of computer-controlled 'bot' citizens, meanwhile, stays poor forever. Mr. Castronova explains all this with clarity, wit, and a merciful lack of academic jargon.”—The Economist “Synthetic Worlds is a surprisingly profound book about the social, political, and economic issues arising from the emergence of vast multiplayer games on the Internet. What Castronova has realized is that these games, where players contribute considerable labor in exchange for things they value, are not merely like real economies, they are real economies, displaying inflation, fraud, Chinese sweatshops, and some surprising in-game innovations.”—Tim Harford, Chronicle of Higher Education

Interaction Design: Beyond Human-Computer Interaction


Yvonne Rogers - 2001
    It should be labelled 'start here'." --Pieter Jan Stappers, ID-StudioLab, Delft University of Technology

An Experiment in Criticism


C.S. Lewis - 1961
    Lewis's classic analysis springs from the conviction that literature exists for the joy of the reader and that books should be judged by the kind of reading they invite. Crucial to his notion of judging literature is a commitment to laying aside expectations and values extraneous to the work, in order to approach it with an open mind.

The UNIX Programming Environment


Brian W. Kernighan - 1983
     Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.

Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#


Scott Wlaschin - 2017
    Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality.Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained.Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API.Solve real problems by focusing on real-world requirements for your software.What You Need: The code in this book is designed to be run interactively on Windows, Mac and Linux.You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform.Full installation instructions for all platforms at fsharp.org.

Think Python


Allen B. Downey - 2002
    It covers the basics of computer programming, including variables and values, functions, conditionals and control flow, program development and debugging. Later chapters cover basic algorithms and data structures.

Microservice Patterns


Chris Richardson - 2017
    However, successful applications have a habit of growing. Eventually the development team ends up in what is known as monolithic hell. All aspects of software development and deployment become painfully slow. The solution is to adopt the microservice architecture, which structures an application as a services, organized around business capabilities. This architecture accelerates software development and enables continuous delivery and deployment of complex software applications.Microservice Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. Rather than simply advocating for the use the microservice architecture, this clearly-written guide takes a balanced, pragmatic approach. You'll discover that the microservice architecture is not a silver bullet and has both benefits and drawbacks. Along the way, you'll learn a pattern language that will enable you to solve the issues that arise when using the microservice architecture. This book also teaches you how to refactor a monolithic application to a microservice architecture.

Complete Kobold Guide to Game Design


Wolfgang Baur - 2012
    The Complete Kobold Guide to Game Design offers 240 pages of in-depth essays on what makes RPGs tick. Get time-tested advice from the top designers in the industry. This compilation includes all three volumes of the Kobold Guide to Game Design series—now with all-new material by Wolfgang Baur, Mike Stackpole, and others! From core rules and magic systems to fantasy adventures, monster design, playtesting, and much more, these 40 essays cover every aspect of RPG design in clear, accessible language, to show you what it takes. The City Book Review called it "highly recommended for gaming nerds everywhere"! Pick up the Complete KOBOLD Guide to Game Design today, and starting designing your RPG tonight! Winner, 2012 Gold ENnie Award, Best RPG-Related Accessory

Make Good Art


Neil Gaiman - 2013
    He encouraged the fledgling painters, musicians, writers, and dreamers to break rules and think outside the box. Most of all, he encouraged them to make good art.The book Make Good Art, designed by renowned graphic artist Chip Kidd, contains the full text of Gaiman’s inspiring speech.

Six Easy Pieces: Essentials of Physics By Its Most Brilliant Teacher


Richard P. Feynman - 1995
    This set couples a book containing the six easiest chapters from Richard P. Feynman's landmark work, Lectures on Physics—specifically designed for the general, non-scientist reader—with the actual recordings of the late, great physicist delivering the lectures on which the chapters are based. Nobel Laureate Feynman gave these lectures just once, to a group of Caltech undergraduates in 1961 and 1962, and these newly released recordings allow you to experience one of the Twentieth Century's greatest minds—as if you were right there in the classroom.