Agile Software Development, Principles, Patterns, and Practices FREE PDF DOWNLOAD




Agile Software Development, Principles, Patterns, and Practices




Product Details

  • Hardcover: 529 pages
  • Publisher: Prentice Hall; 1st edition (October 25, 2002)
  • Language: English
  • Download link: http://gotlinks.co/4DO9



Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application—from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts — showing the errors, blind alleys, and creative insights that occur throughout the software design process. The book covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.






The Art of Unit Testing: with examples in C#




Product Details

  • Paperback: 296 pages
  • Publisher: Manning Publications; Second Edition edition (December 7, 2013)
  • Language: English
  • Download link: http://gotlinks.co/4DO9

Summary
The Art of Unit Testing, Second Edition guides you step by step from writing your first simple tests to developing robust test sets that are maintainable, readable, and trustworthy. You'll master the foundational ideas and quickly move to high-value subjects like mocks, stubs, and isolation, including frameworks such as Moq, FakeItEasy, and Typemock Isolator. You'll explore test patterns and organization, working with legacy code, and even "untestable" code. Along the way, you'll learn about integration testing and techniques and tools for testing databases and other technologies.
About this Book
You know you should be unit testing, so why aren't you doing it? If you're new to unit testing, if you find unit testing tedious, or if you're just not getting enough payoff for the effort you put into it, keep reading.
The Art of Unit Testing, Second Edition guides you step by step from writing your first simple unit tests to building complete test sets that are maintainable, readable, and trustworthy. You'll move quickly to more complicated subjects like mocks and stubs, while learning to use isolation (mocking) frameworks like Moq, FakeItEasy, and Typemock Isolator. You'll explore test patterns and organization, refactor code applications, and learn how to test "untestable" code. Along the way, you'll learn about integration testing and techniques for testing with databases.
The examples in the book use C#, but will benefit anyone using a statically typed language such as Java or C++.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
What's Inside
  • Create readable, maintainable, trustworthy tests
  • Fakes, stubs, mock objects, and isolation (mocking) frameworks
  • Simple dependency injection techniques
  • Refactoring legacy code
About the Author
Roy Osherove has been coding for over 15 years, and he consults and trains teams worldwide on the gentle art of unit testing and test-driven development. His blog is at ArtOfUnitTesting.com.
Table of Contents
    PART 1 GETTING STARTED
    1. The basics of unit testing
    2. A first unit test

    3. PART 2 CORE TECHNIQUES
    4. Using stubs to break dependencies

    5. Interaction testing using mock objects

    6. Isolation (mocking) frameworks

    7. Digging deeper into isolation frameworks

    8. PART 3 THE TEST CODE
    9. Test hierarchies and organization

    10. The pillars of good unit tests

    11. PART 4 DESIGN AND PROCESS
    12. Integrating unit testing into the organization

    13. Working with legacy code
    14. Design and testability




Linux Kernel Development (3rd Edition)




Product Details

  • Paperback: 440 pages
  • Publisher: Addison-Wesley Professional; 3 edition (July 2, 2010)
  • Language: English
  • Download link: http://gotlinks.co/4DO9

Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code, as well as to programmers seeking to better understand the operating system and become more efficient and productive in their coding.

The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs.

The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers.

The third edition of Linux Kernel Development includes new and updated material throughout the book:
  • An all-new chapter on kernel data structures
  • Details on interrupt handlers and bottom halves
  • Extended coverage of virtual memory and memory allocation
  • Tips on debugging the Linux kernel
  • In-depth coverage of kernel synchronization and locking
  • Useful insight into submitting kernel patches and working with the Linux kernel community




