||Raspberry Pi Cookbook, 2nd Edition|
With millions of new users and several new models, the Raspberry Pi ecosystem continues to expand - along with a lot of new questions about the Pi's capabilities. The second edition of this popular cookbook provides more than 240 hands-on recipes for running this tiny low-cost computer with Linux, programming it with Python, and hooking up sensors, motors, and other hardware - including Arduino and the Internet of Things.
Prolific hacker and author Simon Monk also teaches basic principles to help you use new technologies with Raspberry Pi as its ecosystem continues to develop. This cookbook is ideal for programmers and hobbyists familiar with the Pi through resources, including Getting Started with Raspberry Pi. Python and other code examples from the book are available on GitHub. ...
This book will teach you how to use RSpec to write high-value tests for real-world code. We start with the key concepts of the unit and testability, followed by hands-on exploration of key features. From the beginning, we learn how to integrate tests into the overall development process to help create high-quality code, avoiding the dangers of testing for its own sake.
The code examples are detailed enough to be realistic while simple enough to be easily understood. Testing concepts, development methodologies, and engineering tradeoffs are discussed in detail as they arise. This approach is designed to foster the rea ...
||Building Maintainable Software, Java Edition|
Have you ever felt frustrated working with someone else's code? Difficult-to-maintain source code is a big problem in software development today, leading to costly delays and defects. Be part of the solution. With this practical book, you'll learn 10 easy-to-follow guidelines for delivering Java software that's easy to maintain and adapt. These guidelines have been derived from analyzing hundreds of real-world systems.
Written by consultants from the Software Improvement Group (SIG), this book provides clear and concise explanations, with advice for turning the guidelines into practice. Examples for this edition are written in Java, while our companion C# book provides workable examples in that language. ...
||Learning NServiceBus, 2nd Edition|
Building complex software systems is hard, but it doesn't have to be! NServiceBus is a powerful, yet lightweight, open source messaging framework used to design distributed .NET enterprise systems. Entirely pluggable, yet simple to use, it can help you apply the principles of messaging and SOA to build robust, scalable, and maintainable systems.
This book is an essential guide that will help you become a messaging guru. From sending a simple message, to publishing events, to implementing complex long-running business processes, you'll learn everything you need to know to start building complex software systems in no time. ...
D is a modern programming language that is both powerful and efficient. It combines multiple paradigms in a way that opens up a whole new world of software design. It is used to develop both desktop and web applications, with future targets including mobile, and is available on multiple platforms. It is familiar to anyone with some experience in one or more of the C-family languages. However, hidden in the similarities are several differences that can be surprising when trying to apply common idioms from other languages. When learning D on your own, this can make it more time-consuming to master. In order to make the most of the language and become an idiomatic D programmer, it's necessary to learn how to think in D.
This book familiarizes you with D from the ground up, with a heavy focus on helping you to avoid surprises so that you can take your D knowledge to the next level more quickly and painlessly. ...
This book presents the latest research on the software crowdsourcing approach to develop large and complex software in a cloud-based platform. It develops the fundamental principles, management organization and processes, and a cloud-based infrastructure to support this new software development approach. The book examines a variety of issues in software crowdsourcing processes, including software quality, costs, diversity of solutions, and the competitive nature of crowdsourcing processes. Furthermore, the book outlines a research roadmap of this emerging field, including all the key technology and management issues for the foreseeable future. Crowdsourcing, as demonstrated by Wikipedia and Facebook for online web applications, has shown promising results for a variety of applications, including healthcare, business, gold mining exploration, education, and software development. Software crowdsourcing is emerging as a promising solution t ...
||Building Great Software Engineering Teams|
Building Great Software Engineering Teams provides engineering leaders, startup founders, and CTOs concrete, industry-proven guidance and techniques for recruiting, hiring, and managing software engineers in a fast-paced, competitive environment.
With so much at stake, the challenge of scaling up a team can be intimidating. Engineering leaders in growing companies of all sizes need to know how to find great candidates, create effective interviewing and hiring processes, bring out the best in people and their work, provide meaningful career development, learn to spot warning signs in their team, and manage their people for long-term success. ...
||Building a Game with Unity and Blender|
In the wake of the indie game development scene, game development tools are no longer luxury items costing up to millions of dollars but are now affordable by smaller teams or even individual developers. Among these cutting-edge applications, Blender and Unity stand out from the crowd as a powerful combination that allows small-to-no budget indie developers or hobbyists alike to develop games that they have always dreamt of creating.
Starting from the beginning, this book will cover designing the game concept, constructing the gameplay, creating the characters and environment, implementing game logic and basic artificial intelligence, and finally deploying the game for others to play. By sequentially working through the steps in each chapter, you will quickly master the skills required to develop your dream game from scratch. ...
BeagleBone is an inexpensive web server, Linux desktop, and electronics hub that includes all the tools you need to create your own projects - whether it's robotics, gaming, drones, or software-defined radio. If you're new to BeagleBone Black, or want to explore more of its capabilities, this cookbook provides scores of recipes for connecting and talking to the physical world with this credit-card-sized computer.
All you need is minimal familiarity with computer programming and electronics. Each recipe includes clear and simple wiring diagrams and example code to get you started. If you don't know what BeagleBone Black is, you might decide to get one after scanning these recipes. ...
The goal of this book is to describe new concepts for Internet next generation. This architecture is based on virtual networking using Cloud and datacenters facilities. Main problems concern 1) the placement of virtual resources for opening a new network on the fly, and 2) the urbanisation of virtual resource implemented on physical network equipment. This architecture deals with mechanisms capable of controlling automatically the placement of all virtual resources within the physical network.
In this book, we describe how to create and delete virtual networks on the fly. Indeed, the system is able to create any new network with any kind of resource. We will show how this architecture is compatible with new advances in SDN, new high-speed transport protocol like TRILL and LISP, NGN, IMS, Wi-Fi new generation, and 4G/5G networks. Finally, we introduce the Cloud of security and the virtualisation of secure elements (smartcard) that should definitely transform how to secure the Interne ...
||The Nature of Software Development|
You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. ...