Elasticsearch IndexingBeginning with an overview of the way ElasticSearch stores data, you'll begin to extend your knowledge to tackle indexing and mapping, and learn how to configure ElasticSearch to meet your users' needs. You'll then find out how to use analysis and analyzers for greater intelligence in how you organize and pull up search results – to guarantee that every search query is met with the relevant results! You'll explore the anatomy of an ElasticSearch cluster, and learn how to set up configurations that give you optimum availability as well as scalability. Once you've learned how these elements work, you'll find real-world solutions to help you improve indexing performance, as well as tips and guidance on safety so you can back up and restore data. Once you've learned each component outlined throughout, you will be confident that you can help to deliver an improved search experience – exactly what modern users demand and expect. ...
Elementary Number Theory with ProgrammingBridging an existing gap between mathematics and programming, Elementary Number Theory with Programming provides a unique introduction to elementary number theory with fundamental coverage of computer programming. Written by highly-qualified experts in the fields of computer science and mathematics, the book features accessible coverage for readers with various levels of experience and explores number theory in the context of programming without relying on advanced prerequisite knowledge and concepts in either area.
Elementary Number Theory with Programming features comprehensive coverage of the methodology and applications of the most well-known theorems, problems, and concepts in number theory. Using standard mathematical applications within the programming field, the book presents modular arithmetic and prime decomposition, which are the basis of the public-private key system of cryptography. ...
Beginning Android Programming with Android Studio, 4th EditionAs the dominant mobile platform today, the Android OS is a powerful and flexible platform for mobile device. The new Android 7 release (New York Cheesecake) boasts significant new features and enhancements for both smartphone and tablet applications. This step-by-step resource takes a hands-on approach to teaching you how to create Android applications for the latest OS and the newest devices, including both smartphones and tablets.
Shows you how to install, get started with, and use Android Studio 2 - the simplest Android developer tool ever for beginners; Addresses how to display notifications, create rich user interfaces, and use activities and intents; Reviews mastering views and menus and managing data; Discusses working with SMS; Looks at packaging and publishing applications to the Android market.
Beginning Android Programming with Android Studio starts with the basics and goes on to provide you with everything you need to know to begin to successfully develop your own And ...
Fast Data Processing with Spark, 2nd EditionSpark is a framework used for writing fast, distributed programs. Spark solves similar problems as Hadoop MapReduce does, but with a fast in-memory approach and a clean functional style API. With its ability to integrate with Hadoop and built-in tools for interactive query analysis (Spark SQL), large-scale graph processing and analysis (GraphX), and real-time analysis (Spark Streaming), it can be interactively used to quickly process and query big datasets.
Fast Data Processing with Spark - Second Edition covers how to write distributed programs with Spark. The book will guide you through every step required to write effective distributed programs from setting up your cluster and interactively exploring the API to developing analytics applications and tuning them for your purposes. ...
FreeSWITCH 1.6 CookbookFreeSWITCH is an open source carrier-grade telephony platform designed to facilitate the creation of voice, chat, and video applications, via phones and web browsers. It is scalable, carrier-ready, and easy-to-program for converged communication and VoIP. The technology serves SIP, WebRTC, PSTN, FAX, PBX, VERTO, and all the relevant channels essential to stay connected in today's world.
In the FreeSWITCH 1.6 Cookbook, members of the FreeSWITCH development team share some of their hard-earned knowledge with you. Use this knowledge to improve and expand your FreeSWITCH installations. ...
Getting Started with React NativeReact Native is a game-changing approach to hybrid mobile development. Web developers can leverage their existing skills to write mobile applications in JavaScript that are truly native without using cross-compilation or web views. These applications have all of the advantages of those written in Objective-C or Java, combined with the rapid development cycle that JavaScript developers are accustomed to.
Web developers who want to develop native mobile applications face a high barrier to entry, because they are forced to learn platform-specific languages and frameworks. Numerous hybrid technologies have tried to simplify this process, but have failed to achieve the performance and appearance that users expect.
This book will show you all the advantages of true native development that React Native has without the steep learning curve, leveraging the knowledge you already have. We do this by getting you up and running quickly with a sample application. Next, we'll introduce you to t ...
Go in ActionApplication development can be tricky enough even when you aren't dealing with complex systems programming problems like web-scale concurrency and real-time performance. While it's possible to solve these common issues with additional tools and frameworks, Go handles them right out of the box, making for a more natural and productive coding experience. Developed at Google, Go powers nimble startups as well as big enterprises—companies that rely on high-performing services in their infrastructure.
Go in Action is for any intermediate-level developer who has experience with other programming languages and wants a jump-start in learning Go or a more thorough understanding of the language and its internals. This book provides an intensive, comprehensive, and idiomatic view of Go. It focuses on the specification and implementation of the language, including topics like language syntax, Go's type system, concurrency, channels, and testing. ...
Gradle for AndroidGradle is an open source build automation system that introduces a Groovy-based domain-specific language (DSL) to configure projects. Using Gradle makes it easy for Android developers to manage dependencies and set up the entire build process.
This book begins by taking you through the basics of Gradle and how it works with Android Studio. Furthermore, you will learn how to add local and remote dependencies to your project. You will work with build variants, such as debug and release, paid and free, and even combinations of these things. The book will also help you set up unit and integration testing with different libraries and will show how Gradle and Android Studio can make running tests easier. Finally, you will be shown a number of tips and tricks on the advanced customization of your application's build process. By the end of this book, you will be able to customize the entire build process, and create your own tasks and plugins for your Gradle builds. ...
Hardening Azure ApplicationsLearn what it takes to build large scale, mission critical applications -hardened applications- on the Azure cloud platform.
This 208 page book covers the techniques and engineering principles that every architect and developer needs to know to harden their Azure/.NET applications to ensure maximum reliability and high availability when deployed at scale. While the techniques are implemented in .NET and optimized for Azure, the principles here will also be valuable for users of other cloud-based development platforms.
Applications come in a variety of forms, from simple apps that can be built and deployed in hours to mega-scale apps that need significantly higher engineering rigor and robust organizations to deliver them. How do you build such massively scalable applications to keep pace with traffic demands while always being ‘online' with five 9's availability? ...
JIRA Agile EssentialsJIRA Agile is a plugin that adds agile project management to any JIRA project. It allows you to visualize your existing process and stimulate incremental improvement. JIRA Agile brings the power of agile methodology to Atlassian JIRA.
With JIRA Agile Essentials you will dive straight into the action, exploring critical agile terminologies and concepts in the context of JIRA Agile. Learn to install and run JIRA Agile, and set it up to run with Scrum and Kanban. Collaborate with your colleagues to define requirements, create user stories, and manage and plan sprints based on the availability of your members. Create reports and share your project progress with other stakeholders.
With this practical guide, you will develop a great working knowledge of JIRA Agile and make your project management much more efficient. ...