Book picks similar to
MongoDB Applied Design Patterns by Rick Copeland
programming
computer-science
mongodb
database
Continuous Integration: Improving Software Quality and Reducing Risk
Paul Duvall - 2007
The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques. The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility. The book covers How to make integration a "non-event" on your software development projects How to reduce the amount of repetitive processes you perform when building your software Practices and techniques for using CI effectively with your teams Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software Assessments of different CI servers and related tools on the market The book's companion Web site, www.integratebutton.com, provides updates and code examples
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries
Krzysztof Cwalina - 2005
Expanded and updated for .NET 3.5, this new edition focuses on the design issues that directly affect the programmability of a class library, specifically its publicly accessible APIs. This book can improve the work of any .NET developer producing code that other developers will use. It includes copious annotations to the guidelines by thirty-five prominent architects and practitioners of the .NET Framework, providing a lively discussion of the reasons for the guidelines as well as examples of when to break those guidelines. Microsoft architects Krzysztof Cwalina and Brad Abrams teach framework design from the top down. From their significant combined experience and deep insight, you will learnThe general philosophy and fundamental principles of framework design Naming guidelines for the various parts of a framework Guidelines for the design and extending of types and members of types Issues affecting-and guidelines for ensuring-extensibility How (and how "not") to design exceptions Guidelines for-and examples of-common framework design patternsGuidelines in this book are presented in four major forms: Do, Consider, Avoid, and Do not. These directives help focus attention on practices that should "always" be used, those that should "generally" be used, those that should "rarely" be used, and those that should "never" be used. Every guideline includes a discussion of its applicability, and most include a code example to help illuminate the dialogue. "Framework Design Guidelines, Second Edition, " is the only definitive source of best practices for managed code API development, direct from the architects themselves. A companion DVD includes the Designing .NET Class Libraries video series, instructional presentations by the authors on design guidelines for developing classes and components that extend the .NET Framework. A sample API specification and other useful resources and tools are also included.
Joel on Software
Joel Spolsky - 2004
For years, Joel Spolsky has done exactly this at www.joelonsoftware.com. Now, for the first time, you can own a collection of the most important essays from his site in one book, with exclusive commentary and new insights from joel.
Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services
Robert Daigneau - 2011
In this time, developers and architects have encountered a number of recurring design challenges related to their usage, and have learned that certain service design approaches work better than others to solve certain problems. In Service Design Patterns, Rob Daigneau codifies proven design solutions for web services that follow the REST architectural style or leverage the SOAP/WSDL specifications. This catalogue identifies the fundamental topics in web service design and lists the common design patterns for each topic. All patterns identify the context in which they may be used, explain the constituent design elements, and explore the relative strengths and trade-offs. Code examples are provided to help you better understand how the patterns work but are kept general so that you can see how the solutions may be applied to disparate technologies that will inevitably change in the years to come. This book will help readers answer the following questions: How do you create a web service API, what are the common API styles, and when should a particular style be used? How can clients and web services communicate, and what are the foundations for creating complex conversations in which multiple parties exchange data over extended periods of time? What are the options for implementing web service logic, and when should a particular approach be used? How can clients become less coupled to the underlying systems used by a service? How can information about a web service be discovered? How can generic functions like authentication, validation, caching, and logging be supported on the client or service? What changes to a service cause clients to break? What are the common ways to version a service? How can web services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade? This book is an invaluable resource for enterprise architects, solution architects, and developers who use web services to create enterprise IT applications, commercial or open source products, and Software as a Service (SaaS) products that leverage emerging Cloud platforms.
Secrets and Lies: Digital Security in a Networked World
Bruce Schneier - 2000
Identity Theft. Corporate Espionage. National secrets compromised. Can anyone promise security in our digital world?The man who introduced cryptography to the boardroom says no. But in this fascinating read, he shows us how to come closer by developing security measures in terms of context, tools, and strategy. Security is a process, not a product – one that system administrators and corporate executives alike must understand to survive.This edition updated with new information about post-9/11 security.
The Art of Unit Testing: With Examples in .NET
Roy Osherove - 2009
It guides you step by step from simple tests to tests that are maintainable, readable, and trustworthy. It covers advanced subjects like mocks, stubs, and frameworks such as Typemock Isolator and Rhino Mocks. And you'll learn about advanced test patterns and organization, working with legacy code and even untestable code. The book discusses tools you need when testing databases and other technologies. It's written for .NET developers but others will also benefit from this book.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.Table of ContentsThe basics of unit testingA first unit testUsing stubs to break dependenciesInteraction testing using mock objectsIsolation (mock object) frameworksTest hierarchies and organizationThe pillars of good testsIntegrating unit testing into the organizationWorking with legacy code
Version Control with Git
Jon Loeliger - 2009
Git permits virtually an infinite variety of methods for development and collaboration. Created by Linus Torvalds to manage development of the Linux kernel, it's become the principal tool for distributed version control. But Git's flexibility also means that some users don't understand how to use it to their best advantage. Version Control with Git offers tutorials on the most effective ways to use it, as well as friendly yet rigorous advice to help you navigate Git's many functions. With this book, you will:Learn how to use Git in several real-world development environments Gain insight into Git's common-use cases, initial tasks, and basic functions Understand how to use Git for both centralized and distributed version control Use Git to manage patches, diffs, merges, and conflicts Acquire advanced techniques such as rebasing, hooks, and ways to handle submodules (subprojects) Learn how to use Git with Subversion Git has earned the respect of developers around the world. Find out how you can benefit from this amazing tool with Version Control with Git.
Specification by Example: How Successful Teams Deliver the Right Software
Gojko Adzic - 2011
In this book, author Gojko Adzic distills interviews with successful teams worldwide, sharing how they specify, develop, and deliver software, without defects, in short iterative delivery cycles.About the Technology Specification by Example is a collaborative method for specifying requirements and tests. Seven patterns, fully explored in this book, are key to making the method effective. The method has four main benefits: it produces living, reliable documentation; it defines expectations clearly and makes validation efficient; it reduces rework; and, above all, it assures delivery teams and business stakeholders that the software that's built is right for its purpose.About the Book This book distills from the experience of leading teams worldwide effective ways to specify, test, and deliver software in short, iterative delivery cycles. Case studies in this book range from small web startups to large financial institutions, working in many processes including XP, Scrum, and Kanban.This book is written for developers, testers, analysts, and business people working together to build great software.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.What's InsideCommon process patterns How to avoid bad practices Fitting SBE in your process 50+ case studies For additional resources go to specificationbyexample.com.
Metaprogramming Ruby
Paolo Perrotta - 2010
Now you can get in on the action as well. This book describes metaprogramming as an essential component of Ruby. Once you understand the principles of Ruby, including the object model, scopes, and eigenclasses, you're on your way to applying metaprogramming both in your daily work and in your fun, after-hours projects. Learning metaprogramming doesn't have to be difficult or boring. By taking you on a Monday-through-Friday workweek adventure with a pair of programmers, Paolo Perrotta helps make mastering the art of metaprogramming both straightforward and entertaining. The book is packed with:Pragmatic examples of metaprogramming in action, many of which come straight from popular libraries or frameworks, such as Rails. Programming challenges that let you experiment and play with some of the most fun, "out-there" metaprogramming concepts. Metaprogramming spells--34 practical recipes and idioms that you can study and apply right now, to write code that is sure to impress. Whether you're a Ruby apprentice on the path to mastering the language or a Ruby wiz in search of new tips, this book is for you.
AngularJS
Brad Green - 2013
This hands-on guide introduces you to AngularJS, the open source JavaScript framework that uses Model–view–controller (MVC) architecture, data binding, client-side templates, and dependency injection to create a much-needed structure for building web apps.Guided by two engineers who worked on AngularJS at Google, you’ll walk through the framework’s key features, and then build a working AngularJS app—from layout to testing, compiling, and debugging. You’ll learn how AngularJS helps reduce the complexity of your web app.Dive deep into Angular’s building blocks and learn how they work togetherGain maximum flexibility by separating logic, data, and presentation responsibilities with MVCAssemble your full app in the browser, using client-side templatesUse AngularJS directives to extend HTML with declarative syntaxCommunicate with the server and implement simple caching with the $http serviceUse dependency injection to improve refactoring, testability, and multiple environment designGet code samples for common problems you face in most web apps
High Performance Browser Networking
Ilya Grigorik - 2013
By understanding what the browser can and cannot do, you’ll be able to make better design decisions and deliver faster web applications to your users.Author Ilya Grigorik—a developer advocate and web performance engineer at Google—starts with the building blocks of TCP and UDP, and then dives into newer technologies such as HTTP 2.0, WebSockets, and WebRTC. This book explains the benefits of these technologies and helps you determine which ones to use for your next application.- Learn how TCP affects the performance of HTTP- Understand why mobile networks are slower than wired networks- Use best practices to address performance bottlenecks in HTTP- Discover how HTTP 2.0 (based on SPDY) will improve networking- Learn how to use Server Sent Events (SSE) for push updates, and WebSockets for XMPP chat- Explore WebRTC for browser-to-browser applications such as P2P video chat- Examine the architecture of a simple app that uses HTTP 2.0, SSE, WebSockets, and WebRTC
Windows PowerShell Cookbook: The Complete Guide to Scripting Microsoft's Command Shell
Lee Holmes - 2007
Intermediate to advanced system administrators will find more than 100 tried-and-tested scripts they can copy and use immediately.Updated for PowerShell 3.0, this comprehensive cookbook includes hands-on recipes for common tasks and administrative jobs that you can apply whether you’re on the client or server version of Windows. You also get quick references to technologies used in conjunction with PowerShell, including format specifiers and frequently referenced registry keys to selected .NET, COM, and WMI classes.Learn how to use PowerShell on Windows 8 and Windows Server 2012Tour PowerShell’s core features, including the command model, object-based pipeline, and ubiquitous scriptingMaster fundamentals such as the interactive shell, pipeline, and object conceptsPerform common tasks that involve working with files, Internet-connected scripts, user interaction, and moreSolve tasks in systems and enterprise management, such as working with Active Directory and the filesystem
SQL Antipatterns
Bill Karwin - 2010
Now he's sharing his collection of antipatterns--the most common errors he's identified in those thousands of requests for help. Most developers aren't SQL experts, and most of the SQL that gets used is inefficient, hard to maintain, and sometimes just plain wrong. This book shows you all the common mistakes, and then leads you through the best fixes. What's more, it shows you what's behind these fixes, so you'll learn a lot about relational databases along the way. Each chapter in this book helps you identify, explain, and correct a unique and dangerous antipattern. The four parts of the book group the antipatterns in terms of logical database design, physical database design, queries, and application development. The chances are good that your application's database layer already contains problems such as Index Shotgun, Keyless Entry, Fear of the Unknown, and Spaghetti Query. This book will help you and your team find them. Even better, it will also show you how to fix them, and how to avoid these and other problems in the future. SQL Antipatterns gives you a rare glimpse into an SQL expert's playbook. Now you can stamp out these common database errors once and for all. Whatever platform or programming language you use, whether you're a junior programmer or a Ph.D., SQL Antipatterns will show you how to design and build databases, how to write better database queries, and how to integrate SQL programming with your application like an expert. You'll also learn the best and most current technology for full-text search, how to design code that is resistant to SQL injection attacks, and other techniques for success.
Bash Cookbook: Solutions and Examples for Bash Users
Carl Albing - 2007
Scripting is a way to harness and customize the power of any Unix system, and it's an essential skill for any Unix users, including system administrators and professional OS X developers. But beneath this simple promise lies a treacherous ocean of variations in Unix commands and standards.bash Cookbook teaches shell scripting the way Unix masters practice the craft. It presents a variety of recipes and tricks for all levels of shell programmers so that anyone can become a proficient user of the most common Unix shell -- the bash shell -- and cygwin or other popular Unix emulation packages. Packed full of useful scripts, along with examples that explain how to create better scripts, this new cookbook gives professionals and power users everything they need to automate routine tasks and enable them to truly manage their systems -- rather than have their systems manage them.
SEO Made Simple: Strategies for Dominating the World's Largest Search Engine
Michael H. Fleischner - 2008
Visit the SEO Made Simple (fourth edition) page for more information. http: //www.amazon.com/SEO-Made-Simple-4th-Ed... More Than 30,000 Copies Sold! The original SEO Made Simple: Strategies for Dominating the World's Leading Search Engine, is a tell-all guide for anyone trying to reach the highly coveted #1 ranking on Google for their Web site or Blog. Learn from a leading Webmaster the specific SEO techniques that deliver top rankings in less than 30 days. Whether you're a search engine optimization expert or new to Web site rankings, the techniques revealed in SEO Made Simple will give you everything you need to dominate the leading search engines. Generate tons of traffic to your website absolutely FREE with top search engine placement on Google, Yahoo! and MSN. SEO Made Simple is the only resource on search engine optimization that you'll ever need.
