Elasticsearch in ActionModern search seems like magic—you type a few words and the search engine appears to know what you want. With the Elasticsearch real-time search and analytics engine, you can give your users this magical experience without having to do complex low-level programming or understand advanced data science algorithms. You just install it, tweak it, and get on with your work.
Elasticsearch in Action teaches you how to write applications that deliver professional quality search. As you read, you'll learn to add basic search features to any application, enhance search results with predictive analysis and relevancy ranking, and use saved data from prior searches to give users a custom experience. This practical book focuses on Elasticsearch's REST API via HTTP. Code snippets are written mostly in bash using cURL, so they're easily translatable to other languages. ...
Digital Electronics for MusiciansDigital Electronics for Musicians is the perfect book for musicians who want to dive into the world of computer music and physical computing. This book is aimed at adventurous musicians who want to learn about music programming with Arduino, sensors, and Pure Data, and how to make new interfaces and even new instruments with that knowledge.
You'll learn the basics of the Pure Data and Arduino languages, how to incorporate sensors into your musical projects, and how to use embedded computers, like the Raspberry Pi, to create stand-alone projects. Along the way, you'll learn how to create a variety of innovative (Mark, Michelle, I guess they are innovative, but not 100% sure) musical projects, including an interactive bow for stringed instruments, a MIDI clavier synthesizer, an interactive drum set, a patch-bay matrix synthesizer, a guitar looper, and even a DIY theremin. ...
Learn to Program with CLearn the fundamental programming principles using C, one of the most widely used programming languages in the world today. Learn to Program with C teaches computer programming to the complete beginner using the native C language. As such, it assumes you have no knowledge whatsoever about programming.
We discuss only those features and statements in C that are necessary to achieve our goal. Once you learn the principles well, they can be applied to any language. If you are worried that you are not good at high-school mathematics, don't be. It is a myth that you must be good at mathematics to learn programming.
C is considered a ‘modern' language even though its roots date back to the 1970s. Originally, C was designed for writing ‘systems' programs—things like operating systems, editors, compilers, assemblers and input/output utility programs. But, today, C is used for writing all kinds of applications as well—word processing programs, spreadsheet programs, database manage ...
Mastering Swift 2At their Worldwide Developer's conference (WWDC) in 2015, Apple announced Swift 2, a major update to the innovative programming language they first unveiled to the world the year before. Swift 2 features exciting enhancements to the original iteration of Swift, acting, as Apple put it themselves as “a successor to the C and Objective-C languages.” – This book demonstrates how to get the most from these new features, and gives you the skills and knowledge you need to develop dynamic iOS and OS X applications.
Learn how to harness the newest features of Swift 2 todevelop advanced applications on a wide range of platforms with this cutting-edge development guide. Exploring and demonstrating how to tackle advanced topics such as Objective-C interoperability, ARC, closures, and concurrency, you'll develop your Swift expertise and become even more fluent in this vital and innovative language. With examples that demonstrate how to put the concepts into practice, and design patterns a ...
Beginning PhoneGapPhoneGap is a growing and leading open-source mobile web apps development framework that lets developers build JavaScript and HTML5-based web applications with native wrappers for more than six mobile platforms, including iOS, Android, and BlackBerry. This framework lets you build HTML- and JavaScript-based apps and still take advantage of native mobile device capabilities like camera, localStorage, geolocation, storage and much more, irrespective of the mobile platform you target. It also lets you use more specialized JavaScript frameworks like jQuery Mobile and more.
Beginning PhoneGap is a definitive, one-of-a-kind book that teaches the fundamentals and strategies behind cross-platform mobile application development. Instead of learning languages like Objective-C, focus on building apps from day one for Android, iOS, Blackberry, WebOS and Symbian - without the complexities of these platforms. ...
C# 5 First LookC# is a wonderfully expressive and powerful language that lets you focus on your application rather than low level boilerplate. Over the last decade, the C# compiler has evolved to include many features from dynamic and functional languages, all while remaining statically typed. Most recently, it also tackles the proliferation of concurrent hardware with new asynchronous programming features. ...
Event-Based ProgrammingLanguages like C#, VB .NET, and Delphi include built-in support for events, and these events become very powerful when they connect the objects and components of a system. Events make it possible for such parts to interact without any coupling. And the resulting parts can be developed and tested individuallywhich keeps the code clean and simple.
Component-based development (CBD) is an extension of object-oriented programming. CBD does away with the language and vendor-specific limitations of OOP, makes software reuse more practical and accelerates the development process. ...
Introducing SQLite for Mobile DevelopersThis brief book is a basic introduction to SQLite for iOS and Android developers. The book includes a simple introduction to SQL, a discussion of when to use SQLite, and chapters devoted to using SQLite with the most likely programming languages: Java, PHP, Swift and Objective-C. It then goes through adding simple database functionality to an Android or iOS app and finally a chapter on managing the app's life cycle.
This book is for Android or iOS developers who wish to use a lightweight but flexible database for their applications. It assumes mobile development experience but does not assume any database knowledge. ...
Program Arcade Games, 4th EditionLearn and use Python and PyGame to design and build cool arcade games. In Program Arcade Games: With Python and PyGame, 4th Edition, Dr. Paul Vincent Craven teaches you how to create fun and simple quiz games; integrate and start using graphics; animate graphics; integrate and use game controllers; add sound and bit-mapped graphics; and build grid-based games.
After reading and using this book, you'll be able to learn to program and build simple arcade game applications using one of today's most popular programming languages, Python. You can even deploy onto Steam and other Linux-based game systems as well as Android, one of today's most popular mobile and tablet platforms. ...
JavaScript Object ProgrammingThis brief book explains the advantages of the object model, inheritance, both classical and prototypical, and shows how these concepts can be implemented in JavaScript. It also shows how object programming (OP) opens a new world of design possibilities that go far beyond inheritance.
This book will help the intermediate JavaScript programmer learn to use both types of inheritance. For classical inheritance, it is accompanied by a substantial online system (a windowing UI library) that shows classical inheritance at its best. The same system shows how OP "capabilities" can eliminate much of the need for inheritance.
For experienced JavaScript programmers, this book shows why most of the old views of JavaScript's inheritance have not done it justice. JavaScript classes inherit from JavaScript's prototypes, a fact that makes JavaScript's prototypes, when used correctly, functional equivalents to C++ classes.
JavaScript's object programming (not inheritance) is what sep ...