Think Perl 6
Want 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 ...
Cloud Foundry: The Definitive Guide
How can Cloud Foundry help you develop and deploy business-critical applications and tasks with velocity? This practical guide demonstrates how this open source, cloud-native application platform not only significantly reduces the develop-to-deploy cycle time, but also raises the value line for application operators by changing the way applications and supporting services are deployed and run. Learn how Cloud Foundry can help you improve your product velocity by handling many of essential tasks required to run applications in production.
Author Duncan Winn shows DevOps and operations teams how to configure and run Cloud Foundry at scale. You'll examine Cloud Foundry's technical concepts - including how various platform components interrelate - and learn how to choose your underlying infrastructure, define the networking architecture, and establish resiliency requirements.
Cloud-native concepts that make the app build, test, deploy, and scale faster; How to deploy Cloud Foundry an ...
What 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 ...
Bad design is everywhere, and its cost is much higher than we think. In this thought-provoking book, authors Jonathan Shariat and Cynthia Savard Saucier explain how poorly designed products can anger, sadden, exclude, and even kill people who use them. The designers responsible certainly didn't intend harm, so what can you do to avoid making similar mistakes?
Tragic Design examines real case studies that show how certain design choices adversely affected users, and includes in-depth interviews with authorities in the design industry. Pick up this book and learn how you can be an agent of change in the design community and at your company.
Designs that can kill, including the bad interface that doomed a young cancer patient; Designs that anger, through impolite technology and dark patterns; How design can inadvertently cause emotional pain; Designs that exclude people through lack of accessibility, diversity, and justice; How to advocate for ethical design when it isn't easy to do ...
Spock: Up and Running
Most 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 ...
Mobile App Development with Ionic 2
Learn 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 ...
Agile Data Science 2.0
Data science teams looking to turn research into useful analytics applications require not only the right tools, but also the right approach if they're to succeed. With the revised second edition of this hands-on guide, up-and-coming data scientists will learn how to use the Agile Data Science development methodology to build data applications with Python, Apache Spark, Kafka, and other tools.
Author Russell Jurney demonstrates how to compose a data platform for building, deploying, and refining analytics applications with Apache Kafka, MongoDB, ElasticSearch, d3.js, scikit-learn, and Apache Airflow. You'll learn an iterative approach that lets you quickly change the kind of analysis you're doing, depending on what the data is telling you. Publish data science work as a web application, and affect meaningful change in your organization.
Build value from your data in a series of agile sprints, using the data-value pyramid; Extract features for statistical models from a single data ...
Advanced Analytics with Spark, 2nd Edition
In the second edition of this practical book, four Cloudera data scientists present a set of self-contained patterns for performing large-scale data analysis with Spark. The authors bring Spark, statistical methods, and real-world data sets together to teach you how to approach analytics problems by example. Updated for Spark 2.1, this edition acts as an introduction to these techniques and other best practices in Spark programming.
You'll start with an introduction to Spark and its ecosystem, and then dive into patterns that apply common techniques - including classification, clustering, collaborative filtering, and anomaly detection - to fields such as genomics, security, and finance.
If you have an entry-level understanding of machine learning and statistics, and you program in Java, Python, or Scala, you'll find the book's patterns useful for working on your own data applications.
Familiarize yourself with the Spark programming model; Become comfortable within the Spark ec ...
Text Mining with R
Much 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 ...
Zero Trust Networks
Perimeter 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 ...