Agile Project Management with Scrum


Ken Schwaber - 2001
    But Scrum’s simplicity itself—its lack of prescription—can be disarming, and new practitioners often find themselves reverting to old project management habits and tools and yielding lesser results. In this illuminating series of case studies, Scrum co-creator and evangelist Ken Schwaber identifies the real-world lessons—the successes and failures—culled from his years of experience coaching companies in agile project management. Through them, you’ll understand how to use Scrum to solve complex problems and drive better results—delivering more valuable software faster.Gain the foundation in Scrum theory—and practice—you need to:Rein in even the most complex, unwieldy projectsEffectively manage unknown or changing product requirementsSimplify the chain of command with self-managing development teamsReceive clearer specifications—and feedback—from customersGreatly reduce project planning time and required toolsBuild—and release—products in 30-day cycles so clients get deliverables earlierAvoid missteps by regularly inspecting, reporting on, and fine-tuning projectsSupport multiple teams working on a large-scale project from many geographic locationsMaximize return on investment!

The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling


Ralph Kimball - 1996
    Here is a complete library of dimensional modeling techniques-- the most comprehensive collection ever written. Greatly expanded to cover both basic and advanced techniques for optimizing data warehouse design, this second edition to Ralph Kimball's classic guide is more than sixty percent updated.The authors begin with fundamental design recommendations and gradually progress step-by-step through increasingly complex scenarios. Clear-cut guidelines for designing dimensional models are illustrated using real-world data warehouse case studies drawn from a variety of business application areas and industries, including:* Retail sales and e-commerce* Inventory management* Procurement* Order management* Customer relationship management (CRM)* Human resources management* Accounting* Financial services* Telecommunications and utilities* Education* Transportation* Health care and insuranceBy the end of the book, you will have mastered the full range of powerful techniques for designing dimensional databases that are easy to understand and provide fast query response. You will also learn how to create an architected framework that integrates the distributed data warehouse using standardized dimensions and facts.This book is also available as part of the Kimball's Data Warehouse Toolkit Classics Box Set (ISBN: 9780470479575) with the following 3 books:The Data Warehouse Toolkit, 2nd Edition (9780471200246)The Data Warehouse Lifecycle Toolkit, 2nd Edition (9780470149775)The Data Warehouse ETL Toolkit (9780764567575)

The Art of Agile Development


James Shore - 2007
    Plenty of books describe what agile development is or why it helps software projects succeed, but very few combine information for developers, managers, testers, and customers into a single package that they can apply directly. This book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience with Extreme Programming (XP). You get a gestalt view of the agile development process, including comprehensive guidance for non-technical readers and hands-on technical practices for developers and testers. The Art of Agile Development gives you clear answers to questions such as:How can we adopt agile development? Do we really need to pair program? What metrics should we report? What if I can't get my customer to participate? How much documentation should we write? When do we design and architect? As a non-developer, how should I work with my agile team? Where is my product roadmap? How does QA fit in? The book teaches you how to adopt XP practices, describes each practice in detail, then discusses principles that will allow you to modify XP and create your own agile method. In particular, this book tackles the difficult aspects of agile development: the need for cooperation and trust among team members. Whether you're currently part of an agile team, working with an agile team, or interested in agile development, this book provides the practical tips you need to start practicing agile development. As your experience grows, the book will grow with you, providing exercises and information that will teach you first to understand the rules of agile development, break them, and ultimately abandon rules altogether as you master the art of agile development. "Jim Shore and Shane Warden expertly explain the practices and benefits of Extreme Programming. They offer advice from their real-world experiences in leading teams. They answer questions about the practices and show contraindications - ways that a practice may be mis-applied. They offer alternatives you can try if there are impediments to applying a practice, such as the lack of an on-site customer. --Ken Pugh, Author of Jolt Award Winner, Prefactoring "I will leave a copy of this book with every team I visit." --Brian Marick, Exampler Consulting

Working Effectively with Legacy Code


Michael C. Feathers - 2004
    This book draws on material Michael created for his renowned Object Mentor seminars, techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include: Understanding the mechanics of software change, adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform, with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

Beginning Ruby: From Novice to Professional


