Jumping into C++
Alex Allain - 2013
As a professional C++ developer and former Harvard teaching fellow, I know what you need to know to be a great C++ programmer, and I know how to teach it, one step at a time. I know where people struggle, and why, and how to make it clear. I cover every step of the programming process, including:Getting the tools you need to program and how to use them*Basic language feature like variables, loops and functions*How to go from an idea to code*A clear, understandable explanation of pointers*Strings, file IO, arrays, references*Classes and advanced class design*C++-specific programming patterns*Object oriented programming*Data structures and the standard template library (STL)Key concepts are reinforced with quizzes and over 75 practice problems.
Pragmatic Unit Testing in Java with JUnit
Andy Hunt - 2003
Despite it's name, unit testing is really a coding technique, not a testing technique. Unit testing is done by programmers, for programmers. It's primarily for our benefit: we get improved confidence in our code, better ability to make deadlines, less time spent in the debugger, and less time beating on the code to make it work correctly.This book shows how to write tests, but more importantly, it goes where other books fear to tread and gives you concrete advice and examples of what to test--the common things that go wrong in all of our programs. Discover the tricky hiding places where bugs breed, and how to catch them using the freely available JUnit framework. It's easy to learn how to think of all the things in your code that are likely to break. We'll show you how with helpful mnemonics, summarized in a handy tip sheet (also available from our pragmaticprogrammer.com website) to help you remember all this stuff.With this book you will:Write better code, and take less time to write it Discover the tricky places where bugs breed Learn how to think of all the things that could go wrong Test individual pieces of code without having to include the whole project Test effectively with the whole teamWe'll also cover how to use Mock Objects for testing, how to write high quality test code, and how to use unit testing to improve your design skills. We'll show you frequent "gotchas"--along with the fixes--to save you time when problems come up. We'll show you how with helpful mnemonics, summarized in a handy tip sheet (also available from our pragmaticprogrammer.com website).But the best part is that you don't need a sweeping mandate to change your whole team or your whole company. You don't need to adopt Extreme Programming or Test-Driven Development, or change your development process in order to reap the proven benefits of unit testing. You can start unit testing, the pragmatic way, right away.
Erlang and OTP in Action
Martin Logan - 2010
Multi-core processors and the increasing demand for maximum performance and scalability in mission-critical applications have renewed interest in functional languages like Erlang that are designed to handle concurrent programming. Erlang, and the OTP platform, make it possible to deliver more robust applications that satisfy rigorous uptime and performance requirements.Erlang and OTP in Action teaches you to apply Erlang's message passing model for concurrent programming--a completely different way of tackling the problem of parallel programming from the more common multi-threaded approach. This book walks you through the practical considerations and steps of building systems in Erlang and integrating them with real-world C/C++, Java, and .NET applications. Unlike other books on the market, Erlang and OTP in Action offers a comprehensive view of how concurrency relates to SOA and web technologies.This hands-on guide is perfect for readers just learning Erlang or for those who want to apply their theoretical knowledge of this powerful language. You'll delve into the Erlang language and OTP runtime by building several progressively more interesting real-world distributed applications. Once you are competent in the fundamentals of Erlang, the book takes you on a deep dive into the process of designing complex software systems in Erlang. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
MongoDB Applied Design Patterns
Rick Copeland - 2013
You’ll learn how to apply MongoDB design patterns to several challenging domains, such as ecommerce, content management, and online gaming. Using Python and JavaScript code examples, you’ll discover how MongoDB lets you scale your data model while simplifying the development process.Many businesses launch NoSQL databases without understanding the techniques for using their features most effectively. This book demonstrates the benefits of document embedding, polymorphic schemas, and other MongoDB patterns for tackling specific big data use cases, including:Operational intelligence: Perform real-time analytics of business dataEcommerce: Use MongoDB as a product catalog master or inventory management systemContent management: Learn methods for storing content nodes, binary assets, and discussionsOnline advertising networks: Apply techniques for frequency capping ad impressions, and keyword targeting and biddingSocial networking: Learn how to store a complex social graph, modeled after Google+Online gaming: Provide concurrent access to character and world data for a multiplayer role-playing game
Common LISP: A Gentle Introduction to Symbolic Computation
David S. Touretzky - 1989
A LISP "toolkit" in each chapter explains how to use Common LISP programming and debugging tools such as DESCRIBE, INSPECT, TRACE and STEP.
How to Architect
Doug Patt - 2012
Changing the function of a word, or a room, can produce surprise and meaning. In How to Architect, Patt--an architect and the creator of a series of wildly popular online videos about architecture--presents the basics of architecture in A-Z form, starting with A is for Asymmetry (as seen in Chartres Cathedral and Frank Gehry), detouring through N is for Narrative, and ending with Z is for Zeal (a quality that successful architects tend to have, even in fiction--see The Fountainhead's architect-hero Howard Roark.)How to Architect is a book to guide you on the road to architecture. If you are just starting on that journey or thinking about becoming an architect, it is a place to begin. If you are already an architect and want to remind yourself of what drew you to the profession, it is a book of affirmation. And if you are just curious about what goes into the design and construction of buildings, this book tells you how architects think. Patt introduces each entry with a hand-drawn letter, and accompanies the text with illustrations that illuminate the concept discussed: a fallen Humpty Dumpty illustrates the perils of fragile egos; photographs of an X-Acto knife and other hand tools remind us of architecture's nondigital origins.How to Architect offers encouragement to aspiring architects but also mounts a defense of architecture as a profession--by calling out a defiant verb: architect!
Squeezed
David Atkinson - 2019
"A story with laugh out loud moments, heart-rending events and a nice easy flowing style." --Trip Fiction "Anyone who likes their romance with a touch of realism and not too much syrup will adore this book." --Read Reviewed WHAT WOULD YOU DO IF YOUR WIFE ORGANIZED A THREESOME FOR YOU ON YOUR HONEYMOON? Scott is shocked by his wife Hannah's suggestion, but hesitantly agrees to go along with it. Back home, both feel a little guilty about their encounter with a Thai woman called Marilyn, but soon put it behind them when they discover Hannah is pregnant. Then Marilyn turns up on their doorstep, six months pregnant, and Scott comes to realize that in life there is often a price to pay for indiscretion. Squeezed is a story about family, and how sometimes we don't appreciate what we've got until it's gone. Perfect for fans of Graeme Simsion, Tracy Bloom, Sue Moorcroft, Jojo Moyes and Cecelia Ahern ALSO BY DAVID ATKINSON LOVE BYTE
Cloud Architecture Patterns: Using Microsoft Azure
Bill Wilder - 2012
You’ll learn how each of these platform-agnostic patterns work, when they might be useful in the cloud, and what impact they’ll have on your application architecture. You’ll also see an example of each pattern applied to an application built with Windows Azure.The patterns are organized into four major topics, such as scalability and handling failure, and primer chapters provide background on each topic. With the information in this book, you’ll be able to make informed decisions for designing effective cloud-native applications that maximize the value of cloud services, while also paying attention to user experience and operational efficiency.Learn about architectural patterns for:Scalability. Discover the advantages of horizontal scaling. Patterns covered include Horizontally Scaling Compute, Queue-Centric Workflow, and Auto-Scaling.Big data. Learn how to handle large amounts of data across a distributed system. Eventual consistency is explained, along with the MapReduce and Database Sharding patterns.Handling failure. Understand how multitenant cloud services and commodity hardware influence your applications. Patterns covered include Busy Signal and Node Failure.Distributed users. Learn how to overcome delays due to network latency when building applications for a geographically distributed user base. Patterns covered include Colocation, Valet Key, CDN, and Multi-Site Deployment.
IBM PC Assembly Language and Programming
Peter Abel - 1987
Coverage starts from scratch, discussing the simpler aspects of the hardware, and the language, then introduces technical details and instructions as they are needed.
The Art and Science of Java
Eric S. Roberts - 2007
By following the recommendations of the Association of Computing Machinery's Java Task Force, this first edition text adopts a modern objects-first approach that introduces readers to useful hierarchies from the very beginning.KEY TOPICS: Introduction; Programming by Example; Expressions; Statement Forms; Methods; Objects and Classes; Objects and Memory; Strings and Characters; Object-Oriented Graphics; Event-Driven Programs; Arrays and ArrayLists; Searching and Sorting; Collection Classes; Looking Ahead.MARKET: A modern objects-first approach to the Java programming language that introduces readers to useful class hierarchies from the very beginning.
Ajax in Action
Dave Crane - 2005
They get frustrated losing their scroll position; they get annoyed waiting for refresh; they struggle to reorient themselves on every new page. And the list goes on. With asynchronous JavaScript and XML, known as "Ajax," you can give them a better experience. Once users have experienced an Ajax interface, they hate to go back. Ajax is new way of thinking that can result in a flowing and intuitive interaction with the user.Ajax in Action helps you implement that thinking--it explains how to distribute the application between the client and the server (hint: use a "nested MVC" design) while retaining the integrity of the system. You will learn how to ensure your app is flexible and maintainable, and how good, structured design can help avoid problems like browser incompatibilities. Along the way it helps you unlearn many old coding habits. Above all, it opens your mind to the many advantages gained by placing much of the processing in the browser. If you are a web developer who has prior experience with web technologies, this book is for you. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
Everyday Rails Testing with RSpec
Aaron Sumner
A practical approach to test-driven development for Ruby on Rails using RSpec and related tools.
Reactive Microservices Architecture
Jonas Bonér - 2016
Specifically, you’ll learn how a Reactive microservice isolates everything (including failure), acts autonomously, does one thing well, owns state exclusively, embraces asynchronous message passing, and maintains mobility.Bonér also demonstrates how Reactive microservices communicate and collaborate with other services to solve problems. Get a copy of this exclusive report and find out how to bring your enterprise system into the 21st century.Jonas Bonér is Founder and CTO of Lightbend, inventor of the Akka project, co-author of the Reactive Manifesto and a Java Champion. Learn more at: http://jonasboner.com.
Effective Unit Testing
Lasse Koskela - 2012
Savvy Java developers know that not all testing is created equal. In addition to traditional functional testing, many shops are adopting developer testing techniques such as unit testing. Specific, automated tests are created to verify the accuracy and function of code while or even before it's written - to catch bugs early.Unit Testing in Java teaches how to write good tests that are concise and to the point, useful, and maintainable. This book focuses on tools and practices specific to Java. It introduces emerging techniques like specification by example and behavior-driven development, and shows how to add robust practices into developers' toolkits.Table of ContentsI. FOUNDATIONS1. The promise of good tests2. In search of good3. Test doublesII. CATALOG4. Readability5. Maintainability6. TrustworthinessIII. DIVERSIONS7. Testable design8. Writing tests in other JVM languages9. Speeding up test executionsAppendix A: JUnit primerAppendix B: Extending JUnitIndex