C++ Primer Plus (6th Edition) (Developer's Library)




Product Details

  • Series: Developer's Library
  • Paperback: 1200 pages
  • Publisher: Addison-Wesley Professional; 6 edition (October 28, 2011)
  • Language: English
  • Download link: http://gotlinks.co/4DO9

C++ Primer Plus, Sixth Edition
New C++11 Coverage

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.

The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.

Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use. 

Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.

In C++ Primer Plus, you’ll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:
  • A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard
  • Complete, integrated discussion of both basic C language and additional C++ features
  • Clear guidance about when and why to use a feature
  • Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time
  • Hundreds of practical sample programs
  • Review questions and programming exercises at the end of each chapter to test your understanding
  • Coverage of generic C++ gives you the greatest possible flexibility
  • Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces
Table of Contents 

1: Getting Started with C++ 
2: Setting Out to C++
3: Dealing with Data
4: Compound Types 
5: Loops and Relational Expressions
6: Branching Statements and Logical Operators
7: Functions: C++’s Programming Modules
8: Adventures in Functions
9: Memory Models and Namespaces
10: Objects and Classes
11: Working with Classes
12: Classes and Dynamic Memory Allocation
13: Class Inheritance
14: Reusing Code in C++
15: Friends, Exceptions, and More
16: The string Class and the Standard Template Library
17: Input, Output, and Files
18: The New C++11 Standard
A Number Bases
B C++ Reserved Words
C The ASCII Character Set
D Operator Precedence
E Other Operators
F The stringTemplate Class
G The Standard Template Library Methods and Functions
H Selected Readings and Internet Resources
I Converting to ISO Standard C++
J Answers to Chapter Reviews




Beginning C++ Through Game Programming




Product Details

  • Paperback: 416 pages
  • Publisher: Cengage Learning PTR; 4 edition (June 23, 2014)
  • Language: English
  • Download link: http://gotlinks.co/4DO9

When it comes to game programming, C++ is the name of the game. If you aspire to move from game player to game creator, it all starts with learning the fundamentals of C++ and game-programming basics. With BEGINNING C++ THROUGH GAME PROGRAMMING, FOURTH EDITION, you will find an up-to-date and thorough introduction to everything you need to get started--with no previous programming experience required. In the new fourth edition of this popular guide to learning C++, you will work with a complete program while learning each new concept and a game program at the end of each chapter. A final game project at the end of the book draws together everything you've learned. Written with the beginning programmer in mind, BEGINNING C++ THROUGH GAME PROGRAMMING, FOURTH EDITION is a great way to get started in game programming.



MongoDB: The Definitive Guide




Product Details

  • Paperback: 432 pages
  • Publisher: O'Reilly Media; Second Edition edition (May 26, 2013)
  • Language: English
  • Download link: http://gotlinks.co/4DO9

Manage the huMONGOus amount of data collected through your web application with MongoDB. This authoritative introduction—written by a core contributor to the project—shows you the many advantages of using document-oriented databases, and demonstrates how this reliable, high-performance system allows for almost infinite horizontal scalability.
This updated second edition provides guidance for database developers, advanced configuration for system administrators, and an overview of the concepts and use cases for other people on your project. Ideal for NoSQL newcomers and experienced MongoDB users alike, this guide provides numerous real-world schema design examples.
  • Get started with MongoDB core concepts and vocabulary
  • Perform basic write operations at different levels of safety and speed
  • Create complex queries, with options for limiting, skipping, and sorting results
  • Design an application that works well with MongoDB
  • Aggregate data, including counting, finding distinct values, grouping documents, and using MapReduce
  • Gather and interpret statistics about your collections and databases
  • Set up replica sets and automatic failover in MongoDB
  • Use sharding to scale horizontally, and learn how it impacts applications
  • Delve into monitoring, security and authentication, backup/restore, and other administrative tasks




C++ Concurrency in Action: Practical Multithreading




Product Details

  • Paperback: 528 pages
  • Publisher: Manning Publications; 1 edition (February 28, 2012)
  • Language: English
Summary
C++ Concurrency in Action is a reference and guide to the new C++ 11 Standard for experienced C++ programmers as well as those who have never written multithreaded code. This book will show you how to write robust multithreaded applications in C++ while avoiding many common pitfalls.
About the Technology
Multiple processors with multiple cores are the norm these days. The C++11 version of the C++ language offers beefed-up support for multithreaded applications, and requires that you master the principles, techniques, and new language features of concurrency to stay ahead of the curve.
About the Book
Without assuming you have a background in the subject, CC++ Concurrency in Actiongradually enables you to write robust and elegant multithreaded applications in C++11. You'll explore the threading memory model, the new multithreading support library, and basic thread launching and synchronization facilities. Along the way, you'll learn how to navigate the trickier bits of programming for concurrency.
Written for C++ programmers who are new to concurrency and others who may have written multithreaded code using other languages, APIs, or platforms.
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 Inside
  • Written for the new C++11 Standard
  • Programming for multiple cores and processors
  • Small examples for learning, big examples for practice
====================
Table of Contents
  1. Hello, world of concurrency in C++!
  2. Managing threads
  3. Sharing data between threads
  4. Synchronizing concurrent operations
  5. The C++ memory model and operations on atomic types
  6. Designing lock-based concurrent data structures
  7. Designing lock-free concurrent data structures
  8. Designing concurrent code
  9. Advanced thread management
  10. Testing and debugging multithreaded applications