Peter Cooper - 2007
    However, it is an extremely powerful and versatile programming language in its own right. It focuses on simplicity and offers a fully object-oriented environment."Beginning Ruby" is a thoroughly contemporary guide for every type of reader who wants to learn Ruby, from novice programmers to web developers to Ruby newcomers. It starts by explaining the principles behind object-oriented programming and within a few chapters builds toward creating a genuine Ruby application.The book then explains key Ruby principles, such as classes and objects, projects, modules, and libraries, and other aspects of Ruby such as database access. In addition, Ruby on Rails is covered in depth, and the books appendixes provide essential reference information as well as a primer for experienced programmers. What you'll learn Understand the basics of Ruby and object-oriented building blocks. Work with Ruby libraries, gems, and documentation. Work with files and databases. Write and deploy Ruby applications. Explore Ruby web frameworks and aspects of network programming with Ruby. Develop desktop and GUI applications with Ruby. Who this book is forBeginning programmers, programmers new to Ruby, and web developers interested in knowing the foundations of the language. "

Access 2010: The Missing Manual


Matthew MacDonald - 2010
    With this book’s easy step-by-step process, you’ll quickly learn how to build and maintain a complete Access database, using Access 2013’s new, simpler user interface and templates. You also get practices and tips from the pros for good database design—ideal whether you’re using Access for school, business, or at home.The important stuff you need to know:Build a database with ease. Store information to track numbers, products, documents, and more.Customize the interface. Build your own forms to make data entry a snap.Find what you need fast. Search, sort, and summarize huge amounts of information.Put your data to use. Turn raw info into printed reports with attractive formatting.Share your data. Collaborate online with SharePoint and the Access web database.Dive into Access programming. Get tricks and techniques to automate common tasks.Create rich data connections. Build dynamic links with SQL Server, SharePoint, and other systems.

The Principles of Beautiful Web Design


Jason Beaird - 2007
    A simple, easy-to-follow guide, illustrated with plenty of full-color examples, this book will lead you through the process of creating great designs from start to finish. Good design principles are not rocket science, and using the information contained in this book will help you create stunning web sites.Understand the design process, from discovery to implementation Understand what makes "good design" Developing pleasing layouts using grids, the rule of thirds, balance and symmetry Use color effectively, develop color schemes and create a palette Use textures, lines, points, shapes, volumes and depth Learn how good typography can make ordinary designs look great Effective imagery: choosing, editing and placing images And much more Throughout the book, you'll follow an example design, from concept to completion, learning along the way. The book's full-color layout and large format (8" x 10") make The Principles Of Beautiful Wed Design a pleasure to read.Editorial Reviews"The Principles of Beautiful Web Design is a good book to kick start your graphic-design journey. The biggest benefit that I got from this book is the knowledge to learn from great designs as opposed to just admiring them in a state of awe." - Slashdot.org"Jason is a great writer, and the book is quite easy to read. It's put together wonderfully, including many full color screenshots and other forms of imagery that make the book a pleasure to read. I'd definitely recommend the book to anyone in Web design." - MondayByNoon"Jason Beaird covers web design in a way that non-designers can understand. He walks you through all of the aspects of design development from initial meeting to finished product. If you are just getting into web development, this is a must read." - Blogcritics.org"This is a thoroughly practical guide to web design that is very well written: good technical depth in easy-to-understand language with excellent illustrations and graphics that support the text. For many users it will be the only web-design text they will need. For those who want to further advance their skills and knowledge it will provide a sound foundation." - PC Update"His "Don't just tell, show!" style makes this book accessible to everyone... It strikes a carefully thought-out balance between describing principles and illustrating them. It is clear and well structured, with practical examples in every chapter." - Mitch Wheat

Introducing HTML5


Bruce Lawson - 2010
    Some of its new features are already being implemented by existing browsers, and much more is around the corner. Written by developers who have been using the new language for the past year in their work, this book shows you how to start adapting the language now to realize its benefits on today's browsers. Rather than being just an academic investigation, it concentrates on the practical--the problems HTML5 can solve for you right away. By following the book's hands-on HTML5 code examples you'll learn: new semantics and structures to help your site become richer and more accessiblehow to apply the most important JavaScript APIs that are already implementedthe uses of native multimedia for video and audiotechniques for drawing lines, fills, gradients, images and text with canvas how to build more intelligent web formsimplementation of new storage options and web databaseshow geolocation works with HTML5 in both web and mobile applicationsAll the code from this book (and more) is available at www.introducinghtml5.com. ********There appear to be intermittent problems with the first printing of Introducing HTML5. If you have one of these copies, please email us at ask@peachpit.com with a copy of your receipt (from any reseller), and we'll either provide access to the eBook or send you another copy of the print book -- whichever you prefer. If you'd like the eBook we can add that to your Peachpit.com account. You can set up a free account at www.peachpit.com/join http: //www.peachpit.com/join>. Thanks so much for your understanding!

