Book picks similar to
Object-Oriented Software Construction (Book/CD-ROM) by Bertrand Meyer
programming
computer-science
software
software-engineering
Design Patterns Explained: A New Perspective on Object-Oriented Design
Alan Shalloway - 2001
"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." James Noble Leverage the quality and productivity benefits of patterns without 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. 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. 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 includesBetter ways to start "thinking in patterns"How design patterns can facilitate agile development using eXtreme Programming and other methodsHow to use commonality and variability analysis to design application architecturesThe key role of testing into a patterns-driven development processHow to use factories to instantiate and manage objects more effectivelyThe Object-Pool Pattern a 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 patterns or if you've struggled to make them work for you read this book.
Kubernetes in Action, Second Edition
Marko Luksa
Kubernetes in Action, Second Edition is a fully-updated and comprehensive guide to developing and running applications in a Kubernetes environment.Kubernetes is an essential tool for anyone deploying and managing cloud-native applications. It lays out a complete introduction to container technologies and containerized applications along with practical tips for efficient deployment and operation. This revised edition of the bestselling Kubernetes in Action contains new coverage of the Kubernetes architecture, including the Kubernetes API, and a deep dive into managing a Kubernetes cluster in production. In Kubernetes in Action, Second Edition, you'll start with an overview of how Docker containers work with Kubernetes and move quickly to building your first cluster. You'll gradually expand your initial application, adding features and deepening your knowledge of Kubernetes architecture and operation. As you navigate this comprehensive guide, you'll also appreciate thorough coverage of high-value topics like monitoring, tuning, and scaling. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
New Programmer's Survival Manual
Joshua Carter - 2011
You've got the programming chops, you're up on the latest tech, you're sitting at your workstation... now what? New Programmer's Survival Manual gives your career the jolt it needs to get going: essential industry skills to help you apply your raw programming talent and make a name for yourself. It's a no-holds-barred look at what
really
goes on in the office--and how to not only survive, but thrive in your first job and beyond. Programming at industry level requires new skills - you'll build programs that dwarf anything you've done on your own. This book introduces you to practices for working on large-scale, long-lived programs at a professional level of quality. You'll find out how to work efficiently with your current tools, and discover essential new tools. But the tools are only part of the story; you've got to get street-smart too. Succeeding in the corporate working environment requires its own savvy. You'll learn how to navigate the office, work with your teammates, and how to deal with other people outside of your department. You'll understand where you fit into the big picture and how you contribute to the company's success. You'll also get a candid look at the tougher aspects of the job: stress, conflict, and office politics. Finally, programming is a job you can do for the long haul. This book helps you look ahead to the years to come, and your future opportunities--either as a programmer or in another role you grow into. There's nothing quite like the satisfaction of shipping a product and knowing, "I built that." Whether you work on embedded systems or web-based applications, in trendy technologies or legacy systems, this book helps you get from raw skill to an accomplished professional.
Being Geek: The Software Developer's Career Handbook
Michael Lopp - 2010
Is it time to become a manager? Tell your boss he’s a jerk? Join that startup? Author Michael Lopp recalls his own make-or-break moments with Silicon Valley giants such as Apple, Netscape, and Symantec in Being Geek -- an insightful and entertaining book that will help you make better career decisions.With more than 40 standalone stories, Lopp walks through a complete job life cycle, starting with the job interview and ending with the realization that it might be time to find another gig. Many books teach you how to interview for a job or how to manage a project successfully, but only this book helps you handle the baffling circumstances you may encounter throughout your career.Decide what you're worth with the chapter on "The Business"Determine the nature of the miracle your CEO wants with "The Impossible"Give effective presentations with "How Not to Throw Up"Handle liars and people with devious agendas with "Managing Werewolves"Realize when you should be looking for a new gig with "The Itch"
Async in C# 5.0
Alex Davies - 2012
Along with a clear introduction to asynchronous programming, you get an in-depth look at how the async feature works and why you might want to use it in your application.Written for experienced C# programmers—yet approachable for beginners—this book is packed with code examples that you can extend for your own projects.Write your own asynchronous code, and learn how async saves you from this messy choreDiscover new performance possibilities in ASP.NET web server codeExplore how async and WinRT work together in Windows 8 applicationsLearn the importance of the await keyword in async methodsUnderstand which .NET thread is running your code—and at what points in the programUse the Task-based Asynchronous Pattern (TAP) to write asynchronous APIs in .NETTake advantage of parallel computing in modern machinesMeasure async code performance by comparing it with alternatives
Hands-On Machine Learning with Scikit-Learn and TensorFlow
Aurélien Géron - 2017
Now that machine learning is thriving, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.By using concrete examples, minimal theory, and two production-ready Python frameworks—Scikit-Learn and TensorFlow—author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You’ll learn how to use a range of techniques, starting with simple Linear Regression and progressing to Deep Neural Networks. If you have some programming experience and you’re ready to code a machine learning project, this guide is for you.This hands-on book shows you how to use:Scikit-Learn, an accessible framework that implements many algorithms efficiently and serves as a great machine learning entry pointTensorFlow, a more complex library for distributed numerical computation, ideal for training and running very large neural networksPractical code examples that you can apply without learning excessive machine learning theory or algorithm details
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
Scott Rosenberg - 2007
Along the way, we encounter black holes, turtles, snakes, dragons, axe-sharpening, and yak-shaving—and take a guided tour through the theories and methods, both brilliant and misguided, that litter the history of software development, from the famous ‘mythical man-month’ to Extreme Programming. Not just for technophiles but for anyone captivated by the drama of invention, Dreaming in Code offers a window into both the information age and the workings of the human mind.
Computer Architecture: A Quantitative Approach
John L. Hennessy - 2006
Today, Intel and other semiconductor firms are abandoning the single fast processor model in favor of multi-core microprocessors--chips that combine two or more processors in a single package. In the fourth edition of "Computer Architecture," the authors focus on this historic shift, increasing their coverage of multiprocessors and exploring the most effective ways of achieving parallelism as the key to unlocking the power of multiple processor architectures. Additionally, the new edition has expanded and updated coverage of design topics beyond processor performance, including power, reliability, availability, and dependability. CD System Requirements"PDF Viewer"The CD material includes PDF documents that you can read with a PDF viewer such as Adobe, Acrobat or Adobe Reader. Recent versions of Adobe Reader for some platforms are included on the CD. "HTML Browser"The navigation framework on this CD is delivered in HTML and JavaScript. It is recommended that you install the latest version of your favorite HTML browser to view this CD. The content has been verified under Windows XP with the following browsers: Internet Explorer 6.0, Firefox 1.5; under Mac OS X (Panther) with the following browsers: Internet Explorer 5.2, Firefox 1.0.6, Safari 1.3; and under Mandriva Linux 2006 with the following browsers: Firefox 1.0.6, Konqueror 3.4.2, Mozilla 1.7.11. The content is designed to be viewed in a browser window that is at least 720 pixels wide. You may find the content does not display well if your display is not set to at least 1024x768 pixel resolution. "Operating System"This CD can be used under any operating system that includes an HTML browser and a PDF viewer. This includes Windows, Mac OS, and most Linux and Unix systems. Increased coverage on achieving parallelism with multiprocessors. Case studies of latest technology from industry including the Sun Niagara Multiprocessor, AMD Opteron, and Pentium 4. Three review appendices, included in the printed volume, review the basic and intermediate principles the main text relies upon. Eight reference appendices, collected on the CD, cover a range of topics including specific architectures, embedded systems, application specific processors--some guest authored by subject experts.
Game Engine Architecture
Jason Gregory - 2009
The concepts and techniques described are the actual ones used by real game studios like Electronic Arts and Naughty Dog. The examples are often grounded in specific technologies, but the discussion extends way beyond any particular engine or API. The references and citations make it a great jumping off point for those who wish to dig deeper into any particular aspect of the game development process.Intended as the text for a college level series in game programming, this book can also be used by amateur software engineers, hobbyists, self-taught game programmers, and existing members of the game industry. Junior game engineers can use it to solidify their understanding of game technology and engine architecture. Even senior engineers who specialize in one particular field of game development can benefit from the bigger picture presented in these pages.
Linux Kernel Development
Robert Love - 2003
The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs. The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers. The third edition of Linux Kernel Development includes new and updated material throughout the book:An all-new chapter on kernel data structuresDetails on interrupt handlers and bottom halvesExtended coverage of virtual memory and memory allocationTips on debugging the Linux kernelIn-depth coverage of kernel synchronization and lockingUseful insight into submitting kernel patches and working with the Linux kernel community
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!
Computer Science Distilled: Learn the Art of Solving Computational Problems
Wladston Ferreira Filho - 2017
Designed for readers who don't need the academic formality, it's a fast and easy computer science guide. It teaches essential concepts for people who want to program computers effectively. First, it introduces discrete mathematics, then it exposes the most common algorithms and data structures. It also shows the principles that make computers and programming languages work.
Lessons Learned in Software Testing: A Context-Driven Approach
Cem Kaner - 2001
Along the way, there is an abundance of traps that one can fall into, which can derail the best-laid plans and put your projects behind schedule.Cem Kaner, James Bach, and Bret Pettichord know this all too well. Between them, they have over fifty years of testing experience, and know what it takes for successful testing. In this groundbreaking new book, they have compiled 293 pieces of experience-tested advice for you to put to work in your testing projects. They reveal insights on how to do the job well, how to manage it, and how to steer clear of common misunderstandings in software testing. Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson.The ultimate resource for software testers, developers, and managers at every level of expertise, this guidebook also features:- Useful practices and helpful ways of evaluating situations gleaned from over fifty years of combined testing experience from the world's leading software testing experts- Lessons for all key topic areas including test design, test automation, test management, testing strategies, and bug reporting- Advice on how to match the selection of practices to the circumstances of your project
The Node Beginner Book
Manuel Kiessling - 2011
The aim of The Node Beginner Book is to get you started with developing applications for Node.js, teaching you everything you need to know about advanced JavaScript along the way on 59 pages.
Refactoring Databases: Evolutionary Database Design
Scott W. Ambler - 2006
Now, for the first time, leading agile methodologist Scott Ambler and renowned consultantPramodkumar Sadalage introduce powerful refactoring techniquesspecifically designed for database systems. Ambler and Sadalagedemonstrate how small changes to table structures, data, storedprocedures, and triggers can significantly enhance virtually anydatabase design - without changing semantic