Book picks similar to
IEEE Computer Society Real-World Software Engineering Problems: A Self-Study Guide for Today's Software Professional by J. Fernando Naveda
computer-science
software-engineering
protocols-specs-languages
reference
Refactoring to Patterns
Joshua Kerievsky - 2004
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.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.Coverage includes: A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this book s refactorings General information and new insights about patterns and refactoringDetailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same pattern and when to use each Practical ways to get started even if you have little experience with patterns or refactoring"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 you re 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. "
The Algorithm Design Manual
Steven S. Skiena - 1997
Drawing heavily on the author's own real-world experiences, the book stresses design and analysis. Coverage is divided into two parts, the first being a general guide to techniques for the design and analysis of computer algorithms. The second is a reference section, which includes a catalog of the 75 most important algorithmic problems. By browsing this catalog, readers can quickly identify what the problem they have encountered is called, what is known about it, and how they should proceed if they need to solve it. This book is ideal for the working professional who uses algorithms on a daily basis and has need for a handy reference. This work can also readily be used in an upper-division course or as a student reference guide. THE ALGORITHM DESIGN MANUAL comes with a CD-ROM that contains: * a complete hypertext version of the full printed book. * the source code and URLs for all cited implementations. * over 30 hours of audio lectures on the design and analysis of algorithms are provided, all keyed to on-line lecture notes.
The Ultimate Scale Book
Troy Stetina - 1999
Everything you ever wanted to know about scales, but were afraid to ask! This book fills you in on major and minor scales; the modes; the blues scale; harmonic minor, melodic minor, chromatic, whole tone & diminished scales; other exotic and ethnic scales; and more. Includes easy-to-read fretboard diagrams, and a bio of Troy Stetina.
Apocrypha [illustrated] [translated]
Matthew A. Misbach - 2009
We did our best to take advantage of all the features of the kindle to maximize your reading experience with this book.This book contains the following apocryphal books:The First Book of EsdrasThe Second Book of EsdrasThe Book of TobitThe Book of JudithThe rest of the chapters of the Book of EstherThe Book of the Wisdom of SolomonThe Wisdom of Jesus the son of Sirach, or EcclesiasticusThe Book of BaruchEpistle of JeremyThe Song of the Three ChildrenThe History of SusannaBel and the DragonThe Prayer of ManassesThe First Book of the MaccabeesThe Second Book of the MaccabeesThe word Apocrypha comes from a Greek word meaning "those having been hidden away".Apocrypha generally means those sacred books of the Jewish people which were not included in the Hebrew canonized Bible.These books are valuable as forming a link connecting the Old and New Testaments, and are regarded as useful reading, although not all the books are of equal value.The apocryphal books in this Kindle book are considered of "special value" and are mostly correct, but with many interpolations by man.The Roman Church regards as part of the canon the books of Tobit, Judith, Wisd., Ecclus., Baruch, 1 and 2 Macc., and the additions to Daniel and Esther. Besides these books, there are other Jewish apocryphal writings. The chief are the Psalms of Solomon, the Book of Enoch, the apocalypse of Baruch, the Testaments of the Twelve Patriarchs, the Assumption of Moses, the Book of Jubilees, and the Sibylline Oracles
Ethics in Information Technology
George W. Reynolds - 2002
This book offers an excellent foundation in ethical decision-making for current and future business managers and IT professionals.
Domain-Driven Design in PHP
Carlos Buenosvinos
Explore applying the Hexagonal Architecture within your application, whether within an open source framework or your own bespoke system. Finally, look into integrating Bounded Contexts, using REST and Messaging approaches.
Pro C# 2010 and the .NET 4 Platform
Andrew Troelsen - 2009
As expected, .NET 4 brings a wealth of new APIs to the base class libraries and several new syntactical constructs to C#. For example, it is now possible to create C# methods that support optional and named arguments. As well, you are able to resolve types completely at runtime using the new dynamic keyword. As far as APIs are concerned, this edition of Pro C# 2010 and the .NET 4 Platform will cover a number of new details, including:• the Dynamic Language Runtime (DLR)• the Task Parallel Library (TPL, including PLINQ)• the ADO.NET Entity Framework (as well as LINQ to EF)• expanded coverage of the Windows Presentation Foundation (WPF) API• improved support for COM interopIf you're checking out this book for the first time, understand that it targets experienced software professionals and students of computer scienceso please don't expect three chapters devoted to "variable scope" here! The mission of this text is to provide you with a rock-solid foundation in the C# programming language (including a full discussion of OOP) and the critical aspects of the .NET 4 platform.Once you digest the information presented in the book you hold in your hands, you'll be in a perfect position to apply this knowledge to your specific programming assignments, and you'll be well-equipped to explore the .NET universe on your own terms.Andrew TroelsenMicrosoft MVP, Visual DeveloperVisual C#; Microsoft Certified Trainer (MCT)
JavaScript and HTML5 Now
Kyle Simpson - 2012
This insightful overview provides striking examples of how these technologies have teamed up to give the Web a truly open platform.Author Kyle Simpson (HTML5 Cookbook) shows you how JavaScript unlocks the power of all of the new functionality in HTML5, giving web applications the capabilities developers have wanted for years. These technologies now provide the raw tools you need in the presentation layer to replace everything you used to do with Flash.You’ll discover how:> HTML5 builds natively into the web platform things we find most commonly useful, such as audio, video, and drawing> The Canvas element is changing graphic animations, games, audio visualization, charting, and video effects> Geolocation has spawned “geofencing” and augmented reality> Web Workers allows calculations to be performed in the background, rather than compete with the UI> Web Sockets is enabling realtime communication for chat, live tech support, multi-user collaboration, and gaming> Mobile device APIs will give web apps direct access the phone’s camera, vibration, and other capabilities
Programming Languages: Design and Implementation
Terrence W. Pratt - 1995
The emphasis throughout is on fundamental concepts--readers learn important ideas, not minor language differences--but several languages are highlighted in sufficient detail to enable readers to write programs that demonstrate the relationship between a source program and its execution behavior--e.g., C, C++, JAVA, ML, LISP, Prolog, Smalltalk, Postscript, HTML, PERL, FORTRAN, Ada, COBOL, BASIC SNOBOL4, PL/I, Pascal. Begins with a background review of programming languages and the underlying hardware that will execute the given program; then covers the underlying grammatical model for programming languages and their compilers (elementary data types, data structures and encapsulation, inheritance, statements, procedure invocation, storage management, distributed processing, and network programming). Includes an advanced chapter on language semantics--program verification, denotational semantics, and the lambda calculus. For computer engineers and others interested in programming language designs.
Taylor Swift
Taylor Swift - 2007
This matching folio features 11 songs from the 16-year-old country-pop singer's debut album: Cold as You * Mary's Song (Oh My My My) * Our Song * The Outside * Picture to Burn * A Place in This World * Should've Said No * Stay Beautiful * Teardrops on My Guitar * Tied Together with a Smile * Tim McGraw.
Photographer's Guide to the Sony DSC-RX100
Alexander S. White - 2012
With its larger-than-normal image sensor, superior image quality, and impressive array of features for creative photography, this camera has attracted a large and dedicated following in the photography community. However, the camera does not come with a printed manual, or even a PDF manual that can readily be printed for reference. So, until now, it has been difficult for users of the camera to find answers to their questions about the use of the camera’s many controls, menus, and features.With the release of this new book, White Knight Press has provided users of the RX100 with a comprehensive guide to all operations, features, menus, and controls of this amazing camera. Using a patient, tutorial-like approach, the book provides guidance to beginning and intermediate photographers not only about how to accomplish things with the RX100, but when and why to use the camera’s many features. The book does not assume any specialized knowledge by the reader as it explains topics such as autofocus, manual focus, depth of field, aperture priority, shutter priority, exposure compensation, white balance, and ISO sensitivity. The book also provides full details of the camera’s numerous menu options for playback, setup, and customizing the operation of the various buttons and other controls.The book’s more than 300 photographs, most of them in full color when viewed on a color device, illustrate the RX100’s controls, shooting screens, and menus. The photographs also provide examples of the various types of photographs that can be taken using the many creative settings of the camera, including the Photo Creativity settings, which let the photographer alter the color processing of images; the Scene shooting mode, with settings that are optimized for various subjects, including landscapes, portraits, and action shots; the Creative Style and Picture Effect menu options, which offer dramatic options for altering the appearance of images; and the camera’s strong array of features for continuous shooting and shooting in dim lighting.In addition, the book goes beyond the bounds of everyday photography, and provides introductions to more advanced topics such as infrared photography, street photography, astrophotography, and macro photography.The book also includes a full discussion of the video recording abilities of the RX100, which can shoot high-definition (HD) video with stereo sound, and which offers manual control of exposure and focus during movie recording.In three appendices, the book provides information about accessories available for the RX100, including cases, external flash units, and filter adapters, and includes a list of web sites and other resources for further information. Also, the book includes a detailed appendix with helpful “quick tips” that give particular insights into how to take advantage of the camera’s features in the most efficient ways possible.
Gunsmithing - The Ar-15
Patrick Sweeney - 2010
Written by master gunsmith and best-selling firearms author Patrick Sweeney, Gunsmithing the AR-15 is your one-stop guide to repairing, maintaining and modifying America's favorite rifle. It's all here!Hundreds of detailed photosMaintenanceRepairAccessories and modificationsTips, tools and techniquesAnd more!Whether you're interested in simple tasks, such as disassembling and maintaining your AR rifle, or if you're ready to tackle more complex projects, such as rebarreling or converting your AR to a piston design, Gunsmithing the AR-15 tells you everything you need to know. Protect your investment and avoid costly mistakes, with Gunsmithing the AR-15!
Real World OCaml: Functional programming for the masses
Yaron Minsky - 2013
Through the book’s many examples, you’ll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code.Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. In the book’s third section, you’ll delve deep into the details of the compiler toolchain and OCaml’s simple and efficient runtime system.Learn the foundations of the language, such as higher-order functions, algebraic data types, and modulesExplore advanced features such as functors, first-class modules, and objectsLeverage Core, a comprehensive general-purpose standard library for OCamlDesign effective and reusable libraries, making the most of OCaml’s approach to abstraction and modularityTackle practical programming problems from command-line parsing to asynchronous network programmingExamine profiling and interactive debugging techniques with tools such as GNU gdb
Code Complete
Steve McConnell - 1993
Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
Refactoring: Improving the Design of Existing Code
Martin Fowler - 1999
Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as refactoring, these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use... until now. In Refactoring: Improving the Design of Existing Software, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.