Algorithms in a Nutshell, 2nd EditionCreating robust software requires the use of efficient algorithms, but programmers seldom think about them until a problem occurs. This updated edition of Algorithms in a Nutshell describes a large number of existing algorithms for solving a variety of problems, and helps you select and implement the right algorithm for your needs - with just enough math to let you understand and analyze algorithm performance.
With its focus on application, rather than theory, this book provides efficient code solutions in several programming languages that you can easily adapt to a specific project. Each major algorithm is presented in the style of a design pattern that includes information to help you understand why and when the algorithm is appropriate. ...
Optimized C++In today's fast and competitive world, a program's performance is just as important to customers as the features it provides. This practical guide teaches developers performance-tuning principles that enable optimization in C++. You'll learn how to make code that already embodies best practices of C++ design run faster and consume fewer resources on any computer - whether it's a watch, phone, workstation, supercomputer, or globe-spanning network of servers.
Author Kurt Guntheroth provides several running examples that demonstrate how to apply these principles incrementally to improve existing code so it meets customer requirements for responsiveness and throughput. The advice in this book will prove itself the first time you hear a colleague exclaim, "Wow, that was fast. Who fixed something?" ...
Python PlaygroundPython is a powerful programming language that's easy to learn and fun to play with. But once you've gotten a handle on the basics, what do you do next?
Python Playground is a collection of imaginative programming projects that will inspire you to use Python to make art and music, build simulations of real-world phenomena, and interact with hardware like the Arduino and Raspberry Pi. You'll learn to use common Python tools and libraries like numpy, matplotlib, and pygame to do things like.
Programming shouldn't be a chore. Have some solid, geeky fun with Python Playground. ...
Java Programming 24-Hour Trainer, 2nd EditionJava Programming 24-Hour Trainer, 2nd Edition is your complete beginner's guide to the Java programming language, with easy-to-follow lessons and supplemental exercises that help you get up and running quickly. Step-by-step instruction walks you through the basics of object-oriented programming, syntax, interfaces, and more, before building upon your skills to develop games, web apps, networks, and automations. This second edition has been updated to align with Java SE 8 and Java EE 7, and includes new information on GUI basics, lambda expressions, streaming API, WebSockets, and Gradle. Even if you have no programming experience at all, the more than six hours of Java programming screencasts will demonstrate major concepts and procedures in a way that facilitates learning and promotes a better understanding of the development process.
This is your quick and painless guide to mastering Java, whether you're starting from scratch or just looking to expand your skill set. ...
C# 24-Hour Trainer, 2nd EditionC# 24-Hour Trainer, 2nd Edition is your quick and easy guide to programming in C#, even if you have no programming experience at all. Updated to align with the latest C# standard, this book is your comprehensive beginner's guide, with each lesson supplemented by a video, for over ten hours of video training. Each chapter focuses on a specific concept or technique, with detailed, easy-to-follow explanation followed by a hands-on exercise. The goals of each exercise are outlined in advance to help you understand what you're working toward, and step-by-step instructions walk you through the operation from start to finish. Complex areas are clarified with specifically highlighted pointers that head off confusion, and additional exercises are provided so you can practice your new skills. Full instructor ancillaries are included to make this guide classroom ready, and the author's own website offers ongoing support.
C# has become one of the most popular programming languages in the world, ...
Beginning ASP.NET for Visual Studio 2015Beginning ASP.NET for Visual Studio 2015 is your ultimate guide to the latest upgrade of this historically popular framework. Fully updated to align with the vNext release, this new edition walks you through the new tools and features that make your workflow smoother and your applications stronger. You'll get up to speed on the productivity and performance improvements, and learn how Microsoft has committed itself to more continuous innovation by increasing its release cadence for all products and services going forward. Coverage includes Async-aware debugging, ADO.NET idle connection resiliency, managed return value inspection, ASP.NET app suspension, on-demand large object heap compaction, multi-core JIT and more.
The news of an off-cycle update to ASP.NET came as a surprise, but its announcement garnered cheers at the 2014 Microsoft BUILD conference. This guide shows you what all the fuss is about, and how Microsoft overhauled the latest ASP.NET release. ...
Reliable JavaScriptReliable JavaScript demonstrates how to create test-driven development for large-scale JavaScript applications that will stand the test of time and stay accurate through long-term use and maintenance. Taking a test-first approach to software architecture, this book walks you through several patterns and practices and explains what they are supposed to do by having you write unit tests. Write the code to pass the unit tests, so you not only develop your technique for structuring large-scale applications, but you also learn how to test your work. You'll come away with hands-on practice that results in code that is correct from the start, and has the test coverage to ensure that it stays correct during subsequent maintenance. All code is provided both in the text and on the web, so you can immediately get started designing more complete, robust applications.
JavaScript has graduated from field-validation scripts to full-scale applications, but many developers still approach their work ...
Agile Performance ImprovementAgile Performance Improvement demonstrates the mutual benefits that accrue to the worlds of performance consulting and agile software development when the values and principles of both are blended synergistically under the guidance of practitioners skilled in both. The agile performance improvement model blends the principles of human performance technology with the frameworks and practices of Agile. The result is an approach that maximizes the value of interactions among the consultant, the work team, and the customer. Unlike traditional end-to-end waterfall processes, agile performance improvement delivers value continuously and in small increments, relentlessly focusing on outcomes of value to the customer. Building on structures of Agile that are used in software development, such as Scrum, the agile performance improvement model considers the human component of holistic solutions in establishing a continuous stream of value. ...
Building a Home Security System with Raspberry PiThe Raspberry Pi is a powerful low-cost credit-card-sized computer, which lends itself perfectly as the controller for a sophisticated home security system. Using the on-board interfaces available, the Raspberry Pi can be expanded to allow the connection of a virtually infinite number of security sensors and devices. The Raspberry Pi has the processing power and interfaces available to build a sophisticated home security system but at a fraction of the cost of commercially available systems.
Building a Home Security System with Raspberry Pi starts off by showing you the Raspberry Pi and how to set up the Linux-based operating system. It then guides you through connecting switch sensors and LEDs to the native GPIO connector safely, and how to access them using simple Bash scripts. As you dive further in, you'll learn how to build an input/output expansion board using the I2C interface and power supply, allowing the connection of the large number of sensors needed for a typical home s ...
Learning VMware App VolumesApp Volumes provides a virtualized, real-time application delivery engine for virtual desktop infrastructure and is designed to enable VDI deployments to ensure greater flexibility, agility, and cost reduction.
This book starts with an in-depth overview of the architecture and components used to design an optimized solution. We then show you how to install and configure App Volumes for different use cases such as VMware View integration, using VMware ThinApp, Citrix XenApp, and more.
Throughout the chapters, we provide hints, tips, and tricks as well as best practices. By the end of the book, you will have built a working App Volumes environment and acquired the skills to build and run a production environment. ...