Learning Node


Shelley Powers - 2012
    This guide offers a friendly way to master Node fundamentals with clear and concise information you can use right away.Built on Google’s V8 JavaScript engine, Node offers high performance and easy scalability for server-side applications. Learning Node walks you through the differences and parallels between client-side and server-side programming, with practical examples of programming and deployment.* Quickly learn how to install and deploy Node* Understand how to use Node and related components to build sites and applications efficiently* Manage Node modules with npm* Create pages easily with template systems* Apply client-side skills, tools, and techniques on the server* Maintain a connection between browser and server with web sockets

Ry's Git Tutorial


Ryan Hodson - 2014
    Its popularity among open-source developers makes Git a necessary tool for professional programmers, but it can also do wonders for your personal coding workflow. You’ll be able to experiment with new ideas, radically refactor existing code, and efficiently share changes with other developers—all without the slightest worry towards breaking your project.This comprehensive guide will walk you through the entire Git library, writing code and executing commands every step of the way. You'll create commits, revert snapshots, navigate branches, communicate with remote repositories, and experience core Git concepts first-hand.Designed for newcomers to distributed development, Ry's Git Tutorial presents this complex subject in simple terms that anyone can understand. Beginner and veteran programmers alike will find this book to be a fun, fast, and friendly introduction to Git-based revision control.

Death March


Edward Yourdon - 1997
    This work covers the project lifecycle, addressing every key issue participants face: politics, people, process, project management, and tools.

Write Great Code: Volume 1: Understanding the Machine


Randall Hyde - 2004
    A dirty little secret assembly language programmers rarely admit to, however, is that what you really need to learn is machine organization, not assembly language programming. Write Great Code Vol I, the first in a series from assembly language expert Randall Hyde, dives right into machine organization without the extra overhead of learning assembly language programming at the same time. And since Write Great Code Vol I concentrates on the machine organization, not assembly language, the reader will learn in greater depth those subjects that are language-independent and of concern to a high level language programmer. Write Great Code Vol I will help programmers make wiser choices with respect to programming statements and data types when writing software, no matter which language they use.

Service-Oriented Design with Ruby and Rails


Paul Dix - 2010
    Today, Rails developers and architects need better ways to interface with legacy systems, move into the cloud, and scale to handle higher volumes and greater complexity. In Service-Oriented Design with Ruby and Rails Paul Dix introduces a powerful, services-based design approach geared toward overcoming all these challenges. Using Dix's techniques, readers can leverage the full benefits of both Ruby and Rails, while overcoming the difficulties of working with larger codebases and teams. Dix demonstrates how to integrate multiple components within an enterprise application stack; create services that can easily grow and connect; and design systems that are easier to maintain and upgrade. Key concepts are explained with detailed Ruby code built using open source libraries such as ActiveRecord, Sinatra, Nokogiri, and Typhoeus. The book concludes with coverage of security, scaling, messaging, and interfacing with third-party services. Service-Oriented Design with Ruby and Rails will help you Build highly scalable, Ruby-based service architectures that operate smoothly in the cloud or with legacy systems Scale Rails systems to handle more requests, larger development teams, and more complex code bases Master new best practices for designing and creating services in Ruby Use Ruby to glue together services written in any language Use Ruby libraries to build and consume RESTful Web services Use Ruby JSON parsers to quickly represent resources from HTTP services Write lightweight, well-designed API wrappers around internal or external services Discover powerful non-Rails frameworks that simplify Ruby service implementation Implement standards-based enterprise messaging with Advanced Message Queuing Protocol (AMQP) Optimize performance with load balancing and caching Provide for security and authentication

Game Coding Complete


Mike McShaffry - 2003
    The best description of the first edition comes from two Amazon reviewers; the first proclaiming, "I got the same feeling of enlightenment when reading this one as I did all those years ago when I read the classic book "Code Complete" and the second stating "This is the first game book I have read that I was sorry when I got to the end because there wasn't any more."For Game Coding Complete, Second Edition, McShaffry returns with many more of his highly popular, shoot-from the hips war stories and expert game programming insight that only a real insider could provide. McShaffry uses his experience as a leading programmer for Origin Systems, Microsoft, and Ion Storm a division of Eidos, to illustrate real-world techniques and solutions, including examples from his recent work on the major game, Thief Deadly Shadows. Game Coding Complete, Second Edition takes programmers through the complete process of developing a professional quality game using hundreds of insider tricks and techniques developed and perfect by the author from over a decade of game development experience. It covers a range of topics that will appeal to the most discriminating programmers such as key "gotcha" issues that could trip up even veteran programmers. The new edition features expanded coverage of 3D programming, several new chapters on game interface design, game audio, game scripting, game engine technology, code optimization, production and scheduling, plus it now includes a CD-ROM packed with valuable source code and game development tools. The appendix offers solid advice on starting your own game company. The C++ language is used to explain specific programming concepts with added discussion of development with C# and Managed DirectX programming.

