Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation


Jez Humble - 2010
    This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours-- sometimes even minutes-no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the "deployment pipeline," an automated process for managing all changes, from check-in to release. Finally, they discuss the "ecosystem" needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes - Automating all facets of building, integrating, testing, and deploying software - Implementing deployment pipelines at team and organizational levels - Improving collaboration between developers, testers, and operations - Developing features incrementally on large and distributed teams - Implementing an effective configuration management strategy - Automating acceptance testing, from analysis to implementation - Testing capacity and other non-functional requirements - Implementing continuous deployment and zero-downtime releases - Managing infrastructure, data, components and dependencies - Navigating risk management, compliance, and auditing Whether you're a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever--so you can deliver value to your business rapidly and reliably.

Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing


Rex Black - 1999
    The preeminent expert in his field, Mr.Black draws upon years of experience as president of both theInternational and American Software Testing Qualifications boardsto offer this extensive resource of all the standards, methods, andtools you'll need.The book covers core testing concepts and thoroughly examinesthe best test management practices and tools of leading hardwareand software vendors. Step-by-step guidelines and real-worldscenarios help you follow all necessary processes and avoidmistakes.Producing high-quality computer hardware and software requirescareful, professional testing; Managing the Testing Process, Third Edition explains how to achieve that by following adisciplined set of carefully managed and monitored practices andprocessesThe book covers all standards, methods, and tools you need forprojects large and smallPresents the business case for testing products and reviews theauthor's latest test assessmentsTopics include agile testing methods, risk-based testing, IEEEstandards, ISTQB certification, distributed and outsourced testing, and moreOver 100 pages of new material and case studies have been addedto this new editionIf you're responsible for managing testing in the real world, Managing the Testing Process, Third Edition is the valuablereference and guide you need.

Podcasting For Dummies


Tee Morris - 2005
    You can podcast to boost your business, promote your passion, share your opinions, or just have fun. The point is to say what you want to say to those who want to hear it. With step-by-step explanations, screen shots, and tons of examples, this guide clues you in on recording, producing, and hosting your very own podcast with info on:Finding your voice and your niche, whether you want to talk tech, make your own kinds of music, educate listeners, make people laugh, do soundseeing tours, serialize your novel, or invent a new podcasting genre Getting the bare necessities (if you don't already have them), including a microphone, recording software, and an audio card Audio editing software such as Audacity, Cakewalk for PCs, GarageBand for musicality, and Audio HiJack Pro for Macs Recording, including understanding dB (decibel levels), capturing or minimizing ambient noise, and more Editing with GarageBand or Audacity, adding bed music, and including intros and outros for a signature finishing touch You want your podcast to be heard. Podcasting For Dummies helps you launch and promote it with info on how to:Downsize your audio files with MP3 compression Change bit rates and sample rates in Audacity and iTunes Create and edit your ID3 tags in Audacity or iTunes Post your show notes using Movable Type or Libsyn Simplify the RSS 2.0 feed by using blogging software or a podcast-hosting company such as Audioblog.com, Podcastamatic, and Feeder Ping for publicity Communicate with your listeners on your blog, through online discussion groups such as Yahoo! Groups or Google Groups, or on online forums Of course, if you want to be a podcatcher (a listener) and subscribe to podcasts, this guide shows you how to do that, too! Complete with a companion podcast--a free weekly audio commentary that will keep you up to speed on the podsphere--this guide helps you get your message heard, loud and clear.

The Elements of Computing Systems: Building a Modern Computer from First Principles


Noam Nisan - 2005
    The books also provides a companion web site that provides the toold and materials necessary to build the hardware and software.

Effective Java


Joshua Bloch - 2001
    The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util