
Test-Driven JavaScript Development
¥71.93
Learn JavaScript test-driven development using popular frameworks and tools About This Book Learn the life cycle of TDD and its importance in real-world application Gain knowledge about popular tools and analyze features, syntax, and how they help in JavaScript testing Implement test-driven programming exercises using the practical code examples Who This Book Is For If you have an intermediate knowledge of HTML, CSS, and JavaScript and want to learn how and why the test-driven development approach is better for your assignments, then this book is for you. What You Will Learn Basic TDD fundamentals, life cycle, and benefits Become acquainted with the concepts and elements of unit testing and writing basic unit tests for JavaScript Understand the way JsUnit, Qunit, Karma and DalekJs work Use the Jasmine framework Interpret feature detection and devise tests specific to cross-browser compatibility Integrate jsTestDriver with Eclipse and run tests with jsTestDriver Explore re-factoring, adding and notifying observers Understand test-driven development in case of server-side JS In Detail Initially, all processing used to happen on the server-side and simple output was the response to web browsers. Nowadays, there are so many JavaScript frameworks and libraries created that help readers to create charts, animations, simulations, and so on. By the time a project finishes or reaches a stable state, so much JavaScript code has already been written that changing and maintaining it further is tedious. Here comes the importance of automated testing and more specifically, developing all that code in a test-driven environment. Test-driven development is a methodology that makes testing the central part of the design process – before writing code developers decide upon the conditions that code must meet to pass a test. The end goal is to help the readers understand the importance and process of using TDD as a part of development. This book starts with the details about test-driven development, its importance, need, and benefits. Later the book introduces popular tools and frameworks like YUI, Karma, QUnit, DalekJS, JsUnit and goes on to utilize Jasmine, Mocha, Karma for advanced concepts like feature detection, server-side testing, and patterns. We are going to understand, write, and run tests, and further debug our programs. The book concludes with best practices in JavaScript testing. By the end of the book, the readers will know why they should test, how to do it most efficiently, and will have a number of versatile tests (and methods for devising new tests) to get to work immediately. Style and approach Easy-to-follow guide with suitable examples for developing JavaScript code in the test-Driven environment, with popular tools and frameworks. User experience and statements are also included to help readers make a better choice of tool for real-world projects.

Python Business Intelligence Cookbook
¥71.93
Leverage the computational power of Python with more than 60 recipes that arm you with the required skills to make informed business decisions About This Book Want to minimize risk and optimize profits of your businessLearn to create efficient analytical reports with ease using this highly practical, easy-to-follow guide Learn to apply Python for business intelligence tasks—preparing, exploring, analyzing, visualizing and reporting—in order to make more informed business decisions using data at hand Learn to explore and analyze business data, and build business intelligence dashboards with the help of various insightful recipes Who This Book Is For This book is intended for data analysts, managers, and executives with a basic knowledge of Python, who now want to use Python for their BI tasks. If you have a good knowledge and understanding of BI applications and have a “working” system in place, this book will enhance your toolbox. What You Will Learn Install Anaconda, MongoDB, and everything you need to get started with your data analysis Prepare data for analysis by querying cleaning and standardizing data Explore your data by creating a Pandas data frame from MongoDB Gain powerful insights, both statistical and predictive, to make informed business decisions Visualize your data by building dashboards and generating reports Create a complete data processing and business intelligence system In Detail The amount of data produced by businesses and devices is going nowhere but up. In this scenario, the major advantage of Python is that it's a general-purpose language and gives you a lot of flexibility in data structures. Python is an excellent tool for more specialized analysis tasks, and is powered with related libraries to process data streams, to visualize datasets, and to carry out scientific calculations. Using Python for business intelligence (BI) can help you solve tricky problems in one go. Rather than spending day after day scouring Internet forums for “how-to” information, here you’ll find more than 60 recipes that take you through the entire process of creating actionable intelligence from your raw data, no matter what shape or form it’s in. Within the first 30 minutes of opening this book, you’ll learn how to use the latest in Python and NoSQL databases to glean insights from data just waiting to be exploited.< We’ll begin with a quick-fire introduction to Python for BI and show you what problems Python solves. From there, we move on to working with a predefined data set to extract data as per business requirements, using the Pandas library and MongoDB as our storage engine. Next, we will analyze data and perform transformations for BI with Python. Through this, you will gather insightful data that will help you make informed decisions for your business. The final part of the book will show you the most important task of BI—visualizing data by building stunning dashboards using Matplotlib, PyTables, and iPython Notebook. Style and approach This is a step-by-step guide to help you prepare, explore, analyze and report data, written in a conversational tone to make it easy to grasp. Whether you’re new to BI or are looking for a better way to work, you’ll find the knowledge and skills here to get your job done efficiently.