Hadoop: The Definitive Guide


Tom White - 2009
    Ideal for processing large datasets, the Apache Hadoop framework is an open source implementation of the MapReduce algorithm on which Google built its empire. This comprehensive resource demonstrates how to use Hadoop to build reliable, scalable, distributed systems: programmers will find details for analyzing large datasets, and administrators will learn how to set up and run Hadoop clusters. Complete with case studies that illustrate how Hadoop solves specific problems, this book helps you:Use the Hadoop Distributed File System (HDFS) for storing large datasets, and run distributed computations over those datasets using MapReduce Become familiar with Hadoop's data and I/O building blocks for compression, data integrity, serialization, and persistence Discover common pitfalls and advanced features for writing real-world MapReduce programs Design, build, and administer a dedicated Hadoop cluster, or run Hadoop in the cloud Use Pig, a high-level query language for large-scale data processing Take advantage of HBase, Hadoop's database for structured and semi-structured data Learn ZooKeeper, a toolkit of coordination primitives for building distributed systems If you have lots of data -- whether it's gigabytes or petabytes -- Hadoop is the perfect solution. Hadoop: The Definitive Guide is the most thorough book available on the subject. "Now you have the opportunity to learn about Hadoop from a master-not only of the technology, but also of common sense and plain talk." -- Doug Cutting, Hadoop Founder, Yahoo!

Python for Data Analysis


Wes McKinney - 2011
    It is also a practical, modern introduction to scientific computing in Python, tailored for data-intensive applications. This is a book about the parts of the Python language and libraries you'll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods using Python as the implementation language.Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It's ideal for analysts new to Python and for Python programmers new to scientific computing.Use the IPython interactive shell as your primary development environmentLearn basic and advanced NumPy (Numerical Python) featuresGet started with data analysis tools in the pandas libraryUse high-performance tools to load, clean, transform, merge, and reshape dataCreate scatter plots and static or interactive visualizations with matplotlibApply the pandas groupby facility to slice, dice, and summarize datasetsMeasure data by points in time, whether it's specific instances, fixed periods, or intervalsLearn how to solve problems in web analytics, social sciences, finance, and economics, through detailed examples

Introducing Regular Expressions


Michael J. Fitzgerald - 2012
    You’ll learn the fundamentals step-by-step with the help of numerous examples, discovering first-hand how to match, extract, and transform text by matching specific words, characters, and patterns.Regular expressions are an essential part of a programmer’s toolkit, available in various Unix utlilities as well as programming languages such as Perl, Java, JavaScript, and C#. When you’ve finished this book, you’ll be familiar with the most commonly used syntax in regular expressions, and you’ll understand how using them will save you considerable time.Discover what regular expressions are and how they workLearn many of the differences between regular expressions used with command-line tools and in various programming languagesApply simple methods for finding patterns in text, including digits, letters, Unicode characters, and string literalsLearn how to use zero-width assertions and lookaroundsWork with groups, backreferences, character classes, and quantifiersUse regular expressions to mark up plain text with HTML5

Hacking For Dummies


Kevin Beaver - 2004
    In order to counter these cyber bad guys, you must become a hacker yourself--an ethical hacker. Hacking for Dummies shows you just how vulnerable your systems are to attackers. It shows you how to find your weak spots and perform penetration and other security tests. With the information found in this handy, straightforward book, you will be able to develop a plan to keep your information safe and sound. You'll discover how to:Work ethically, respect privacy, and save your system from crashing Develop a hacking plan Treat social engineers and preserve their honesty Counter war dialing and scan infrastructures Understand the vulnerabilities of Windows, Linux, and Novell NetWare Prevent breaches in messaging systems, web applications, and databases Report your results and managing security changes Avoid deadly mistakes Get management involved with defending your systems As we enter into the digital era, protecting your systems and your company has never been more important. Don't let skepticism delay your decisions and put your security at risk. With Hacking For Dummies, you can strengthen your defenses and prevent attacks from every angle!

