GET /services/catalog/products?format=api&page=74132
Response information
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/vnd.api+json
Vary: Accept

{
    "links": {
        "first": "https://redshelf.com/services/catalog/products?format=api&page=1",
        "last": "https://redshelf.com/services/catalog/products?format=api&page=78532",
        "next": "https://redshelf.com/services/catalog/products?format=api&page=74133",
        "prev": "https://redshelf.com/services/catalog/products?format=api&page=74131"
    },
    "data": [
        {
            "type": "Product",
            "id": "00010000312044",
            "attributes": {
                "name": "Exploratory Software Testing",
                "subtitle": "Tips, Tricks, Tours, and Techniques to Guide Test Design",
                "description": "How to Find and Fix the Killer Software Bugs that Evade Conventional Testing </p> In Exploratory Software Testing, renowned software testing expert James Whittaker reveals the real causes of todays most serious, well-hidden software bugs--and introduces powerful new exploratory techniques for finding and correcting them.</p> Drawing on nearly two decades of experience working at the cutting edge of testing with Google, Microsoft, and other top software organizations, Whittaker introduces innovative new processes for manual testing that are repeatable, prescriptive, teachable, and extremely effective. Whittaker defines both in-the-small techniques for individual testers and in-the-large techniques to supercharge test teams. He also introduces a hybrid strategy for injecting exploratory concepts into traditional scripted testing. Youll learn when to use each, and how to use them all successfully. </p> Concise, entertaining, and actionable, this book introduces robust techniques that have been used extensively by real testers on shipping software, illuminating their actual experiences with these techniques, and the results theyve achieved. Writing for testers, QA specialists, developers, program managers, and architects alike, Whittaker answers crucial questions such as: </p>  </p>  Why do some bugs remain invisible to automated testing--and how can I uncover them?</p>  What techniques will help me consistently discover and eliminate show stopper bugs?</p>  How do I make manual testing more effective--and less boring and unpleasant?</p>  Whats the most effective high-level test strategy for each project?</p>  Which inputs should I test when I cant test them all?</p>  Which test cases will provide the best feature coverage?</p>  How can I get better results by combining exploratory testing with traditional script or scenario-based testing?</p>  How do I reflect feedback from the development process, such as code changes?</p>  </p>",
                "author": "James A. Whittaker",
                "slug": "exploratory-software-testing-312044-9780321647788-james-a-whittaker",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321647788.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312044",
                "product_url": "/app/ecom/book/312044/exploratory-software-testing-312044-9780321647788-james-a-whittaker",
                "bisac_codes": [
                    "COM051330"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321636416",
                    "ISBN10": "0321636414",
                    "EISBN13": "9780321647788",
                    "EISBN10": "0321647785"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023971440"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312042",
            "attributes": {
                "name": "Java Puzzlers",
                "subtitle": "Traps, Pitfalls, and Corner Cases",
                "description": "<p>\"Every programming language has its quirks. This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles.\"</p> <p> --Guy Steele, Sun Fellow and coauthor of The JavaTM Language Specification</p> <p>\"I laughed, I cried, I threw up (my hands in admiration).\"</p> <p> --Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert Group</p> <p>How well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you! </p> <p>In the tradition of Effective JavaTM, Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions, JavaTM Puzzlers features 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging. </p> <p>Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference. </p> <p>Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers. </p> <br> <br>",
                "author": "Joshua Bloch, Neal Gafter",
                "slug": "java-puzzlers-312042-9780321643506-joshua-bloch-neal-gafter",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321643506.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312042",
                "product_url": "/app/ecom/book/312042/java-puzzlers-312042-9780321643506-joshua-bloch-neal-gafter",
                "bisac_codes": [
                    "COM051280"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321336781",
                    "ISBN10": "032133678X",
                    "EISBN13": "9780321643506",
                    "EISBN10": "032164350X"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023977785"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312036",
            "attributes": {
                "name": "Rational Unified Process Made Easy, The",
                "subtitle": "A Practitioner's Guide to the RUP",
                "description": "\"Per Kroll and Philippe Kruchten are especially well suited to explain the RUP...because they have been the central forces inside Rational Software behind the creation of the RUP and its delivery to projects around the world.\"</p> --From the Foreword by Grady Booch</p> This book is a comprehensive guide to modern software development practices, as embodied in the Rational Unified Process, or RUP. With the help of this book's practical advice and insight, software practitioners will learn how to tackle challenging development projects--small and large--using an iterative and risk-driven development approach with a proven track record. </p> The Rational Unified Process Made Easy will teach you the key points involved in planning and managing iterative projects, the fundamentals of component design and software architecture, and the proper employment of use cases. All team members--from project managers to analysts, from developers to testers--will learn how to immediately apply the RUP to their work. You will learn that the RUP is a flexible, versatile process framework that can be tailored to suit the needs of development projects of all types and sizes. </p> Key topics covered include:</p>   How to use the RUP to develop iteratively, adopt an architecture-centric approach, mitigate risk, and verify software quality   Tasks associated with the four phases of the RUP: Inception, Elaboration, Construction, and Transition   Roles and responsibilities of project managers, architects, analysts, developers, testers, and process engineers in a RUP project   Incrementally adopting the RUP with minimal risk   Common patterns for failure with the RUP--and how to avoid them  Use this book to get quickly up to speed with the RUP, so you can easily employ the significant power of this process to increase the productivity of your team. </p>",
                "author": "Per Kroll, Philippe Kruchten",
                "slug": "rational-unified-process-made-easy-the-312036-9780321630551-per-kroll-philippe-kruchten",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630551.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312036",
                "product_url": "/app/ecom/book/312036/rational-unified-process-made-easy-the-312036-9780321630551-per-kroll-philippe-kruchten",
                "bisac_codes": [
                    "COM051210"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321166098",
                    "ISBN10": "0321166094",
                    "EISBN13": "9780321630551",
                    "EISBN10": "0321630556"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023976603"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312027",
            "attributes": {
                "name": "Patterns for Parallel Programming",
                "subtitle": "",
                "description": "<p>This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.</p> <p></p> <p>The Parallel Programming Guide for Every Software Developer</p> <p>From grids and clusters to next-generation game consoles, parallel computing is going mainstream. Innovations such as Hyper-Threading Technology, HyperTransport Technology, and multicore microprocessors from IBM, Intel, and Sun are accelerating the movement's growth. Only one thing is missing: programmers with the skills to meet the soaring demand for parallel software. </p> <p>That's where Patterns for Parallel Programming comes in. It's the first parallel programming guide written specifically to serve working software developers, not just computer scientists. The authors introduce a complete, highly accessible pattern language that will help any experienced developer \"think parallel\"-and start writing effective parallel code almost immediately. Instead of formal theory, they deliver proven solutions to the challenges faced by parallel programmers, and pragmatic guidance for using today's parallel APIs in the real world. Coverage includes: </p>   Understanding the parallel computing landscape and the challenges faced by parallel developers    Finding the concurrency in a software design problem and decomposing it into concurrent tasks    Managing the use of data across tasks    Creating an algorithm structure that effectively exploits the concurrency you've identified    Connecting your algorithmic structures to the APIs needed to implement them    Specific software constructs for implementing parallel programs    Working with today's leading parallel programming environments: OpenMP, MPI, and Java  <p>Patterns have helped thousands of programmers master object-oriented development and other complex programming technologies. With this book, you will learn that they're the best way to master parallel programming too.</p> <br> <br> 0321228111B08232004 <p></p>",
                "author": "Timothy G. Mattson, Beverly Sanders, Berna Massingill",
                "slug": "patterns-for-parallel-programming-312027-9780321630582-timothy-g-mattson-beverly-sanders-berna-massingill",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630582.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312027",
                "product_url": "/app/ecom/book/312027/patterns-for-parallel-programming-312027-9780321630582-timothy-g-mattson-beverly-sanders-berna-massingill",
                "bisac_codes": [
                    "COM051230"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321228116",
                    "ISBN10": "0321228111",
                    "EISBN13": "9780321630582",
                    "EISBN10": "0321630580"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023978916"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312026",
            "attributes": {
                "name": "Effective TCP/IP Programming",
                "subtitle": "44 Tips to Improve Your Network Programs",
                "description": "Programming in TCP/IP can seem deceptively simple. Nonetheless, many network programmers recognize that their applications could be much more robust. Effective TCP/IP Programming is designed to boost programmers to a higher level of competence by focusing on the protocol suite's more subtle features and techniques. It gives you the know-how you need to produce highly effective TCP/IP programs. </p>  </p> In forty-four concise, self-contained lessons, this book offers experience-based tips, practices, and rules of thumb for learning high-performance TCP/IP programming techniques. Moreover, it shows you how to avoid many of TCP/IP's most common trouble spots. Effective TCP/IP Programming offers valuable advice on such topics as:</p>   Exploring IP addressing, subnets, and CIDR   Preferring the sockets interface over XTI/TLI   Using two TCP connections   Making your applications event-driven   Using one large write instead of multiple small writes   Avoiding data copying   Understanding what TCP reliability really means   Recognizing the effects of buffer sizes   Using tcpdump, traceroute, netstat, and ping effectively   Numerous examples demonstrate essential ideas and concepts. Skeleton code and a library of common functions allow you to write applications without having to worry about routine chores. </p>  </p> Through individual tips and explanations, you will acquire an overall understanding of TCP/IP's inner workings and the practical knowledge needed to put it to work. Using Effective TCP/IP Programming, you'll speed through the learning process and quickly achieve the programming capabilities of a seasoned pro.",
                "author": "Jon C. Snader",
                "slug": "effective-tcpip-programming-312026-9780321638380-jon-c-snader",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321638380.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312026",
                "product_url": "/app/ecom/book/312026/effective-tcpip-programming-312026-9780321638380-jon-c-snader",
                "bisac_codes": [
                    "COM043040"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780201615890",
                    "ISBN10": "0201615894",
                    "EISBN13": "9780321638380",
                    "EISBN10": "0321638387"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023977257"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312025",
            "attributes": {
                "name": "Brand Gap, Revised Edition, The",
                "subtitle": "",
                "description": "THE BRAND GAP is the first book to present a unified theory of brand-building.  Whereas most books on branding are weighted toward either a strategic or creative approach, this book shows how both ways of thinking can unite to produce a charismatic branda brand that customers feel is essential to their lives. In an entertaining two-hour read youll learn: <br> <br> the new definition of brand <br> the five essential disciplines of brand-building <br> how branding is changing the dynamics of competition <br> the three most powerful questions to ask about any brand <br> why collaboration is the key to brand-building <br> how design determines a customers experience <br> how to test brand concepts quickly and cheaply <br> the importance of managing brands from the inside <br> 220-word brand glossary <br> <br>From the back cover: <br>Not since McLuhans THE MEDIUM IS THE MESSAGE has a book compressed so many ideas into so few pages. Using the visual language of the boardroom, Neumeier presents the first unified theory of brandinga set of five disciplines to help companies bridge the gap between brand strategy and customer experience. Those with a grasp of branding will be inspired by the new perspectives they find here, and those who would like to understand it better will suddenly get it. This deceptively simple book offers everyone in the company access to the most powerful business tool since the spreadsheet. <br>",
                "author": "Marty Neumeier",
                "slug": "brand-gap-revised-edition-the-312025-9780321706638-marty-neumeier",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321706638.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312025",
                "product_url": "/app/ecom/book/312025/brand-gap-revised-edition-the-312025-9780321706638-marty-neumeier",
                "bisac_codes": [
                    "COM012000",
                    "BUS043000"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321348104",
                    "ISBN10": "0321348109",
                    "EISBN13": "9780321706638",
                    "EISBN10": "0321706633"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023972060"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312021",
            "attributes": {
                "name": "Facts and Fallacies of Software Engineering",
                "subtitle": "",
                "description": "The practice of building software is a new kid on the block technology. Though it may not seem this way for those who have been in the field for most of their careers, in the overall scheme of professions, software builders are relative newbies.</p> In the short history of the software field, a lot of facts have been identified, and a lot of fallacies promulgated. Those facts and fallacies are what this book is about. </p> Theres a problem with those factsand, as you might imagine, those fallacies. Many of these fundamentally important facts are learned by a software engineer, but over the short lifespan of the software field, all too many of them have been forgotten. While reading Facts and Fallacies of Software Engineering, you may experience moments of Oh, yes, I had forgotten that, alongside some Is that really true? thoughts.</p> The author of this book doesnt shy away from controversy. In fact, each of the facts and fallacies is accompanied by a discussion of whatever controversy envelops it. You may find yourself agreeing with a lot of the facts and fallacies, yet emotionally disturbed by a few of them! Whether you agree or disagree, you will learn why the author has been called the premier curmudgeon of software practice.</p> These facts and fallacies are fundamental to the software building fieldforget or neglect them at your peril!</p>",
                "author": "Robert L. Glass",
                "slug": "facts-and-fallacies-of-software-engineering-312021-9780321630650-robert-l-glass",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630650.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312021",
                "product_url": "/app/ecom/book/312021/facts-and-fallacies-of-software-engineering-312021-9780321630650-robert-l-glass",
                "bisac_codes": [
                    "COM051430"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321117427",
                    "ISBN10": "0321117425",
                    "EISBN13": "9780321630650",
                    "EISBN10": "0321630653"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023978799"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312020",
            "attributes": {
                "name": "Requirements by Collaboration",
                "subtitle": "Workshops for Defining Needs",
                "description": "I spend much time helping organizations capture requirements and even more time helping them recover from not capturing requirements. Many of them have gone through some motions regarding requirements as if they were sleepworking. Its time to wake up and do it rightand this book is going to be their alarm clock.</p>      Jerry Weinberg, author of numerous books on productivity enhancement In todays complex, fast-paced software development environment, collaborationthe intense peer-to-peer conversations that result in products, decisions, and knowledge sharingis absolutely essential to success. But all too often, attempts to collaborate degenerate into agonizing meetings or ineffectual bull sessions. Ellen's wonderful book will help you bridge the gapturning the agony of meetings into the ecstasy of effective collaboration.</p>      Jim Highsmith, a pioneer in adaptive software development methods Requirements by Collaboration presents a wealth of practical tools and techniques for facilitating requirements development workshops. It is suitableno, essential readingfor requirements workshop facilitators. It will help both technical people and customer representatives participate in these critical contributions to software success.</p>      Karl Wiegers, Principal Consultant, Process Impact, author of Software Requirements The need for this particular book, at this particular time, is crystal clear. We have entered a new age where software development must be viewed as a form of business problem solving. That means direct user participation in developing requirements, or more accurately, in jointly working the business problem. That, in turn, means facilitated sessions. In this book, Ellen Gottesdiener provides a wealth of practical ideas for ensuring that you have exactly the right stuff for this all-important area of professional art.</p> <br>      Ronald G. Ross, Principal, Business Rule Solutions, LLC, Executive Editor, www.BRCommunity.com Gottesdieners years of software development experience coupled with her straight-forward writing style make her book a perfect choice for either a senior developer or a midlevel project manager. In addition to her technical experience, her knowledge of group dynamics balance the book by educating the reader on how to manage conflict and personality differences within a requirements teamsomething that is missing from most requirements textbooks...It is a required handbook that will be referred to again and again.</p>      Kay Christian, ebusiness Consultant, Conifer, Colorado Requirements by Collaboration is a must read for any system stakeholder. End users and system analysts will learn the significant value they can add to the systems development process. Management will learn the tremendous return they may receive from making a modest time/people investment in facilitated sessions. Facilitators will discover ways to glean an amazing amount of high-quality information in a relatively brief time.</p>      Russ Schwartz, Computer System Quality Consultant, Global Biotechnology Firm In addition to showing how requirements are identified, evaluated, and confirmed, Ellen provides important guidance based on her own real-world experience for creating and managing the workshop environment in which requirements are generated. This book is an engaging and invaluable resource for project teams and sponsors, both business and IT, who are committed to achieving results in the most productive manner possible.</p>      Hal Thilmony, Senior Manager, Business Process Improvement (Finance), CiscoSystems, Inc. Project managers should read this book for assistance with planning the requirements process. Experienced facilitators will enrich their knowledge. New facilitators can use this book to get them up to speed and become more effective in less time.</p>      Rob Stroober, Competence Development Manager and Project Manager, Deloitte &Touche Consultdata, The Netherlands While many books discuss the details of software requirement artifacts (for example, use cases), Ellens new book zeros in on effective workshop techniques and tools used to gather the content of these artifacts. As a pioneer in requirements workshops, she shares her real-life experiences in a comprehensive and easy-to-read book with many helpful examples and diagrams.</p>      Bill Bird, Aera Energy LLC Requirements by Collaboration is absolutely full of guidance on the most effective ways to use workshops in requirements capture. This book will help workshop owners and facilitators to determine and gain agreement on a sound set of requirements, which will form a solid foundation for the development work that is to follow.</p>      Jennifer Stapleton, Software Process Consultant and author of DSDM: The Methodin Practice This book provides an array of techniques within a clear, structured process, along with excellent examples of how and when to use them. Its an excellent, practical, and really useful handbook written by a very experienced author!</p>      Jean-Anne Kirk, Director DSDM Consortium and IAF Professional Development Ellen has written a detailed, comprehensive, and practical handbook for facilitating groups in gathering requirements. The processes she outlines give the facilitator tools to bring together very different perspectives from stakeholders elegantly and with practical, useable results.</p>      Jo Nelson, Principal, ICA Associates, Inc., Chair, IAF (2001-2002) Requirements by Collaboration: Workshops for Defining Needs focuses on the human side of software development--how well we work with our customers and teammates. Experience shows that the quality and degree of participation, communication, respect, and trust among all the stakeholders in a project can strongly influence its success or failure. Ellen Gottesdiener points out that such qualities are especially important when defining user requirements and she shows in this book exactly what to do about that fact. </p> Gottesdiener shows specifically how to plan and conduct requirements workshops. These carefully organized and facilitated meetings bring business managers, technical staff, customers, and users into a setting where, together, they can discover, evolve, validate, verify, and agree upon their product needs. Not only are their requirements more effectively defined through this collaboration, but the foundation is laid for good teamwork throughout the entire project. </p> Other books focus on how to build the product right. Requirements by Collaboration focuses instead on what must come first--the right product to build. </p>",
                "author": "Ellen Gottesdiener",
                "slug": "requirements-by-collaboration-312020-9780321630643-ellen-gottesdiener",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630643.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312020",
                "product_url": "/app/ecom/book/312020/requirements-by-collaboration-312020-9780321630643-ellen-gottesdiener",
                "bisac_codes": [
                    "COM051230"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780201786064",
                    "ISBN10": "0201786060",
                    "EISBN13": "9780321630643",
                    "EISBN10": "0321630645"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023979156"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312018",
            "attributes": {
                "name": "Collaboration Explained",
                "subtitle": "Facilitation Skills for Software Project Leaders",
                "description": "Collaboration Explained is a deeply pragmatic book that helps agile practitioners understand and manage complex organizational and team dynamics. As an agile coach, Ive found the combination of straightforward advice and colorful anecdotes to be invaluable in guiding and focusing interactions with my teams. Jeans wealth of experience is conveyed in a carefully struck balance of reference guides and prose, facilitating just-in-time learning in the agile spirit. All in all, a superb resource for building stronger teams thats fit for agile veterans and neophytes alike. </p> Arlen Bankston, Lean Agile Practice Manager, CC Pace </p>  </p> If Agile is the new what, then surely Collaboration is the new how. There are many things I really like about Jeans new book. Right at the top of the list is that I dont have to make lists of ideas for collaboration and facilitation anymore. Jean has it all. Not only does she have those great ideas for meetings, retrospectives, and team decision-making that I need to remember, but the startling new and thought-provoking ideas are there too. And the stories, the stories, the stories! The best way to transfer wisdom. Thanks, Jean! </p> Linda Rising, Independent Consultant</p>  </p> The Hands-On Guide to Effective Collaboration in Agile Projects</p>  </p> To succeed, an agile project demands outstanding collaboration among all its stakeholders. But great collaboration doesnt happen by itself; it must be carefully planned and facilitated throughout the entire project lifecycle. Collaboration Explained is the first book to bring together proven, start-to-finish techniques for ensuring effective collaboration in any agile software project. </p>  </p> Since the early days of the agile movement, Jean Tabaka has been studying and promoting collaboration in agile environments. Drawing on her unsurpassed experience, she offers clear guidelines and easy-to-use collaboration templates for every significant project event: from iteration and release planning, through project chartering, all the way through post-project retrospectives. </p>  </p> Tabakas hands-on techniques are applicable to every leading agile methodology, from Extreme Programming and Scrum to Crystal Clear. Above all, they are practical: grounded in a powerful understanding of the technical, business, and human challenges you face as a project manager or development team member.</p>  </p>    Build collaborative software development cultures, leaders, and teams</p>    Prepare yourself to collaborateand prepare your team</p>    Define clear roles for each participant in promoting collaboration</p>    Set your collaborative agenda</p>    Master tools for organizing collaboration more efficiently</p>    Run effective collaborative meetingsincluding brainstorming sessions</p>    Promote better small-group and pair-programming collaboration</p>    Get better information, and use it to make better decisions</p>    Use non-abusive conflict to drive positive outcomes</p>    Collaborate to estimate projects and schedules more accurately </p>    Strengthen collaboration across distributed, virtual teams</p>    Extend collaboration from individual projects to the entire development organization</p>",
                "author": "Jean Tabaka",
                "slug": "collaboration-explained-312018-9780321630605-jean-tabaka",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630605.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312018",
                "product_url": "/app/ecom/book/312018/collaboration-explained-312018-9780321630605-jean-tabaka",
                "bisac_codes": [
                    "COM051230"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321268778",
                    "ISBN10": "0321268776",
                    "EISBN13": "9780321630605",
                    "EISBN10": "0321630602"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023970375"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312017",
            "attributes": {
                "name": "Design Patterns Explained",
                "subtitle": "A New Perspective on Object-Oriented Design",
                "description": "\"One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examplesthis has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development.\"</p> Bruce Eckel</p> \"...I would expect that readers with a basic understanding of object-oriented programming and design would find this book useful, before approaching design patterns completely. Design Patterns Explained complements the existing design patterns texts and may perform a very useful role, fitting between introductory texts such as UML Distilled and the more advanced patterns books.\"</p> James Noble</p> Leverage the quality and productivity benefits of patternswithout the complexity! Design Patterns Explained, Second Edition is the field's simplest, clearest, most practical introduction to patterns. Using dozens of updated Java examples, it shows programmers and architects exactly how to use patterns to design, develop, and deliver software far more effectively. </p> You'll start with a complete overview of the fundamental principles of patterns, and the role of object-oriented analysis and design in contemporary software development. Then, using easy-to-understand sample code, Alan Shalloway and James Trott illuminate dozens of today's most useful patterns: their underlying concepts, advantages, tradeoffs, implementation techniques, and pitfalls to avoid. Many patterns are accompanied by UML diagrams. </p> Building on their best-selling First Edition, Shalloway and Trott have thoroughly updated this book to reflect new software design trends, patterns, and implementation techniques. Reflecting extensive reader feedback, they have deepened and clarified coverage throughout, and reorganized content for even greater ease of understanding. New and revamped coverage in this edition includes </p>   Better ways to start \"thinking in patterns\"   How design patterns can facilitate agile development using eXtreme Programming and other methods   How to use commonality and variability analysis to design application architectures   The key role of testing into a patterns-driven development process   How to use factories to instantiate and manage objects more effectively   The Object-Pool Patterna new pattern not identified by the \"Gang of Four\"   New study/practice questions at the end of every chapter  Gentle yet thorough, this book assumes no patterns experience whatsoever. It's the ideal \"first book\" on patterns, and a perfect complement to Gamma's classic Design Patterns. If you're a programmer or architect who wants the clearest possible understanding of design patternsor if you've struggled to make them work for youread this book.</p>",
                "author": "Alan Shalloway, James R. Trott",
                "slug": "design-patterns-explained-312017-9780321630599-alan-shalloway-james-r-trott",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630599.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312017",
                "product_url": "/app/ecom/book/312017/design-patterns-explained-312017-9780321630599-alan-shalloway-james-r-trott",
                "bisac_codes": [
                    "COM051210"
                ],
                "items_count": null,
                "identifiers": {
                    "EISBN13": "9780321630599",
                    "EISBN10": "0321630599"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023976601"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312014",
            "attributes": {
                "name": "Refactoring to Patterns",
                "subtitle": "",
                "description": "<p>This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.</p> <p>In 1994, Design Patterns changed the landscape of object-oriented development by introducing classic solutions to recurring design problems. In 1999, Refactoring revolutionized design by introducing an effective process for improving code. With the highly anticipated Refactoring to Patterns, Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.</p> <p>This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.</p> <p>Coverage includes: </p>   A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples  Descriptions of twelve design smells that indicate the need for this books refactorings  General information and new insights about patterns and refactoring  Detailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns  Multiple ways to implement the same patternand when to use each  Practical ways to get started even if you have little experience with patterns or refactoring  <p>Refactoring to Patterns reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether youre focused on legacy or greenfield development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively.</p> <br> <br>",
                "author": "Joshua Kerievsky",
                "slug": "refactoring-to-patterns-312014-9780321630568-joshua-kerievsky",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630568.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312014",
                "product_url": "/app/ecom/book/312014/refactoring-to-patterns-312014-9780321630568-joshua-kerievsky",
                "bisac_codes": [
                    "COM051210"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321213358",
                    "ISBN10": "0321213351",
                    "EISBN13": "9780321630568",
                    "EISBN10": "0321630564"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023976355"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312012",
            "attributes": {
                "name": "LINQ to Objects Using C# 4.0",
                "subtitle": "Using and Extending LINQ to Objects and Parallel LINQ (PLINQ)",
                "description": "Your Complete Example-Rich Guide to Using and Extending LINQ to Objects and PLINQ</p>  </p> Using LINQ to Objects, .NET developers can write queries over object collections with the same deep functionality that was once available only with SQL and relational databases. Now, for the first time, developers have a comprehensive and authoritative guide to applying LINQ to Objects in real-world software. Microsoft MVP Troy Magennis introduces state-of-the-art techniques for working with in-memory collections more elegantly and efficientlyand writing code that is exceptionally powerful, robust, and flexible. </p>  </p> Drawing on his unsurpassed experience coding software using LINQ and hosting the popular HookedOnLINQ.com site, Magennis presents timely, realistic solutions to a wide spectrum of development challenges, such as combining data from multiple sources, and achieving optimal performance with extremely large sets of data. Youll begin with brief quick-starts that walk you through LINQ to Objects key features and query syntax. Next, youll drill down to detailed techniques for applying and extending these features with C# 4.0 and C# 3.0including code examples that reflect the realities of production development.</p>  </p> Coverage includes </p>   Writing basic LINQ queries with C#: filtering, projecting, and sorting data from in-memory collections  Mastering advanced techniques for grouping and joining data and understanding the performance implications of each technique  Taking full advantage of LINQs standard query operators   Creating custom query operators that follow best practices for coding patterns and error handling  Writing more fluent, readable LINQ queries with C# 4.0s language enhancements, including the new dynamic features  Combining LINQ with COM-Interop to access data sources such as Microsoft Excel  Using Parallel LINQ to Objects (PLINQ) to optimize queries for multi-core processors, and how to build custom parallel query operators  Integrating the best LINQ to Objects patterns into your day-to-day coding",
                "author": "Troy Magennis",
                "slug": "linq-to-objects-using-c-40-312012-9780321637185-troy-magennis",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321637185.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312012",
                "product_url": "/app/ecom/book/312012/linq-to-objects-using-c-40-312012-9780321637185-troy-magennis",
                "bisac_codes": [
                    "COM051380"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321637000",
                    "ISBN10": "0321637003",
                    "EISBN13": "9780321637185",
                    "EISBN10": "0321637186"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023971561"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312010",
            "attributes": {
                "name": "Practical Guide to UNIX for Mac OS X Users, A",
                "subtitle": "",
                "description": "<p>The Most Useful UNIX Guide for Mac OS X Users Ever, with Hundreds of High-Quality Examples!</p> Beneath Mac OS X's stunning graphical user interface (GUI) is the most powerful operating system ever created: UNIX. With unmatched clarity and insight, this book explains UNIX for the Mac OS X usergiving you total control over your system, so you can get more done, faster. Building on Mark Sobell's highly praised A Practical Guide to the UNIX System, it delivers comprehensive guidance on the UNIX command line tools every user, administrator, and developer needs to mastertogether with the world's best day-to-day UNIX reference.</p> This book is packed with hundreds of high-quality examples. From networking and system utilities to shells and programming, this is UNIX from the ground upboth the \"whys\" and the \"hows\"for every Mac user. You'll understand the relationships between GUI tools and their command line counterparts. Need instant answers? Don't bother with confusing online \"manual pages\": rely on this book's example-rich, quick-access, 236-page command reference!</p> Don't settle for just any UNIX guidebook. Get one focused on your specific needs as a Mac user!</p> A Practical Guide to UNIX for Mac OS X Users is the most useful, comprehensive UNIX tutorial and reference for Mac OS X and is the only book that delivers</p>   Better, more realistic examples covering tasks you'll actually need to perform  Deeper insight, based on the authors' immense knowledge of every UNIX and OS X nook and cranny  Practical guidance for experienced UNIX users moving to Mac OS X  Exclusive discussions of Mac-only utilities, including plutil, ditto, nidump, otool, launchctl, diskutil, GetFileInfo, and SetFile  Techniques for implementing secure communications with ssh and scpplus dozens of tips for making your OS X system more secure  Expert guidance on basic and advanced shell programming with bash and tcsh  Tips and tricks for using the shell interactively from the command line  Thorough guides to vi and emacs designed to help you get productive fast, and maximize your editing efficiency  In-depth coverage of the Mac OS X filesystem and access permissions, including extended attributes and Access Control Lists (ACLs)  A comprehensive UNIX glossary  Dozens of exercises to help you practice and gain confidence  And much more, including a superior introduction to UNIX programming tools such as awk, sed, otool, make, gcc, gdb, and CVS",
                "author": "Mark G. Sobell, Peter Seebach",
                "slug": "practical-guide-to-unix-for-mac-os-x-users-a-312010-9780321630537-mark-g-sobell-peter-seebach",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630537.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312010",
                "product_url": "/app/ecom/book/312010/practical-guide-to-unix-for-mac-os-x-users-a-312010-9780321630537-mark-g-sobell-peter-seebach",
                "bisac_codes": [
                    "COM046020"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780131863330",
                    "ISBN10": "0131863339",
                    "EISBN13": "9780321630537",
                    "EISBN10": "032163053X"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023976499"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000312000",
            "attributes": {
                "name": "Data Binding with Windows Forms 2.0",
                "subtitle": "Programming Smart Client Data Applications with .NET",
                "description": "<p>This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.</p>   Brian Noyes writing style easily captures your attention as he elaborates on all aspects of data binding in his book. He has a refreshingly clear and crisp delivery as he starts each chapter with a simple tour of each topic, and then leads you into practical concerns for sound practices and extensibility opportunities. Most importantly, as Brian explains approaches to data-binding architecture, patterns of usage, the value of data sets, binding controls and the rest, he always describes how he reaches his recommendations on the topic. This book is perfect for newcomers to .NET 2.0, but also for those that have some experience. Anyone who cares about data in their applications (okay, that should be almost everyone) is guaranteed to learn something new and useful by reading Brians book.  <br>  Michele Leroux Bustamante, IDesign chief architect, Microsoft regional director, and MVP    Brian has saved me a lot of time. Im writing  The Hitchhikers Guide to Visual Studio and SQL Server 2005 (7th Edition) and Im not going to have to cover data binding nearly as deeply because Brian has done it for me. His book gets right to the meat of the subject and makes data binding look easy. I was also pleased to see that the book focuses on the misunderstood and under-applied Windows Forms architecture. Its a must-read for anyone trying to make their application more interactive and to leverage the new Visual Studio 2005 technology. Im planning to point my readers to this resource when they need an in-depth treatment of data binding.  <br>  William Vaughn, president, Beta V Corporation    Data binding has finally come of age in Windows applications. Back in the Visual Studio 6.0 days, I ignored data binding completely and wrote my own repetitive code to encapsulate my business logic. With Visual Studio 2005, we finally have a robust and compelling data-binding technology. To ignore it today would make you inefficient and put you behind the curve. Brian delivers a clear and concise discussion of a core topic of development for Windows today. A combination of an easy-to-follow conversational yet technical tone, excellent examples, and solid explanations make this a must-read for any developer writing for Windows or learning to write for Windows.  <br>  Stephen Forte, chief technical officer, Corzen Inc.    This book provides a clear, readable, and in-depth treatment of data binding, with detailed discussions of best practices in the presentation and use of data. Brian communicates his knowledge on the mechanics of data binding to give the low-level understanding that makes all the difference when building sophisticated applications and troubleshooting difficult problems. Effective data binding can enormously reduce the amount of code in your applications and will allow new levels of sophistication in your development. Read this book.  <br>  Jonathan Cogley, chief executive officer, Thycotic, ASPInsider, and C# MVP    The .NET Framework 2.0, Visual Studio .NET 2005, and Windows Forms 2.0 incorporate the most powerful data-binding platform yet, and absolutely need a book like this to expose it. Brians extensive data-binding knowledge and experience shine through as he comprehensively explores its many facets, starting with the fundamentals before tackling a wide variety of real-world scenarios. Ive always thought a data-binding book was necessary, and Im glad Brian found the time to write his.  <br>  Michael Weinhardt, freelance author and application developer      Data Binding with Windows Forms 2.0 earns a gold star and a prized place in my development book library. Brian is an exceptional teacher of technology, best practices, and technique. He continues to educate at every presentation I attend; his book carries that quality to paper. I found this book to be highly informative and full of all the important steps and examples necessary to learn this technology. In this book, Brian demonstrates a firm grasp on the concepts and I really enjoy his efforts to promote best practices at every chance. Definitively a cover-to-cover read.  <br>  Randy Hayes, president, Expert Network Solutions, Inc.    Brians direct and well-organized presentation makes this much misunderstood topic finally understandable.  <br>  Sahil Malik, author of Pro ADO.NET 2.0  and C# MVP  <p>Data binding is the most important part of many business applicationsand one of the most difficult things to understand. Data Binding with Windows Forms 2.0 is the first book to focus on this crucial area of development. It will quickly get you up to speed on binding data sources to Windows Forms components. The book contains clear examples in C# that work with SQL Server 2000 and SQL Server 2005. Visual Basic .NET examples are available on the books Web site.</p> <p>Brian Noyes, leading consultant and speaker on .NET programming, teaches you both the theory and practice of data binding and provides numerous samples ready to run in Visual Studio 2005.</p> <p>From his in-depth coverage, youll learn how to</p>   Use Visual Studio 2005 to generate a data-bound application from a database  Use the new Visual Studio 2005 typed data set designer, and how and why to use typed data sets and typed data adapters  Perform simple and complex binding of data to controls, and how to use the .NET 2.0 BindingSource  Use the Binding object for simple binding with automatic formatting, and how to handle binding events  Generate bound controls with the Visual Studio Designer, and how to use Data Sources  Present data with the new DataGridView control, and how to implement advanced features of the DataGridView  Implement custom data-bound controls in Windows Forms  Create custom business objects and collections that are suitable for use in data binding   Implement validation and error handling at the Windows Forms and data-binding levels  Implement data binding with ASP.NET 2.0 and the upcoming Windows Presentation Foundation (Avalon) technologies   <br> <br>",
                "author": "Brian Noyes",
                "slug": "data-binding-with-windows-forms-20-312000-9780321630667-brian-noyes",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630667.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "312000",
                "product_url": "/app/ecom/book/312000/data-binding-with-windows-forms-20-312000-9780321630667-brian-noyes",
                "bisac_codes": [
                    "COM051230",
                    "COM043000"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321268921",
                    "ISBN10": "032126892X",
                    "EISBN13": "9780321630667",
                    "EISBN10": "0321630661"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023970164"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000311999",
            "attributes": {
                "name": "Learning Core Audio",
                "subtitle": "A Hands-On Guide to Audio Programming for Mac and iOS",
                "description": "Audio can affect the human brain in the most powerful and profound ways. Using Apples Core Audio, you can leverage all that power in your own Mac and iOS software, implementing features ranging from audio capture to real-time effects, MP3 playback to virtual instruments, web radio to VoIP support. The most sophisticated audio programming system ever created, Core Audio is not simple. In Learning Core Audio, top Mac programming author Chris Adamson and legendary Core Audio expert Kevin Avila fully explain this challenging framework, enabling experienced Mac or iOS programmers to make the most of it. In plain language, Adamson and Avila explain what Core Audio can do, how it works, and how it builds on the natural phenomena of sound and the human language of audio. Next, using crystal-clear code examples, they guide you through recording, playback, format conversion, Audio Units, 3D audio MIDI connectivity, and overcoming unique challenges of Core Audio programming for iOS. Coverage includes: mastering Core Audios surprising style and conventions; recording and playback with Audio Queue; synthesizing audio; perform effects on audio streams; capturing from the mic; mixing multiple streams; managing file streams; converting formats; creating 3D positional audio; using Core MIDI on the Mac; leveraging your Cocoa and Objective-C expertise in Core Audios C-based environment, and much more. When youve mastered the black arts of Core Audio, you can do some serious magic. This book will transform you from an acolyte into a true Core Audio wizard. <br> <br>",
                "author": "Chris Adamson, Kevin Avila",
                "slug": "learning-core-audio-311999-9780321636959-chris-adamson-kevin-avila",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321636959.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "311999",
                "product_url": "/app/ecom/book/311999/learning-core-audio-311999-9780321636959-chris-adamson-kevin-avila",
                "bisac_codes": [
                    "COM051370",
                    "COM051460"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321636843",
                    "ISBN10": "0321636848",
                    "EISBN13": "9780321636959",
                    "EISBN10": "0321636953"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023973860"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000311997",
            "attributes": {
                "name": "Algorithms in Java, Parts 1-4, Portable Documents",
                "subtitle": "",
                "description": "<p>This edition of Robert Sedgewick's popular work provides current and comprehensive coverage of important algorithms for Java programmers. Michael Schidlowsky and Sedgewick have developed new Java implementations that both express the methods in a concise and direct manner and provide programmers with the practical means to test them on real applications.</p> <p>Many new algorithms are presented, and the explanations of each algorithm are much more detailed than in previous editions. A new text design and detailed, innovative figures, with accompanying commentary, greatly enhance the presentation. The third edition retains the successful blend of theory and practice that has made Sedgewick's work an invaluable resource for more than 400,000 programmers!</p> <p>This particular book, Parts 1-4, represents the essential first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. Although the substance of the book applies to programming in any language, the implementations by Schidlowsky and Sedgewick also exploit the natural match between Java classes and abstract data type (ADT) implementations.</p> <p>Highlights</p>   Java class implementations of more than 100 important practical algorithms  Emphasis on ADTs, modular programming, and object-oriented programming  Extensive coverage of arrays, linked lists, trees, and other fundamental data structures  Thorough treatment of algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT implementations (search algorithms)  Complete implementations for binomial queues, multiway radix sorting, randomized BSTs, splay trees, skip lists, multiway tries, B trees, extendible hashing, and many other advanced methods  Quantitative information about the algorithms that gives you a basis for comparing them  More than 1,000 exercises and more than 250 detailed figures to help you learn properties of the algorithms  <p>Whether you are learning the algorithms for the first time or wish to have up-to-date reference material that incorporates new programming styles with classic and new algorithms, you will find a wealth of useful information in this book.</p>",
                "author": "Robert Sedgewick",
                "slug": "algorithms-in-java-parts-1-4-portable-documents-311997-9780672333712-robert-sedgewick",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780672333712.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "311997",
                "product_url": "/app/ecom/book/311997/algorithms-in-java-parts-1-4-portable-documents-311997-9780672333712-robert-sedgewick",
                "bisac_codes": [
                    "COM051300",
                    "COM051240"
                ],
                "items_count": null,
                "identifiers": {
                    "EISBN13": "9780672333712",
                    "EISBN10": "0672333716"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023970017"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000311996",
            "attributes": {
                "name": "Art of Computer Programming, The",
                "subtitle": "Volume 1: Fundamental Algorithms",
                "description": "&>The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming. </p> Byte, September 1995</p>  </p> I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up.</p> Charles Long</p>  </p> If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing.</p> Bill Gates</p>  </p> It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.</p> Jonathan Laventhol</p>  </p> This first volume in the series begins with basic programming concepts and techniques, then focuses more particularly on information structuresthe representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently. Elementary applications are given to simulation, numerical methods, symbolic computing, software and system design. Dozens of simple and important algorithms and techniques have been added to those of the previous edition. The section on mathematical preliminaries has been extensively revised to match present trends in research.</p> <br></p> Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP),http://msp.org</p>",
                "author": "Donald E. Knuth",
                "slug": "art-of-computer-programming-the-311996-9780133488784-donald-e-knuth",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780133488784.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "311996",
                "product_url": "/app/ecom/book/311996/art-of-computer-programming-the-311996-9780133488784-donald-e-knuth",
                "bisac_codes": [
                    "COM051000"
                ],
                "items_count": null,
                "identifiers": {
                    "EISBN13": "9780133488784",
                    "EISBN10": "0133488780"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023979616"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000311995",
            "attributes": {
                "name": "C++ Template Metaprogramming",
                "subtitle": "Concepts, Tools, and Techniques from Boost and Beyond, Portable Documents",
                "description": "C++ Template Metaprogramming sheds light on the most powerful idioms of today's C++, at long last delivering practical metaprogramming tools and techniques into the hands of the everyday programmer. </p> A metaprogram is a program that generates or manipulates program code. Ever since generic programming was introduced to C++, programmers have discovered myriad \"template tricks\" for manipulating programs as they are compiled, effectively eliminating the barrier between program and metaprogram. While excitement among C++ experts about these capabilities has reached the community at large, their practical application remains out of reach for most programmers. This book explains what metaprogramming is and how it is best used. It provides the foundation you'll need to use the template metaprogramming effectively in your own work.</p> This book is aimed at any programmer who is comfortable with idioms of the Standard Template Library (STL). C++ power-users will gain a new insight into their existing work and a new fluency in the domain of metaprogramming. Intermediate-level programmers who have learned a few advanced template techniques will see where these tricks fit in the big picture and will gain the conceptual foundation to use them with discipline. Programmers who have caught the scent of metaprogramming, but for whom it is still mysterious, will finally gain a clear understanding of how, when, and why it works. All readers will leave with a new tool of unprecedented power at their disposalthe Boost Metaprogramming Library.</p>  </p>  </p> Note: CD materials are only available with the print edition.</p>",
                "author": "David Abrahams, Aleksey Gurtovoy",
                "slug": "c-template-metaprogramming-311995-9780321623959-david-abrahams-aleksey-gurtovoy",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321623959.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "311995",
                "product_url": "/app/ecom/book/311995/c-template-metaprogramming-311995-9780321623959-david-abrahams-aleksey-gurtovoy",
                "bisac_codes": [
                    "COM051070"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321227256",
                    "ISBN10": "0321227255",
                    "EISBN13": "9780321623959",
                    "EISBN10": "0321623959"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023976112"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000311994",
            "attributes": {
                "name": "Balancing Agility and Discipline",
                "subtitle": "A Guide for the Perplexed, Portable Documents",
                "description": "<p>Agility and discipline: These apparently opposite attributes are, in fact, complementary values in software development. Plan-driven developers must also be agile; nimble developers must also be disciplined. The key to success is finding the right balance between the two, which will vary from project to project according to the circumstances and risks involved. Developers, pulled toward opposite ends by impassioned arguments, ultimately must learn how to give each value its due in their particular situations.</p> <p>Balancing Agility and Discipline sweeps aside the rhetoric, drills down to the operational core concepts, and presents a constructive approach to defining a balanced software development strategy. The authors expose the bureaucracy and stagnation that mark discipline without agility, and liken agility without discipline to unbridled and fruitless enthusiasm. Using a day in the life of two development teams and ground-breaking case studies, they illustrate the differences and similarities between agile and plan-driven methods, and show that the best development strategies have ways to combine both attributes. Their analysis is both objective and grounded, leading finally to clear and practical guidance for all software professionals--showing how to locate the sweet spot on the agility-discipline continuum for any given project.</p>",
                "author": "Barry Boehm, Richard N. Turner",
                "slug": "balancing-agility-and-discipline-311994-9780321623898-barry-boehm-richard-n-turner",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321623898.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "311994",
                "product_url": "/app/ecom/book/311994/balancing-agility-and-discipline-311994-9780321623898-barry-boehm-richard-n-turner",
                "bisac_codes": [
                    "COM051230",
                    "COM051430"
                ],
                "items_count": null,
                "identifiers": {
                    "ISBN13": "9780321186126",
                    "ISBN10": "0321186125",
                    "EISBN13": "9780321623898",
                    "EISBN10": "0321623894"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023976953"
                    }
                }
            }
        },
        {
            "type": "Product",
            "id": "00010000311989",
            "attributes": {
                "name": "Agile Software Development",
                "subtitle": "The Cooperative Game",
                "description": "<p>This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.</p> Agile Software Development is a highly stimulating and rich book. The author has a deep background and gives us a tour de force of the emerging agile methods.</p> Tom Gilb</p>  </p> The agile model of software development has taken the world by storm. Now, in Agile Software Development, Second Edition, one of agiles leading pioneers updates his Jolt Productivity award-winning book to reflect all thats been learned about agile development since its original introduction. </p>  </p> Alistair Cockburn begins by updating his powerful model of software development as a cooperative game of invention and communication. Among the new ideas he introduces: harnessing competition without damaging collaboration; learning lessons from lean manufacturing; and balancing strategies for communication. Cockburn also explains how the cooperative game is played in business and on engineering projects, not just software development</p>  </p> Next, he systematically illuminates the agile model, shows how it has evolved, and answers the questions developers and project managers ask most often, including</p>  </p>       Where does agile development fit in our organization? </p>       How do we blend agile ideas with other ideas?</p>       How do we extend agile ideas more broadly? </p>  </p> Cockburn takes on crucial misconceptions that cause agile projects to fail. For example, youll learn why encoding project management strategies into fixed processes can lead to ineffective strategy decisions and costly mistakes. Youll also find a thoughtful discussion of the controversial relationship between agile methods and user experience design. </p>  </p> Cockburn turns to the practical challenges of constructing agile methodologies for your own teams. Youll learn how to tune and continuously reinvent your methodologies, and how to manage incomplete communication. This edition contains important new contributions on these and other topics: </p>  </p>       Agile and CMMI</p>       Introducing agile from the top down</p>       Revisiting custom contracts</p>       Creating change with stickers</p>  </p> In addition, Cockburn updates his discussion of the Crystal methodologies, which utilize his cooperative game as their central metaphor. </p>  </p> If youre new to agile development, this book will help you succeed the first time out. If youve used agile methods before, Cockburns techniques will make you even more effective. </p>  </p>",
                "author": "Alistair Cockburn",
                "slug": "agile-software-development-311989-9780321630636-alistair-cockburn",
                "thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/9780321630636.jpg",
                "default_thumbnail_image": "//redshelf-images.s3-external-1.amazonaws.com/thumbnail/default_book_thumbnail.jpg",
                "product_type": "book",
                "product_id": "311989",
                "product_url": "/app/ecom/book/311989/agile-software-development-311989-9780321630636-alistair-cockburn",
                "bisac_codes": [
                    "COM051230"
                ],
                "items_count": null,
                "identifiers": {
                    "EISBN13": "9780321630636",
                    "EISBN10": "0321630637"
                },
                "drm": null,
                "cover_image": null,
                "default_cover_image": null,
                "book_type": null
            },
            "relationships": {
                "lowest_offering": {
                    "data": {
                        "type": "offerings",
                        "id": "00010023976055"
                    }
                }
            }
        }
    ],
    "meta": {
        "pagination": {
            "page": 74132,
            "pages": 78532,
            "count": 1570630
        }
    }
}

Response Info

Default: None