Data Analysis with R
¥99.18
Load, wrangle, and analyze your data using the world's most powerful statistical programming language About This Book Load, manipulate and analyze data from different sources Gain a deeper understanding of fundamentals of applied statistics A practical guide to performing data analysis in practice Who This Book Is For Whether you are learning data analysis for the first time, or you want to deepen the understanding you already have, this book will prove to an invaluable resource. If you are looking for a book to bring you all the way through the fundamentals to the application of advanced and effective analytics methodologies, and have some prior programming experience and a mathematical background, then this is for you. What You Will Learn Navigate the R environment Describe and visualize the behavior of data and relationships between data Gain a thorough understanding of statistical reasoning and sampling Employ hypothesis tests to draw inferences from your data Learn Bayesian methods for estimating parameters Perform regression to predict continuous variables Apply powerful classification methods to predict categorical data Handle missing data gracefully using multiple imputation Identify and manage problematic data points Employ parallelization and Rcpp to scale your analyses to larger data Put best practices into effect to make your job easier and facilitate reproducibility In Detail Frequently the tool of choice for academics, R has spread deep into the private sector and can be found in the production pipelines at some of the most advanced and successful enterprises. The power and domain-specificity of R allows the user to express complex analytics easily, quickly, and succinctly. With over 7,000 user contributed packages, it’s easy to find support for the latest and greatest algorithms and techniques. Starting with the basics of R and statistical reasoning, Data Analysis with R dives into advanced predictive analytics, showing how to apply those techniques to real-world data though with real-world examples. Packed with engaging problems and exercises, this book begins with a review of R and its syntax. From there, get to grips with the fundamentals of applied statistics and build on this knowledge to perform sophisticated and powerful analytics. Solve the difficulties relating to performing data analysis in practice and find solutions to working with “messy data”, large data, communicating results, and facilitating reproducibility. This book is engineered to be an invaluable resource through many stages of anyone’s career as a data analyst. Style and approach Learn data analysis using engaging examples and fun exercises, and with a gentle and friendly but comprehensive "learn-by-doing" approach.

GameMaker Cookbook
¥80.65
Over 50 hands-on recipes to help you build exhilarating games using the robust GameMaker system About This Book Design and develop game elements that can be used alone or stacked to enhance your gaming experience Explore extensions that can unlock GameMaker: Studio’s true potential to create complex games A recipe-based, easy-to-follow guide to take your GameMaker skills to the next level Who This Book Is For This book is intended for GameMaker: Studio enthusiasts who are looking to add more substance and improve their content. If know your way around the program and have some basic GML skills but want to take them further, then this book is for you. What You Will Learn Set up player control schemes of various types, such as touch controls and a gamepad Create your own physics sandbox Get accustomed to advanced player movement Implement music and 3D sound in your games Utilize GameMaker’s GUI layers to create exciting games Generate adjustable game settings and save systems Add depth to your game with lighting and special effects In Detail GameMaker: Studio started off as a tool capable of creating simple games using a drag-and-drop interface. Since then, it has grown to become a powerful instrument to make release-ready games for PC, Mac, mobile devices, and even current-gen consoles. GameMaker is designed to allow its users to develop games without having to learn any of the complex programming languages such as C++ or Java. It also allows redistribution across multiple platforms. This book teaches you to harness GameMaker: Studio’s full potential and take your game development to new heights. It begins by covering the basics and lays a solid foundation for advanced GameMaker concepts. Moving on, it covers topics such as controls, physics, and advanced movement, employing a strategic approach to the learning curve. The book concludes by providing insights into complex concepts such as the GUI, menus, save system, lighting, particles, and VFX. By the end of the book, you will be able to design games using GameMaker: Studio and implement the same techniques in other games you intend to design. Style and approach A problem-solving guide that teaches you the construction of game elements and mechanics to be integrated in games for rapid prototyping. Each overall topic includes several individual recipes taught through step-by-step instructions, and in-depth follow-up with examples.

Apache Solr for Indexing Data
¥63.21
Enhance your Solr indexing experience with advanced techniques and the built-in functionalities available in Apache Solr About This Book Learn about distributed indexing and real-time optimization to change index data on fly Index data from various sources and web crawlers using built-in analyzers and tokenizers This step-by-step guide is packed with real-life examples on indexing data Who This Book Is For This book is for developers who want to increase their experience of indexing in Solr by learning about the various index handlers, analyzers, and methods available in Solr. Beginner level Solr development skills are expected. What You Will Learn Get to know the basic features of Solr indexing and the analyzers/tokenizers available Index XML/JSON data in Solr using the HTTP Post tool and CURL command Work with Data Import Handler to index data from a database Use Apache Tika with Solr to index word documents, PDFs, and much more Utilize Apache Nutch and Solr integration to index crawled data from web pages Update indexes in real-time data feeds Discover techniques to index multi-language and distributed data in Solr Combine the various indexing techniques into a real-life working example of an online shopping web application In Detail Apache Solr is a widely used, open source enterprise search server that delivers powerful indexing and searching features. These features help fetch relevant information from various sources and documentation. Solr also combines with other open source tools such as Apache Tika and Apache Nutch to provide more powerful features. This fast-paced guide starts by helping you set up Solr and get acquainted with its basic building blocks, to give you a better understanding of Solr indexing. You’ll quickly move on to indexing text and boosting the indexing time. Next, you’ll focus on basic indexing techniques, various index handlers designed to modify documents, and indexing a structured data source through Data Import Handler. Moving on, you will learn techniques to perform real-time indexing and atomic updates, as well as more advanced indexing techniques such as de-duplication. Later on, we’ll help you set up a cluster of Solr servers that combine fault tolerance and high availability. You will also gain insights into working scenarios of different aspects of Solr and how to use Solr with e-commerce data. By the end of the book, you will be competent and confident working with indexing and will have a good knowledge base to efficiently program elements. Style and approach This fast-paced guide is packed with examples that are written in an easy-to-follow style, and are accompanied by detailed explanation. Working examples are included to help you get better results for your applications.

