Raspberry Pi Computer Architecture EssentialsWith the release of the Raspberry Pi 2, a new series of the popular compact computer is available for you to build cheap, exciting projects and learn about programming.
In this book, we explore Raspberry Pi 2's hardware through a number of projects in a variety of programming languages. We will start by exploring the various hardware components in detail, which will provide a base for the programming projects and guide you through setting up the tools for Assembler, C/C++, and Python. We will then learn how to write multi-threaded applications and Raspberry Pi 2's multi-core processor. Moving on, you'll get hands on by expanding the storage options of the Raspberry Pi beyond the SD card and interacting with the graphics hardware. Furthermore, you will be introduced to the basics of sound programming while expanding upon your knowledge of Python to build a web server. Finally, you will learn to interact with the third-party microcontrollers.
From writing your first Assembly Langua ...
Creating Dynamic UIs with Android Fragments, 2nd EditionToday'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, ...
Scala High Performance ProgrammingScala is a statically and strongly typed language that blends functional and object-oriented paradigms. It has experienced growing popularity as an appealing and pragmatic choice to write production-ready software in the functional paradigm. Scala and the functional programming paradigm enable you to solve problems with less code and lower maintenance costs than the alternatives. However, these gains can come at the cost of performance if you are not careful.
Scala High Performance Programming arms you with the knowledge you need to create performant Scala applications. Starting with the basics of understanding how to define performance, we explore Scala's language features and functional programming techniques while keeping a close eye on performance throughout all the topics.
We introduce you as the newest software engineer at a fictitious financial trading company, named MV Trading. As you learn new techniques and approaches to reduce latency and improve throughput, you'll app ...
Learning Network Programming with JavaNetwork-aware applications are becoming more prevalent and play an ever-increasing role in the world today. Connecting and using an Internet-based service is a frequent requirement for many applications. Java provides numerous classes that have evolved over the years to meet evolving network needs. These range from low-level socket and IP-based approaches to those encapsulated in software services.
This book explores how Java supports networks, starting with the basics and then advancing to more complex topics. An overview of each relevant network technology is presented followed by detailed examples of how to use Java to support these technologies.
We start with the basics of networking and then explore how Java supports the development of client/server and peer-to-peer applications. The NIO packages are examined as well as multitasking and how network applications can address practical issues such as security. ...
Learning Google Apps ScriptGoogle Apps Script is a cloud-based scripting language based on JavaScript to customize and automate Google applications.
Apps Script makes it easy to create and publish add-ons in an online store for Google Sheets, Docs, and Forms.
It serves as one single platform to build, code, and ultimately share your App on the Web store.
This book begins by covering the basics of the Google application platform and goes on to empower you to automate most of the Google applications.
You will learn the concepts of creating a menu, sending mails, building interactive web pages, and implementing all these techniques to develop an interactive Web page as a form to submit sheets.
You will be guided through all these tasks with plenty of screenshots and code snippets that will ensure your success in customizing and automating various Google applications.
This guide is an invaluable tutorial for beginners who intend to develop the skills to automate and customize Google applications. ...
Genetic Programming Theory and Practice XThese contributions, written by the foremost international researchers and practitioners of Genetic Programming (GP), explore the synergy between theoretical and empirical results on real-world problems, producing a comprehensive view of the state of the art in GP.
Topics in this volume include: evolutionary constraints, relaxation of selection mechanisms, diversity preservation strategies, flexing fitness evaluation, evolution in dynamic environments, multi-objective and multi-modal selection, foundations of evolvability, evolvable and adaptive evolutionary operators, foundation of injecting expert knowledge in evolutionary search, analysis of problem difficulty and required GP algorithm complexity, foundations in running GP on the cloud – communication, cooperation, flexible implementation, and ensemble methods. ...
C# DeconstructedC# Deconstructed answers a seemingly simply question: Just what is going on, exactly, when you run C# code on the .NET Framework?
To answer this question we will dig ever deeper into the structure of the C# language and the onion-skin abstraction layers of the .NET Framework that underpins it. We'll follow the execution thread downwards, first to MSIL (Microsoft Intermediate Language) then down through just-in-time compilation into Machine Code before finally seeing the results executed at the hardware level.
The aim of this deep-dive is to provide you with a much more rounded knowledge of the environment within which you code exists. As a managed language, it's best-practice to let the Framework deal with device interaction but you'll find the experience of taking the cover off once in a while a very rewarding one that will greatly enrich your appreciate of the C# language and the way in which in functions. ...
SQL Server Query Performance Tuning, 4th EditionQueries not running fast enough? Wondering about the in-memory database features in 2014? Tired of phone calls from frustrated users? Grant Fritchey's book SQL Server Query Performance Tuning is the answer to your SQL Server query performance problems. The book is revised to cover the very latest in performance optimization features and techniques, especially including the newly-added, in-memory database features formerly known under the code name Project Hekaton. This book provides the tools you need to approach your queries with performance in mind. ...
Agent-Oriented Software Engineering XIIIThis book constitutes the thoroughly refereed post-proceedings of the 13th Agent-Oriented Software Engineering (AOSE) workshop, held at the 11th International Conference on Autonomous Agents and Multiagent Systems, AAMAS 2012, in Valencia, Spain, in June 2012. This volume presents 9 thoroughly revised papers selected from 24 submissions as well as two invited articles by leading researchers in the field. The papers cover a broad range of topics related to software engineering of agent-based systems, with particular attention to the integration of concepts and techniques from multi-agent systems with recent programming languages, platforms, and established software engineering methodologies. ...
Learn Java for Android Development, 3rd EditionLearn Java for Android Development, Third Edition, is an update of a strong selling book that now includes a primer on Android app development (in Chapter 1 and Appendix C, which is distributed in the book's code archive). This book teaches programmers the essential Java language skills necessary for effectively picking up and using the new Android SDK platform to build mobile, embedded, and even PC apps, especially game apps.
Android development is hot, and many programmers are interested in joining the fun. However, because this technology is based on Java, you should first obtain a solid grasp of the Java language and its APIs in order to improve your chances of succeeding as an effective Android app developer. This book helps you do that. ...