Code with the Wisdom of the Crowd
Mob Programming is a natural extension of the popular Pair Programming concept and is not restricted to a specific programming language or technology. It can be used by anyone who develops software, including dev leads, software developers, and agile coaches. When you have more people working on a bug or feature, you get fewer dependencies on individuals and overall increased learning for everyone involved. With more eyes on the code, you'll find you develop better solutions with fewer defects.
Set up your team for success by introducing Mob Programming in a way that benefits them. Create a good first Mobbing experience for your team with a template that avoids the common traps beginners may fall into. Master a collaborative and empathic mindset to help optimize the Mobbing experience. Learn how to make adjustments when things go wrong. Adapt your mobbing to different types of development tasks. Get management buy-in for your Mobbing experiment by demonstrating the benefits. Discove ...
3D Game Programming for Kids, 2nd Edition
Jump right in! Start programming cool stuff on page 1. Keep building new and different things until the very last page. This book wants you to play. Not just play games, but play with code. Play with programming. Because the best way to learn something is to have fun with it!
Programming Elixir 1.6
Functional programming techniques help you manage the complexities of today's real-world, concurrent systems; maximize uptime; and manage security. Enter Elixir, with its modern, Ruby-like, extendable syntax, compile and runtime evaluation, hygienic macro system, and more. But, just as importantly, Elixir brings a sense of enjoyment to parallel, functional programming. Your applications become fun to work with, and the language encourages you to experiment.
Part 1 covers the basics of writing sequential Elixir programs. We'll look at the language, the tools, and the conventions. Part 2 uses these skills to start writing concurrent code—applications that use all the cores on your machine, or all the machines on your network! And we do it both with and without OTP. Part 3 looks at the more advanced features of the language, from DSLs and code generation to extending the syntax.
This edition is fully updated with all the new features of Elixir 1.6, with a new chapter on structurin ...
Core Data in Objective-C, 3rd Edition
Core Data expert Marcus Zarra walks you through a fully developed application based around the Core Data APIs. You'll build on this application throughout the book, learning key Core Data principles such as NSPredicate, NSFetchRequest, thread management, and memory management.
Start with the basics of Core Data and learn how to use it to develop your application. Then delve deep into the API details. Explore how to get Core Data integrated into your application properly, and work with this flexible API to create convenience methods to improve your application's maintainability. Reduce your migration difficulties, integrate your Core Data app with iCloud, and use Core Data in a queue-based environment. By the end of the book, you'll have built a full-featured application, gained a complete understanding of Core Data, and learned how to integrate your application into the iPhone/iPad platform.
This third edition updates all examples for OS X El Capitan and iOS, and gets you up to s ...
Serverless Single Page Apps
You don't need to manage your own servers to build powerful web applications. This book will show you how to create a single page app that runs entirely on web services, scales to millions of users, and costs less per day than a cup of coffee.
Using a web browser, a prepared workspace, and your favorite editor, you'll build a complete single page web application, step by step. Learn the fundamental technologies behind modern single page apps, and use web standards to create lean web applications that can take advantage of the newest technologies. Deploy your application quickly using Amazon S3. Use Amazon Cognito to connect with providers like Google and Facebook to manage user identities. Read and write user data directly from the browser using DynamoDB, and build your own scalable custom microservices with Amazon Lambda.
Whether you've never built a web application before or you're a seasoned web developer who's just looking for an alternative to complex server-side web framewo ...
Designed for Use, 2nd Edition
Interaction design - the way the apps on our phones work, the way we enter a destination into our car's GPS - is becoming more and more important. Identify and fix bad software design by making usability the cornerstone of your design process.
Lukas weaves together hands-on techniques and fundamental concepts. Each technique chapter explains a specific approach you can use to make your product more user friendly, such as storyboarding, usability tests, and paper prototyping. Idea chapters are concept-based: how to write usable text, how realistic your designs should look, when to use animations. This new edition is updated and expanded with new chapters covering requirements gathering, how the design of data structures influences the user interface, and how to do design work as a team. Through copious illustrations and supporting psychological research, expert developer and user interface designer Lukas Mathis gives you a deep dive into research, design, and implementation - the ess ...
Manage Your Project Portfolio, 2nd Edition
All your projects and programs make up your portfolio. But how much time do you actually spend on your projects, and how much time do you spend on emergency fire drills or waste through multitasking? This book gives you insightful ways to rank all the projects you're working on and figure out the right staffing and schedule so projects get finished faster.
The trick is adopting lean and agile approaches to projects, whether they're software projects, projects that include hardware, or projects that depend on chunks of functionality from other suppliers. Find out how to define the mission of your team, group, or department, with none of the buzzwords that normally accompany a mission statement. Armed with the work and the mission, you'll manage your portfolio better and make those decisions that define the true leaders in the organization.
With this expanded second edition, discover how to scale project portfolio management from one team to the entire enterprise, and integrate Cos ...
Behind every programming language lies a vision of how programs should be built. The vision behind Clojure is of a radically simple language framework holding together a sophisticated collection of programming features. Learning Clojure involves much more than just learning the mechanics of the language. To really get Clojure you need to understand the ideas underlying this structure of framework and features. You need this book: an accessible introduction to Clojure that focuses on the ideas behind the language as well as the practical details of writing code.
Clojure attracts developers on the cutting edge and is arguably the best language for learning to program in the functional style without compromise. But this comes with a steep learning curve. Getting Clojure directly addresses this by teaching you how to think functionally as it teaches you the language. You'll learn about Clojure's powerful data structures and high-level functions, but you'll also learn what it means for a ...
Starting from the ground up, learn new syntax (or how to reuse older syntax) to transform code from clunky bug-susceptible scripts to clear and elegant programs that are easy to read and easy to extend.
Create a foundation fo ...
Turn Vim into a full-blown development environment using Vim 8's new features and this sequel to the beloved bestseller Practical Vim. Integrate your editor with tools for building, testing, linting, indexing, and searching your codebase. Discover the future of Vim with Neovim: a fork of Vim that includes a built-in terminal emulator that will transform your workflow. Whether you choose to switch to Neovim or stick with Vim 8, you'll be a better developer.
A serious tool for programmers and web developers, no other text editor comes close to Vim for speed and efficiency. Make Vim the centerpiece of a Unix-based IDE as you discover new ways to work with Vim 8 and Neovim in 28 hands-on tips.
Execute tasks asynchronously, allowing you to continue in Vim while linting, grepping, building a project, or running a test suite. Install plugins to be loaded on startup - or on-demand when you need them - with Vim 8's new package support. Save and restore sessions, enabling you to quit Vim a ...