Building a Home Security System with Raspberry Pi
¥63.21
Build your own sophisticated modular home security system using the popular Raspberry Pi board About This Book This book guides you through building a complete home security system with Raspberry Pi and helps you remotely access it from a mobile device over the Interne It covers the fundamentals of interfacing sensors and cameras with the Raspberry Pi so that you can connect it to the outside world It follows a modular approach so that you can choose the modules and features you want for your customized home security system Who This Book Is For This book is for anyone who is interested in building a modular home security system from scratch using a Raspberry Pi board, basic electronics, sensors, and simple *s. This book is ideal for enthusiastic novice programmers, electronics hobbyists, and engineering professionals. It would be great if you have some basic soldering skills in order to build some of the interface modules. What You Will Learn Understand the concepts behind alarm systems and intrusion detection devices Connect sensors and devices to the on-board digital GPIO ports safely Monitor and control connected devices easily using Bash shell *ing Build an I/O port expander using the I2C bus and connect sensors and anti-tamper circuits Capture and store images using motion detectors and cameras Access and manage your system remotely from your mobile phone Receive intrusion alerts and images through your e-mail Build a sophisticated multi-zone alarm system In Detail The Raspberry Pi is a powerful low-cost credit-card-sized computer, which lends itself perfectly as the controller for a sophisticated home security system. Using the on-board interfaces available, the Raspberry Pi can be expanded to allow the connection of a virtually infinite number of security sensors and devices. The Raspberry Pi has the processing power and interfaces available to build a sophisticated home security system but at a fraction of the cost of commercially available systems. Building a Home Security System with Raspberry Pi starts off by showing you the Raspberry Pi and how to set up the Linux-based operating system. It then guides you through connecting switch sensors and LEDs to the native GPIO connector safely, and how to access them using simple Bash *s. As you dive further in, you’ll learn how to build an input/output expansion board using the I2C interface and power supply, allowing the connection of the large number of sensors needed for a typical home security setup. In the later chapters of the book, we'll look at more sophisticated topics such as adding cameras, remotely accessing the system using your mobile phone, receiving intrusion alerts and images by e-mail, and more. By the end of the book, you will be well-versed with the use of Raspberry Pi to power a home-based security system that sends message alerts whenever it is triggered and will be able to build a truly sophisticated and modular home security system. You will also gain a good understanding of Raspberry Pi's ecosystem and be able to write the functions required for a security system. Style and approach This easy-to-follow guide comprises a series of projects, where every chapter introduces a new concept and at the end of the book, all these concepts are brought together to create an entire home security system. This book features clear diagrams and code every step of the way.

Mastering Linux Shell Scripting
¥63.21
Master the complexities of Bash shell *ing and unlock the power of shell for your enterprise About This Book Identify the high level steps such as verifying user input, using command lines and conditional statements in creating and executing simple shell *s Create and edit dynamic shell *s to manage complex and repetitive tasks Learn about *ing in Perl and programming in Python as a BASH *ing alternative with this practical, step-by-step guide Who This Book Is For Mastering Linux Shell Scripting has been written for Linux administrators who want to automate tasks in their daily lives, saving time and effort. You’ll need to have command-line experience and be familiar with the tasks that you need to automate. What You Will Learn Use the type command to identify the order of command evaluation Create interactive *s that prompt for user input Foster menu structures for operators with little command-line experience Develop *s that dynamically edit web configuration files to produce a new virtual host Write *s that use AWK to search and reports on log files Draft effective *s using functions as building blocks, reducing maintenance and build time Make informed choices by comparing different * languages such as Perl and Python with BASH In Detail Shell *ing is a quick method to prototype a complex application or a problem by automating tasks when working on Linux-based systems. Using both simple one-line commands and command sequences complex problems can be solved with ease, from text processing to backing up sysadmin tools. In this book, you’ll discover everything you need to know to master shell *ing and make informed choices about the elements you employ. Get to grips with the fundamentals of creating and running a * in normal mode, and in debug mode. Learn about various conditional statements' code snippets, and realize the power of repetition and loops in your shell *. Implement functions and edit files using the Stream Editor, * in Perl, program in Python – as well as complete coverage of other *ing languages to ensure you can choose the best tool for your project. Style and approach The book will capture your attention and keep you engaged with the simplicity and clarity of each explanation. Every step is accompanied with screen captures so you can cross-check the results before moving on.

wxPython Application Development Cookbook
¥80.65
Over 80 step-by-step recipes to get you up to speed with building your own wxPython applications About This Book This book empowers you to create rich cross-platform graphical user interfaces using Python It helps you develop applications that can be deployed on Windows, OSX, and Linux The recipes in the book involve real-world applications, giving you a first-hand experience of the practical scenarios Who This Book Is For For those who are familiar with programming in Python and want to start building applications with graphical user interfaces, this book will get you up and running quickly. A basic understanding of the Python programming language and object-oriented concepts are all that is needed. What You Will Learn Create full featured user interfaces Design and develop custom controls Deploy and distribute wxPython applications to Windows, Macintosh OS X, Linux, and other UNIX-like environments Handle and respond to application events Manage and display data using grids Interact with web services from your GUI Use Paint events to draw custom displays Support the display of user interfaces in multiple languages In Detail wxPython is a GUI toolkit for the Python programming language built on top of the cross-platform wxWidgets GUI libraries. wxPython provides a powerful set of tools that allow you to quickly and efficiently building applications that can run on a variety of different platforms. Since wxWidgets provides a wrapper around each platform’s native GUI toolkit, the applications built with wxPython will have a native look and feel wherever they are deployed. This book will provide you with the skills to build highly functional and native looking user interfaces for Python applications on multiple operating system environments. By working through the recipes, you will gain insights into and exposure to creating applications using wxPython. With a wide range of topics covered in the book, there are recipes to get the most basic of beginners started in GUI programming as well as tips to help experienced users get more out of their applications. The recipes will take you from the most basic application constructs all the way through to the deployment of complete applications. Style and approach This book is a collection of step-by-step recipes that introduce the various components and concepts of wxPython in a conversational and easy-to-follow way. Each recipe contains coded examples along with detailed explanations about the key points of each topic. Each topic is designed to introduce and show you how to use a single feature from the wxPython library.

