The Art of Capacity Planning, 2nd EditionIn their early days, Twitter, Flickr, Etsy, and many other companies experienced sudden spikes in activity that took their web services down in minutes. Today, determining how much capacity you need for handling traffic surges is still a common frustration of operations engineers and software developers. This hands-on guide provides the knowledge and tools you need to measure, deploy, and manage your web application infrastructure before you experience explosive growth.
In this thoroughly updated edition, authors Arun Kejariwal (MZ) and John Allspaw provide a systematic, robust, and practical approach to capacity planning - rather than theoretical models - based on their own experiences and those of many colleagues in the industry. They address the vast sea change in web operations, especially cloud computing.
Understand issues that arise on heavily trafficked websites or mobile apps; Explore how capacity fits into web/mobile app availability and performance; Use tools for measur ...
Zero Trust NetworksPerimeter defenses guarding your network aren't as secure as you might think. Hosts behind the firewall have no defenses of their own, so when a host in the "trusted" zone is breached, access to your data center is not far behind. This practical book introduces you to the zero trust model, a method that treats all hosts as if they're internet-facing, and considers the entire network to be compromised and hostile.
Authors Evan Gilman and Doug Barth show you how zero trust lets you focus on building strong authentication, authorization, and encryption throughout, while providing compartmentalized access and better operational agility. You'll learn the architecture of a zero trust network, including how to build one using currently available technology.
Understand how the zero trust model embeds security within the system's operation, rather than layering it on top; Examine the fundamental concepts at play in a zero trust network, including network agents and trust engines; Use exis ...
Text Mining with RMuch of the data available today is unstructured and text-heavy, making it challenging for analysts to apply their usual data wrangling and visualization tools. With this practical book, you'll explore text-mining techniques with tidytext, a package that authors Julia Silge and David Robinson developed using the tidy principles behind R packages like ggraph and dplyr. You'll learn how tidytext and other tidy tools in R can make text analysis easier and more effective.
The authors demonstrate how treating text as data frames enables you to manipulate, summarize, and visualize characteristics of text. You'll also learn how to integrate natural language processing (NLP) into effective workflows. Practical code examples and data explorations will help you generate real insights from literature, news, and social media.
Learn how to apply the tidy text format to NLP; Use sentiment analysis to mine the emotional content of text; Identify a document's most important terms with frequency ...
Mobile App Development with Ionic 2Learn how to build app store-ready hybrid apps with the Ionic 2, the framework built on top of Apache Cordova (formerly PhoneGap) and Angular. This practical guide shows you how to use Ionic's tools and services to develop apps with HTML, CSS, and TypeScript, rather than rely on platform-specific solutions found in Android, iOS, and Windows Phone.
Author Chris Griffith takes you step-by-step through Ionic's powerful collection of UI components, and then helps you use it to build three cross-platform mobile apps. Whether you're new to this framework or have been working with Ionic 1, this book is ideal for beginning, intermediate, and advanced web developers.
Understand what a hybrid mobile app is, and what comprises a basic Ionic application; Learn how Ionic leverages Apache Cordova, Angular, and TypeScript to create native mobile applications; Create a Firebase-enabled to-do application that stores data across multiple clients; Build a tab-based National Park explorer app with G ...
Spock: Up and RunningMost developers would agree that writing automated tests is a good idea, but writing good, well-structured tests is still an elusive skill for many. For Java and Groovy developers, however, there's good news. This practical guide shows you how to write concise and highly readable tests with Spock, the most innovative testing and specification framework for the JVM since JUnit.
Author Rob Fletcher takes you from Spock basics to advanced topics, using fully worked integration examples. Through the course of this book, you'll build a simple web application - Squawker - that allows users to post short messages. You'll discover how much easier it is to write automated tests with Spock's straightforward and expressive language.
Start by learning how to write simple unit tests; Understand the lifecycle of Spock specifications and feature methods; Dive into interaction testing, using Spock's intuitive syntax for dealing with mocks and stubs; Learn about parameterized tests - writing feat ...
Learning HTTP/2What can your organization gain by adopting HTTP/2? How about faster, simpler, and more robust websites and applications? This practical guide demonstrates how the latest version of the Hypertext Transfer Protocol can dramatically improve website and application performance. You'll take a deep dive into HTTP/2 details, and learn how this updated protocol is changing the web landscape.
HTTP/1.1 has been the primary means of communicating data across the web for the past 20 years, but the level of interaction today has gone well beyond what people envisioned in 1997. With this book, authors Stephen Ludin and Javier Garza show you how HTTP/2 will help speed the execution of modern sites and applications.
Performance challenges that led to the HTTP upgrade; HTTP/2 in a nutshell, including benefits and transition methods; Existing best practices and hacks to improve web performance; HTTP/2 support for browsers, servers, proxies, and content delivery networks; How the performance of si ...
Think Perl 6Want to learn how to program and think like a computer scientist? This practical guide gets you started on your programming journey with the help of Perl 6, the younger sister of the popular Perl programming language. Ideal for beginners, this hands-on book includes over 100 exercises with multiple solutions, and more than 1,000 code examples so you can quickly practice what you learn. Experienced programmers - especially those who know Perl 5 - will also benefit.
Divided into two parts, Think Perl 6 starts with basic concepts that every programmer needs to know, and then focuses on different programming paradigms and some more advanced programming techniques. With two semesters worth of lessons, this book is the perfect teaching tool for computer science beginners in colleges and universities.
Learn basic concepts including variables, expressions, statements, functions, conditionals, recursion, and loops; Understand commonly used basic data structures and the most useful algorit ...
Getting ClojureBehind every programming language lies a vision of how programs should be built. The vision behind Clojure is of a radically simple language framework holding together a sophisticated collection of programming features. Learning Clojure involves much more than just learning the mechanics of the language. To really get Clojure you need to understand the ideas underlying this structure of framework and features. You need this book: an accessible introduction to Clojure that focuses on the ideas behind the language as well as the practical details of writing code.
Clojure attracts developers on the cutting edge and is arguably the best language for learning to program in the functional style without compromise. But this comes with a steep learning curve. Getting Clojure directly addresses this by teaching you how to think functionally as it teaches you the language. You'll learn about Clojure's powerful data structures and high-level functions, but you'll also learn what it means for a ...
Internet of Things with Raspberry Pi 3This book is designed to introduce you to IoT and Raspberry Pi 3. It will help you create interesting projects, such as setting up a weather station and measuring temperature and humidity using sensors; it will also show you how to send sensor data to cloud for visualization in real-time. Then we shift our focus to leveraging IoT for accomplishing complex tasks, such as facial recognition using the Raspberry Pi camera module, AWS Rekognition, and the AWS S3 service. Furthermore, you will master security aspects by building a security surveillance system to protect your premises from intruders using Raspberry Pi, a camera, motion sensors, and AWS Cloud. We'll also create a real-world project by building a Wi-Fi - controlled robot car with Raspberry Pi using a motor driver circuit, DC motor, and a web application.
This book is a must-have as it provides a practical overview of IoT's existing architectures, communication protocols, and security threats at the software and hardware leve ...
Phoenix Web DevelopmentPhoenix is a modern web development framework that is used to build API's and web applications. It is built on Elixir and runs on Erlang VM which makes it much faster than other options. With Elixir and Phoenix, you build your application the right way, ready to scale and ready for the increasing demands of real-time web applications.
This book covers the basics of the Phoenix web framework, showing you how to build a community voting application, and is divided into three parts. In the first part, you will be introduced to Phoenix and Elixir and understand the core terminologies that are used to describe them. You will also learn to build controller pages, store and retrieve data, add users to your app pages and protect your database. In the second section you will be able to reinforce your knowledge of architecting real time applications in phoenix and not only debug these applications but also diagnose issues in them. In the third and final section you will have the complete unde ...