Book picks similar to
Software Development with Z: A Practical Approach to Formal Methods in Software Engineering by John Wordsworth
might-read
no-reviews
programming
tsundoku-nonfiction
xUnit Test Patterns: Refactoring Test Code
Gerard Meszaros - 2003
An effective testing strategy will deliver new functionality more aggressively, accelerate user feedback, and improve quality. However, for many developers, creating effective automated tests is a unique and unfamiliar challenge. xUnit Test Patterns is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatable--and far more cost-effective. Loaded with information, this book feels like three books in one. The first part is a detailed tutorial on test automation that covers everything from test strategy to in-depth test coding. The second part, a catalog of 18 frequently encountered "test smells," provides trouble-shooting guidelines to help you determine the root cause of problems and the most applicable patterns. The third part contains detailed descriptions of each pattern, including refactoring instructions illustrated by extensive code samples in multiple programming languages. Topics covered includeWriting better tests--and writing them faster The four phases of automated tests: fixture setup, exercising the system under test, result verification, and fixture teardown Improving test coverage by isolating software from its environment using Test Stubs and Mock Objects Designing software for greater testability Using test "smells" (including code smells, behavior smells, and project smells) to spot problems and know when and how to eliminate them Refactoring tests for greater simplicity, robustness, and execution speed This book will benefit developers, managers, and testers working with any agile or conventional development process, whether doing test-driven development or writing the tests last. While the patterns and smells are especially applicable to all members of the xUnit family, they also apply to next-generation behavior-driven development frameworks such as RSpec and JBehave and to other kinds of test automation tools, including recorded test tools and data-driven test tools such as Fit and FitNesse.Visual Summary of the Pattern Language Foreword Preface Acknowledgments Introduction Refactoring a Test PART I: The Narratives Chapter 1 A Brief Tour Chapter 2 Test Smells Chapter 3 Goals of Test Automation Chapter 4 Philosophy of Test Automation Chapter 5 Principles of Test Automation Chapter 6 Test Automation Strategy Chapter 7 xUnit Basics Chapter 8 Transient Fixture Management Chapter 9 Persistent Fixture Management Chapter 10 Result Verification Chapter 11 Using Test Doubles Chapter 12 Organizing Our Tests Chapter 13 Testing with Databases Chapter 14 A Roadmap to Effective Test Automation PART II: The Test Smells Chapter 15 Code Smells Chapter 16 Behavior Smells Chapter 17 Project Smells PART III: The Patterns Chapter 18 Test Strategy Patterns Chapter 19 xUnit Basics Patterns Chapter 20 Fixture Setup Patterns Chapter 21 Result Verification Patterns Chapter 22 Fixture Teardown Patterns Chapter 23 Test Double Patterns Chapter 24 Test Organization Patterns Chapter 25 Database Patterns Chapter 26 Design-for-Testability Patterns Chapter 27 Value Patterns PART IV: Appendixes Appendix A Test Refactorings Appendix B xUnit Terminology Appendix C xUnit Family Members Appendix D Tools Appendix E Goals and Principles Appendix F Smells, Aliases, and Causes Appendix G Patterns, Aliases, and Variations Glossary References Index "
Game Design Workshop: A Playcentric Approach to Creating Innovative Games
Tracy Fullerton - 2008
This design workshop begins with an examination of the fundamental elements of game design; then puts you to work in prototyping, playtesting and redesigning your own games with exercises that teach essential design skills. Workshop exercises require no background in programming or artwork, releasing you from the intricacies of electronic game production, so you can develop a working understanding of the essentials of game design.Features:* A design methodology used in the USC Interactive Media program, a cutting edge program funded in part of Electronic Arts. * Hands-on exercises demonstrate key concepts, and the design methodology* Insights from top industry game designers, including Noah Falstein, American McGee, Peter Molyneux
People We Love
Jenny Harper - 2015
Jenny Harper is a most gifted storyteller." Alexander McCall Smith‘Thoroughly entertaining’ Katie FfordeFor readers of Jojo Moyes, Jodi Picoult, David Nicholls - you'll love Jenny Harper's "People We Love".Her life is on hold – until an unlikely visitor climbs in through the kitchen window.A year after her brother’s fatal accident, Lexie’s life seems to have reached a dead end. She is back home in small-town Hailesbank with her shell-shocked parents, treading softly around their fragile emotions.As the family business drifts into decline, Lexie’s passion for painting and for her one-time mentor Patrick have been buried as deep as her unexpressed grief, until the day her lunch is interrupted by a strange visitor in a bobble hat, dressing gown and bedroom slippers, who climbs through the window.Elderly Edith’s batty appearance conceals a secret and starts Lexie on a journey that gives her an inspirational artistic idea and rekindles her appetite for life. With friends in support and ex-lover Cameron seemingly ready to settle down, do love and laughter beckon after all?
Single Is Not A Curse
Tony A. Gaskins Jr. - 2013
Most people hate being alone and we fear being stuck that way forever. Single life can be a blessing if you allow it to be. This book will teach you exactly what things to focus on while single so that you get the most out of single life. If you deal with single life the right way it will make for a much better married life.
GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers
Jeff Johnson - 2000
While equipping you with the minimum of theory, GUI expert Jeff Johnson presents the reality of interface design in an entertaining, anecdotal, and instructive way. * Updated to reflect the bloopers that are common today, incorporating many comments and suggestions from first edition readers. * Takes a learn-by-example approach that teaches how to avoid common errors. * Covers bloopers in a wide range of categories: GUI controls, graphic design and layout, text messages, interaction strategies, Web site design -- including search, link, and navigation, responsiveness issues, and management decision-making. * Organized and formatted so information needed is quickly found, the new edition features call-outs for the examples and informative captions to enhance quick knowledge building. * Hundreds of illustrations: both the DOs and the DON'Ts for each topic covered, with checklists and additional bloopers on www.gui-bloopers.com.
Surfaces and Essences: Analogy as the Fuel and Fire of Thinking
Douglas R. Hofstadter - 2011
Hofstadter has been grappling with the mysteries of human thought for over thirty years. Now, with his trademark wit and special talent for making complex ideas vivid, he has partnered with Sander to put forth a highly novel perspective on cognition.We are constantly faced with a swirling and intermingling multitude of ill-defined situations. Our brain’s job is to try to make sense of this unpredictable, swarming chaos of stimuli. How does it do so? The ceaseless hail of input triggers analogies galore, helping us to pinpoint the essence of what is going on. Often this means the spontaneous evocation of words, sometimes idioms, sometimes the triggering of nameless, long-buried memories.Why did two-year-old Camille proudly exclaim, “I undressed the banana!”? Why do people who hear a story often blurt out, “Exactly the same thing happened to me!” when it was a completely different event? How do we recognize an aggressive driver from a split-second glance in our rearview mirror? What in a friend’s remark triggers the offhand reply, “That’s just sour grapes”? What did Albert Einstein see that made him suspect that light consists of particles when a century of research had driven the final nail in the coffin of that long-dead idea?The answer to all these questions, of course, is analogy-making—the meat and potatoes, the heart and soul, the fuel and fire, the gist and the crux, the lifeblood and the wellsprings of thought. Analogy-making, far from happening at rare intervals, occurs at all moments, defining thinking from top to toe, from the tiniest and most fleeting thoughts to the most creative scientific insights.Like Gödel, Escher, Bach before it, Surfaces and Essences will profoundly enrich our understanding of our own minds. By plunging the reader into an extraordinary variety of colorful situations involving language, thought, and memory, by revealing bit by bit the constantly churning cognitive mechanisms normally completely hidden from view, and by discovering in them one central, invariant core—the incessant, unconscious quest for strong analogical links to past experiences—this book puts forth a radical and deeply surprising new vision of the act of thinking.
Never Be Lied to Again: How to Get the Truth in 5 Minutes or Less in Any Conversation or Situation
David J. Lieberman - 1998
Lieberman shows you how to stop the lies and uncover the truth-- in any conversation or situation. In a simple, user-friendly format, Dr. Lieberman gives you the tools to determine, with uncanny accuracy, if you are being lied to.Utilizing newly developed techniques in hypnosis and psycholinguistics, this book also shows you how to easily influence anyone to tell the truth-- within minutes. Use it in any situation, from casual conversation to in-depth interviews. Never Be Lied to Again is chock-full of colorful examples and engaging scenarios to help you keep from being taken advantage of and give you that extra edge. Use these groundbreaking techniques to take control of every personal and business situation...and never be lied to again.
jQuery: Novice to Ninja
Earle Castledine - 2010
In this question-and-answer book on jQuery, you'll find a cookbook of ready-to-go solutions to help breathe life into your web page. Topics covered include: - Scrolling, Resizing and Animating Webpage elements - Backgrounds, Slideshows, and Crossfaders - Menus, Tabs, and Panels - Buttons, Fields, and Controls - Lists, Trees, and Tables - Frames, Windows, and Dialogs - Adding interactivity with Ajax - Using the jQuery User Interface Themeroller - Writing your own jQuery plug-ins All code used to create each solution is available for download and guaranteed to be simple, efficient and cross-browser compatible.
Cryptanalysis: A Study of Ciphers and Their Solution
Helen Fouche Gaines - 1939
Nihilist, grille, U. S. Army, key-phrase, multiple-alphabet, Gronsfeld, Porta, Beaufort, periodic ciphers, and more. Simple and advanced methods. 166 specimens to solve — with solutions.
Comptia A+ 220-801 and 220-802 Exam Cram
David L. Prowse - 2012
Limited Time Offer: Buy CompTIA(R) A+ 220-801 and 220-802 Exam Cram and receive a 10% off discount code for the CompTIA A+ 220-801 and 220-802 exams. To receive your 10% off discount code:Register your product at pearsonITcertification.com/registerFollow the instructionsGo to your Account page and click on "Access Bonus Content" CompTIA(R) A+ 220-801 and 220-802 Exam Cram, Sixth Edition is the perfect study guide to help you pass CompTIA's A+ 220-801 and 220-802 exams. It provides coverage and practice questions for every exam topic, including substantial new coverage of Windows 7, new PC hardware, tablets, smartphones, and professional-level networking and security. The book presents you with an organized test preparation routine through the use of proven series elements and techniques. Exam topic lists make referencing easy. Exam Alerts, Sidebars, and Notes interspersed throughout the text keep you focused on what you need to know. Cram Quizzes help you assess your knowledge, and the Cram Sheet tear card is the perfect last minute review. Covers the critical information you'll need to know to score higher on your CompTIA A+ 220-801 and 220-802 exams!Deploy and administer desktops and notebooks running Windows 7, Vista, or XPUnderstand, install, and troubleshoot motherboards, processors, and memoryTest and troubleshoot power-related problemsUse all forms of storage, including new Blu-ray and Solid State (SSD) devicesWork effectively with mobile devices, including tablets and smartphonesInstall, configure, and troubleshoot both visible and internal laptop componentsConfigure Windows components and applications, use Windows administrative tools, and optimize Windows systemsRepair damaged Windows environments and boot errorsWork with audio and video subsystems, I/O devices, and the newest peripheralsInstall and manage both local and network printersConfigure IPv4 and understand TCP/IP protocols and IPv6 changesInstall and configure SOHO wired/wireless networks and troubleshoot connectivityImplement secure authentication, prevent malware attacks, and protect data Companion CDThe companion CD contains a digital edition of the Cram Sheet and the powerful Pearson IT Certification Practice Test engine, complete with hundreds of exam-realistic questions and two complete practice exams. The assessment engine offers you a wealth of customization options and reporting features, laying out a complete assessment of your knowledge to help you focus your study where it is needed most. Pearson IT Certifcation Practice Test Minimum System RequirementsWindows XP (SP3), WIndows Vista (SP2), or Windows 7Microsoft .NET Framework 4.0 ClientPentium-class 1 GHz processor (or equivalent)512 MB RAM650 MB disk space plus 50 MB for each downloaded practice exam David L. Prowse is an author, computer network specialist, and technical trainer. Over the past several years he has authored several titles for Pearson Education, including the well-received CompTIA A+ Exam Cram and CompTIA Security+ Cert Guide. As a consultant, he installs and secures the latest in computer and networking technology. He runs the website www.davidlprowse.com, where he gladly answers questions from students and readers.
Programming Scala: Scalability = Functional Programming + Objects
Dean Wampler - 2009
With this book, you'll discover why Scala is ideal for highly scalable, component-based applications that support concurrency and distribution.Programming Scala clearly explains the advantages of Scala as a JVM language. You'll learn how to leverage the wealth of Java class libraries to meet the practical needs of enterprise and Internet projects more easily. Packed with code examples, this book provides useful information on Scala's command-line tools, third-party tools, libraries, and available language-aware plugins for editors and IDEs.Learn how Scala's succinct and flexible code helps you program fasterDiscover the notable improvements Scala offers over Java's object modelGet a concise overview of functional programming, and learn how Scala's support for it offers a better approach to concurrencyKnow how to use mixin composition with traits, pattern matching, concurrency with Actors, and other essential featuresTake advantage of Scala's built-in support for XMLLearn how to develop domain-specific languagesUnderstand the basics for designing test-driven Scala applications
Practices of an Agile Developer: Working in the Real World
Venkat Subramaniam - 2006
You'll learn pragmatic ways of approaching the development process and your personal coding techniques. You'll learn about your own attitudes, issues with working on a team, and how to best manage your learning, all in an iterative, incremental, agile style. You'll see how to apply each practice, and what benefits you can expect. Bottom line: This book will make you a better developer.
Being Geek: The Software Developer's Career Handbook
Michael Lopp - 2010
Is it time to become a manager? Tell your boss he’s a jerk? Join that startup? Author Michael Lopp recalls his own make-or-break moments with Silicon Valley giants such as Apple, Netscape, and Symantec in Being Geek -- an insightful and entertaining book that will help you make better career decisions.With more than 40 standalone stories, Lopp walks through a complete job life cycle, starting with the job interview and ending with the realization that it might be time to find another gig. Many books teach you how to interview for a job or how to manage a project successfully, but only this book helps you handle the baffling circumstances you may encounter throughout your career.Decide what you're worth with the chapter on "The Business"Determine the nature of the miracle your CEO wants with "The Impossible"Give effective presentations with "How Not to Throw Up"Handle liars and people with devious agendas with "Managing Werewolves"Realize when you should be looking for a new gig with "The Itch"
Learn to Remember: Practical Techniques and Excerises to Improve your Memory
Dominic O'Brien - 2000
The latest title in our best-selling self-help series, Learn to Remember is a beautifully illustrated and expertly written guide to enhancing and improving the memory. By targeting key brain functions, Learn to Remember leads readers through the memory maze. It begins with a detailed, easy-to-understand explanation of how memory works, covering long-term, short-term, and suppressed memory, as well as storage, retention, and recollection. By following various tried-and-tested methods and the step-by-step exercises, readers can train their memories to be more effectiveexpanding range and improving accuracy and efficiency. Filled with expert advice and 150 colorful illustrations, Learn to Remember offers a unique approach to an age-old problem. Write this one down!
Basics of Web Design: HTML5 & CSS3
Terry Felke-Morris - 2011
"Basics of Web Design: HTML5 and CSS3, 2e "covers the basic concepts that web designers need to develop their skills: Introductory Internet and Web concepts Creating web pages with HTML5 Configuring text, color, and page layout with Cascading Style Sheets Configuring images and multimedia on web pages Web design best practices Accessibility, usability, and search engine optimization considerations Obtaining a domain name and web host Publishing to the Web