JavaScript Concurrency
¥80.65
Build better software with concurrent JavaScript programming, and unlock a more efficient and forward thinking approach to web development About This Book Apply the core principles of concurrency to both browser and server side development Explore the latest tools and techniques at the forefront of concurrent programming, including JavaScript promises, web workers, and generators Learn how concurrent and parallel programming can help you tackle the challenges of fast, data heavy web development Who This Book Is For JavaScript Concurrency is written for any JavaScript developer who wants to learn how to write more efficient, powerful, and maintainable applications that utilize the latest developments in the JavaScript language. All aspects of concurrent, asynchronous, and parallel programming are covered from first principles and by the end of the book you’ll be able to create a fully-worked application that leverages all the topics covered in the book. What You Will Learn Understand exactly how JavaScript works in a web browser environment, and how these mechanisms power our event-driven JavaScript code Use promises to turn complex synchronization scenarios into readable and maintainable values Compute values lazily and avoid unnecessary memory allocations using generators. Write concurrent code that doesn’t feel like concurrent code by abstracting away boilerplate chores Leverage true hardware parallelism with web workers to get a better performance Get to grips with the NodeJS model of concurrency and learn why it’s good for I/O-intensive web applications In Detail Concurrent programming may sound abstract and complex, but it helps to deliver a better user experience. With single threaded JavaScript, applications lack dynamism. This means that when JavaScript code is running, nothing else can happen. The DOM can’t update, which means the UI freezes. In a world where users expect speed and responsiveness – in all senses of the word – this is something no developer can afford. Fortunately, JavaScript has evolved to adopt concurrent capabilities – one of the reasons why it is still at the forefront of modern web development. This book helps you dive into concurrent JavaScript, and demonstrates how to apply its core principles and key techniques and tools to a range of complex development challenges. Built around the three core principles of concurrency – parallelism, synchronization, and conservation – you’ll learn everything you need to unlock a more efficient and dynamic JavaScript, to lay the foundations of even better user experiences. Throughout the book you’ll learn how to put these principles into action by using a range of development approaches. Covering everything from JavaScript promises, web workers, generators and functional programming techniques, everything you learn will have a real impact on the performance of your applications. You’ll also learn how to move between client and server, for a more frictionless and fully realized approach to development. With further guidance on concurrent programming with Node.js, JavaScript Concurrency is committed to making you a better web developer. The best developers know that great design is about more than the UI – with concurrency, you can be confident every your project will be expertly designed to guarantee its dynamism and power. Style and approach Beginning with the fundamentals of concurrency and how they apply to JavaScript development, the book then takes you through the relevant constructs that will help you implement concurrent code. You’ll learn how even the most abstract and theoretical aspects of concurrent programming help you solve real world challenges, with clear and practical demonstrations that show you how concurrent JavaScript will make you a better developer.

Optimizing Citrix? XenDesktop? for High Performance
¥90.46
Successfully deploy XenDesktop sites for a high performance Virtual Desktop Infrastructure (VDI) About This Book Size the VDI environment so the administrator has breathing room to design and build their XenDesktop systems efficiently Use desktop virtualization tools to provide users fast, convenient access to their Windows Desktops Understand the key pinch points in the resource layers such as; the Client layer, Network Layer, Access Layer, Control Layer, Services Layer and Resources Layer Who This Book Is For Citrix XenDesktop High Performance is written for administrators who would like to deploy Citrix XenDesktop in their enterprises with the aim of providing high efficiency. Basic familiarity with Citrix XenDesktop is assumed. What You Will Learn Understand key concepts, terminology, and system requirements Discover how components work in regards to virtualization and performance Identify architectural resource layers and components Explore the hypervisor virtualization software that runs on top of the hardware and learn how to tune it for maximum performance Analyze client hardware and software, including thin clients and mobile devices In Detail Citrix XenDesktop is a suite of desktop virtualization tools designed to provide users with fast and convenient access to their Windows desktops and applications through any device. Virtual desktops mean that rather than setting up hundreds or thousands of individual computers in an enterprise, companies can instead opt to create servers with large amounts of memory, disk, and processing resources, and use virtualization to offer these resources to end users. The result of this is that users are provided with an experience that appears to be identical to having an individual desktop PC. Each user has some disk space, processor time, and memory allocated to them, as though it is present on their own physical machine, when in reality, the resources are physically present on a centralized server. This book starts by answering the basic questions you need to ask when considering XenDesktop, followed by methods of how you can properly size your server infrastructure for XenDesktop. You’ll discover how to optimize the virtual machines used in XenDesktop, how to optimize your network for XenDesktop, and how to optimize the hypervisor and the cloud. You’ll also learn how to monitor XenDesktop to maximize performance. By the end of the book, you will be able to plan, design, build, and deploy high performance XenDesktop Virtualization systems in enterprises. You will also know how to monitor and maintain your systems to ensure smooth operation. Style and approach This book is an all-inclusive guide that uncovers hidden and previously unpublished performance improvement areas for any XenDesktop site.

