- Table View
- List View
Visualize and analyze your Hadoop data using Hunk About This Book * Explore your data in Hadoop and NoSQL data stores * Create and optimize your reporting experience with advanced data visualizations and data analytics * A comprehensive developer's guide that helps you create outstanding analytical solutions efficiently Who This Book Is For If you are Hadoop developers who want to build efficient real-time Operation Intelligence Solutions based on Hadoop deployments or various NoSQL data stores using Hunk, this book is for you. Some familiarity with Splunk is assumed. What You Will Learn * Deploy and configure Hunk on top of Cloudera Hadoop * Create and configure Virtual Indexes for datasets * Make your data presentable using the wide variety of data visualization components and knowledge objects * Design a data model using Hunk best practices * Add more flexibility to your analytics solution via extended SDK and custom visualizations * Discover data using MongoDB as a data source * Integrate Hunk with AWS Elastic MapReduce to improve scalability In Detail Hunk is the big data analytics platform that lets you rapidly explore, analyse, and visualize data in Hadoop and NoSQL data stores. It provides a single, fluid user experience, designed to show you insights from your big data without the need for specialized skills, fixed schemas, or months of development. Hunk goes beyond typical data analysis methods and gives you the power to rapidly detect patterns and find anomalies across petabytes of raw data. This book focuses on exploring, analysing, and visualizing big data in Hadoop and NoSQL data stores with this powerful full-featured big data analytics platform. You will begin by learning the Hunk architecture and Hunk Virtual Index before moving on to how to easily analyze and visualize data using Splunk Search Language (SPL). Next you will meet Hunk Apps which can easy integrate with NoSQL data stores such as MongoDB or Sqqrl. You will also discover Hunk knowledge objects, build a semantic layer on top of Hadoop, and explore data using the friendly user-interface of Hunk Pivot. You will connect MongoDB and explore data in the data store. Finally, you will go through report acceleration techniques and analyze data in the AWS Cloud. Style and approach A step-by-step guide starting right from the basics and deep diving into the more advanced and technical aspects of Hunk.
Create and develop exciting games from start to finish using SFML About This Book * Familiarize yourself with the SFML library and explore additional game development techniques * Craft, shape, and improve your games with SFML and common game design elements * A practical guide that will teach you how to use utilize the SFML library to build your own, fully functional applications Who This Book Is For This book is intended for game development enthusiasts with at least decent knowledge of the C++ programming language and an optional background in game design. What You Will Learn * Create and open a window by using SFML * Utilize, manage, and apply all of the features and properties of the SFML library * Employ some basic game development techniques to make your game tick * Build your own code base to make your game more robust and flexible * Apply common game development and programming patterns to solve design problems * Handle your visual and auditory resources properly * Construct a robust system for user input and interfacing * Develop and provide networking capabilities to your game In Detail Simple and Fast Multimedia Library (SFML) is a simple interface comprising five modules, namely, the audio, graphics, network, system, and window modules, which help to develop cross-platform media applications. By utilizing the SFML library, you are provided with the ability to craft games quickly and easily, without going through an extensive learning curve. This effectively serves as a confidence booster, as well as a way to delve into the game development process itself, before having to worry about more advanced topics such as "rendering pipelines" or "shaders." With just an investment of moderate C++ knowledge, this book will guide you all the way through the journey of game development. The book starts by building a clone of the classical snake game where you will learn how to open a window and render a basic sprite, write well-structured code to implement the design of the game, and use the AABB bounding box collision concept. The next game is a simple platformer with enemies, obstacles and a few different stages. Here, we will be creating states that will provide custom application flow and explore the most common yet often overlooked design patterns used in game development. Last but not the least, we will create a small RPG game where we will be using common game design patterns, multiple GUI. elements, advanced graphical features, and sounds and music features. We will also be implementing networking features that will allow other players to join and play together. By the end of the book, you will be an expert in using the SFML library to its full potential. Style and approach An elaborate take on the game development process in a way that compliments the reader's existing knowledge, this book provides plenty of examples and is kind to the uninitiated. Each chapter builds upon the knowledge gained from the previous one and offers clarifications on common issues while still remaining within the scope of its own subject and retaining clarity.
Design, build and simulate complex robots using Robot Operating System and master its out-of-the-box functionalities About This Book * Develop complex robotic applications using ROS for interfacing robot manipulators and mobile robots with the help of high end robotic sensors * Gain insights into autonomous navigation in mobile robot and motion planning in robot manipulators * Discover the best practices and troubleshooting solutions everyone needs when working on ROS Who This Book Is For If you are a robotics enthusiast or researcher who wants to learn more about building robot applications using ROS, this book is for you. In order to learn from this book, you should have a basic knowledge of ROS, GNU/Linux, and C++ programming concepts. The book will also be good for programmers who want to explore the advanced features of ROS. What You Will Learn * Create a robot model of a Seven-DOF robotic arm and a differential wheeled mobile robot * Work with motion planning of a Seven-DOF arm using MoveIt! * Implement autonomous navigation in differential drive robots using SLAM and AMCL packages in ROS * Dig deep into the ROS Pluginlib, ROS nodelets, and Gazebo plugins * Interface I/O boards such as Arduino, Robot sensors, and High end actuators with ROS * Simulation and motion planning of ABB and Universal arm using ROS Industrial * Explore the ROS framework using its latest version In Detail The area of robotics is gaining huge momentum among corporate people, researchers, hobbyists, and students. The major challenge in robotics is its controlling software. The Robot Operating System (ROS) is a modular software platform to develop generic robotic applications. This book discusses the advanced concepts in robotics and how to program using ROS. It starts with deep overview of the ROS framework, which will give you a clear idea of how ROS really works. During the course of the book, you will learn how to build models of complex robots, and simulate and interface the robot using the ROS MoveIt motion planning library and ROS navigation stacks. After discussing robot manipulation and navigation in robots, you will get to grips with the interfacing I/O boards, sensors, and actuators of ROS. One of the essential ingredients of robots are vision sensors, and an entire chapter is dedicated to the vision sensor, its interfacing in ROS, and its programming. You will discuss the hardware interfacing and simulation of complex robot to ROS and ROS Industrial (Package used for interfacing industrial robots). Finally, you will get to know the best practices to follow when programming using ROS. Style and approach This is a simplified guide to help you learn and master advanced topics in ROS using hands-on examples.
Develop vision-aware and intelligent Android applications with the robust OpenCV libraryAbout This BookThis is the most up-to-date book on OpenCV Android programming on the market at the moment. There is no direct competition for our title.Based on a technology that is increasing in popularity, proven by activity in forums related to this topic.This book uniquely covers applications such as the Panoramic viewer and Automatic Selfie, among others.Who This Book Is ForIf you are an Android developer and want to know how to implement vision-aware applications using OpenCV, then this book is definitely for you.It would be very helpful if you understand the basics of image processing and computer vision, but no prior experience is requiredWhat You Will LearnIdentify and install all the elements needed to start building vision-aware Android applicationsExplore image representation, colored and gray scaleRecognize and apply convolution operations and filtering to deal with noisy dataUse different shape analysis techniquesExtract and identify interest points in an imageUnderstand and perform object detectionRun native computer vision algorithms and gain performance boostsIn DetailStarting from the basics of computer vision and OpenCV, we'll take you all the way to creating exciting applications. You will discover that, though computer vision is a challenging subject, the ideas and algorithms used are simple and intuitive, and you will appreciate the abstraction layer that OpenCV uses to do the heavy lifting for you. Packed with many examples, the book will help you understand the main data structures used within OpenCV, and how you can use them to gain performance boosts. Next we will discuss and use several image processing algorithms such as histogram equalization, filters, and color space conversion. You then will learn about image gradients and how they are used in many shape analysis techniques such as edge detection, Hough Line Transform, and Hough Circle Transform. In addition to using shape analysis to find things in images, you will learn how to describe objects in images in a more robust way using different feature detectors and descriptors.By the end of this book, you will be able to make intelligent decisions using the famous Adaboost learning algorithm.Style and approachAn easy-to-follow tutorial packed with hands-on examples. Each topic is explained and placed in context, and the book supplies full details of the concepts used for added proficiency.
Implement complex iOS user interfaces with ease using Swift About This Book * Build compelling user interfaces that users will enjoy using the iOS UIKit framework * Make your iOS apps easily recognizable and familiar with the UIKit framework * Use this comprehensive, step-by-step guide to create a complete custom layout Who This Book Is For This easy-to-follow guide is perfect for beginner-level iOS developers who want to become proficient in user interface development. It would also be useful for experienced iOS developers who need a complete overview of this broad topic all in one place, without having to consult various sources. What You Will Learn * Understand the basic requirements to work with iOS user interfaces * Get to know about the UI tools, frameworks, and built-in components * Plot dynamic layout structures using Auto Layout * Shape and implement adaptive user interfaces for different screen sizes * Draw and animate your user interfaces using the CALayer and UIKit animations * Intercept and handle user touches to create user interface interactivity * Create and depict totally custom controls * Design with iOS through Core Graphics In Detail Through this comprehensive one-stop guide, you'll get to grips with the entire UIKit framework and in a flash, you'll be creating modern user interfaces for your iOS devices using Swift. Starting with an overview of the iOS drawing system and the available tools, you will then learn how to use these technologies to create adaptable layouts and custom elements for your applications. Next, you'll be introduced to other topics such as animation and code-drawing with Core Graphics, which will give you all the knowledge you need to create astonishing user interfaces. By the end of this book, you will have a solid foundation in iOS user interface development and will have gained valuable insights on the process of building firm and complex UIs. Style and approach This concise yet information-packed guide is full of step-by-step instructions and screenshots of real-life examples, delivered in a direct manner, to get you creating modern user interfaces for your iOS devices using SWIFT in no time.
An effective guide to geographic information systems and remote sensing analysis using Python 3 About This Book * Construct applications for GIS development by exploiting Python * This focuses on built-in Python modules and libraries compatible with the Python Packaging Index distribution system--no compiling of C libraries necessary * This practical, hands-on tutorial teaches you all about Geospatial analysis in Python Who This Book Is For If you are a Python developer, researcher, or analyst who wants to perform Geospatial, modeling, and GIS analysis with Python, then this book is for you. Familarity with digital mapping and analysis using Python or another scripting language for automation or crunching data manually is appreciated What You Will Learn * Automate Geospatial analysis workflows using Python * Code the simplest possible GIS in 60 lines of Python * Mold thematic maps with Python tools * Get hold of the various forms that geospatial data comes in * Produce elevation contours using Python tools * Create flood inundation models * Apply Geospatial analysis to find out about real-time data tracking and for storm chasing In Detail Geospatial Analysis is used in almost every field you can think of from medicine, to defense, to farming. This book will guide you gently into this exciting and complex field. It walks you through the building blocks of geospatial analysis and how to apply them to influence decision making using the latest Python software. Learning Geospatial Analysis with Python, 2nd Edition uses the expressive and powerful Python 3 programming language to guide you through geographic information systems, remote sensing, topography, and more, while providing a framework for you to approach geospatial analysis effectively, but on your own terms. We start by giving you a little background on the field, and a survey of the techniques and technology used. We then split the field into its component specialty areas: GIS, remote sensing, elevation data, advanced modeling, and real-time data. This book will teach you everything you need to know about, Geospatial Analysis from using a particular software package or API to using generic algorithms that can be applied. This book focuses on pure Python whenever possible to minimize compiling platform-dependent binaries, so that you don't become bogged down in just getting ready to do analysis. This book will round out your technical library through handy recipes that will give you a good understanding of a field that supplements many a modern day human endeavors. Style and approach This is a practical, hands-on tutorial that teaches you all about Geospatial analysis interactively using Python.
Harness the power of Linux to create versatile and robust embedded solutions About This Book * Create efficient and secure embedded devices using Linux * Minimize project costs by using open source tools and programs * Explore each component technology in depth, using sample implementations as a guide Who This Book Is For This book is ideal for Linux developers and system programmers who are already familiar with embedded systems and who want to know how to create best-in-class devices. A basic understanding of C programming and experience with systems programming is needed. What You Will Learn * Understand the role of the Linux kernel and select an appropriate role for your application * Use Buildroot and Yocto to create embedded Linux systems quickly and efficiently * Create customized bootloaders using U-Boot * Employ perf and ftrace to identify performance bottlenecks * Understand device trees and make changes to accommodate new hardware on your device * Write applications that interact with Linux device drivers * Design and write multi-threaded applications using POSIX threads * Measure real-time latencies and tune the Linux kernel to minimize them In Detail Mastering Embedded Linux Programming takes you through the product cycle and gives you an in-depth description of the components and options that are available at each stage. You will begin by learning about toolchains, bootloaders, the Linux kernel, and how to configure a root filesystem to create a basic working device. You will then learn how to use the two most commonly used build systems, Buildroot and Yocto, to speed up and simplify the development process. Building on this solid base, the next section considers how to make best use of raw NAND/NOR flash memory and managed flash eMMC chips, including mechanisms for increasing the lifetime of the devices and to perform reliable in-field updates. Next, you need to consider what techniques are best suited to writing applications for your device. We will then see how functions are split between processes and the usage of POSIX threads, which have a big impact on the responsiveness and performance of the final device The closing sections look at the techniques available to developers for profiling and tracing applications and kernel code using perf and ftrace. Style and approach This book is an easy-to-follow and pragmatic guide consisting of an in-depth analysis of the implementation of embedded devices. Each topic has a logical approach to it; this coupled with hints and best practices helps you understand embedded Linux better.
Master the complexities of Bash shell scripting and unlock the power of shell for your enterprise About This Book * Identify the high level steps such as verifying user input, using command lines and conditional statements in creating and executing simple shell scripts * Create and edit dynamic shell scripts to manage complex and repetitive tasks * Learn about scripting in Perl and programming in Python as a BASH scripting alternative with this practical, step-by-step guide Who This Book Is For Mastering Linux Shell Scripting has been written for Linux administrators who want to automate tasks in their daily lives, saving time and effort. You'll need to have command-line experience and be familiar with the tasks that you need to automate. What You Will Learn * Use the type command to identify the order of command evaluation * Create interactive scripts that prompt for user input * Foster menu structures for operators with little command-line experience * Develop scripts that dynamically edit web configuration files to produce a new virtual host * Write scripts that use AWK to search and reports on log files * Draft effective scripts using functions as building blocks, reducing maintenance and build time * Make informed choices by comparing different script languages such as Perl and Python with BASH In Detail Shell scripting is a quick method to prototype a complex application or a problem by automating tasks when working on Linux-based systems. Using both simple one-line commands and command sequences complex problems can be solved with ease, from text processing to backing up sysadmin tools. In this book, you'll discover everything you need to know to master shell scripting and make informed choices about the elements you employ. Get to grips with the fundamentals of creating and running a script in normal mode, and in debug mode. Learn about various conditional statements' code snippets, and realize the power of repetition and loops in your shell script. Implement functions and edit files using the Stream Editor, script in Perl, program in Python - as well as complete coverage of other scripting languages to ensure you can choose the best tool for your project. Style and approach The book will capture your attention and keep you engaged with the simplicity and clarity of each explanation. Every step is accompanied with screen captures so you can cross-check the results before moving on.
A concise guide to implementing Spark Big Data analytics for Python developers, and building a real-time and insightful trend tracker data intensive app About This Book * Set up real-time streaming and batch data intensive infrastructure using Spark and Python * Deliver insightful visualizations in a web app using Spark (PySpark) * Inject live data using Spark Streaming with real-time events Who This Book Is For This book is for data scientists and software developers with a focus on Python who want to work with the Spark engine, and it will also benefit Enterprise Architects. All you need to have is a good background of Python and an inclination to work with Spark. What You Will Learn * Create a Python development environment powered by Spark (PySpark), Blaze, and Bookeh * Build a real-time trend tracker data intensive app * Visualize the trends and insights gained from data using Bookeh * Generate insights from data using machine learning through Spark MLLIB * Juggle with data using Blaze * Create training data sets and train the Machine Learning models * Test the machine learning models on test datasets * Deploy the machine learning algorithms and models and scale it for real-time events In Detail Looking for a cluster computing system that provides high-level APIs? Apache Spark is your answer--an open source, fast, and general purpose cluster computing system. Spark's multi-stage memory primitives provide performance up to 100 times faster than Hadoop, and it is also well-suited for machine learning algorithms. Are you a Python developer inclined to work with Spark engine? If so, this book will be your companion as you create data-intensive app using Spark as a processing engine, Python visualization libraries, and web frameworks such as Flask. To begin with, you will learn the most effective way to install the Python development environment powered by Spark, Blaze, and Bookeh. You will then find out how to connect with data stores such as MySQL, MongoDB, Cassandra, and Hadoop. You'll expand your skills throughout, getting familiarized with the various data sources (Github, Twitter, Meetup, and Blogs), their data structures, and solutions to effectively tackle complexities. You'll explore datasets using iPython Notebook and will discover how to optimize the data models and pipeline. Finally, you'll get to know how to create training datasets and train the machine learning models. By the end of the book, you will have created a real-time and insightful trend tracker data-intensive app with Spark. Style and approach This is a comprehensive guide packed with easy-to-follow examples that will take your skills to the next level and will get you up and running with Spark.
Over 50 hands-on recipes to help you build exhilarating games using the robust GameMaker system About This Book * Design and develop game elements that can be used alone or stacked to enhance your gaming experience * Explore extensions that can unlock GameMaker: Studio's true potential to create complex games * A recipe-based, easy-to-follow guide to take your GameMaker skills to the next level Who This Book Is For This book is intended for GameMaker: Studio enthusiasts who are looking to add more substance and improve their content. If know your way around the program and have some basic GML skills but want to take them further, then this book is for you. What You Will Learn * Set up player control schemes of various types, such as touch controls and a gamepad * Create your own physics sandbox * Get accustomed to advanced player movement * Implement music and 3D sound in your games * Utilize GameMaker's GUI layers to create exciting games * Generate adjustable game settings and save systems * Add depth to your game with lighting and special effects In Detail GameMaker: Studio started off as a tool capable of creating simple games using a drag-and-drop interface. Since then, it has grown to become a powerful instrument to make release-ready games for PC, Mac, mobile devices, and even current-gen consoles. GameMaker is designed to allow its users to develop games without having to learn any of the complex programming languages such as C++ or Java. It also allows redistribution across multiple platforms. This book teaches you to harness GameMaker: Studio's full potential and take your game development to new heights. It begins by covering the basics and lays a solid foundation for advanced GameMaker concepts. Moving on, it covers topics such as controls, physics, and advanced movement, employing a strategic approach to the learning curve. The book concludes by providing insights into complex concepts such as the GUI, menus, save system, lighting, particles, and VFX. By the end of the book, you will be able to design games using GameMaker: Studio and implement the same techniques in other games you intend to design. Style and approach A problem-solving guide that teaches you the construction of game elements and mechanics to be integrated in games for rapid prototyping. Each overall topic includes several individual recipes taught through step-by-step instructions, and in-depth follow-up with examples.
Orchestrate and manage large-scale Docker deployments with Kubernetes to unlock greater control over your infrastructure and extend your containerization strategy About This Book * Learn the fundamentals of Kubernetes - how it works, and how it fits into the growing containerization trend * Integrate Kubernetes into your workflow alongside continuous delivery tools to address today's operational challenges * Get to grips with a wide range of tools to help you monitor and secure your deployments Who This Book Is For If you have some experience with Docker and want to get more from containerization, this book is the perfect place to start. Focused on helping you take control of your deployments in a simple way, you'll soon find out how to transform your operations for greater organizational and technical agility. What You Will Learn * Download, install, and configure the latest version of Kubernetes * Perform smooth updates and patches with minimal downtime * Streamline the way you deploy and manage your applications with large-scale container orchestration * Find out how Kubernetes can simplify the way you configure your clusters and networks * Learn why the Open Container initiative is so important for the way you manage your infrastructure * Discover third-party tools that can enhance your production operations * Explore and use the most persistent storage options for your clusterter * Integrate Kubernetes with continuous delivery tools such as Gulp and Jenkins In Detail Kubernetes is the tool that's pushing the containerization revolution - largely driven by Docker - to another level. If Docker has paved the way for greater agility and control in the way we organize and manage our infrastructure, Kubernetes goes further, by helping you to orchestrate and automate container deployments on a massive scale. Kubernetes really does think big - and it's time you did too! This book will show you how to start doing exactly that, showing you how to extend the opportunities that containerization innovations have brought about in new and even more effective ways. Get started with the basics - explore the fundamental elements of Kubernetes and find out how to install it on your system, before digging a little deeper into Kubernetes core constructs. Find out how to use Kubernetes pods, services, replication controllers, and labels to manage your clusters effectively and learn how to handle networking with Kubernetes. Once you've got to grips with these core components, you'll begin to see how Kubernetes fits into your workflow. From basic updates to integrating Kubernetes with continuous delivery tools such as Jenkins and Gulp, the book demonstrates exactly how Kubernetes will transform the way you work. With further insights on how to install monitoring and security tools, this book provides you with a direct route through Kubernetes - so you can take advantage of it, fast! Style and approach This straightforward guide will help you understand how to move your container applications into production through best practices and step by step walkthroughs tied to real-world operational strategies.
Build fault tolerant concurrent and distributed applications with Akka About This Book * Build networked applications that self-heal * Scale out your applications to handle more traffic faster * An easy-to-follow guide with a number of examples to ensure you get the best start with Akka Who This Book Is For This book is intended for beginner to intermediate Java or Scala developers who want to build applications to serve the high-scale user demands in computing today. If you need your applications to handle the ever-growing user bases and datasets with high performance demands, then this book is for you. Learning Akka will let you do more for your users with less code and less complexity, by building and scaling your networked applications with ease. What You Will Learn * Use Akka to overcome the challenges of concurrent programming * Resolve the issues faced in distributed computing with the help of Akka * Scale applications to serve a high number of concurrent users * Make your system fault-tolerant with self-healing applications * Provide a timely response to users with easy concurrency * Reduce hardware costs by building more efficient multi-user applications * Maximise network efficiency by scaling it In Detail Software today has to work with more data, more users, more cores, and more servers than ever. Akka is a distributed computing toolkit that enables developers to build correct concurrent and distributed applications using Java and Scala with ease, applications that scale across servers and respond to failure by self-healing. As well as simplifying development, Akka enables multiple concurrency development patterns with particular support and architecture derived from Erlang's concept of actors (lightweight concurrent entities). Akka is written in Scala, which has become the programming language of choice for development on the Akka platform. Learning Akka aims to be a comprehensive walkthrough of Akka. This book will take you on a journey through all the concepts of Akka that you need in order to get started with concurrent and distributed applications and even build your own. Beginning with the concept of Actors, the book will take you through concurrency in Akka. Moving on to networked applications, this book will explain the common pitfalls in these difficult problem areas while teaching you how to use Akka to overcome these problems with ease. The book is an easy to follow example-based guide that will strengthen your basic knowledge of Akka and aid you in applying the same to real-world scenarios. Style and approach An easy-to-follow, example-based guide that will take you through building several networked-applications that work together while you are learning concurrent and distributed computing concepts. Each topic is explained while showing you how to design with Akka and how it is used to overcome common problems in applications. By showing Akka in context to the problems, it will help you understand what the common problems are in distributed applications and how to overcome them.
Over 60 recipes to help you build, configure, and orchestrate RHEL 7 Server to make your everyday administration experience seamless About This Book * Create fully unattended installations and deploy configurations without breaking a sweat * Discover and kick-start the newest RHEL 7 configuration and management tools through an easy-to-follow, practical approach for a lazy system management * Be guided by an experienced RHEL expert who is a certified Linux engineer with a passion for open source and open standards Who This Book Is For Red Hat Enterprise Linux Server Cookbook is for RHEL 7 system administrators and DevOps in need of a practical reference guide to troubleshoot common issues and quickly perform tasks. What You Will Learn * Set up and configure RHEL 7 Server * Use NetworkManager to configure all aspects of your network * Manage virtual environments using libvirt * Set up software repositories * Secure and monitor your RHEL environment * Configure SELinux, and create and apply its policies * Create kickstart scripts to automatically deploy RHEL 7 systems * Use Orchestration and configuration management tools to manage your environment In Detail Dominating the server market, the Red Hat Enterprise Linux operating system gives you the support you need to modernize your infrastructure and boost your organization's efficiency. Combining both stability and flexibility, RHEL helps you meet the challenges of today and adapt to the demands of tomorrow. This practical Cookbook guide will help you get to grips with RHEL 7 Server and automating its installation. Designed to provide targeted assistance through hands-on recipe guidance, it will introduce you to everything you need to know about KVM guests and deploying multiple standardized RHEL systems effortlessly. Get practical reference advice that will make complex networks setups look like child's play, and dive into in-depth coverage of configuring a RHEL system. Also including full recipe coverage of how to set up, configuring, and troubleshoot SELinux, you'll also discover how secure your operating system, as well as how to monitor it. Style and approach This practical guide is packed full of hands-on recipes that provide quick solutions to the problems faced when building your RHEL 7 system from scratch using orchestration tools. Each topic is explained sequentially in the process of setting up a system and binding everything together.
Build a resilient and scalable OpenStack cloud, using advanced open source tools About This Book * Leverage the power of OpenStack to achieve high availability * Get to grips with concepts such as Galeria Cluster for Glance and Cinder, MariaDB, and validation * Using clustering and high-availability solutions, this book provides a comprehensive plan for you to connect them with Red Hat Enterprise Linux OpenStack Platform Who This Book Is For This book is for OpenStack administrator, cloud administrator, cloud engineer, or cloud developer with some real time understanding of cloud computing, OpenStack and familiarity with Linux command is essential to start with this book. What You Will Learn * Grasp an understanding of what a highly available design should be using RTO, MTTR, and SLA concepts * Set up and configure Galera and RabbitMQ clusters to build an efficient and reliable messaging cluster * Get to know the advanced areas of network load balancing using configurations of HAproxy and keepalived * Control active/passive OpenStack services by setting up a cluster for two or more nodes * Gain a deeper understanding of how OpenStack services work in cooperation with a stateless mode to offer a scalable cloud framework * Configure and run a distributed neutron installation based on openvswitch and different tunneling protocols * Explore the rudimental configuration of different shared storage options and provide backup services of OpenStack * Get acquainted with how an OpenStack-based cloud can survive various failures using network partitioning split brain, automatic failover, and geo-replication * Distribute applications and services among availability zones in OpenStack to achieve maximum uptime and reliability of service * Control and maintain a cloud with key concepts and tools to correctly measure and control the operations of an OpenStack cloud * Get to know more about the relevant HA deployments of OpenStack with use cases In Detail OpenStack is one of the most popular open source cloud computing platforms, and it is used most of all for deploying Infrastructure as a Service (IaaS) solutions. Enabling high availability in OpenStack is a required skill for cloud administrators and cloud engineers in today's world. This book helps you to achieve high availability and resiliency to OpenStack. This means clustering, fencing, load-balancing, distributed networking, leveraging shared storage, automatic failover, and replication. We start with a basic understanding of what a highly available design is meant to achieve in OpenStack and various ways to achieve high availability in OpenStack through simple step-by-step procedures. Through hands-on examples, you will develop a solid knowledge of horizontally-scalable, fault-resistant, and highly-available OpenStack clusters and will be able to apply the techniques from this book in your day-to-day projects. This book also sheds light on the principles of application design for high availability, and monitoring for high availability, with examples. Style and approach This is a step-by-step guide that uses clustering and high-availability solutions available in the market and provides a comprehensive plan to connect them with Red Hat Enterprise Linux OpenStack Platform to make you a competent OpenStack administrator.
Learn to process massive real-time data streams using Storm and Python--no Java required! About This Book * Learn to use Apache Storm and the Python Petrel library to build distributed applications that process large streams of data * Explore sample applications in real-time and analyze them in the popular NoSQL databases MongoDB and Redis * Discover how to apply software development best practices to improve performance, productivity, and quality in your Storm projects Who This Book Is For This book is intended for Python developers who want to benefit from Storm's real-time data processing capabilities. If you are new to Python, you'll benefit from the attention to key supporting tools and techniques such as automated testing, virtual environments, and logging. If you're an experienced Python developer, you'll appreciate the thorough and detailed examples What You Will Learn * Install Storm and learn about the prerequisites * Get to know the components of a Storm topology and how to control the flow of data between them * Ingest Twitter data directly into Storm * Use Storm with MongoDB and Redis * Build topologies and run them in Storm * Use an interactive graphical debugger to debug your topology as it's running in Storm * Test your topology components outside of Storm * Configure your topology using YAML In Detail Big data is a trending concept that everyone wants to learn about. With its ability to process all kinds of data in real time, Storm is an important addition to your big data "bag of tricks." At the same time, Python is one of the fastest-growing programming languages today. It has become a top choice for both data science and everyday application development. Together, Storm and Python enable you to build and deploy real-time big data applications quickly and easily. You will begin with some basic command tutorials to set up storm and learn about its configurations in detail. You will then go through the requirement scenarios to create a Storm cluster. Next, you'll be provided with an overview of Petrel, followed by an example of Twitter topology and persistence using Redis and MongoDB. Finally, you will build a production-quality Storm topology using development best practices. Style and approach This book takes an easy-to-follow and a practical approach to help you understand all the concepts related to Storm and Python.
Discover all the secrets of Unreal Engine and create seven fully functional games with the help of step-by-step instructions About This Book * Understand what a Blueprint is and how to create a complex visual scripting code * Discover the infinite possibilities that Unreal Engine offers, and understand which tool to use, where and when * Learn to think like a real game developer in order to create enjoyable and bug-free games using this comprehensive and practical handbook Who This Book Is For This book is ideal for intermediate level developers who know how to use Unreal Engine and want to go through a series of projects that will further their expertise. Working knowledge of C++ is a must. What You Will Learn * Write clean and reusable Blueprint scripts * Develop any kind of game you have in mind, following the rules used by experts * Move through Unreal Engine 4, always knowing what you are doing and where to find the right tool for your needs * Integrate C++ code into your projects using Visual Studio and the tools that Unreal provides * Extricate between classes, nodes, interfaces, macros, and functions * Work with different types of assets, from 3D objects to audio sources, from UI buttons to animations * Explore all the aspects of the game logic--collisions, navigation meshes, matinees, volumes, events, and states In Detail With the arrival of Unreal Engine 4, a new wonderful tool was born: Blueprint. This visual scripting tool allows even non-programmers to develop the logic for their games, allowing almost anyone to create entire games without the need to write a single line of code. The range of features you can access with Blueprint script is pretty extensive, making it one of the foremost choices for many game developers. Unreal Engine Game Development Blueprints helps you unleash the real power of Unreal by helping you to create engaging and spectacular games. It will explain all the aspects of developing a game, focusing on visual scripting, and giving you all the information you need to create your own games. We start with an introductory chapter to help you move fluidly inside the Blueprint user interface, recognize its different components, and understand any already written Blueprint script. Following this, you will learn how to modify generated Blueprint classes to produce a single player tic-tac-toe game and personalize it. Next, you will learn how to create simple user interfaces, and how to extend Blueprints through code. This will help you make an informed decision between choosing Blueprint or code. You will then see the real power of Unreal unleashed as you create a beautiful scene with moving, AI controlled objects, particles, and lights. Then, you will learn how to create AI using a behavior tree and a global level Blueprint, how to modify the camera, and how to shoot custom bullets. Finally, you will create a complex game using Blueprintable components complete with a menu, power-up, dangerous objects, and different weapons. Style and approach This is an easy-to-follow guide full of practical game examples. Each chapter contains step-by-step instructions to build a complete game and each game uses a different tool in order to cover all the topics in a detailed and progressive manner.
Improve search experiences with ElasticSearch's powerful indexing functionality - learn how with this practical ElasticSearch tutorial, packed with tips! About This Book * Improve user's search experience with the correct configuration * Deliver relevant search results - fast! * Save time and system resources by creating stable clusters Who This Book Is For If you understand the importance of a great search experience this book will show you exactly how to build one with ElasticSearch, one of the world's leading search servers. What You Will Learn * Learn how ElasticSearch efficiently stores data - and find out how it can reduce costs * Control document metadata with the correct mapping strategies and by configuring indices * Use ElasticSearch analysis and analyzers to incorporate greater intelligence and organization across your documents and data * Find out how an ElasticSearch cluster works - and learn the best way to configure it * Perform high-speed indexing with low system resource cost * Improve query relevance with appropriate mapping, suggest API, and other ElasticSearch functionalities In Detail Beginning with an overview of the way ElasticSearch stores data, you'll begin to extend your knowledge to tackle indexing and mapping, and learn how to configure ElasticSearch to meet your users' needs. You'll then find out how to use analysis and analyzers for greater intelligence in how you organize and pull up search results - to guarantee that every search query is met with the relevant results! You'll explore the anatomy of an ElasticSearch cluster, and learn how to set up configurations that give you optimum availability as well as scalability. Once you've learned how these elements work, you'll find real-world solutions to help you improve indexing performance, as well as tips and guidance on safety so you can back up and restore data. Once you've learned each component outlined throughout, you will be confident that you can help to deliver an improved search experience - exactly what modern users demand and expect. Style and approach This is a comprehensive guide to performing efficient indexing and providing relevant search results using mapping, analyzers, and other ElasticSearch functionalities.
Get started with the essentials of Apache Maven and get your build automation system up and running quickly About This Book * Explore the essentials of Apache Maven essentials to arm yourself with all the ingredients needed to develop a comprehensive build automation system * Identify the extension points in Apache Maven and learn more about them in-depth * Improve developer productivity by optimizing the build process with best practices in Maven using this compact guide Who This Book Is For The book is ideal for for experienced developers who are already familiar with build automation, but want to learn how to use Maven and apply its concepts to the most difficult scenarios in build automation. What You Will Learn * Comprehend the key concepts in Apache Maven * Build your own custom plugins and get to know how Maven extension points are used * Troubleshoot build issues with greater confidence * Optimize Maven's configuration settings * Write custom lifecycles and extensions * Get hands-on and create a Maven assembly * Explore the best practices to design a build system that improves developer productivity In Detail Maven is the #1 build tool used by developers and it has been around for more than a decade. Maven stands out among other build tools due to its extremely extensible architecture, which is built on of the concept of convention over configuration. It's widely used by many open source Java projects under Apache Software Foundation, Sourceforge, Google Code, and more. Maven Essentials is a fast-paced guide to show you the key concepts in Maven and build automation. We get started by introducing you to Maven and exploring its core concepts and architecture. Next, you will learn about and write a Project Object Model (POM) while creating your own Maven project. You will also find out how to create custom archetypes and plugins to establish the most common goals in build automation. After this, you'll get to know how to design the build to prevent any maintenance nightmares, with proper dependency management. We then explore Maven build lifecycles and Maven assemblies. Finally, you will discover how to apply the best practices when designing a build system to improve developer productivity. Style and approach This book is a practical and compact guide that will show you how to use Apache Maven in an optimal way to address enterprise build requirements. It provides technical guidance to get you started with Maven and build automation.
Grok and perform effective functional programming in Scala About This Book * Understand functional programming patterns by comparing them with the traditional object-oriented design patterns * Write robust, safer, and better code using the declarative programming paradigm * An illustrative guide for programmers to create functional programming patterns with Scala Who This Book Is For If you have done Java programming before and have a basic knowledge of Scala and its syntax, then this book is an ideal choice to help you to understand the context, the traditional design pattern applicable, and the Scala way. Having previous knowledge of design patterns will help, though it is not strictly necessary. What You Will Learn * Get to know about functional programming and the value Scala's FP idioms bring to the table * Solve day-to-day programming problems using functional programming idioms * Cut down the boiler-plate and express patterns simply and elegantly using Scala's concise syntax * Tame system complexity by reducing the moving parts * Write easier to reason about concurrent code using the actor paradigm and the Akka library * Apply recursive thinking and understand how to create solutions without mutation * Reuse existing code to compose new behavior * Combine the object-oriented and functional programming approaches for effective programming using Scala In Detail Scala is used to construct elegant class hierarchies for maximum code reuse and extensibility and to implement their behavior using higher-order functions. Its functional programming (FP) features are a boon to help you design "easy to reason about" systems to control the growing software complexities. Knowing how and where to apply the many Scala techniques is challenging. Looking at Scala best practices in the context of what you already know helps you grasp these concepts quickly, and helps you see where and why to use them. This book begins with the rationale behind patterns to help you understand where and why each pattern is applied. You will discover what tail recursion brings to your table and will get an understanding of how to create solutions without mutations. We then explain the concept of memorization and infinite sequences for on-demand computation. Further, the book takes you through Scala's stackable traits and dependency injection, a popular technique to produce loosely-coupled software systems. You will also explore how to currying favors to your code and how to simplify it by de-construction via pattern matching. We also show you how to do pipeline transformations using higher order functions such as the pipes and filters pattern. Then we guide you through the increasing importance of concurrent programming and the pitfalls of traditional code concurrency. Lastly, the book takes a paradigm shift to show you the different techniques that functional programming brings to your plate. This book is an invaluable source to help you understand and perform functional programming and solve common programming problems using Scala's programming patterns. Style and approach This is a hands-on guide to Scala's game-changing features for programming. It is filled with many code examples and figures that illustrate various Scala idioms and best practices.
Build and optimize efficient messaging applications with ease About This Book * Learn to administer, configure, and manage RabbitMQ instances * Discover ways to secure and troubleshoot RabbitMQ instances * This book is fully up-to-date with all the latest changes to version 3.5 Who This Book Is For If you are a developer or system administrator with a basic knowledge of messaging who wants to learn RabbitMQ, or if you want to further enhance your knowledge in working with the message broker, then this book is ideal for you. To fully understand some examples in the book, a basic knowledge of the Java programming language is required. What You Will Learn * Apply messaging patterns using the message broker * Administer RabbitMQ using the command line, management Web console, or management REST services * Create a cluster of scalable, and highly-available, RabbitMQ instances * Use RabbitMQ with the Spring Framework, MuleESB, WSO2, and Oracle databases * Deploy RabbitMQ using Puppet, Vagrant, or Docker * Fine-tune the performance of RabbitMQ * Monitor RabbitMQ using Nagios, Munin, or Monit * Secure, troubleshoot, and extend RabbitMQ In Detail RabbitMQ is Open Source Message Queuing software based on the Advanced Message Queue Protocol Standard written in the Erlang Language. RabbitMQ is an ideal candidate for large-scale projects ranging from e-commerce and finance to Big Data and social networking because of its ease of use and high performance. Managing RabbitMQ in such a dynamic environment can be a challenging task that requires a good understanding not only of how to work properly with the message broker but also of its best practices and pitfalls. Learning RabbitMQ starts with a concise description of messaging solutions and patterns, then moves on to concrete practical scenarios for publishing and subscribing to the broker along with basic administration. This knowledge is further expanded by exploring how to establish clustering and high availability at the level of the message broker and how to integrate RabbitMQ with a number of technologies such as Spring, and enterprise service bus solutions such as MuleESB and WSO2. We will look at advanced topics such as performance tuning, secure messaging, and the internals of RabbitMQ. Finally we will work through case-studies so that we can see RabbitMQ in action and, if something goes wrong, we'll learn to resolve it in the Troubleshooting section. Style and approach Each chapter of the book is an easy-to-follow guide that expands and builds on the knowledge already gained in previous chapters. Throughout the course of the book, a sample system called the CSN (Corporate Social Network) is used to illustrate the core principles described. At the end of each chapter, there is a Q&A session that covers practical questions that may arise in practice when working with RabbitMQ.
Harness the power of RStudio to create web applications, R packages, markdown reports and pretty data visualizations About This Book * Discover the multi-functional use of RStudio to support your daily work with R code * Learn to create stunning, meaningful, and interactive graphs and learn to embed them into easy communicable reports using multiple R packages * Develop your own R packages and Shiny web apps to share your knowledge and collaborate with others Who This Book Is For This book is aimed at R developers and analysts who wish to do R statistical development while taking advantage of RStudio's functionality to ease their development efforts. R programming experience is assumed as well as being comfortable with R's basic structures and a number of functions. What You Will Learn * Discover the RStudio IDE and details about the user interface * Communicate your insights with R Markdown in static and interactive ways * Learn how to use different graphic systems to visualize your data * Build interactive web applications with the Shiny framework to present and share your results * Understand the process of package development and assemble your own R packages * Easily collaborate with other people on your projects by using Git and GitHub * Manage the R environment for your organization with RStudio and Shiny server * Apply your obtained knowledge about RStudio and R development to create a real-world dashboard solution In Detail RStudio helps you to manage small to large projects by giving you a multi-functional integrated development environment, combined with the power and flexibility of the R programming language, which is becoming the bridge language of data science for developers and analyst worldwide. Mastering the use of RStudio will help you to solve real-world data problems. This book begins by guiding you through the installation of RStudio and explaining the user interface step by step. From there, the next logical step is to use this knowledge to improve your data analysis workflow. We will do this by building up our toolbox to create interactive reports and graphs or even web applications with Shiny. To collaborate with others, we will explore how to use Git and GitHub with RStudio and how to build your own packages to ensure top quality results. Finally, we put it all together in an interactive dashboard written with R. Style and approach An easy-to-follow guide full of hands-on examples to master RStudio. Beginning from explaining the basics, each topic is explained with a lot of details for every feature.
Master the fundamentals of Gradle using real-world projects with this quick and easy-to-read guide About This Book * Write beautiful build scripts for various types of projects effortlessly * Become more productive by harnessing the power and elegance of the Gradle DSL * Learn how to use Gradle quickly and effectively with this step-by-step guide Who This Book Is For This book is for Java and other JVM-based language developers who want to use Gradle or are already using Gradle on their projects. No prior knowledge of Gradle is required, but some familiarity with build-related terminologies and an understanding of the Java language would help. What You Will Learn * Master the Gradle DSL by identifying the building blocks * Learn just enough Groovy for Gradle * Set up tests and reports for your projects to make them CI ready * Create library, stand-alone, and web projects * Craft multi-module projects quickly and efficiently * Migrate existing projects to a modern Gradle build * Extract common build logic into plugins * Write builds for languages like Java, Groovy, and Scala In Detail Gradle is an advanced and modern build automation tool. It inherits the best elements of the past generation of build tools, but it also differs and innovates to bring terseness, elegance, simplicity, and the flexibility to build. Right from installing Gradle and writing your first build file to creating a fully-fledged multi-module project build, this book will guide you through its topics in a step-by-step fashion. You will get your hands dirty with a simple Java project built with Gradle and go on to build web applications that are run with Jetty or Tomcat. We take a unique approach towards explaining the DSL using the Gradle API, which makes the DSL more accessible and intuitive. All in all, this book is a concise guide to help you decipher the Gradle build files, covering the essential topics that are most useful in real-world projects. With every chapter, you will learn a new topic and be able to readily implement your build files. Style and approach This step-by-step guide focuses on being productive with every chapter. When required, topics are explained in-depth to give you a good foundation of the Gradle fundamentals. The book covers most aspects of builds required for conventional JVM-based projects, and when necessary, points you towards the right resources.
Develop four exciting, cross-platform games using LibGDX with increasing complexity and understand its key concepts About This Book * Learn how to make a complete game from scratch using the LibGDX framework * Discover different aspects of game development, optimize them, and implement them in your games * This is a comprehensive guide packed with concepts that are covered in an incremental manner Who This Book Is For If you have a good grip of Java and want to explore its capabilities in game development, this book is for you. Basic knowledge of LibGDX is preferred, but is not mandatory. What You Will Learn * Set up the development environment and implement a very simple game type * Implement new features such as motion, sounds, and randomness by implementing a new game * Add music, physics, and menus to your games * Start the creation of a platformer game and apply optimisation techniques * Perform collision detection and manage the game assets * Render game levels designed in the tool and add enemies * Create multiple levels, enemy motion, and level transitions in the game In Detail LibGDX is a very popular open source game framework for the Java programming language. It features deployment to multiple platforms with the same code base and it is very fast. Its vast amount of features makes it very easy to learn and master game development without knowing the low-level details. LibGDX Cross-platform Development Blueprints teaches you the concepts of game development using the LibGDX framework as you make four complete games. You'll start with setting up the environment, then move on to advanced concepts such as collision detection, memory optimization, and more. The first game is Monty Hall, where you'll learn how to set up LibGDX and use simple graphics. Then, you'll get to know more about concepts such as animation, game sounds, and scoring by developing a Whack a Mole game. This will set up the base for a Bounce the Ball game, where you'll get to grips with advanced concepts such as movements and collisions based on physics. Finally, the Dungeon Bob game will help you understand player motion. This guide gives you everything you need to master game development with LibGDX. Style and approach This is an easy-to-understand guide, packed with examples and illustrations along the way. Complex areas are broken down into bite-size chunks and are explained in detail. The difficulty levels of games are built throughout the chapters.
Become familiar with the LLVM infrastructure and start using LLVM libraries to design a compiler About This Book * Learn to use the LLVM libraries to emit intermediate representation (IR) from high-level language * Build your own optimization pass for better code generation * Understand AST generation and use it in a meaningful way Who This Book Is For This book is intended for those who already know some of the concepts of compilers and want to quickly get familiar with the LLVM infrastructure and the rich set of libraries that it provides. What You Will Learn * Get an introduction to LLVM modular design and LLVM tools * Convert frontend code to LLVM IR * Implement advanced LLVM IR paradigms * Understand the LLVM IR Optimization Pass Manager infrastructure and write an optimization pass * Absorb LLVM IR transformations * Understand the steps involved in converting LLVM IR to Selection DAG * Implement a custom target using the LLVM infrastructure * Get a grasp of C's frontend clang, an AST dump, and static analysis In Detail LLVM is currently the point of interest for many firms, and has a very active open source community. It provides us with a compiler infrastructure that can be used to write a compiler for a language. It provides us with a set of reusable libraries that can be used to optimize code, and a target-independent code generator to generate code for different backends. It also provides us with a lot of other utility tools that can be easily integrated into compiler projects. This book details how you can use the LLVM compiler infrastructure libraries effectively, and will enable you to design your own custom compiler with LLVM in a snap. We start with the basics, where you'll get to know all about LLVM. We then cover how you can use LLVM library calls to emit intermediate representation (IR) of simple and complex high-level language paradigms. Moving on, we show you how to implement optimizations at different levels, write an optimization pass, generate code that is independent of a target, and then map the code generated to a backend. The book also walks you through CLANG, IR to IR transformations, advanced IR block transformations, and target machines. By the end of this book, you'll be able to easily utilize the LLVM libraries in your own projects. Style and approach This book deals with topics sequentially, increasing the difficulty level in a step-by-step approach. Each topic is explained with a detailed example, and screenshots are included to help you understand the examples.
Select your format based upon: 1) how you want to read your book, and 2) compatibility with your reading tool. To learn more about using Bookshare with your device, visit the "Using Bookshare" page in the Help Center.
Here is an overview of the specialized formats that Bookshare offers its members with links that go to the Help Center for more information.
- Bookshare Web Reader - a customized reading tool for Bookshare members offering all the features of DAISY with a single click of the "Read Now" link.
- DAISY (Digital Accessible Information System) - a digital book file format. DAISY books from Bookshare are DAISY 3.0 text files that work with just about every type of access technology that reads text. Books that contain images will have the download option of ‘DAISY Text with Images’.
- BRF (Braille Refreshable Format) - digital Braille for use with refreshable Braille devices and Braille embossers.
- MP3 (Mpeg audio layer 3) - Provides audio only with no text. These books are created with a text-to-speech engine and spoken by Kendra, a high quality synthetic voice from Ivona. Any device that supports MP3 playback is compatible.
- DAISY Audio - Similar to the Daisy 3.0 option above; however, this option uses MP3 files created with our text-to-speech engine that utilizes Ivona's Kendra voice. This format will work with Daisy Audio compatible players such as Victor Reader Stream and Read2Go.