CISSP in 21 Days
This book adopts a 'concise explanation' approach to describe the concepts in the 10 Information Security domains that are covered in the CISSP examination. Hence, this book is a 'quick revision guide' and as such is expected to be studied in the month prior to examination. By breaking down difficult concepts and theories to simple 2 to 4-line sentences the assimilation and most importantly 'recall' of a concept is improved. Hence, this approach helps a candidate to focus on the core concepts before the exams and to recall them and relate them with other concepts to aid in identifying the right answer during the exam. This book is for all aspirants who are planning to take the CISSP examination and obtain the coveted CISSP certification that is considered as the 'Gold Standard' in Information Security personal certification. This book assumes that the candidate has already sufficient knowledge in all the 10 domains of the CISSP CBK by way of experience from work and knowledge gained from other study books. This book provides concise explanations to the core concepts that are essentially covered in the exam. Besides being an Information Security-focused guide, this book will also be useful as a quick reference and revision guide for System and Network Administrators, Database Administrators, System Analysts, Software Developers, Application Designers, System Architects, Legal Professionals, Security Officers, Business Continuity professionals, IT Auditors, IS Auditors, Vulnerability Assessors, Penetration Testers, and Ethical Hackers.
Exploring the major features and packages of Go, along with its types and data-structures, enabling the reader to write threadsafe, concurrent cloud, and network applications About This Book ? Not your typical introduction to the Golang programming language ? Exploring Golang cradle to grave, completes the developer’s Golang education ? A thorough exploration into the core libraries and Golang features, that usually are taken for granted ? In depth explanation, detailing the rationale behind composite data types, Golang concurrency, and the Golang networking library Who This Book Is For This book is for Golang programmers. You should have previously read an introductory book on Go, or to have worked through the Tour of Go or an equivalent online course. This book will definitely help to remember the basic concepts of concurrency, but network programming will be explained. A certain amount of previous coding and production experience would be helpful. What You Will Learn ? Understand the design choices of Golang syntax ? Know enough Go internals to be able to optimize Golang code ? Appreciate concurrency models available in Golang ? Understand the interplay of systems and networking code ? Write server-level code that plays well in all environments ? Understand the context and appropriate use of Go data types and data structures In Detail The Go programming language, often referred to as Golang (albeit wrongly), is really making strides, with some masterclass developments, architected by the greatest programming minds. Tobias Lutke, CEO of Shopify, recently quoted as saying “Go will be the server language of the future”, powerful words, with much ambition. Go programmers are in high demand, but more controversially, Go takes the stage, where C and Unix programmers previously led the way. The growth of the Go language has seen it become the means by which systems, networking, web, and cloud applications are implemented. Comfortable with syntax, you’ll benefit by mastering the use of the libraries and utilise its features, speed, and efficiency, for which the Go ecology is justly famous. You already know a little Go syntax and you’ve written some small projects, most Go programmers face the difficulty of having to integrate their Golang skills with production code. Typical introductions to Go programming, often stop short of this transition, the author continue on, showing you just how to tackle this. Offering a compendium of Go, the book begins with an account of how Go has been implemented, also, the reader will benefit from a dedicated chapter, an in-depth account of concurrency, systems and network programming, imperative for modern-day native cloud development. Style and approach The approach is a practical one, very much hands-on, and a bit more demanding and in-depth than your average programming language introduction. The aim is to enable a Golang programmer to write and put in production a complete Golang application, regardless of the environment, which will be achieved by a masterclass of well- formed exercises.
Unsupervised Learning with R
Work with over 40 packages to draw inferences from complex datasets and find hidden patterns in raw unstructured data About This Book Unlock and discover how to tackle clusters of raw data through practical examples in R Explore your data and create your own models from scratch Analyze the main aspects of unsupervised learning with this comprehensive, practical step-by-step guide Who This Book Is For This book is intended for professionals who are interested in data analysis using unsupervised learning techniques, as well as data analysts, statisticians, and data scientists seeking to learn to use R to apply data mining techniques. Knowledge of R, machine learning, and mathematics would help, but are not a strict requirement. What You Will Learn Load, manipulate, and explore your data in R using techniques for exploratory data analysis such as summarization, manipulation, correlation, and data visualization Transform your data by using approaches such as scaling, re-centering, scale [0-1], median/MAD, natural log, and imputation data Build and interpret clustering models using K-Means algorithms in R Build and interpret clustering models by Hierarchical Clustering Algorithm’s in R Understand and apply dimensionality reduction techniques Create and use learning association rules models, such as recommendation algorithms Use and learn about the techniques of feature selection Install and use end-user tools as an alternative to programming directly in the R console In Detail The R Project for Statistical Computing provides an excellent platform to tackle data processing, data manipulation, modeling, and presentation. The capabilities of this language, its freedom of use, and a very active community of users makes R one of the best tools to learn and implement unsupervised learning. If you are new to R or want to learn about unsupervised learning, this book is for you. Packed with critical information, this book will guide you through a conceptual explanation and practical examples programmed directly into the R console. Starting from the beginning, this book introduces you to unsupervised learning and provides a high-level introduction to the topic. We quickly move on to discuss the application of key concepts and techniques for exploratory data analysis. The book then teaches you to identify groups with the help of clustering methods or building association rules. Finally, it provides alternatives for the treatment of high-dimensional datasets, as well as using dimensionality reduction techniques and feature selection techniques. By the end of this book, you will be able to implement unsupervised learning and various approaches associated with it in real-world projects. Style and approach This book takes a step-by-step approach to unsupervised learning concepts and tools, explained in a conversational and easy-to-follow style. Each topic is explained sequentially, explaining the theory and then putting it into practice by using specialized R packages for each topic.
Learning ArcGIS Pro
Create, analyze, maintain, and share 2D and 3D maps with the powerful tools of ArcGIS Pro About This Book Visualize GIS data in 2D and 3D maps Create GIS projects for quick and easy access to data, maps, and analysis tools A practical guide that helps to import maps, globes, and scenes from ArcMap, ArcScene, or ArcGlobe Who This Book Is For This book is for anyone wishing to learn how ArcGIS Pro can be used to create maps and perform geospatial analysis. It will be especially helpful for those that have used ArcMap and ArcCatalog in the past and are looking to migrate to Esri’s newest desktop GIS solution. Though previous GIS experience is not required, you must have a solid foundation using Microsoft Windows. It is also helpful if you understand how to manage folders and files within the Microsoft Windows environment. What You Will Learn Install ArcGIS Pro and assign Licenses to users in your organization Navigate and use the ArcGIS Pro ribbon interface to create maps and perform analysis Create and manage ArcGIS Pro GIS Projects Create 2D and 3D maps to visualize and analyze data Author map layouts using cartographic tools and best practices to show off the results of your analysis and maps Import existing map documents, scenes, and globes into your new ArcGIS Pro projects quickly Create standardized workflows using Tasks Automate analysis and processes using ModelBuilder and Python In Detail ArcGIS Pro is Esri’s newest desktop GIS application with powerful tools for visualizing, maintaining, and analyzing data. ArcGIS Pro makes use of the modern ribbon interface and 64-bit processing to increase the speed and efficiency of using GIS. It allows users to create amazing maps in both 2D and 3D quickly and easily.This book will take you from software installation to performing geospatial analysis. It is packed with how-to’s for a host of commonly-performed tasks. You will start by learning how to download and install the software including hardware limitations and recommendations. Then you are exposed to the new Ribbon interface and how its smart design can make finding tools easier.After you are exposed to the new interface, you are walked through the steps to create a new GIS Project to provide quick access to project resources. With a project created, you will learn how to construct 2D and 3D maps including how to add layers, adjust symbology, and control labeling. Next you will learn how to access and use analysis tools to help you answer real-world questions.Lastly, you will learn how processes can be automated and standardized in ArcGIS Pro using Tasks, Models, and Python Scripts.This book will provide an invaluable resource for all those seeking to use ArcGIS Pro as their primary GIS application or for those looking to migrate from ArcMap and ArcCatalog. Style and approach This book includes detailed explanations of the GIS functionality and workflows in ArcGIS Pro. These are supported by easy-to-follow exercises that will help you gain an understanding of how to use ArcGIS Pro to perform a range of tasks.
Android 6 Essentials
Design, build, and create your own applications using the full range of features available in Android 6 About This Book Learn how to utilize the robust features of Android 6 to design, develop, and publish better Android applications Get useful guidance on creating new apps or migrating existing apps to support features such as app permissions, app links, fingerprint authentication, etc A fast paced guide, packed with hands-on examples that ties all the features such as API, audio, video, camera, tab customization together under a single cover Who This Book Is For This book is for Android developers who are looking to move their applications into the next Android version with ease. What You Will Learn Familiarize yourself with the features of Android 6 Code with the new Android permissions model Use apps auto backup and restore lost data automatically Increase user engagement with apps through an assistant using triggers and providing contextual assistance Assess and handle proper usage of the API Work with Audio, Video,Camera in Android 6 Utilize the new features in Android for professional purposes Understand and code Chrome’s custom tabs In Detail Android 6 is the latest and greatest version of the Android operating system, and comes packed with cutting edge new features for you to harness for the benefit of building better applications. This step-by-step guide will take you through the basics of the Android Marshmallow permissions model and beyond into other crucial areas such as the Audio,Video,Camera API and Android’s at work features. Learn how to create, deploy, and manage Android applications with Marshmallow’s API and the latest functionalities. The combination of instructions and real-world examples will make your application deployment and testing a breeze. Style and approach This easy-to-follow, step-by-step tutorial provides explanations and examples to add the new Android 6 features to your skill set. Each chapter provides sequential steps and detailed information about the API, as well as best practices and testing options.
Python for Secret Agents - Volume II
Gather, analyze, and decode data to reveal hidden facts using Python, the perfect tool for all aspiring secret agents About This Book Discover the essential features of Python programming: statements, variables, expressions, and many of the built-in data types Use Python’s standard library to do more sophisticated data gathering and analysis Written by a Python programming expert, with over 35 years' experience as a consultant, teacher, author and software developer Who This Book Is For This book is for Secret Agents who have some exposure to Python. Our focus is on the Field Agents who are ready to do more sophisticated and complex programming in Python. We'll stick to simple statistics for the most part. A steady hand with a soldering iron is not required, but a skilled field agent should be able to assemble a working Arduino circuit to gather their own sensor data.What You Will Learn Upgrade Python to the latest version and discover its latest and greatest tools Use Python libraries to extract data from log files that are designed more for people to read than for automated analysis Summarize log files and extract meaningful information Gather data from social networking sites and leverage your experience of analyzing log files to summarize the data you find Extract text and images from social networking sites Parse the complex and confusing data structures in a PDF file to extract meaningful text that we can analyze Connect small, intelligent devices to our computer to use them as remote sensors Use Python to analyze measurements from sensors to calibrate them and use sensors efficiently In Detail Python is easy to learn and extensible programming language that allows any manner of secret agent to work with a variety of data. Agents from beginners to seasoned veterans will benefit from Python's simplicity and sophistication. The standard library provides numerous packages that move beyond simple beginner missions. The Python ecosystem of related packages and libraries supports deep information processing. This book will guide you through the process of upgrading your Python-based toolset for intelligence gathering, analysis, and communication. You'll explore the ways Python is used to analyze web logs to discover the trails of activities that can be found in web and database servers. We'll also look at how we can use Python to discover details of the social network by looking at the data available from social networking websites. Finally, you'll see how to extract history from PDF files, which opens up new sources of data, and you’ll learn about the ways you can gather data using an Arduino-based sensor device. Style and approach Each chapter will include a background briefing that covers an essential Python technology. After some in-depth exploration of the features, the chapter will conclude with a mission that is a concrete application of the Python tools and techniques covered.
Learning OpenStack High Availability
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 his 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.
Master the skills required to implement CitrixXenApp7.6 to deploy a complete Citrix?-hosted application from scratch About This Book Learn to implement and configure components of CitrixXenApp7.6, which are XenServer?, XenApp?, CitrixLicense server, PVS, Storefront, CitrixReceiver, and Netscaler to secure WAN traffic Build the XenApp7.6 environment independently and perform tests to make sure the components are working as expected for internal and external traffic Implement advanced tools in CitrixXenAppto build and manage a cost effective, secure, and high-performing application delivery infrastructure with this comprehensive guide Who This Book Is For This is book is for administrators who are currently managing the implemented environment and want to learn how to deploy the CitrixHosted virtualization solution for the application in a windows server 2012 R2 environment. A reasonable knowledge and understanding of core XenAppelements and concepts used during virtualizing applications are assumed. What You Will Learn Understand how to set up Hypervisor, install the management console, configure the storage repository, and create a virtual machine on hypervisor Set up an Infrastructure component and explore ways to tune them up so that they can be used for Citrixenvironment Set up a Domain controller, DHCP, Certificate authority, and SQL server for static database for CitrixXenAppValidate the CitrixXenApp7.6 solution to make sure components are communicating properly Manage the essential Citrixcomponents – Director, Licensing, and Policies with the Help of Citrixstudio Optimize the behavior of an Application and share desktop via Policies Installing and configuring CitrixProvisioning services to deliver CitrixXenApp7.6 virtual machines Secure the external Delivery of an application and shared desktop via netscaler to enjoy mobility In Detail CitrixXenAppis one of the leading pieces of Application delivery software that delivers Windows compatible apps to users on any device, anywhere. CitrixXenAppalso gives administrators the ability to manage and control the freedom of mobility by increasing the security and saving costs at the same time. This book will provide you with all the knowledge required to successfully deploy and master a complete Citrixhosted application. First, it will cover essential concepts of the architecture of XenApp?. You will then learn how to set up Hypervisor and how to set up Infrastructure components. Next you will learn how to Set up CitrixComponents, XenAppresources, PVS, and Netscaler. We will further look at how to prepare the environment for Rollout. Additionally, you will learn how to configure the Citrixcomponents such as CitrixDirector. Moreover, you’ll learn about shared desktop for delivery to end users and the application of policies for effective and secure delivery. Finally, you will learn how to implement provisioning services for a CitrixXenApp7.6 environment. Style and approach This book is based on a course outline and hence takes a very practical approach so you will understand how to implement the components of XenAppin a production environment. Complemented with many best practices and troubleshooting concepts of XenApp?, this book will help you master XenAppswiftly.
Monitor your Docker containers and their apps using various native and third-party tools with the help of this exclusive guide!About This Book Get the only book that covers multiple methods to monitoring Docker Containers -your one-stop solution to all your Docker monitoring needs Learn how to implement third-party tools such as Datalog, cAdvisor, and more with this example-rich, hands-on guide Learn how to efficiently monitor Docker containers and get an edge over other administrators while maintaining apps on these containers Who This Book Is For This book is for DevOps engineers and system administrators who manage Docker containers and want to better manage these containers using expert techniques and methods and better maintain applications built on Docker. What You Will Learn Discover the tools built into Docker to gain an insight into your containers’ performance Augment Docker’s built-in tools with modern tools such as cAdvisor from Google, SysDig by Draios, and Soundcloud’s Prometheus Integrate the monitoring of your containers with more traditional monitoring solutions such as Zabbix Take advantage of the various SaaS offerings from third parties to move monitoring away from your local infrastructure and into the cloud Discover the various ways to ship your applications’ logs from the container to a central logging service Get the most out of your application and resources with the right implementation of your monitoring method In Detail This book will show you how monitoring containers and keeping a keen eye on the working of applications helps improve the overall performance of the applications that run on Docker. With the increased adoption of Docker containers, the need to monitor which containers are running, what resources they are consuming, and how these factors affect the overall performance of the system has become the need of the moment. This book covers monitoring containers using Docker's native monitoring functions, various plugins, as well as third-party tools that help in monitoring. Well start with how to obtain detailed stats for active containers, resources consumed, and container behavior. We also show you how to use these stats to improve the overall performance of the system. Next, you will learn how to use SysDig to both view your containers performance metrics in real time and record sessions to query later. By the end of this book, you will have a complete knowledge of how to implement monitoring for your containerized applications and make the most of the metrics you are collecting Style and approach This is an easy-to-follow guide with plenty of hands-on examples that can be executed both on your local machine and externally hosted services.
Mastering OAuth 2.0
Create powerful applications to interact with popular service providers such as Facebook, Google, Twitter, and more by leveraging the OAuth 2.0 Authorization Framework About This Book Learn how to use the OAuth 2.0 protocol to interact with the world's most popular service providers, such as Facebook, Google, Instagram, Slack, Box, and more Master the finer details of this complex protocol to maximize the potential of your application while maintaining the utmost of security Step through the construction of a real-world working application that logs you in with your Facebook account to create a compelling infographic about the most important person in the world—you! Who This Book Is Fo If you are an application developer, software architect, security engineer, or even a casual programmer looking to leverage the power of OAuth, Mastering OAuth 2.0 is for you. Covering basic topics such as registering your application and choosing an appropriate workflow, to advanced topics such as security considerations and extensions to the specification, this book has something for everyone. A basic knowledge of programming and OAuth is recommended. What You Will Learn Discover the power and prevalence of OAuth 2.0 and use it to improve your application's capabilities Step through the process of creating a real-world application that interacts with Facebook using OAuth 2.0 Examine the various workflows described by the specification, looking at what they are and when to use them Learn about the many security considerations involved with creating an application that interacts with other service providers Develop your debugging skills with dedicated pages for tooling and troubleshooting Build your own rich, powerful applications by leveraging world-class technologies from companies around the world In Detail OAuth 2.0 is a powerful authentication and authorization framework that has been adopted as a standard in the technical community. Proper use of this protocol will enable your application to interact with the world's most popular service providers, allowing you to leverage their world-class technologies in your own application. Want to log your user in to your application with their Facebook accountWant to display an interactive Google Map in your applicationHow about posting an update to your user's LinkedIn feedThis is all achievable through the power of OAuth. With a focus on practicality and security, this book takes a detailed and hands-on approach to explaining the protocol, highlighting important pieces of information along the way. At the beginning, you will learn what OAuth is, how it works at a high level, and the steps involved in creating an application. After obtaining an overview of OAuth, you will move on to the second part of the book where you will learn the need for and importance of registering your application and types of supported workflows. You will discover more about the access token, how you can use it with your application, and how to refresh it after expiration. By the end of the book, you will know how to make your application architecture robust. You will explore the security considerations and effective methods to debug your applications using appropriate tools. You will also have a look at special considerations to integrate with OAuth service providers via native mobile applications. In addition, you will also come across support resources for OAuth and credentials grant. Style and approach With a focus on practicality and security, Mastering OAuth 2.0 takes a top-down approach at exploring the protocol. Discussed first at a high level, examining the importance and overall structure of the protocol, the book then dives into each subject, adding more depth as we proceed. This all culminates in an example application that will be built, step by step, using the valuable and practical knowledge you have gained.
Apache Oozie Essentials
Unleash the power of Apache Oozie to create and manage your big data and machine learning pipelines in one go About This Book Teaches you everything you need to know to get started with Apache Oozie from scratch and manage your data pipelines effortlessly Learn to write data ingestion workflows with the help of real-life examples from the author’s own personal experience Embed Spark jobs to run your machine learning models on top of Hadoop Who This Book Is For If you are an expert Hadoop user who wants to use Apache Oozie to handle workflows efficiently, this book is for you. This book will be handy to anyone who is familiar with the basics of Hadoop and wants to automate data and machine learning pipelines. What You Will Learn Install and configure Oozie from source code on your Hadoop cluster Dive into the world of Oozie with Java MapReduce jobs Schedule Hive ETL and data ingestion jobs >Import data from a database through Sqoop jobs in HDFS Create and process data pipelines with Pig, hive *s as per business requirements. Run machine learning Spark jobs on Hadoop Create quick Oozie jobs using Hue Make the most of Oozie’s security capabilities by configuring Oozie’s security In Detail As more and more organizations are discovering the use of big data analytics, interest in platforms that provide storage, computation, and analytic capabilities is booming exponentially. This calls for data management. Hadoop caters to this need. Oozie fulfils this necessity for a scheduler for a Hadoop job by acting as a cron to better analyze data. Apache Oozie Essentials starts off with the basics right from installing and configuring Oozie from source code on your Hadoop cluster to managing your complex clusters. You will learn how to create data ingestion and machine learning workflows. This book is sprinkled with the examples and exercises to help you take your big data learning to the next level. You will discover how to write workflows to run your MapReduce, Pig ,Hive, and Sqoop *s and schedule them to run at a specific time or for a specific business requirement using a coordinator. This book has engaging real-life exercises and examples to get you in the thick of things. Lastly, you’ll get a grip of how to embed Spark jobs, which can be used to run your machine learning models on Hadoop. By the end of the book, you will have a good knowledge of Apache Oozie. You will be capable of using Oozie to handle large Hadoop workflows and even improve the availability of your Hadoop environment. Style and approach This book is a hands-on guide that explains Oozie using real-world examples. Each chapter is blended beautifully with fundamental concepts sprinkled in-between case study solution algorithms and topped off with self-learning exercises.
Puppet 4 Essentials - Second Edition
Acquire skills to manage your IT infrastructure effectively with Puppet About This BookBreeze through Puppet 4’s key features and performance improvements to bring real advantage to your IT infrastructureDiscover Puppet best practices to help you avoid common mistakes and pitfallsBlitz through easy-to-follow examples to get to grips with Puppet and succeed with everyday IT automationWho This Book Is ForIf you're an experienced IT professional and a new Puppet user, this book will provide you with all you need to know to go from installation to advanced automation in no time at all. Get a rapid introduction to the essential topics and then tackle Puppet for advanced automation.What You Will LearnWrite and employ individual Puppet manifestsUnderstand how Puppet implements system abstractionDeploy the Puppet master and agentsLeverage and extend Facter to summarize your systems Create modular and reusable Puppet code Extend your code base with publicly available Puppet modules Use the modern features of Puppet 4 Separate logic from data using Hiera In Detail Puppet is a configuration management tool that allows you to automate all your IT configurations, giving you control over what you do to each Puppet Agent in a network, and when and how you do it. In this age of digital delivery and ubiquitous Internet presence, it's becoming increasingly important to implement scalable and portable solutions, not only in terms of software, but also the systems that run it. The free Ruby-based tool Puppet has established itself as the most successful solution to manage any IT infrastructure. Ranging from local development environments through complex data center setups to scalable cloud implementations, Puppet allows you to handle them all with a unified approach. Puppet 4 Essentials, Second Edition gets you started rapidly and intuitively as you’ll put Puppet’s tools to work right away. It will also highlight the changes associated with performance improvements as well as the new language features in Puppet 4. We’ll start with a quick introduction to Puppet to get you managing your IT systems quickly. You will then learn about the Puppet Agent that comes with an all-in-one (AIO) package and can run on multiple systems. Next, we’ll show you the Puppet Server for high-performance communication and passenger packages. As you progress through the book, the innovative structure and approach of Puppet will be explained with powerful use cases. The difficulties that are inherent to a complex and powerful tool will no longer be a problem for you as you discover Puppet's fascinating intricacies. By the end of the book, you will not only know how to use Puppet, but also its companion tools Facter and Hiera, and will be able to leverage the flexibility and expressive power implemented by their tool chain. Style and approach This quick learning guide for Puppet follows a practical approach, starting with some basic commands that you can use from the shell right away. It comprises a series of examples that will get you familiar with the most important aspects of Puppet in a flash.
Rethink what’s possible with Docker – become an expert in the innovative containerization tool to unlock new opportunities in the way you use and deploy software About This Book Create highly scalable applications and services using the Linux container virtualization paradigm Extend Docker with external platforms, including Heroku and OpenStack Integrate with some of the most innovative and exciting orchestration tools such as Kubernetes for larger and more controlled deployments Who This Book Is For If you recognize Docker’s importance for innovation in everything from system administration to web development, but aren’t sure how to use it to its full potential, this book is for you. What You Will Learn Become fluent with the basic components of Docker Learn best practices for storing and managing Docker files Secure your containers and files with Docker’s security features Learn how to use Docker machine to build new servers from scratch Find out how to set up and manage multiple environments with Docker compose Utilize Docker Swarm to orchestrate containers across different servers Integrate Docker with a wide range of cloud and configuration tools to fully realize its potential In Detail Docker has been a game-changer when it comes to virtualization – it has now grown to become a key driver of innovation beyond system administration, having an impact on the world of web development and more. But how can you make sure you’re keeping up with the innovations that it’s drivingHow can you be sure you’re using it to its full potentialMastering Docker shows you how – it not only demonstrates how to use Docker more effectively, it also helps you rethink and reimagine what’s possible with Docker. Covering best practices to make sure you’re confident with and the basics, such as building, managing and storing containers, before diving deeper into Docker security, you’ll find everything you need to help you extend and integrate Docker in new and innovative ways. You’ll learn how to take greater control over your containers using some of Docker’s most sophisticated and useful tools, such as Docker compose and Docker swarm, before bringing together everything you already know and have learned to put your containers into production and monitor them for safety and performance. Beyond this, you’ll also explore even more advanced strategies, as you learn how to extend and integrate Docker with cloud platforms such as Heroku and OpenStack, and how tools such as Kubernetes can improve the way you manage large-scale container orchestration. With further guidance on how you can use configuration management tools such as Puppet, Chef and PowerShell, by the end of the book you’ll have a broad and detailed sense of exactly what’s possible with Docker – and how seamlessly it fits with a range of other platforms and tools. Style and approach This book takes you through some of the most sophisticated Docker tools in a way that’s accessible and practical. It has been created to help you put new ideas in practice – and to demonstrate precisely what’s possible with Docker.
Explore the robust features of Python to create real-world ArcGIS applications through exciting, hands-on projects About This Book Get to grips with the big world of Python add-ins and wxPython in GUI development to implement their features in your application Integrate advanced Python libraries, ArcPy mapping, and data access module techniques to develop a mapping application Construct a top-notch intermediate-to-advanced project by accessing ArcGIS Server and ArcGIS Online resources through the ArcGIS REST API using a project-based approach Who This Book Is For If you have prior experience building simple apps with ArcGIS and now have a fancy for developing a more challenging and complex desktop application in ArcGIS, then this book is ideal for you. What You Will Learn Automate the creation of creative output data visualizations including maps, charts, and graphs Explore ways to use the ArcPy Mapping module and Data-driven Pages to automate the creation of map books in your own project Develop applications that use the Plotly platform and library to create stunning charts and graphs that can be integrated into ArcGIS Desktop Build tools that access REST services and download data to a local geodatabase Design, build, and integrate advanced GUIs with wxPython and ArcGIS Desktop in ArcGIS Get clued up about constructing applications that export data to Google Earth Pro to automate time-consuming complex processes Maximize the access of ArcGIS Server and ArcGIS Online using the ArcGIS REST API with Python In Detail This book is an immersive guide to take your ArcGIS Desktop application development skills to the next level It starts off by providing detailed de*ion and examples of how to create ArcGIS Desktop Python toolboxes that will serve as containers for many of the applications that you will build. We provide several practical projects that involve building a local area/community map and extracting wildfire data. You will then learn how to build tools that can access data from ArcGIS Server using the ArcGIS REST API. Furthermore, we deal with the integration of additional open source Python libraries into your applications, which will help you chart and graph advanced GUI development; read and write JSON, CSV, and XML format data sources; write outputs to Google Earth Pro, and more. Along the way, you will be introduced to advanced ArcPy Mapping and ArcPy Data Access module techniques and use data-driven Pages to automate the creation of map books. Finally, you will learn advanced techniques to work with video and social media feeds. By the end of the book, you will have your own desktop application without having spent too much time learning sophisticated theory. Style and approach This is an easy-to-follow, project-based guide that guides you through the whole ArcGIS theme with practical, real-world examples and a systematic approach.
LibGDX Cross-Platform Development Blueprints
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.
Learning Network Programming with Java
Harness the hidden power of Java to build network-enabled applications with lower network traffic and faster processes About This BookLearn to deliver superior server-to-server communication through the networking channelsGain expertise of the networking features of your own applications to support various network architectures such as client/server and peer-to-peerExplore the issues that impact scalability, affect security, and allow applications to work in a heterogeneous environmentWho This Book Is ForLearning Network Programming with Java is oriented to developers who wish to use network technologies to enhance the utility of their applications. You should have a working knowledge of Java and an interest in learning the latest in network programming techniques using Java. No prior experience with network development or special software beyond the Java SDK is needed. Upon completion of the book, beginner and experienced developers will be able to use Java to access resources across a network and the Internet.What You Will LearnConnect to other applications using socketsUse channels and buffers to enhance communication between applicationsAccess network services and develop client/server applicationsExplore the critical elements of peer-to-peer applications and current technologies availableUse UDP to perform multicastingAddress scalability through the use of core and advanced threading techniques Incorporate techniques into an application to make it more secure Configure and address interoperability issues to enable your applications to work in a heterogeneous environment In Detail Network-aware applications are becoming more prevalent and play an ever-increasing role in the world today. Connecting and using an Internet-based service is a frequent requirement for many applications. Java provides numerous classes that have evolved over the years to meet evolving network needs. These range from low-level socket and IP-based approaches to those encapsulated in software services. This book explores how Java supports networks, starting with the basics and then advancing to more complex topics. An overview of each relevant network technology is presented followed by detailed examples of how to use Java to support these technologies. We start with the basics of networking and then explore how Java supports the development of client/server and peer-to-peer applications. The NIO packages are examined as well as multitasking and how network applications can address practical issues such as security. A discussion on networking concepts will put many network issues into perspective and let you focus on the appropriate technology for the problem at hand. The examples used will provide a good starting point to develop similar capabilities for many of your network needs. Style and approach Each network technology’s terms and concepts are introduced first. This is followed up with code examples to explain these technologies. Many of the examples are supplemented with alternate Java 8 solutions when appropriate. Knowledge of Java 8 is not necessary but these examples will help you better understand the power of Java 8.
Magento 2 Developer's Guide
Harness the power of Magento 2 – The most recent version of the world’s favourite e-Commerce platform for your online store About This Book Set up, configure, and power up your Magento environment from development to production Master the use of Web API to communicate with the Magento system and create custom services Create custom modules from scratch to extend the core functionality of the Magento system Who This Book Is For This book is intended primarily for intermediate to professional-level PHP developers who are interested in Magento development. For backend developers, several topics are covered that will enable you to modify and extend your Magento 2 store. Frontend developers will also find some coverage on how to customize the look of the site in the frontend. What You Will Learn Set up the development and production environment of Magento 2 Understand the new major concepts and conventions used in Magento 2 Build a miniature yet fully-functional module from scratch to manage your e-commerce platform efficiently Write models and collections to manage and search your entity data Dive into backend development such as creating events, observers, cron jobs, logging, profiling, and messaging features Get to the core of frontend development such as blocks, templates, layouts, and the themes of Magento 2 Use token, session, and Oauth token-based authentication via various flavors of API calls, as well as creating your own APIs Get to grips with testing Magento modules and custom themes, which forms an integral part of development In Detail Magento is one of the most exciting, flexible, and customizable e-commerce systems. It offers you an extensive suite of powerful tools for creating and managing an online store. After years of development, Magento 2 introduces itself with a strong emphasis on modularity, Web API's, automated testing and overall new technology stack platform. The long-awaited Magento 2 release introduces a whole new e-commerce platform to develop online stores. The all new Magento 2 architecture, Web APIs, and a host of other features are equally challenging to master as much as they are exciting to use. This book will ease the learning curve by offering step-by-step guidance on how to extend the core functionality of your Magento 2 store. This book is your one-stop guide to build and customize a quality e-commerce website from the latest version of one of the largest, fastest growing, and most popular e-commerce platforms—Magento 2. We start off with an introduction to the fundamental concepts of Magento to give you a foundation to work from. We then move on to configure the development and basic production environment for Magento. After this, you’ll get to grips with the major concepts and conventions that are new to the Magento 2 platform. We then delve deeper to get to the core of automated deployments, persisting data, writing data fixture *s and applying various backend and frontend modifications. As we near the end of the book, you will learn to make API calls and write automated tests. Finally, you will be guided through building a full-blown helpdesk module from scratch. By the end of this book, you will have learned a wide range of techniques to extend and customize your Magento 2 store to fit the requirements of your business. Style and approach This book is a mix of theoretical and step-by-step approaches, explained in a conversational and easy-to-follow style. Topics are explained sequentially, giving detailed explanations of the basic and advanced features to get you working on Magento 2.
Learning Qlik Sense?: The Official Guide - Second Edition
Get the most out of your Qlik Sense investment with the latest insight and guidance direct from the Qlik Sense team About This Book Updated with new coverage on Qlik Cloud, Qlik Sense Modeling, and Extending the Qlik Analytic Platform. Get insider insight on Qlik Sense and its new approach to business intelligence Explore practical demonstrations for utilizing Qlik Sense to discover data for sales, human resources, and more Who This Book Is For Learning Qlik Sense?: The Official Guide Second Edition is for anyone seeking to understand and utilize the revolutionary new approach to business intelligence offered by Qlik Sense. Familiarity with the basics of business intelligence will be helpful when picking up this book, but not essential. What You Will Learn Understand the vision behind the creation of Qlik Sense, and the promise that data discovery offers to you and your organization Get to grips with the life cycle of a Qlik Sense application Load and manage your data for app creation Visualize your data with Qlik Sense's engaging and informative graphing Administer your Qlik Sense system and monitor its security Build efficient and responsive Associative Models Extend the Qlik Analytic Platform with the Dev Hub Optimize Qlik Sense for sales, human resources, and demographic data discovery In Detail The intuitive and powerful Qlik Sense visual analytics software allows anyone to engage in data discovery, to explore your data, and find meaningful insights to empower your business. Qlik Sense lets you easily create personalized reports and visualizations and reveal essential connections to show new opportunities from every angle. Written by members of the Qlik Sense team, this book is the official guide from Qlik to understanding and using their powerful new product with fully updated coverage to the latest features of the most modern edition of Qlik Sense. Benefit from the vision behind the development of Qlik Sense and get to grips with how Qlik Sense can empower you as a data discovery consumer. Learn how to create your own applications for Qlik Sense to customize it to meet your personal needs for business intelligence, and how to oversee and administer the Qlik Sense data architecture. Finally, explore utilizing Qlik Sense to uncover essential data, with practical examples on finding and visualizing intelligence for sales figures, human resources information, travel expense tracking, and demographic data discovery. Style and approach This book is a practical guide to understand what Qlik Sense is and how to implement it. This is an example-rich, step-by-step book to implement and optimize Qlik Sense for sales, human resources, and demographic data discovery.
Learn to code like a professional with Python – an open source, versatile, and powerful programming language About This Book Learn the fundamentals of programming with Python – one of the best languages ever created Develop a strong set of programming skills that you will be able to express in any situation, on every platform, thanks to Python’s portability Create outstanding applications of all kind, from websites to *ing, and from GUIs to data science Who This Book Is For Python is the most popular introductory teaching language in U.S. top computer science universities, so if you are new to software development, or maybe you have little experience, and would like to start off on the right foot, then this language and this book are what you need. Its amazing design and portability will help you become productive regardless of the environment you choose to work with. What You Will Learn Get Python up and running on Windows, Mac, and Linux in no time Grasp the fundamental concepts of coding, along with the basics of data structures and control flow. Write elegant, reusable, and efficient code in any situation Understand when to use the functional or the object oriented programming approach Create bulletproof, reliable software by writing tests to support your code Explore examples of GUIs, *ing, data science and web applications Learn to be independent, capable of fetching any resource you need, as well as dig deeper In Detail Learning Python has a dynamic and varied nature. It reads easily and lays a good foundation for those who are interested in digging deeper. It has a practical and example-oriented approach through which both the introductory and the advanced topics are explained. Starting with the fundamentals of programming and Python, it ends by exploring very different topics, like GUIs, web apps and data science. The book takes you all the way to creating a fully fledged application. The book begins by exploring the essentials of programming, data structures and teaches you how to manipulate them. It then moves on to controlling the flow of a program and writing reusable and error proof code. You will then explore different programming paradigms that will allow you to find the best approach to any situation, and also learn how to perform performance optimization as well as effective debugging. Throughout, the book steers you through the various types of applications, and it concludes with a complete mini website built upon all the concepts that you learned. Style and approach This book is an easy-to-follow guide that will take you from a novice to the proficient level at a comfortable pace, using a lot of simple but effective examples. Each topic is explained thoroughly, and pointers are left for the more inquisitive readers to dig deeper and expand their knowledge.
Spark for Python Developers
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 APIsApache 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 engineIf 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.
Mathematica Data Analysis
Learn and explore the fundamentals of data analysis with power of Mathematica About This Book Use the power of Mathematica to analyze data in your applications Discover the capabilities of data classification and pattern recognition offered by Mathematica Use hundreds of algorithms for time series analysis to predict the future Who This Book Is For The book is for those who want to learn to use the power of Mathematica to analyze and process data. Perhaps you are already familiar with data analysis but have never used Mathematica, or you know Mathematica but you are new to data analysis. With the help of this book, you will be able to quickly catch up on the key points for a successful start. What You Will Learn Import data from different sources to Mathematica Link external libraries with programs written in Mathematica Classify data and partition them into clusters Recognize faces, objects, text, and barcodes Use Mathematica functions for time series analysis Use algorithms for statistical data processing Predict the result based on the observations In Detail There are many algorithms for data analysis and it’s not always possible to quickly choose the best one for each case. Implementation of the algorithms takes a lot of time. With the help of Mathematica, you can quickly get a result from the use of a particular method, because this system contains almost all the known algorithms for data analysis. If you are not a programmer but you need to analyze data, this book will show you the capabilities of Mathematica when just few strings of intelligible code help to solve huge tasks from statistical issues to pattern recognition. If you're a programmer, with the help of this book, you will learn how to use the library of algorithms implemented in Mathematica in your programs, as well as how to write algorithm testing procedure. With each chapter, you'll be more immersed in the special world of Mathematica. Along with intuitive queries for data processing, we will highlight the nuances and features of this system, allowing you to build effective analysis systems. With the help of this book, you will learn how to optimize the computations by combining your libraries with the Mathematica kernel. Style and approach This book takes a step-by-step approach, accompanied by examples, so you get a better understanding of the logic of writing algorithms for data analysis in Mathematica. We provide a detailed explanation of all the nuances of the Mathematica language, no matter what your level of experience is.