Linux Network Administrator's Guide


Tony Bautts - 1994
    Along with some hardware considerations, this highly acclaimed guide takes an in-depth look at all of the essential networking software that comes with the operating system--including basic infrastructure (TCP/IP, wireless networking, firewalling) and the most popular services on Linux systems.But as the follow-up to a classic, the third edition of the Linux Network Administrator's Guide does more than just spruce up the basics. It also provides the very latest information on the following cutting-edge services:Wireless hubsOpenLDAPFreeS/WANIMAPSpam filteringOpenSSHBINDIPv6Featuring a litany of insider tips and techniques, the Linux Network Administrator's Guide, Third Edition is an invaluable companion for any network administrator interested in integrating Linux into their Windows environmentAuthored by Terry Dawson, Tony Bautts, and Gregor N. Purdy, the Linux Network Administrator's Guide, Third Edition emerged from the Linux Documentation Project (LDP). The LDP's goal is to centralize all of the issues of Linux documentation, ranging from online documentation topics such as installing, using, and running Linux.

Reversing: Secrets of Reverse Engineering


Eldad Eilam - 2005
    The book is broken into two parts, the first deals with security-related reverse engineering and the second explores the more practical aspects of reverse engineering. In addition, the author explains how to reverse engineer a third-party software library to improve interfacing and how to reverse engineer a competitor's software to build a better product. * The first popular book to show how software reverse engineering can help defend against security threats, speed up development, and unlock the secrets of competitive products * Helps developers plug security holes by demonstrating how hackers exploit reverse engineering techniques to crack copy-protection schemes and identify software targets for viruses and other malware * Offers a primer on advanced reverse-engineering, delving into disassembly-code-level reverse engineering-and explaining how to decipher assembly language

Database Internals: A deep-dive into how distributed data systems work


Alex Petrov - 2019
    But with so many distributed databases and tools available today, it’s often difficult to understand what each one offers and how they differ. With this practical guide, Alex Petrov guides developers through the concepts behind modern database and storage engine internals.Throughout the book, you’ll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You’ll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed.This book examines:Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable log structured storage engines, with differences and use-cases for eachDistributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns, from UDP to reliable consensus protocolsDatabase clusters: Discover how to achieve consistent models for replicated data

The Art and Science of CSS: Create Inspirational, Standards-Based Web Designs


Cameron Adams - 2007
    The Art & Science of CSS brings together a talented collection of designers who will show you how to take the building blocks of your web site's design (such as headings, navigation, forms, and more) and bring them to life with fully standards-compliant CSS.This full color book helps you to design web sites that not only work well across all browsers, are easy to maintain, and are highly accessible, but are also visually stunning.Create truly attention-grabbing headings.Discover multiple ways to present images effectively.Use background images to give your site zest.Build usable and attractive navigation.Design forms that are stylish and functional.Learn how to break away from the square box gclich.Create funky tables.And lots moreFrom the PublisherJonathan Snook, Steve Smith, Jina Bolton, Cameron Adams, and David Johnson, five of the biggest names in CSS design have joined forces to bring you The Art & Science Of CSS.Beautifully presented in full color, this book will teach you how to apply innovative CSS-based techniques to create visually stunning headings, forms, menus, navigation, backgrounds, and much more...Using The Art & Science Of CSS, you'll see just how easy it is to unleash your creative talents and design inspirational web sites with CSS.All designs in this book are visually appealing and inspiring. The CSS code used to create each of the components is included and guaranteed to be simple, efficient and cross-browser compatible.Among its many treasures, this book will show you how to: Format calendars, menus and table of contents using CSSCreate horizontal, vertical and tab-based navigation systems using CSSCreate rounded corners using CSSDesign stylish Website headingsPut together funky & artistic Website backgroundsUse CSS to render blockquotes, dates and lists in a visually appealing mannerAll designs in this book are visually appealing and inspiring. The code CSS code used to create each of the components is provided and is guaranteed to be simple, efficient and cross-browser compatible.Who Should Read This Book?This book is ideal for anyone who wants to gain the practical skills involved in using CSS to make attractive web sites, especially if you're not the type who likes to learn by memorizing a formal specification and then trying to work out which browsers implemented it completely (does anyone enjoy reading specifications?). The only knowledge you'll need to have is some familiarity with HTML. This book will give designers the skills they need to implement their ideas, and provides developers with creative inspiration through practical examples.

