Learning Node, 2nd EditionTake your web development skills from browser to server with Node - and learn how to write fast, highly scalable network applications on this JavaScript-based platform. Updated for the latest Node Long Term Support (LTS) and Node Current (6.0) releases, this hands-on edition helps you master Node's core fundamentals and gain experience with several built-in and contributed modules.
Get up to speed on Node's event-driven, asynchronous I/O model for developing data-intensive applications that are frequently accessed but computationally simple. If you're comfortable working with JavaScript, this book provides many programming and deployment examples to help you take advantage of server-side development with Node.Explore the frameworks and functionality for full-stack Node development;Dive into Node's module system and package management support;Test your application or module code on the fly with Node's REPL console;Use core Node modules to build web ...
Identity and Data Security for Web DevelopmentDevelopers, designers, engineers, and creators can no longer afford to pass responsibility for identity and data security onto others. Web developers who don't understand how to obscure data in transmission, for instance, can open security flaws on a site without realizing it. With this practical guide, you'll learn how and why everyone working on a system needs to ensure that users and data are protected.
Authors Jonathan LeBlanc and Tim Messerschmidt provide a deep dive into the concepts, technology, and programming methodologies necessary to build a secure interface for data and identity - without compromising usability. You'll learn how to plug holes in existing systems, protect against viable attack vectors, and work in environments that sometimes are naturally insecure.Understand the state of web and application security today;Design security password encryption, and combat password attack vectors;Create digital fingerprints to identify users through ...
The Cucumber Book, 2nd EditionExpress your customers wild ideas as a set of clear, executable specifications that everyone on the team can read. Feed those examples into Cucumber and let it guide your development. Build just the right code to keep your customers happy. You can use Cucumber to test almost any system or any platform.
Get started by using the core features of Cucumber and working with Cucumber's Gherkin DSL to describe - in plain language - the behavior your customers want from the system. Then write Ruby code that interprets those plain-language specifications and checks them against your application. Next, consolidate the knowledge you've gained with a worked example, where you'll learn more advanced Cucumber techniques, test asynchronous systems, and test systems that use a database. Recipes highlight some of the most difficult and commonly seen situations the authors have helped teams solve. With these patterns and techniques, test Ajax-heavy web applications with Capybara and Selenium, REST we ...
Functional Programming: A PragPub AnthologyFunctional programming is on the rise because it lets you write simpler, cleaner code, and its emphasis on immutability makes it ideal for maximizing the benefits of multiple cores and distributed solutions. So far nobody's invented the perfect functional languageāeach has its unique strengths. In Functional Programming: A PragPub Anthology, you'll investigate the philosophies, tools, and idioms of five different functional programming languages.
See how Swift, the development language for iOS, encourages you to build highly scalable apps using functional techniques like map and reduce. Discover how Scala allows you to transition gently but deeply into functional programming without losing the benefits of the JVM, while with Lisp-based Clojure, you can plunge fully into the functional style. Learn about advanced functional concepts in Haskell, a pure functional language making powerful use of the type system with type inference and type classes. And see how functional programming ...
Seeking SREOrganizations - big and small - have started to realize just how crucial system and application reliability is to their business. At the same time, they've also learned just how difficult it is to maintain that reliability while iterating at the speed demanded by the marketplace. Site Reliability Engineering (SRE) is a proven approach to this challenge.
SRE is a large and rich topic to discuss. Google led the way with Site Reliability Engineering, the wildly successful O'Reilly book that described Google's creation of the discipline and the implementation that has allowed them to operate at a planetary scale. Inspired by that earlier work, this book explores a very different part of the SRE space.
The more than two dozen chapters in Seeking SRE bring you into some of the important conversations going on in the SRE world right now. Listen as engineers and other leaders in the field discuss different ways of implementing SRE and SRE principles in a wide variety of settings; how SRE ...
Learning Apache DrillApache Drill enables interactive analysis of massively large datasets, allowing you to execute SQL queries against data in many different data sources - including Hadoop and MongoDB clusters, HBase, or even your local file system - and get results quickly. With this practical guide, analysts and data scientists focused on business or research applications will learn how to incorporate Drill capabilities into complex programs, including how to use Drill queries to replace some MapReduce operations in a large-scale program.
Drill committers Charles Givre and Paul Rogers provide an introduction to Drill and its ability to handle large files containing data in flexible formats with nested data structures and tables. You'll discover how this capability fills a gap in the Hadoop ecosystem.
Additional topics show you how to:Prepare and organize data to maximize Drill performance;Set expectations for Drill performance on different data types and volumes;Reconcil ...
Data Mining Algorithms in C++Discover hidden relationships among the variables in your data, and learn how to exploit these relationships. This book presents a collection of data-mining algorithms that are effective in a wide variety of prediction and classification applications. All algorithms include an intuitive explanation of operation, essential equations, references to more rigorous theory, and commented C++ source code.
Many of these techniques are recent developments, still not in widespread use. Others are standard algorithms given a fresh look. In every case, the focus is on practical applicability, with all code written in such a way that it can easily be included into any program. The Windows-based DATAMINE program lets you experiment with the techniques before incorporating them into your own work.
Use Monte-Carlo permutation tests to provide statistically sound assessments of relationships present in your data; Discover how combinatorially symmetric cross validation reveals whether your model h ...
Gray Hat C#Learn to use C#'s powerful set of core Ālibraries to automate tedious yet important tasks like fuzzing, performing vulnerability scans, and analyzing malware. With some help from Mono, you'll write your own practical security tools that will run on Windows, OS X, Linux, and even mobile devices.
After a crash course in C# and some of its advanced features, you'll learn how to: Generate shellcode in Metasploit to create cross-platform and cross-architecture payloads; Automate Nessus, OpenVAS, and sqlmap to scan for vulnerabilities and exploit SQL injections; Write a .NET decompiler for OS X and Linux; Parse and read offline registry hives to dump system information; Automate the security tools Arachni and Metasploit using their MSGPACK RPCs.
Streamline and simplify your workday by making the most of C#'s extensive repertoire of powerful tools and libraries with Gray Hat C#. ...
Coding iPhone Apps for KidsApple's Swift is a powerful, beginner-friendly programming language that anyone can use to make cool apps for the iPhone or iPad. In Coding iPhone Apps for Kids, you'll learn how to use Swift to write programs, even if you've never programmed before.
You'll work in the Xcode playground, an interactive environment where you can play with your code and see the results of your work immediately! You'll learn the fundamentals of programming too, like how to store data in arrays, use conditional statements to make decisions, and create functions to organize your code - all with the help of clear and patient explanations.
Once you master the basics, you'll build a birthday tracker app so that you won't forget anyone's birthday and a platform game called Schoolhouse Skateboarder with animation, jumps, and more!
As you begin your programming adventure, you'll learn how to: Build programs to save you time, like one that invites all of your friends to a party with just the click of a but ...
Kubernetes CookbookKubernetes is becoming the de-facto standard for container orchestration and distributed applications management across a microservices framework. With this practical cookbook, you'll learn hands-on recipes for automating the deployment, scaling, and operations of application containers across clusters of hosts.
The book's easy-lookup problem-solution-discussion format helps you find the detailed answers you need - quickly. Kubernetes lets you deploy your applications quickly and predictably, so you can efficiently respond to customer demand. This cookbook, ideal for developers and system administers alike, provides the essential knowledge you need to get there.
You'll find recipes for: Kubernetes installation; Kubernetes API, API groups; Application primitives; Monitoring; Troubleshooting. ...