Microservices, IoT, and AzureThis book provides practical guidance for adopting a high velocity, continuous delivery process to create reliable, scalable, Software-as-a-Service (SaaS) solutions that are designed and built using a microservice architecture, deployed to the Azure cloud, and managed through automation. Microservices, IoT, and Azure offers software developers, architects, and operations engineers' step-by-step directions for building SaaS applications—applications that are available 24x7, work on any device, scale elastically, and are resilient to change--through code, script, exercises, and a working reference implementation.
The book provides a working definition of microservices and contrasts this approach with traditional monolithic Layered Architecture. A fictitious, homebiomedical startup is used to demonstrate microservice architecture and automation capabilities for cross-cutting and business services as well as connected device scenarios for Internet of Things (IoT). ...
     
    
    
    
     
    
    Identity, Authentication, and Access Management in OpenStackKeystone - OpenStack's Identity service - provides secure controlled access to a cloud's resources. In OpenStack environments, Keystone performs many vital functions, such as authenticating users and determining what resources users are authorized to access.
Whether the cloud is private, public, or dedicated, access to cloud resources and security is essential. This practical guide to using Keystone provides detailed, step-by-step guidance to creating a secure cloud environment at the Infrastructure-as-a-Service layer - as well as key practices for safeguarding your cloud's ongoing security. ...
     
    
    
    
     
    
    Python Geospatial Analysis CookbookGeospatial development links your data to places on the Earth's surface. Its analysis is used in almost every industry to answer location type questions. Combined with the power of the Python programming language, which is becoming the de facto spatial scripting choice for developers and analysts worldwide, this technology will help you to solve real-world spatial problems.
This book begins by tackling the installation of the necessary software dependencies and libraries needed to perform spatial analysis with Python. From there, the next logical step is to prepare our data for analysis; we will do this by building up our tool box to deal with data preparation, transformations, and projections. Now that our data is ready for analysis, we will tackle the most common analysis methods for vector and raster data. To check or validate our results, we will explore how to use topology checks to ensure top-quality results. This is followed with network routing analysis focused on constructi ...
     
    
    
    
     
    
    Learning PostgreSQLPostgreSQL is one of the most powerful and easy to use database management systems. It has strong support from the community and is being actively developed with a new release every year. PostgreSQL supports the most advanced features included in SQL standards. Also it provides NoSQL capabilities, and very rich data types and extensions. All that makes PostgreSQL a very attractive solution in various kinds of software systems.
The book starts with the introduction of relational databases with PostegreSQL. It then moves on to covering data definition language (DDL) with emphasis on PostgreSQL and common DDL commands supported by ANSI SQL. You will then learn the data manipulation language (DML), and advanced topics like locking and multi version concurrency control (MVCC). This will give you a very robust background to tune and troubleshoot your application. The book then covers the implementation of data models in the database such as creating tables, setting up integrity constraint ...
     
    
    
    
     
    
    JavaScript ConcurrencyConcurrent 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 experienc ...
     
    
    
    
     
    
    Building an FPS Game with UnityUnity, available in free and pro versions, is one of the most popular third-party game engines available. It is a cross-platform game engine, making it easy to write your game once and then port it to PC, consoles, and even the web, making it a great choice for both indie and AAA developers.
Building an FPS Game in Unity takes readers on an exploration of how to use Unity to create a 3D first person shooter (FPS) title, leveraging the powerful UFPS framework by VisionPunk and Prototype/ProBuilder 2.0 by ProCore3D.
After some setting up, you will start by learning how to create custom weapons, prototype levels, create exterior and interior environments, and breathe life into our levels. We will then add polish to the levels. Finally, we will create a custom GUI and menus for our title to create a complete package. ...
     
    
    
    
     
    
    Raspberry Pi Robotic BlueprintsThe Raspberry Pi is a series of credit card-sized single-board computers developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools. The Raspberry Pi is known as a tiny computer built on a single circuit board. It runs a Linux operating system, and has connection ports for various peripherals so that it can be hooked up to sensors, motors, cameras, and more. Raspberry Pi has been hugely popular among hardware hobbyists for various projects, including robotics.
This book gives you an insight into implementing several creative projects using the peripherals provided by Raspberry Pi. To start, we'll walk through the basic robotics concepts that the world of Raspberry Pi offers us, implementing wireless communication to control your robot from a distance. Next, we demonstrate how to build a sensible and a visionary robot, maximizing the use of sensors and step controllers. After that, we focus on building a wheele ...
     
    
    
    
     
    
    Getting MEAN with Mongo, Express, Angular, and NodeTraditional web dev stacks use a different programming language in every layer, resulting in a complex mashup of code and frameworks. Together, the MongoDB database, the Express and AngularJS frameworks, and Node.js constitute the MEAN stack—a powerful platform that uses only one language, top to bottom: JavaScript. Developers and businesses love it because it's scalable and cost-effective. End users love it because the apps created with it are fast and responsive. It's a win-win-win!
Getting MEAN teaches you how to develop web applications using the MEAN stack. First, you'll create the skeleton of a static site in Express and Node, and then push it up to a live web server. Next, add a MongoDB database and build an API before using Angular to handle data manipulation and application logic in the browser. Finally you'll add an authentication system to the application, using the whole stack. When you finish, you'll have all the skills you need to build a dynamic data-driven web appl ...
     
    
    
    
     
    
    Selenium Testing Tools Cookbook, 2nd EditionThis book is an incremental guide that will help you learn and use the advanced features of the Selenium toolset including the WebDriver API in various situations to build a reliable test automation. You start off by setting up the test development environment and gain tips on the advanced locater strategy and the effective use of the Selenium WebDriver API.
After that, the use of design patterns such as data - driven tests and PageFactory are demonstrated. You will then be familiarised with extending Selenium WebDriver API by implementing custom tasks and setting up your own distributed environment to run tests in parallel for cross-browser testing.
Finally, we give you some tips on integrating Selenium WebDriver with other popular tools and testing mobile applications. By the end of this book, you will have learned enough to solve complex testing issues on your own. ...
     
    
    
    
     
    
    Android Studio Game DevelopmentThis short book walks you through the process of creating mobile games using the new Android Studio IDE. Android Studio Game Development introduces you to the key tools in Android Studio and gives you the knowledge you need to develop games in Android Studio.
This book takes you from installing Android Studio, through exploring the IDE to creating a new project and setting up GitHub as a VCS. You'll then be well equipped to tackle the game-development topics that make up the rest of the book. You'll learn about OpenGL ES and how to deal with polygons, before mastering image loading and sprite sheets.
The final three chapters cover topics vital to successful game development: interactivity. You'll gain skills in reading user input, responding to that input with in-game movement, and detecting collisions. ...