SQL Pocket Guide


Jonathan Gennick - 2003
    It's used to create and maintain database objects, place data into those objects, query the data, modify the data, and, finally, delete data that is no longer needed. Databases lie at the heart of many, if not most business applications. Chances are very good that if you're involved with software development, you're using SQL to some degree. And if you're using SQL, you should own a good reference or two.Now available in an updated second edition, our very popular "SQL Pocket Guide" is a major help to programmers, database administrators, and everyone who uses SQL in their day-to-day work. The "SQL Pocket Guide" is a concise reference to frequently used SQL statements and commonly used SQL functions. Not just an endless collection of syntax diagrams, this portable guide addresses the language's complexity head on and leads by example. The information in this edition has been updated to reflect the latest versions of the most commonly used SQL variants including: Oracle Database 10g, Release 2 (includingthe free Oracle Database 10g Express Edition (XE))Microsoft SQL Server 2005MySQL 5IBM DB2 8.2PostreSQL 8.1 database

Ruby Cookbook


Lucas Carlson - 2006
    It gives you hundreds of solutions to real-world problems, with clear explanations and thousands of lines of code you can use in your own projects.From data structures and algorithms, to integration with cutting-edge technologies, the Ruby Cookbook has something for every programmer. Beginners and advanced Rubyists alike will learn how to program with:Strings and numbersArrays and hashesClasses, modules, and namespacesReflection and metaprogrammingXML and HTML processingRuby on Rails (including Ajax integration)DatabasesGraphicsInternet services like email, SSH, and BitTorrentWeb servicesMultitaskingGraphical and terminal interfacesIf you need to write a web application, this book shows you how to get started with Rails. If you're a system administrator who needs to rename thousands of files, you'll see how to use Ruby for this and other everyday tasks. You'll learn how to read and write Excel spreadsheets, classify text with Bayesian filters, and create PDF files. We've even included a few silly tricks that were too cool to leave out, like how to blink the lights on your keyboard.The Ruby Cookbook is the most useful book yet written about Ruby. When you need to solve a problem, don't reinvent the wheel: look it up in the Cookbook.

Cracking the Coding Interview: 150 Programming Questions and Solutions


Gayle Laakmann McDowell - 2008
    This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers, as well as other advice.The full list of topics are as follows:The Interview ProcessThis section offers an overview on questions are selected and how you will be evaluated. What happens when you get a question wrong? When should you start preparing, and how? What language should you use? All these questions and more are answered.Behind the ScenesLearn what happens behind the scenes during your interview, how decisions really get made, who you interview with, and what they ask you. Companies covered include Google, Amazon, Yahoo, Microsoft, Apple and Facebook.Special SituationsThis section explains the process for experience candidates, Program Managers, Dev Managers, Testers / SDETs, and more. Learn what your interviewers are looking for and how much code you need to know.Before the InterviewIn order to ace the interview, you first need to get an interview. This section describes what a software engineer's resume should look like and what you should be doing well before your interview.Behavioral PreparationAlthough most of a software engineering interview will be technical, behavioral questions matter too. This section covers how to prepare for behavioral questions and how to give strong, structured responses.Technical Questions (+ 5 Algorithm Approaches)This section covers how to prepare for technical questions (without wasting your time) and teaches actionable ways to solve the trickiest algorithm problems. It also teaches you what exactly "good coding" is when it comes to an interview.150 Programming Questions and AnswersThis section forms the bulk of the book. Each section opens with a discussion of the core knowledge and strategies to tackle this type of question, diving into exactly how you break down and solve it. Topics covered include• Arrays and Strings• Linked Lists• Stacks and Queues• Trees and Graphs• Bit Manipulation• Brain Teasers• Mathematics and Probability• Object-Oriented Design• Recursion and Dynamic Programming• Sorting and Searching• Scalability and Memory Limits• Testing• C and C++• Java• Databases• Threads and LocksFor the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile, and play with the solutions yourself.Changes from the Fourth Edition: The fifth edition includes over 200 pages of new content, bringing the book from 300 pages to over 500 pages. Major revisions were done to almost every solution, including a number of alternate solutions added. The introductory chapters were massively expanded, as were the opening of each of the chapters under Technical Questions. In addition, 24 new questions were added.Cracking the Coding Interview, Fifth Edition is the most expansive, detailed guide on how to ace your software development / programming interviews.