Mastering OpenLayers 3
¥90.46
Create powerful applications with the most robust open source web mapping library using this advanced guideAbout This BookDevelop responsive and platform-independent web mapping applications with OpenLayers 3Learn the key points of creating great applications with native JavaScript through the step-by-step examplesMaster the use of the library, from compiling custom builds to developing a complete WebGIS applicationWho This Book Is ForThis book is intended for front-end developers with basic understanding of JavaScript and GIS concepts, and preferably for those who are familiar with the fundamentals of OpenLayers 3. You might have never used OpenLayers 3 as a seasoned JavaScript developer. If this is the case and you are eager to learn web mapping, this book will definitely set you on the right track.What You Will LearnUse the advanced functionality of the OpenLayers 3 library effectivelyImplement the library in your application, shaping it to your needsManage layers and the layer stack dynamicallyCreate not only stunning but also accurate thematic mapsExtend OpenLayers 3 with your own custom classesDevelop mobile-friendly web mapping applicationsMake stunning effects with canvas manipulation, or visualize point clouds with WebGLIntegrate third-party applications, and create custom builds that completely satisfy your needsIn DetailOpenLayers 3 allows you to create stunning web mapping and WebGIS applications. It uses modern, cutting edge browser technologies. It is written with Closure Library, enabling you to build browser-independent applications without painful debugging ceremonies, which even have some limited fallback options for older browsers.With this guide, you will be introduced to the world of advanced web mapping and WebGIS.First, you will be introduced to the advanced features and functionalities available in OpenLayers 3. Next, you will be taken through the key points of creating custom applications with OpenLayers 3. You will then learn how to create the web mapping application of yours (or your company's) dream with this open source, expense-free, yet very powerful library. We’ll also show you how to make amazing looking thematic maps and create great effects with canvas manipulation.By the end of this book, you will have a strong command of web mapping and will be well on your way to creating amazing applications using OpenLayers 3.Style and approachThis is an advanced guide packed with comprehensive examples, and it concentrates on the advanced parts of OpenLayers 3 and JavaScript. It intentionally skips the basic and well-known methodologies, but discusses the hard-to-understand ones in great detail.

Mastering Concurrency Programming with Java 8
¥99.18
Master the principles and techniques of multithreaded programming with the Java 8 Concurrency APIAbout This BookImplement concurrent applications using the Java 8 Concurrency API and its new componentsImprove the performance of your applications or process more data at the same time, taking advantage of all of your resources.Construct real-world examples related to machine learning, data mining, image processing, and client/server environmentsWho This Book Is ForIf you are a competent Java developer with a good understanding of concurrency but have no knowledge of how to effectively implement concurrent programs or use streams to make processes more efficient, then this book is for you.What You Will LearnDesign concurrent applications by converting a sequential algorithm into a concurrent oneDiscover how to avoid all the possible problems you can get in concurrent algorithmsUse the Executor framework to manage concurrent tasks without creating threadsExtend and modify Executors to adapt their behavior to your needsSolve problems using the divide and conquer technique and the Fork/Join frameworkProcess massive data sets with parallel streams and Map/Reduce implementationControl data-race conditions using concurrent data structures and synchronization mechanismsTest and monitor concurrent applicationsIn DetailConcurrency programming allows several large tasks to be divided into smaller sub-tasks, which are further processed as individual tasks that run in parallel. All the sub-tasks are combined together once the required results are achieved; they are then merged to get the final output. The whole process is very complex. This process goes from the design of concurrent algorithms to the testing phase where concurrent applications need extra attention. Java includes a comprehensive API with a lot of ready-to-use components to implement powerful concurrency applications in an easy way, but with a high flexibility to adapt these components to your needs.The book starts with a full de*ion of design principles of concurrent applications and how to parallelize a sequential algorithm. We'll show you how to use all the components of the Java Concurrency API from basics to the most advanced techniques to implement them in powerful concurrency applications in Java.You will be using real-world examples of complex algorithms related to machine learning, data mining, natural language processing, image processing in client / server environments. Next, you will learn how to use the most important components of the Java 8 Concurrency API: the Executor framework to execute multiple tasks in your applications, the phaser class to implement concurrent tasks divided into phases, and the Fork/Join framework to implement concurrent tasks that can be split into smaller problems (using the divide and conquer technique). Toward the end, we will cover the new inclusions in Java 8 API, the Map and Reduce model, and the Map and Collect model. The book will also teach you about the data structures and synchronization utilities to avoid data-race conditions and other critical problems. Finally, the book ends with a detailed de*ion of the tools and techniques that you can use to test a Java concurrent application.Style and approach A complete guide implementing real-world examples with algorithms related to machine learning, data mining, and natural language processing in client/server environments. All the examples are explained in a step-by-step approach.

Regression Analysis with Python
¥80.65
Learn the art of regression analysis with PythonAbout This BookBecome competent at implementing regression analysis in PythonSolve some of the complex data science problems related to predicting outcomesGet to grips with various types of regression for effective data analysisWho This Book Is ForThe book targets Python developers, with a basic understanding of data science, statistics, and math, who want to learn how to do regression analysis on a dataset. It is beneficial if you have some knowledge of statistics and data science.What You Will LearnFormat a dataset for regression and evaluate its performanceApply multiple linear regression to real-world problemsLearn to classify training pointsCreate an observation matrix, using different techniques of data analysis and cleaningApply several techniques to decrease (and eventually fix) any overfitting problemLearn to scale linear models to a big dataset and deal with incremental dataIn DetailRegression is the process of learning relationships between inputs and continuous outputs from example data, which enables predictions for novel inputs. There are many kinds of regression algorithms, and the aim of this book is to explain which is the right one to use for each set of problems and how to prepare real-world data for it. With this book you will learn to define a simple regression problem and evaluate its performance. The book will help you understand how to properly parse a dataset, clean it, and create an output matrix optimally built for regression. You will begin with a simple regression algorithm to solve some data science problems and then progress to more complex algorithms. The book will enable you to use regression models to predict outcomes and take critical business decisions. Through the book, you will gain knowledge to use Python for building fast better linear models and to apply the results in Python or in any computer language you prefer.Style and approach This is a practical tutorial-based book. You will be given an example problem and then supplied with the relevant code and how to walk through it. The details are provided in a step by step manner, followed by a thorough explanation of the math underlying the solution. This approach will help you leverage your own data using the same techniques.

Building Apple Watch Projects
¥80.65
Discover exciting and fun projects by building brilliant applications for the Apple WatchAbout This BookExplore the opportunities opened up to developers by Apple’s latest device: the Apple WatchBe a crackerjack at developing software across a broad range of watch app categoriesFrom an eminent author, master all stages of development, from the first stage through to a completed projectWho This Book Is ForIf you have some basic knowledge of programming in Swift and are looking for the best way to get started with Apple Watch development, this book is just the right one for you!What You Will LearnUnderstand the concept of the Apple Watch as an autonomous device as well as it being paired with the iPhoneGet your app up and runningDesign exciting, inspiring, and attractive layouts for your appsMake your user interface more engaging using images and animationEnable your Watch and iPhone apps to transport and share dataLeverage the feature-rich set of WatchKit technologies provided by AppleConnect your apps to the InternetSubmit your app to the App StoreIn DetailWith Apple’s eagerly anticipated entry into the wearable arena, the field is wide open for a new era of app development. The Apple Watch is one of the most important technologies of our time.This easy-to-understand book takes beginners on a delightful journey of discovering the features available to the developer, right up to the completion of medium-level projects ready for App Store submission. It provides the fastest way to develop real-world apps for the Apple Watch by teaching you the concepts of Watch UI, visual haptic and audio, message and data exchange between watch and phone, Web communication, and finally Visual, haptic as well as audio feedback for users.By the end of this book, you will have developed at least four fully functioning apps for deployment on watchOS 2.Style and approachThis is a step-by-step guide to developing apps for the Apple Watch with the help of screenshots and fully coded working examples.

Babylon.js Essentials
¥54.49
Understand, train, and be ready to develop 3D Web applications/video games using the Babylon.js framework, even for beginners About This Book Understand the basics of 3D (along with the theory) before practicing Each mini-project provides previous features, alongside the new feature you are learning, to supply the examples Learn from the best of the best, a developer at Microsoft, France Who This Book Is For Babylon.JS Essentials is intended for developers who want to enter the world of 3D development for the Web, or developers who want to add the Babylon.js framework to their skill set. The notion of Oriented Object Programming would be helpful to understand the architecture of the Babylon.js framework. Also, a familiarity with Web development would be useful, to understand the principles used. What You Will Learn Understand what the TypeScript language is and its benefits (compared to JavaScript) in large projects such as 3D engines Learn the basics of 3D using Babylon.js without too much theory but with an emphasis on practice, for a better understanding of the architecture Know the usage of Material—a fundamental principle of 3D engines in Babylon.js—and then customize the appearance of 3D objects Integrate collisions and physics in gameplay. Understand the notion of impostor for physics simulation Manage, create, and spatialize audio tracks in 3D scenes Go further with the Babylon.js framework to create actions on events Create rendering effects provided by the Babylon.js framework, such as post-processes In Detail Are you familiar with HTML5Do you want to build exciting games and Web applicationsThen explore the exciting world of game and Web development with one of the best frameworks out there: Babylon.JS. Starting from the beginning, the book introduces the required basics for 3D development and the knowledge you need to use the Babylon.js framework. It focuses on the simplicity provided by Babylon.js and uses a combination of theory and practice. All the chapters are provided with example files ready to run; each example file provides the previously learned features of the framework. Finally, developers will be ready to easily understand new features added to the framework in the future. Style and approach The book is a comprehensive guide packed with ready-to-run examples with a mix of theory and practice.

Unreal Engine 4 AI Programming Essentials
¥63.21
Create responsive and intelligent game AI using Blueprints in Unreal Engine 4 About This Book Understand and apply your Game AI better through various projects such as adding randomness and probability, and introducing movement Configure and debug Game AI logic using multiple methodologies Bridge the gap between your knowledge and Game AI in Unreal Engine 4 Who This Book Is For This book is for programmers and artists who want to expand their knowledge of Game AI in relation to Unreal Engine 4. You are recommended to have some experience of exploring Unreal Engine 4 prior to this book because we jump straight into Game AI. What You Will Learn Understand the fundamental components of Game AI within Unreal Engine 4 Skillfully introduce Game AI within Unreal Engine 4 Configure, customize, and assign Navigation and AI components to your pawn Create, debug, and analyze Game AI behavior Design responsive Game AI using the Behavior Tree methodology Create smart objects designed to interact with AI Utilize advanced AI features within your project to maximize the user experience In Detail Unreal Engine is a powerful game development engine that provides rich functionalities to create 2D and 3D games. It is one of the three big game engines used, alongside Unity and CryEngine. Developers have the opportunity to build cross-platform mobile and desktop games from scratch. With Blueprints in Unreal Engine 4, you’re able to fully leverage the visual aid that Behavior Trees are built on. Rarely has there been an opportunity to prototype powerful Game AI and have immediate control over constructing, *ing, and viewing the response in a live gaming environment. This book will show you how to apply artificial intelligence (AI) techniques to your Unreal Script using C++ as your *ing language through multiple projects. With the knowledge gained through this book, you’ll be able to leverage the benefits of Unreal Engine 4. We’ll start with an introduction to AI, and you’ll learn how it is applied to gaming. Then you’ll jump right in and create a simple AI bot and apply basic behaviors to allow it to move randomly. Furthermore, you will get to know the difference between an AI Controller and a Player Controller. As you progress, you’ll find out how to implement randomness and probability traits. Using Navmesh, we will impart navigation components such as Character Movement, MoveTo Nodes, Settings, and World Objects, and implement behavior trees. You will see different techniques to sense the environment and create your own sensory system, and will implement Steering Behaviors, Path Following, Avoidance, and Projectiles. At the end of the book, we will troubleshoot any issues that might crop up while building the entire game. Style and approach This easy-to-follow project-based guide throws you directly into the excitement of Game AI in an approachable and comprehensive manner.

Creating Dynamic UIs with Android Fragments - Second Edition
¥54.49
Create engaging apps with fragments to provide a rich user interface that dynamically adapts to the individual characteristics of your customers’ tablets and smartphones About This Book From an eminent author comes a book that will help you create engaging apps that dynamically adapt to individual device characteristics The only book that includes the latest fragment-oriented features and their role in Material design This book provides code-intensive discussions and detailed examples that help you understand better and learn faster. Who This Book Is For This book is for developers with a basic understanding of Android programming who would like to improve the appearance and usability of their applications by creating a more interactive user experience and dynamically adaptive UIs; providing better support for tablets and smartphones in a single app; and reducing the complexity of managing app UIs. What You Will Learn Learn the role and capabilities of fragments Use Android Studio's fragment-oriented features Create an app UI that works effectively on smartphones and tablets Manage the creation and life cycle of fragments Dynamically manage fragments using the FragmentTransaction class Learn the application design for communicating between fragments Leverage fragments when implementing applications that take advantage of the latest features of Material Design In Detail Today’s users expect mobile apps to be dynamic and highly interactive, with rich navigation features. These same apps must look fantastic whether running on a medium-resolution smartphone or high-resolution tablet. Fragments provide the toolset we need to meet these user expectations by enabling us to build our applications out of adaptable components that take advantage of the rich capabilities of each individual device and automatically adapt to their differences. This book looks at the impact fragments have on Android UI design and their role in both simplifying many common UI challenges and in providing best practices for incorporating rich UI behaviors. We look closely at the roll of fragment transactions and how to work with the Android back stack. Leveraging this understanding, we explore several specialized fragment-related classes such as ListFragment and DialogFragment. We then go on to discuss how to implement rich navigation features such as swipe-based screen browsing, and the role of fragments when developing applications that take advantage of the latest aspects of Material Design. You will learn everything you need to provide dynamic, multi-screen UIs within a single activity, and the rich UI features demanded by today’s mobile users. Style and approach A fast-paced learning guide that gives a hands-on, code-intensive approach with a focus on real-world applications.

Building a Pentesting Lab for Wireless Networks
¥80.65
Build your own secure enterprise or home penetration testing lab to dig into the various hacking techniques About This Book Design and build an extendable penetration testing lab with wireless access suitable for home and enterprise use Fill the lab with various components and customize them according to your own needs and skill level Secure your lab from unauthorized access and external attacks Who This Book Is For If you are a beginner or a security professional who wishes to learn to build a home or enterprise lab environment where you can safely practice penetration testing techniques and improve your hacking skills, then this book is for you. No prior penetration testing experience is required, as the lab environment is suitable for various skill levels and is used for a wide range of techniques from basic to advance. Whether you are brand new to online learning or you are a seasoned expert, you will be able to set up your own hacking playground depending on your tasks. What You Will Learn Determine your needs and choose the appropriate lab components for them Build a virtual or hardware lab network Imitate an enterprise network and prepare intentionally vulnerable software and services Secure wired and wireless access to your lab Choose a penetration testing framework according to your needs Arm your own wireless hacking platform Get to know the methods to create a strong defense mechanism for your system In Detail Starting with the basics of wireless networking and its associated risks, we will guide you through the stages of creating a penetration testing lab with wireless access and preparing your wireless penetration testing machine. This book will guide you through configuring hardware and virtual network devices, filling the lab network with applications and security solutions, and making it look and work like a real enterprise network. The resulting lab protected with WPA-Enterprise will let you practice most of the attack techniques used in penetration testing projects. Along with a review of penetration testing frameworks, this book is also a detailed manual on preparing a platform for wireless penetration testing. By the end of this book, you will be at the point when you can practice, and research without worrying about your lab environment for every task. Style and approach This is an easy-to-follow guide full of hands-on examples and recipes. Each topic is explained thoroughly and supplies you with the necessary configuration settings. You can pick the recipes you want to follow depending on the task you need to perform.

Learning Grunt
¥54.49
Monitor and automate complex JavaScript tasks and processes by obtaining a practical understanding of Grunt About This Book Gain a solid knowledge of Grunt to achieve better process management by improving consistency, productivity, reliability, and quality of code Install, configure, and use plugins into your project with this hands-on guide This step-by-step tutorial will walk you through practical examples of workflow automation Who This Book Is For If you are a JavaScript developer and want to learn project monitoring and automation using Grunt, then this book is for you. Basic knowledge of Node.js and Angular.js is assumed. However, no previous experience using Grunt.js is required. What You Will Learn Install and configure Grunt and its dependencies such as Node.js and Node Package Manager (NPM) Create a sample application using Angular.JS Configure plugins to perform various tasks that will benefit your project Explore the task-specific methods available through the Grunt API such as configuration, externals, events, and logging Set up tasks to automate the build process of the simple contact application Build, test, and refine a sample project Get general tips, tricks, and troubleshooting strategies to identify and solve common issues in Grunt Advance your knowledge of Grunt with concepts such as configuration variables and test automation In Detail With the increasing focus on task automation, the Grunt task runner is a vast platform that allows you to incorporate automation into your workflows. At the outset, you will learn how to use Node.js and NMP through an example. You will then find out how to build a sample app and the development environment for it. You will further delve into the implementation of Grunt plugins and the configuration of Grunt tasks. Furthermore, you will explore the various methods and packages for workflow automation. The final chapter will cover some advanced concepts, such as configuration variables and how to create a Grunt plugin. By the end of the book, you will have gained the fundamentals of Grunt and progressed through advanced concepts, including building a Grunt plugin. Style and approach This book is an easy-to-follow, step-by-step tutorial that provides explanations and examples of deploying Grunt from scratch.

Hadoop Real-World Solutions Cookbook - Second Edition
¥99.18
Over 90 hands-on recipes to help you learn and master the intricacies of Apache Hadoop 2.X, YARN, Hive, Pig, Oozie, Flume, Sqoop, Apache Spark, and Mahout About This Book Implement outstanding Machine Learning use cases on your own analytics models and processes. Solutions to common problems when working with the Hadoop ecosystem. Step-by-step implementation of end-to-end big data use cases. Who This Book Is For Readers who have a basic knowledge of big data systems and want to advance their knowledge with hands-on recipes. What You Will Learn Installing and maintaining Hadoop 2.X cluster and its ecosystem. Write advanced Map Reduce programs and understand design patterns. Advanced Data Analysis using the Hive, Pig, and Map Reduce programs. Import and export data from various sources using Sqoop and Flume. Data storage in various file formats such as Text, Sequential, Parquet, ORC, and RC Files. Machine learning principles with libraries such as Mahout Batch and Stream data processing using Apache Spark In Detail Big data is the current requirement. Most organizations produce huge amount of data every day. With the arrival of Hadoop-like tools, it has become easier for everyone to solve big data problems with great efficiency and at minimal cost. Grasping Machine Learning techniques will help you greatly in building predictive models and using this data to make the right decisions for your organization. Hadoop Real World Solutions Cookbook gives readers insights into learning and mastering big data via recipes. The book not only clarifies most big data tools in the market but also provides best practices for using them. The book provides recipes that are based on the latest versions of Apache Hadoop 2.X, YARN, Hive, Pig, Sqoop, Flume, Apache Spark, Mahout and many more such ecosystem tools. This real-world-solution cookbook is packed with handy recipes you can apply to your own everyday issues. Each chapter provides in-depth recipes that can be referenced easily. This book provides detailed practices on the latest technologies such as YARN and Apache Spark. Readers will be able to consider themselves as big data experts on completion of this book. This guide is an invaluable tutorial if you are planning to implement a big data warehouse for your business. Style and approach An easy-to-follow guide that walks you through world of big data. Each tool in the Hadoop ecosystem is explained in detail and the recipes are placed in such a manner that readers can implement them sequentially. Plenty of reference links are provided for advanced reading.

Learning VMware App Volumes
¥107.90
Deliver applications to virtual desktop environments in seconds and at scale with the click of a button About This Book Learn how can you deliver a great user experience and drive down storage and management costs Discover hidden gems to deliver applications to virtual desktop environments in seconds This book will help you fully utilize the true potential of VMware App Volumes and design and build a complete production environment Who This Book Is For This book is for administrators and IT teams who would like to take full advantage of App Volumes to deal with application workloads. It will also be useful for virtualization professionals and teams who are working on VDI deployments and VMware end user computing solutions. What You Will Learn Find out how the VMware App Volumes solution can enhance the management and delivery of applications in your desktop environment Design a real-life App Volumes solution using best practices and following the recommended sizing guides Install, configure, and deploy App Volumes so it is ready to start delivering applications Create and prepare applications ready to be delivered to end users Discover how App Volumes can enhance other desktop solutions by looking at how it integrates with VMware Horizon View, VMware ThinApp, RDSH, and Citrix XenDesktop/XenApp Understand how to configure the advanced options within App Volumes In Detail App Volumes provides a virtualized, real-time application delivery engine for virtual desktop infrastructure and is designed to enable VDI deployments to ensure greater flexibility, agility, and cost reduction. This book starts with an in-depth overview of the architecture and components used to design an optimized solution. We then show you how to install and configure App Volumes for different use cases such as VMware View integration, using VMware ThinApp, Citrix XenApp, and more. Throughout the chapters, we provide hints, tips, and tricks as well as best practices. By the end of the book, you will have built a working App Volumes environment and acquired the skills to build and run a production environment. Style and approach This book comprises of the theoretical explanations that will help you perform a complete App Volumes deployment through step-by-step instructions