Streaming SystemsStreaming data is a big deal in big data these days, and for good reason. Businesses crave ever more timely data, and streaming is a good way to achieve lower latency. Plus, streaming is a much easier way to tame the massive, unbounded data sets that are increasingly common today.
Expanded from co-author Tyler Akidau's popular series of blog posts "Streaming 101" and "Streaming 102", this practical book shows data engineers, data scientists, and developers how to work with streaming or event-time data in a conceptual and platform-agnostic way. You'll go from "101"-level understanding of stream processing to a nuanced grasp of the what, where, when, and how of processing real-time data streams.
Dive deep into topics including watermarks and windowing, as well as state and timers in the context of stream processing. Although the book uses Apache Beam code snippets to make examples concrete, it presents a general and broad explanation of streaming that's not tied to a specific frame ...
Stream Processing with Apache FlinkGet started with Apache Flink, the open source framework that enables you to process streaming data - such as user interactions, sensor data, and machine logs - as it arrives. With this practical guide, you'll learn how to use Apache Flink's stream processing APIs to implement, continuously run, and maintain real-world applications.
Authors Fabian Hueske, one of Flink's creators, and Vasia Kalavri, a core contributor to Flink's graph processing API (Gelly), explains the fundamental concepts of parallel stream processing and shows you how streaming analytics differs from traditional batch data analysis. Software engineers, data engineers, and system administrators will learn the basics of Flink's DataStream API, including the structure and components of a common Flink streaming application.Solve real-world problems with Apache Flink's DataStream API;Set up an environment for developing stream processing applications for Flink;Design streaming applications an ...
Applied Text Analysis with PythonThe programming landscape of natural language processing has changed dramatically in the past few years. Machine learning approaches now require mature tools like Python's scikit-learn to apply models to text at scale. This practical guide shows programmers and data scientists who have an intermediate-level understanding of Python and a basic understanding of machine learning and natural language processing how to become more proficient in these two exciting areas of data science.
This book presents a concise, focused, and applied approach to text analysis with Python, and covers topics including text ingestion and wrangling, basic machine learning on text, classification for text analysis, entity resolution, and text visualization. Applied Text Analysis with Python will enable you to design and develop language-aware data products.
You'll learn how and why machine learning algorithms make decisions about language to analyze text; how to ingest, wrangle, and preprocess language d ...
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 ...
Mastering Modular JavaScriptTackle two aspects of JavaScript development, modularity and ECMAScript 6 (ES6). With this practical guide, frontend and backend Node.js developers alike will learn how to scale out JavaScript applications by breaking codebases into smaller modules. Author Nicolas Bevacqua also covers features in ES6 - the latest version of the specification that includes JavaScript - that support modularization.
If you're a frontend developer or backend Node.js developer with a working knowledge of JavaScript, this book is for you. It's ideal for semi-senior developers, senior developers, technical leaders, and software architects. ...
Exploring Java 9Discover all the new features and changes in Java 9, including module systems - JPMS or Project Jigsaw. This book covers the whole Java application development life cycle. You'll review all the important concepts, including module descriptor, unnamed module, automatic module, and command line tools.
Exploring Java 9 also serves as a practical guide for migration to module systems. Code samples from real-world scenarios solidify a foundation for learning and development and allow you to apply best practices in actual development.
Additionally, you'll learn about concurrency, ECMAScript 6 features in Nashorn and Parser API, stack-walking API, Stream and Optional, utilities classes, and I/O. And it's now possible to build modularized applications in Java. You'll see how JPMS affects not only the JDK itself, but also applications that are developed upon it. ...
Build Android-Based Smart ApplicationsBuild smart applications using cutting-edge technologies such as rules engines, code automation frameworks, and natural language processing (NLP). This book provides step-by-step instructions on how to port nine rules engines (CLIPS, JRuleEngine, DTRules, Zilonis, TermWare, Roolie, OpenRules, JxBRE, and JEOPS) to the Android platform. You'll learn how to use each rules engine to build a smart application with sample code snippets so that you can get started with programming smart applications immediately. Build Android-Based Smart Applications also describes porting issues with other popular rules engines (Drools, JLisa, Take, and Jess).
This book is a step-by-step guide on how to generate a working smart application from requirement specifications. It concludes by showing you how to generate a smart application from unstructured knowledge using the Stanford POS (Part of Speech) tagger NLP framework.Evaluate the available rules engines to see which rules engine is best to us ...
Serious CryptographyThis practical guide to modern encryption breaks down the fundamental mathematical concepts at the heart of cryptography without shying away from meaty discussions of how they work. You'll learn about authenticated encryption, secure randomness, hash functions, block ciphers, and public-key techniques such as RSA and elliptic curve cryptography.
You'll also learn: Key concepts in cryptography, such as computational security, attacker models, and forward secrecy; The strengths and limitations of the TLS protocol behind HTTPS secure websites; Quantum computation and post-quantum cryptography; About various vulnerabilities by examining numerous code examples and use cases; How to choose the best algorithm or protocol and ask vendors the right questions.
Each chapter includes a discussion of common implementation mistakes using real-world examples and details what could go wrong and how to avoid these pitfalls.
Whether you're a seasoned practitioner or a beginner looking to dive i ...
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#. ...
The Hardware HackerFor over a decade, Andrew "bunnie" Huang, one of the world's most esteemed hackers, has shaped the fields of hacking and hardware, from his cult-classic book Hacking the Xbox to the open-source laptop Novena and his mentorship of various hardware startups and developers. In The Hardware Hacker, Huang shares his experiences in manufacturing and open hardware, creating an illuminating and compelling career retrospective.
Huang's journey starts with his first visit to the staggering electronics markets in Shenzhen, with booths overflowing with capacitors, memory chips, voltmeters, and possibility. He shares how he navigated the overwhelming world of Chinese factories to bring chumby, Novena, and Chibitronics to life, covering everything from creating a Bill of Materials to choosing the factory to best fit his needs.
Through this collection of personal essays and interviews on topics ranging from the legality of reverse engineering to a comparison of intellectual property practices b ...