MongoDB Cookbook - Second Edition
Harness the latest features of MongoDB 3 with this collection of 80 recipes – from managing cloud platforms to app development, this book is a vital resourceAbout This BookGet to grips with the latest features of MongoDB 3Interact with the MongoDB server and perform a wide range of query operations from the shellFrom administration to automation, this cookbook keeps you up to date with the world’s leading NoSQL databaseWho This Book Is ForThis book is engineered for anyone who is interested in managing data in an easy and efficient way using MongoDB. You do not need any prior knowledge of MongoDB, but it would be helpful if you have some programming experience in either Java or Python.What You Will LearnInstall, configure, and administer MongoDB sharded clusters and replica setsBegin writing applications using MongoDB in Java and Python languagesInitialize the server in three different modes with various configurationsPerform cloud deployment and introduce PaaS for MongoDiscover frameworks and products built to improve developer productivity using MongoTake an in-depth look at the Mongo programming driver APIs in Java and PythonSet up enterprise class monitoring and backups of MongoDBIn DetailMongoDB is a high-performance and feature-rich NoSQL database that forms the backbone of the systems that power many different organizations – it’s easy to see why it’s the most popular NoSQL database on the market. Packed with many features that have become essential for many different types of software professionals and incredibly easy to use, this cookbook contains many solutions to the everyday challenges of MongoDB, as well as guidance on effective techniques to extend your skills and capabilities.This book starts with how to initialize the server in three different modes with various configurations. You will then be introduced to programming language drivers in both Java and Python. A new feature in MongoDB 3 is that you can connect to a single node using Python, set to make MongoDB even more popular with anyone working with Python. You will then learn a range of further topics including advanced query operations, monitoring and backup using MMS, as well as some very useful administration recipes including SCRAM-SHA-1 Authentication. Beyond that, you will also find recipes on cloud deployment, including guidance on how to work with Docker containers alongside MongoDB, integrating the database with Hadoop, and tips for improving developer productivity.Created as both an accessible tutorial and an easy to use resource, on hand whenever you need to solve a problem, MongoDB Cookbook will help you handle everything from administration to automation with MongoDB more effectively than ever before.Style and approachEvery recipe is explained in a very simple set-by-step manner yet is extremely comprehensive.
Cocos2d Cross-Platform Game Development Cookbook - Second Edition
Develop games for iOS and Android using Cocos2d with the aid of over 70 step-by-step recipesAbout This BookLearn to efficiently use Cocos2d to develop cross-platform games, and have them work on iOS as well as AndroidGet acquainted with industry-wide professional tools such as Glyph Designer, Texture Packer, and Physics Editor, as well as using the Swift/ Sprite builder implementation of Cocos2dUse the easy-to-follow recipes to develop as well as deploy games to the Playstore and the App StoreWho This Book Is ForThis book is for intermediate game developers and especially the ones who are generally curious to find out what’s new in Cocos2d v 3.3.What You Will LearnBuild custom sprites with custom animations for the gameBuild interactivity into your game by adding gestures and touch interactionsUnderstand AI enemy programming and path finding to make games more excitingAdd physics to your game to make it more lively and interactiveGet familiar with the Swift and Sprite builder implementations along with Objective-C programmingPerform hassle-free deployment of games built in iOS onto AndroidAdd effects and particle systems to make the game more colorfulIn DetailCocos2d is the world’s leading game development framework for developing iOS games. With the introduction of Swift and Spritebuilder, it has become easier than ever to develop the games of your dreams without much effort. With Cocos2d, you can also deploy the game on Android, thereby maximizing profit and reducing development and porting costs.The book starts off with a detailed look at how to implement sprites and animations into your game to make it livelier. You will then learn to add scenes to the game such as the gameplay scene and options scene and create menus and buttons in these scenes, as well as creating transitions between them. From there on, you will get an understanding of how to program user interactions such as tapping, holding, and swiping. You’ll then add accelerometer inputs and physics to the scene, and make objects respond back to the inputs. A game is practically incomplete without audio being added, so this will be covered next.The next section will include ways to add Artificial Intelligence to enemies in the game, allowing them to patrol, chase, and shoot in a projectile manner. You will then learn to use NSUserDefault to save and load game progress, and create and access files using JSON, Plist, and XML files for custom storage and retrieval of data. Then you will learn to add dynamic lighting to your game and will use industry-wide tools such as Texture Packer, Glyph Designer, Physics Editor, Particle Designer, and Sprite Illuminator to create more visually appealing and performance-optimized games.Towards the end of the book, we dive into Apple’s latest programming language—Swift, highlighting the major differences between Objective C and Swift. The book culminates with taking your existing game developed for iOS and porting it to Android, showing you how to install the Android Xcode plugin as well.Style and approachThe book is written in an extremely lucid and step-by-step manner; it can be understood easily by anyone. The topics included are broken down into individual chapters so you can refer to the specific chapter to get answers on the subject you are interested in.
Spring Security Essentials
A fast-paced guide for securing your Spring applications effectively with the Spring Security frameworkAbout This BookExplore various security concepts using real-time examples of the Spring Security frameworkLearn about the functionalities that implement industry standard authentication and authorization mechanisms to secure enterprise-level applicationsDesign and develop advanced Spring Security layers by following a step-by-step approachWho This Book Is ForIf you are a developer who is familiar with Spring and you are looking to explore its security features, then this book is for you. All beginners and experienced users will benefit from this book since it is explores both the theory and practical usage in detail.What You Will LearnSee industry standard security implementations in actionUnderstand the principles of security servers, concepts, installation, and integrationUse Spring Extensions for various security mechanismsGet to grips with the internals of the tools and servers involved in the security layerWork through practical projects and working programsCompare different security servers and techniquesUse the sample projects in practical, real-time applicationsGet further readings and guidance on advanced security mechanismsIn DetailSpring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Security is how easily it can be extended to meet custom requirements. The popularity of the Spring framework is increasing and the security package of Spring addresses vast mechanisms of Security in a rich way. Due to an increasing number of applications for various business needs, the integration of multiple applications is becoming inevitable. The standard security procedures available across multiple implementations in Spring will protect vulnerable applications that are open to larger public and private audiences.Spring Security Essentials focuses on the need to master the security layer, which is an area not often explored by a Spring developer.At the beginning, we’ll introduce various industry standard security mechanisms and the practical ways to integrate with them. We will also teach you about some up-to-date use cases such as building a security layer for RESTful web services and applications.The IDEs used and security servers involved are briefly explained, including the steps to install them. Many sample projects are also provided to help you practice your newly developed skills. Step-by-step instructions will help you master the security layer integration with the Server, then implement the experience gained from this book in your own real-time application.Style and approachThis practical guide is packed with detailed explanations of the underlying concepts, as well as screenshots and working examples that guarantee hands-on learning.
Boost.Asio C++ Network Programming Cookbook
Over 25 hands-on recipes to create robust and highly-efficient cross-platform distributed applications with the Boost.Asio libraryAbout This BookBuild highly efficient distributed applications with easeEnhance your cross-platform network programming skills with one of the most reputable C++ librariesFind solutions to real-world problems related to network programming with ready-to-use recipes using this detailed and practical handbookWho This Book Is ForIf you want to enhance your C++ network programming skills using the Boost.Asio library and understand the theory behind development of distributed applications, this book is just what you need. The prerequisite for this book is experience with general C++11. To get the most from the book and comprehend advanced topics, you will need some background experience in multithreading.What You Will LearnBoost your working knowledge of one of the most reputable C++ networking libraries—Boost.AsioFamiliarize yourself with the basics of TCP and UDP protocolsCreate scalable and highly-efficient client and server applicationsUnderstand the theory behind development of distributed applicationsIncrease the security of your distributed applications by adding SSL supportImplement a HTTP client easilyUse iostreams, scatter-gather buffers, and timersIn DetailStarting with recipes demonstrating the execution of basic Boost.Asio operations, the book goes on to provide ready-to-use implementations of client and server applications from simple synchronous ones to powerful multithreaded scalable solutions. Finally, you are presented with advanced topics such as implementing a chat application, implementing an HTTP client, and adding SSL support. All the samples presented in the book are ready to be used in real projects just out of the box.As well as excellent practical examples, the book also includes extended supportive theoretical material on distributed application design and construction.Style and approachThis book is a set of recipes, each containing the statement and de*ion of a particular practical problem followed by code sample providing the solution to the problem and detailed step-by-step explanation. Recipes are grouped by topic into chapters and ordered by the level of complexity from basic to advanced.
Programming the BeagleBone
CentOS 7 Linux Server Cookbook - Second Edition
Over 80 recipes to get up and running with CentOS 7 Linux serverAbout This BookA practical guide to install, configure, administer and maintain CentOS 7 serversAn in-depth guide to the CentOS 7 operating system, exploring its various new features and changes in server administrationPresents tricks and solutions to tackle common server issues with the help of practical examples and real-life scenariosWho This Book Is ForThis book is targeted at beginner and more experienced system administrators alike who want to use CentOS as their server solution. Readers do not need much pre-knowledge or experience at all to work with this book.What You Will LearnInstall and configure CentOS 7 Linux server system from scratch using normal and advanced methodsMaintain a performance-based and secure server solution by deploying expert configuration advice and managing software packagesMonitor, manage and develop your server's file system to maintain a stable performanceGain best practice methods on sharing files and resources through a networkInstall and configure common standard services such as web, mail, FTP, database and domain name server technologiesIntroduce you to the world of operating-system-level virtualization using the Docker platform.Understand the fundamentals of the Security-Enhanced Linux access control architectureMonitor your IT infrastructure using NagiosIn DetailThis book will provide you with a comprehensive series of starting points that will give you direct access to the inner workings of the latest CentOS version 7 and help you trim the learning curve to master your server.You will begin with the installation and basic configuration of CentOS 7, followed by learning how to manage your system, services and software packages. You will then gain an understanding of how to administer the file system, secure access to your server and configure various resource sharing services such as file, printer and DHCP servers across your network. Further on, we cover advanced topics such as FTP services, building your own DNS server, running database servers, and providing mail and web services. Finally, you will get a deep understanding of SELinux and you will learn how to work with Docker operating-system virtualization and how to monitor your IT infrastructure with Nagios.By the end of this book, you will have a fair understanding of all the aspects of configuring, implementing and administering CentOS 7 Linux server and how to put it in control.Style and approachThis book is a practical reference guide with hands-on examples and solutions to real-world administration problems. It covers in-depth and comprehensive information on CentOS 7 and its new features.
Building Telephony Systems with OpenSIPS - Second Edition
Build high-speed and highly scalable telephony systems using OpenSIPSAbout This BookInstall and configure OpenSIPS to authenticate, route, bill, and monitor VoIP callsGain a competitive edge using the most scalable VoIP technologyDiscover the latest features of OpenSIPS with practical examples and case studiesWho This Book Is ForIf you want to understand how to build a SIP provider from scratch using OpenSIPS, then this book is ideal for you. It is beneficial for VoIP providers, large enterprises, and universities. This book will also help readers who were using OpenSER but are now confused with the new OpenSIPS.Telephony and Linux experience will be helpful to get the most out of this book but is not essential. Prior knowledge of OpenSIPS is not assumed.What You Will LearnLearn to prepare and configure a Linux system for OpenSIPSFamiliarise yourself with the installation and configuration of OpenSIPSUnderstand how to set a domain and create users/extensionsConfigure SIP endpoints and make calls between themMake calls to and from the PSTN and create access control lists to authorize callsInstall a graphical user interface to simplify the task of provisioning user and system informationImplement an effective billing system with OpenSIPSMonitor and troubleshoot OpenSIPS to keep it running smoothlyIn DetailOpenSIPS is a multifunctional, multipurpose signalling SIP server. SIP (Session Initiation Protocol) is nowadays the most important VoIP protocol and OpenSIPS is the open source leader in VoIP platforms based on SIP. OpenSIPS is used to set up SIP Proxy servers. The purpose of these servers is to receive, examine, and classify SIP requests. The whole telecommunication industry is changing to an IP environment, and telephony as we know it today will completely change in less than ten years. SIP is the protocol leading this disruptive revolution and it is one of the main protocols on next generation networks. While a VoIP provider is not the only kind of SIP infrastructure created using OpenSIPS, it is certainly one of the most difficult to implement.This book will give you a competitive edge by helping you to create a SIP infrastructure capable of handling tens of thousands of subscribers.Starting with an introduction to SIP and OpenSIPS, you will begin by installing and configuring OpenSIPS. You will be introduced to OpenSIPS Scripting language and OpenSIPS Routing concepts, followed by comprehensive coverage of Subscriber Management. Next, you will learn to install, configure, and customize the OpenSIPS control panel and explore dialplans and routing. You will discover how to manage the dialog module, accounting, NATTraversal, and other new SIP services. The final chapters of the book are dedicated to troubleshooting tools, SIP security, and advanced scenarios including TCP/TLS support, load balancing, asynchronous processing, and more.A fictional VoIP provider is used to explain OpenSIPS and by the end of the book, you will have a simple but complete system to run a VoIP provider.Style and approachThis book is a step-by-step guide based on the example of a VoIP provider. You will start with OpenSIPS installation and gradually, your knowledge depth will increase.
AWS Administration – The Definitive Guide
Learn to design, build, and manage your infrastructure on the most popular of all the Cloud platforms—Amazon Web ServicesAbout This BookLearn how to leverage various Amazon Web Services (AWS) components and services to build a secure, reliable, and robust environment to host your applications onDeep dive into the core AWS service offerings with hands-on tutorials, real-world use case scenarios, and best practicesA self-paced, systematic, and step-by-step guide to learning and implementing AWS in your own environmentWho This Book Is ForThis book is for those who want to learn and leverage AWS. Although no prior experience with AWS is required, it is recommended that you have some hands-on experienceofLinux, Web Services, and basic networkingWhat You Will LearnA brief introduction to Cloud Computing and AWS accompanied by steps to sign up for your first AWS accountCreate and manage users, groups, and permissions using AWSS Identity and Access Management servicesGet started with deploying and accessing EC2 instances, working with EBS Volumes and SnapshotsCustomize and create your very own Amazon Machine ImageDesign and deploy your instances on a highly secured, network isolated environment using Amazon VPCEffectively monitor your AWS environment using specialized alarms, custom monitoring metrics, and much moreExplore the various benefits of Database-as-a-Service offerings and leverage them using Amazon RDS and Amazon DynamoDBTake an in-depth look at what’s new with AWS, including EC2 Container Service and Elastic File SystemIn DetailAWS is at the forefront of Cloud Computing today. Many businesses are moving away from traditional datacenters and toward AWS because of its reliability, vast service offerings, lower costs, and high rate of innovation. Because of its versatility and flexible design, AWS can be used to accomplish a variety of simple and complicated tasks such as hosting multitier websites, running large scale parallel processing, content delivery, petabyte storage and archival, and lots more.Whether you are a seasoned sysadmin or a rookie, this book will provide you with all the necessary skills to design, deploy, and manage your applications on the AWS cloud platform. The book guides you through the core AWS services such as IAM, EC2, VPC, RDS, and S3 using a simple real world application hosting example that you can relate to. Each chapter is designed to provide you with the most information possible about a particular AWS service coupled with easy to follow hands-on steps, best practices, tips, and recommendations.By the end of the book, you will be able to create a highly secure, fault tolerant, and scalable environment for your applications to run on.Style and approach This in-depth and insightful guide is filled with easy-to-follow examples, real-world use cases, best practices, and recommendations that will help you design and leverage AWS.
Advanced Oracle PL/SQL Developer's Guide - Second Edition
Master the advanced concepts of PL/SQL for professional-level certification and learn the new capabilities of Oracle Database 12cAbout This BookLearn advanced application development features of Oracle Database 12c and prepare for the 1Z0-146 examinationBuild robust and secure applications in Oracle PL/SQL using the best practicesPacked with feature demonstrations and illustrations that will help you learn and understand the enhanced capabilities of Oracle Database 12cWho This Book Is ForThis book is for Oracle developers responsible for database management. Readers are expected to have basic knowledge of Oracle Database and the fundamentals of PL/SQL programming. Certification aspirants can use this book to prepare for 1Z0-146 examination in order to be an Oracle Certified Professional in Advanced PL/SQL.What You Will LearnLearn and understand the key SQL and PL/SQL features of Oracle Database 12cUnderstand the new Multitenant architecture and Database In-Memory option of Oracle Database 12cKnow more about the advanced concepts of the Oracle PL/SQL language such as external procedures, securing data using Virtual Private Database (VPD), SecureFiles, and PL/SQL code tracing and profilingImplement Virtual Private Databases to prevent unauthorized data accessTrace, analyze, profile, and debug PL/SQL code while developing database applicationsIntegrate the new application development features of Oracle Database 12c with the current conceptsDiscover techniques to analyze and maintain PL/SQL codeGet acquainted with the best practices of writing PL/SQL code and develop secure applicationsIn DetailOracle Database is one of the most popular databases and allows users to make efficient use of their resources and to enhance service levels while reducing the IT costs incurred. Oracle Database is sometimes compared with Microsoft SQL Server, however, Oracle Database clearly supersedes SQL server in terms of high availability and addressing planned and unplanned downtime. Oracle PL/SQL provides a rich platform for application developers to code and build scalable database applications and introduces multiple new features and enhancements to improve development experience.Advanced Oracle PL/SQL Developer's Guide, Second Edition is a handy technical reference for seasoned professionals in the database development space. This book starts with a refresher of fundamental concepts of PL/SQL, such as anonymous block, subprograms, and exceptions, and prepares you for the upcoming advanced concepts. The next chapter introduces you to the new features of Oracle Database 12c, not limited to PL/SQL. In this chapter, you will understand some of the most talked about features such as Multitenant and Database In-Memory. Moving forward, each chapter introduces advanced concepts with the help of demonstrations, and provides you with the latest update from Oracle Database 12c context. This helps you to visualize the pre- and post-applications of a feature over the database releases. By the end of this book, you will have become an expert in PL/SQL programming and will be able to implement advanced concepts of PL/SQL for efficient management of Oracle Database.Style and approach The book follows the structure of the Oracle Certification examination but doesn't restrict itself to the exam objectives. Advanced concepts have been explained in an easy-to-understand style, supported with feature demonstrations and case illustrations.
Test-Driven iOS Development with Swift
Create fully-featured and highly functional iOS apps by writing tests firstAbout This BookLearn test-driven principles to help you build apps with fewer bugs and better designsBecome more efficient while working with Swift to move on to your next project faster!Learn how to incorporate all of the principles of test-driven development (TDD) in to your daily programming workflowWho This Book Is ForIf debugging iOS apps is a nerve-racking task for you and you are looking for a fix, this book is for you.What You Will LearnImplement TDD in swift application developmentGet to know the fundamentals, life cycle, and benefits of TDDExplore the tools and frameworks to effectively use TDDDevelop models and controllers driven by testsConstruct the network layer using stubsUse functional tests to ensure the app works as plannedAutomate and streamline the building, analysing, testing, and archiving of your iOS appsIn DetailTest-driven development (TDD) is a proven way to find software bugs early. Writing tests before your code improves the structure and maintainability of your app.Test-driven iOS Development with Swift will help you understand the process of TDD and how it impacts your applications written in Swift. Through practical, real-world examples, you’ll start seeing how to implement TDD in context. We will begin with an overview of your TDD workflow and then deep-dive into unit testing concepts and code cycles. We will showcase the workings of functional tests, which will help you improve the user interface. Finally, you will learn about automating deployments and continuous integration to run an environment.Style and approachThis is an easy-to-follow example-driven tutorial, packed with lots of tips and tricks that explore TDD bit-by-bit in the process of making an iOS application.
Learning Cython Programming - Second Edition
Learn the fundamentals of Cython to extend the legacy of your applicationsAbout This BookLearn how to extend C applications with pure Python codeGet more from Python – you’ll not only learn Cython, you’ll also unlock a greater understanding of how to harness PythonPacked with tips and tricks that make Cython look easy, dive into this accessible programming guide and find out what happens when you bring C and Python together!Who This Book Is ForThis book is for developers who are familiar with the basics of C and Python programming and wish to learn Cython programming to extend their applications.What You Will LearnReuse Python logging in CMake an IRC bot out of your C applicationExtend an application so you have a web server for rest callsPractice Cython against your C++ codeDiscover tricks to work with Python ConfigParser in CCreate Python bindings for native librariesFind out about threading and concurrency related to GILExpand Terminal Multiplexer Tmux with CythonIn DetailCython is a hybrid programming language used to write C extensions for Python language. Combining the practicality of Python and speed and ease of the C language it’s an exciting language worth learning if you want to build fast applications with ease.This new edition of Learning Cython Programming shows you how to get started, taking you through the fundamentals so you can begin to experience its unique powers.You’ll find out how to get set up, before exploring the relationship between Python and Cython. You’ll also look at debugging Cython, before moving on to C++ constructs, Caveat on C++ usage, Python threading and GIL in Cython. Finally, you’ll learn object initialization and compile time, and gain a deeper insight into Python 3, which will help you not only become a confident Cython developer, but a much more fluent Python developer too.Style and approachThis practical and a fast-paced guide gives you all the information you need to start programming using Cython.
Mastering Puppet - Second Edition
Master Puppet for configuration management of your systems in an enterprise deploymentAbout This BookThis book is an advanced guide to using and deploying Puppet 4 in your organization with a special focus on issues faced in larger enterprise deploymentsFrom an experienced author, learn to deal with scaling, performance, and multiple developers with the help of real-world examplesThis is the most up-to-date guide on Puppet, and covers the advanced concepts of Puppet 4Who This Book Is ForThis book is for those who have intermediate knowledge of Puppet and are looking to deploy it in their environment. Some idea how to write simple modules for configuration management with Puppet is a prerequisite for this book.What You Will LearnScale out your Puppet infrastructure using proxying techniquesAutomate your code promotion workflow using Git and r10kSolve real-world problems using public modules from the Puppet ForgeUse Hiera to separate the data of your configuration from the code of your configurationWrite your own custom facts in RubyExtend Puppet with your own custom facts, modules, and typesUse exported resources to orchestrate change between machinesDebug a puppetserver using Java techniquesIn DetailPuppet is a configuration management system and a language. It was written for and by system administrators to manage large numbers of systems efficiently and prevent configuration drifts.Mastering Puppet deals with the issues faced when scaling out Puppet to handle large numbers of nodes. It will show you how to fit Puppet into your enterprise and allow many developers to work on your Puppet code simultaneously. In addition, you will learn to write custom facts and roll your own modules to solve problems. Next, popular options for performing reporting and orchestration tasks will be introduced in this book. Moving over to troubleshooting techniques, which will be very useful. The concepts presented are useful to any size organization.By the end of the book, you will know how to deal with problems of scale and exceptions in your code, automate workflows, and support multiple developers working simultaneously.Style and approachThis book is a step-wise guide packed with examples to help you configure complex systems in Puppet.
Unreal Engine 4 Game Development Essentials
Master the basics of Unreal Engine 4 to build stunning video gamesAbout This BookGet to grips with the user interface of Unreal Engine 4 and find out more about its various robust featuresCreate dream video games with the help of the different tools Unreal Engine 4 offersCreate video-games and fully utilize the power of Unreal Engine 4 to bring games to life through this step-by-step guideWho This Book Is ForIf you have a basic understanding of working on a 3D environment and you are interested in video game development, then this book is for you. A solid knowledge of C++ will come in handy.What You Will LearnDownload both the binary and source version of Unreal Engine 4 and get familiar with the UIGet to know more about the Material Editor and how it worksAdd a post process to the scene and alter it to get a unique look for your sceneAcquaint yourself with the unique and exclusive feature of Unreal Engine 4—BlueprintsFind out more about Static and Dynamic lighting and the difference between various lightsUse Matinee to create cut scenesCreate a health bar for the player with the use of Unreal Motion Graphics (UMG)Get familiar with Cascade Particle EditorIn DetailUnreal Engine 4 is a complete suite of game development tools that gives you power to develop your game and seamlessly deploy it to iOS and Android devices. It can be used for the development of simple 2D games or even stunning high-end visuals. Unreal Engine features a high degree of portability and is a tool used by many game developers today.This book will introduce you to the very popular Unreal 4 engine with hands-on instructions to build stunning video games. You will begin by creating a new project or prototype by learning the essentials of Unreal engine, then you’ll get an understanding of how the World Browser can help to improve performance of our game. Next, we’ll create a level of detailed models and materials to further improve performance. After that, you’ll see how to import textures, create different materials, and see what materials can do in terms of post-processing. Finally, you will get acquainted with the Paper2D tool and the blueprints system to further increase our project's performance with Engine’s scalability tools.Style and approachThis step-by-step guide will help you gain practical knowledge about Unreal Engine through detailed de*ions of all the tools offered by Unreal Engine.
Real-Time Big Data Analytics
Design, process, and analyze large sets of complex data in real timeAbout This BookGet acquainted with transformations and database-level interactions, and ensure the reliability of messages processed using StormImplement strategies to solve the challenges of real-time data processingLoad datasets, build queries, and make recommendations using Spark SQLWho This Book Is ForIf you are a Big Data architect, developer, or a programmer who wants to develop applications/frameworks to implement real-time analytics using open source technologies, then this book is for you.What You Will LearnExplore big data technologies and frameworksWork through practical challenges and use cases of real-time analytics versus batch analyticsDevelop real-word use cases for processing and analyzing data in real-time using the programming paradigm of Apache StormHandle and process real-time transactional dataOptimize and tune Apache Storm for varied workloads and production deploymentsProcess and stream data with Amazon Kinesis and Elastic MapReducePerform interactive and exploratory data analytics using Spark SQLDevelop common enterprise architectures/applications for real-time and batch analyticsIn DetailEnterprise has been striving hard to deal with the challenges of data arriving in real time or near real time.Although there are technologies such as Storm and Spark (and many more) that solve the challenges of real-time data, using the appropriate technology/framework for the right business use case is the key to success. This book provides you with the skills required to quickly design, implement and deploy your real-time analytics using real-world examples of big data use cases.From the beginning of the book, we will cover the basics of varied real-time data processing frameworks and technologies. We will discuss and explain the differences between batch and real-time processing in detail, and will also explore the techniques and programming concepts using Apache Storm.Moving on, we’ll familiarize you with “Amazon Kinesis” for real-time data processing on cloud. We will further develop your understanding of real-time analytics through a comprehensive review of Apache Spark along with the high-level architecture and the building blocks of a Spark program.You will learn how to transform your data, get an output from transformations, and persist your results using Spark RDDs, using an interface called Spark SQL to work with Spark.At the end of this book, we will introduce Spark Streaming, the streaming library of Spark, and will walk you through the emerging Lambda Architecture (LA), which provides a hybrid platform for big data processing by combining real-time and precomputed batch data to provide a near real-time view of incoming data.Style and approachThis step-by-step is an easy-to-follow, detailed tutorial, filled with practical examples of basic and advanced features.Each topic is explained sequentially and supported by real-world examples and executable code snippets.
Nagios Core Administration Cookbook - Second Edition
Over 90 hands-on recipes that will employ Nagios Core as the anchor of monitoring on your networkAbout This BookMaster the advanced configuration techniques of Nagios Core to model your network better by improving hosts, services, and contactsFilter and improve the notifications that Nagios Core sends in response to failed checks, which can greatly assist you when diagnosing problemsPull Nagios Core's data into a database to write clever custom reports of your own deviseWho This Book Is ForIf you are a network or system administrator and are looking for instructions and examples on working with Nagios Core, then this book is for you. Some basic shell command-line experience is required, and some knowledge of *ing would be helpful when we discuss how plugins work.What You Will LearnManage the configuration of Nagios Core with advanced techniques to achieve fine detail in your checksFind, install, and even write your own check pluginsFilter notifications to send them to the right people or programs at the right timeWork around difficult network accessibility issues and delegate checks to other machinesTweak a Nagios Core server to achieve both high performance and redundancy in case of disasterProcess the results of checks performed by other machines to monitor backups and similar processesExtend Nagios Core to allow advanced *ing, reporting, and network visualization behaviorIn DetailNagios Core is an open source monitoring framework suitable for any network that ensures both internal and customer-facing services are running correctly and manages notification and reporting behavior to diagnose and fix outages promptly. It allows very fine configuration of exactly when, where, what, and how to check network services to meet both the uptime goals of your network and systems team and the needs of your users.This book shows system and network administrators how to use Nagios Core to its fullest as a monitoring framework for checks on any kind of network services, from the smallest home network to much larger production multi-site services. You will discover that Nagios Core is capable of doing much more than pinging a host or to see whether websites respond.The recipes in this book will demonstrate how to leverage Nagios Core's advanced configuration, *ing hooks, reports, data retrieval, and extensibility to integrate it with your existing systems, and to make it the rock-solid center of your network monitoring world.Style and approachEach chapter contains a set of step-by-step recipes to perform an example of a commonly performed task related to network administration. The book begins by focusing closely on the properties and configuration of Nagios Core itself, and gradually moves on to other pieces of software that can support, manage, and extend the system.
Moodle 3 Administration - Third Edition
An administrator’s guide to configuring, securing, customizing, and extending MoodleAbout This BookLearn how to plan, install, optimize, customize, and configure MoodleGuarantee a cutting-edge learning experience in a secure and customizable environment while optimizing your day-to-day workloadA one-stop guide with a problem-solution approach and a wide range of real-world examplesWho This Book Is ForIf you are a technician, systems administrator, or part of academic staff, this is the book for you. This book is ideal for anyone who has to administer a Moodle system. Whether you are dealing with a small-scale local Moodle system or a large-scale multi-site Virtual Learning Environment, this book will assist you with any administrative task. Some basic Moodle knowledge is helpful, but not essential.What You Will LearnInstall and update Moodle on multiple platforms manually and via CLI and GITManage courses and categories, users and cohorts, as well as rolesGet Moodle hooked up to repositories, portfolios, and open badgesConfigure Moodle for mobile usage, accessibility, localization, communication, and collaborationGuarantee backups, security and privacy, and achieve maximum performance via the Moodle Universal Cache and the new cron systemConfigure the Moodle events system to generate comprehensive reports, statistics, and learning analyticsNetwork Moodle with Mahara and extend it with third-party add-ons and via LTICustomize Moodle web services to enable mobile learning and integration with other IT systemsIn DetailMoodle is the de facto standard for open source learning platforms. However, setting up and managing a learning environment can be a complex task since it covers a wide range of technical, organizational, and pedagogical topics. This ranges from basic user and course management, to configuring plugins and design elements, all the way to system settings, performance optimization, events frameworks, and so on.This book concentrates on basic tasks such as how to set up and configure Moodle and how to perform day-to-day administration activities, and progresses on to more advanced topics that show you how to customize and extend Moodle, manage courses, cohorts, and users, and how to work with roles and capabilities. You’ll learn to configure Moodle plugins and ensure your VLE conforms to pedagogical and technical requirements in your organization. You’ll then learn how to integrate the VLE via web services and network it with other sites, including Mahara, and extend your system via plugins and LTI. By the end of this book, you will be able to set up an efficient, fully fledged, and secure Moodle system.Style and approachThe book takes a problem-solution approach to fall in line with your day-to-day operations. This is a one-stop reference for any task you will ever come across when administering a Moodle site of any shape and size.
Scala Design Patterns
Write efficient, clean, and reusable code with ScalaAbout This BookUnleash the power of Scala and apply it in the real worldIncrease your efficiency by leveraging the power of Creational, Structural, Behavioural, and Functional design patternsBuild object oriented and functional applications quickly and effectivelyWho This Book Is ForIf you want to increase your understanding of Scala and apply it to real-life application development, then this book is for you. We’ve also designed the book to be used as a quick reference guide while creating applications. Previous Scala programming knowledge is expected.What You Will LearnImmerse yourself in industry-standard design patterns—structural, creational, and behavioral—to create extraordinary applicationsFeel the power of traits and their application in ScalaImplement abstract and self types and build clean design patternsBuild complex entity relationships using structural design patternsCreate applications faster by applying functional design patternsIn DetailScala has become increasingly popular in many different IT sectors. The language is exceptionally feature-rich which helps developers write less code and get faster results. Design patterns make developer’s lives easier by helping them write great software that is easy to maintain, runs efficiently and is valuable to the company or people concerned.You will learn about the various features of Scala and be able to apply well-known, industry-proven design patterns in your work. The book starts off by focusing on some of the most interesting features of Scala while using practical real-world examples. We will also cover the popular "Gang of Four" design patterns and show you how to incorporate functional patterns effectively. By the end of this book, you will have enough knowledge and understanding to quickly assess problems and come up with elegant solutions.Style and approachThe design patterns in the book will be explained using real-world, step-by-step examples. For each design pattern, there will be hints about when to use it and when to look for something more suitable. This book can also be used as a practical guide, showing you how to leverage design patterns effectively.
3D Printing Designs: Octopus Pencil Holder
Learn to design and 3D print organic and functional designs using BlenderAbout This BookLearn how to make complex shapes by editing basic onesMake printable objects from multiple shapes and partsLearn how to design from scratch, without a reference to physical objectsWho This Book Is ForYou should have basic knowledge of Blender and 3D printing and be interested in printing your first object.What You Will LearnGet to know the guiding principles required to create 3D printer-friendly modelsUnderstand material characteristics, printing specifications, tolerances, and design tipsMaster the art of modifying basic shapes with Blender's powerful editing tools: extrude, loop cuts, and other transformationsLearn techniques of editing complex meshes, smoothing, combining shapes, and exporting them into STL files for printingIn DetailThis book will cover the very basic but essential techniques you need to model an organic and functional object for 3D printing using Blender.Starting with pen and paper and then moving on to the computer, you will create your first project in Blender, add basic geometric shapes, and use techniques such as extruding and subdividing to transform these shapes into complex meshes. You will learn how modifiers can automatically refine the shape further and combine multiple shapes into a single 3D printable model.By the end of the book, you will have gained enough practical hands-on experience to be able to create a 3D printable object of your choice, which in this case is a 3D print-ready octopus pencil holder.Style and approachThis is a starter project designed to introduce you to your first real-world 3D printing designs, where you'll learn how to handle the fundamental principles of 3D printing design and have your hands on your reward in no time.
Kali Linux Web Penetration Testing Cookbook
Over 80 recipes on how to identify, exploit, and test web application security with Kali Linux 2About This BookFamiliarize yourself with the most common web vulnerabilities a web application faces, and understand how attackers take advantage of themSet up a penetration testing lab to conduct a preliminary assessment of attack surfaces and run exploitsLearn how to prevent vulnerabilities in web applications before an attacker can make the most of itWho This Book Is ForThis book is for IT professionals, web developers, security enthusiasts, and security professionals who want an accessible reference on how to find, exploit, and prevent security vulnerabilities in web applications. You should know the basics of operating a Linux environment and have some exposure to security technologies and tools.What You Will LearnSet up a penetration testing laboratory in a secure wayFind out what information is useful to gather when performing penetration tests and where to look for itUse crawlers and spiders to investigate an entire website in minutesDiscover security vulnerabilities in web applications in the web browser and using command-line toolsImprove your testing efficiency with the use of automated vulnerability scannersExploit vulnerabilities that require a complex setup, run custom-made exploits, and prepare for extraordinary scenariosSet up Man in the Middle attacks and use them to identify and exploit security flaws within the communication between users and the web serverCreate a malicious site that will find and exploit vulnerabilities in the user's web browserRepair the most common web vulnerabilities and understand how to prevent them becoming a threat to a site's securityIn DetailWeb applications are a huge point of attack for malicious hackers and a critical area for security professionals and penetration testers to lock down and secure. Kali Linux is a Linux-based penetration testing platform and operating system that provides a huge array of testing tools, many of which can be used specifically to execute web penetration testing.This book will teach you, in the form step-by-step recipes, how to detect a wide array of vulnerabilities, exploit them to analyze their consequences, and ultimately buffer attackable surfaces so applications are more secure, for you and your users.Starting from the setup of a testing laboratory, this book will give you the skills you need to cover every stage of a penetration test: from gathering information about the system and the application to identifying vulnerabilities through manual testing and the use of vulnerability scanners to both basic and advanced exploitation techniques that may lead to a full system compromise. Finally, we will put this into the context of OWASP and the top 10 web application vulnerabilities you are most likely to encounter, equipping you with the ability to combat them effectively. By the end of the book, you will have the required skills to identify, exploit, and prevent web application vulnerabilities.Style and approachTaking a recipe-based approach to web security, this book has been designed to cover each stage of a penetration test, with de*ions on how tools work and why certain programming or configuration practices can become security vulnerabilities that may put a whole system, or network, at risk. Each topic is presented as a sequence of tasks and contains a proper explanation of why each task is performed and what it accomplishes.
OpenGL Game Development By Example
Design and code your own 2D and 3D games efficiently using OpenGL and C++ About This Book Create 2D and 3D games completely, through a series of end-to-end game projects Learn to render high performance 2D and 3D graphics using OpenGL Implement a rudimentary game engine using step-by-step code Who This Book Is For If you are a prospective game developer with some experience using C++, then this book is for you. Both prospective and experienced game programmers will find nuggets of wisdom and practical advice as they learn to code two full games using OpenGL, C++, and a host of related tools. What You Will Learn Set up your development environment in Visual Studio using OpenGL Use 2D and 3D coordinate systems Implement an input system to handle the mouse and the keyboard Create a state machine to handle complex changes in the game Load, display, and manipulate both 2D and 3D graphics Implement collision detection and basic physics Discover the key components needed to complete a polished game Handle audio files and implement sound effects and music In Detail OpenGL is one of the most popular rendering SDKs used to develop games. OpenGL has been used to create everything from 3D masterpieces running on desktop computers to 2D puzzles running on mobile devices. You will learn to apply both 2D and 3D technologies to bring your game idea to life. There is a lot more to making a game than just drawing pictures and that is where this book is unique! It provides a complete tutorial on designing and coding games from the setup of the development environment to final credits screen, through the creation of a 2D and 3D game. The book starts off by showing you how to set up a development environment using Visual Studio, and create a code framework for your game. It then walks you through creation of two games–a 2D platform game called Roboracer 2D and a 3D first-person space shooter game–using OpenGL to render both 2D and 3D graphics using a 2D coordinate system. You'll create sprite classes, render sprites and animation, and navigate and control the characters. You will also learn how to implement input, use audio, and code basic collision and physics systems. From setting up the development environment to creating the final credits screen, the book will take you through the complete journey of creating a game engine that you can extend to create your own games. Style and approach An easy-to-follow guide full of code examples to illustrate every concept and help you build a 2D and 3D game from scratch, while learning the key tools that surround a typical OpenGL project.