C++ Coding Standards: 101 Rules, Guidelines, and Best Practices


Herb Sutter - 2004
    This happens automatically when following agood, simple set of guidelines.*They improve development speed, because the programmer doesn't need toalways make decisions starting from first principles.*They enhance teamwork by eliminating needless debates on inconsequentialissues and by making it easy for teammates to read and maintain each other'scode.The coding standards introduced by this book are a collection of guidelines forwriting high-quality C++ code.***They are the distilled conclusions of a rich collective experience of the C++community. Until now, this body of knowledge has been available only asfolklore or spread in bits and pieces throughout books.

Pro C# 3.0 and the .NET 3.5 Framework (Pro)


Andrew Troelsen - 2007
    Since that time, this text has been revised, tweaked, and enhanced to account for the changes found within each release of the .NET platform (1.1, 2.0, 3.0 and now 3.5)..NET 3.0 was more of an augmentative release, essentially providing three new APIs: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF). As you would expect, coverage of the "W's" has been expanded a great deal in this version of the book from the previous Special Edition text.Unlike .NET 3.0, .NET 3.5 provides dozens of C# language features and .NET APIs. This edition of the book will walk you through all of this material using the same readable approach as was found in previous editions. Rest assured, you'll find detailed coverage of Language Integrated Query (LINQ), the C# 2008 language changes (automatic properties, extension methods, anonymous types, etc.) and the numerous bells and whistles of Visual Studio 2008. What you'll learn Everything you need to knowget up to speed with C# 2008 quickly and efficiently. Discover all the new .NET 3.5 featuresLanguage Integrated Query, anonymous types, extension methods, automatic properties, and more. Get a professional footholdtargeted to appeal to experienced software professionals, this book gives you the facts you need the way you need to see them. A rock-solid foundationfocuses on everything you need to be a successful .NET 3.5 programmer, not just the new features. Get comfortable with all the core aspects of the platform including assemblies, remoting, Windows Forms, Web Forms, ADO.NET, XML web services, and much more. Who this book is forIf you're checking out this book for the first time, understand that it targets experienced software professionals and/or students of computer science (so please don't expect three chapters devoted to "for" loops). The mission of this text is to provide you with a rock-solid foundation to the C# 2008 programming language and the core aspects of the .NET platform (object-oriented programming, assemblies, file IO, Windows Forms/WPF, ASP.NET, ADO.NET, WCF, WF, etc.). Once you digest the information presented in these 33 chapters, 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. "

HTML5 for Web Designers


Jeremy Keith - 2010
    It is also the most powerful, and in some ways, the most confusing. What do accessible, content-focused standards-based web designers and front-end developers need to know? And how can we harness the power of HTML5 in today’s browsers?In this brilliant and entertaining user’s guide, Jeremy Keith cuts to the chase, with crisp, clear, practical examples, and his patented twinkle and charm.

Practical Object Oriented Design in Ruby


Sandi Metz - 2012
    The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Each technique is illustrated with extended examples, all downloadable from the companion Web site, poodr.info. The first title to focus squarely on object-oriented Ruby application design, Practical Object-Oriented Design in Ruby will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues. This guide will help you Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade Decide what belongs in a single Ruby class Avoid entangling objects that should be kept separate Define flexible interfaces among objects Reduce programming overhead costs with duck typing Successfully apply inheritance Build objects via composition Design cost-effective tests Solve common problems associated with poorly designed Ruby code

Functional Thinking


Neal Ford - 2014
    This practical guide from renowned software architect Neal Ford helps you transition from a Java-writing imperative programmer to a functional programmer, using Java, Clojure, and Scala as examples.Rather than focus on specific language features, Functional Thinking looks at a variety of common practices in OOP languages and then shows you how to solve the same problems with a functional language. For instance, you know how to achieve code-reuse in Java via mechanisms such as inheritance and polymorphism. Code reuse is also possible in functional languages, using high-order functions, composition, and multi-methods.Ford encourages you to value results over steps, so you can begin to think like a functional programmer. Expect your mind to be bent, but you’ll finish with a much better understanding of both the syntax and semantics of functional languages.