Metaprogramming is one of Elixir's greatest features. Maybe you've played with the basics or written a few macros. Now you want to take it to the next level. This book is a guided series of metaprogramming tutorials that take you step by step to metaprogramming mastery. You'll extend Elixir with powerful features and write faster, more maintainable programs in ways unmatched by other languages.
You'll start with the basics of Elixir's metaprogramming system and find out how macros interact with Elixir's abstract format. Then you'll extend Elixir with your own first-class features, write a testing framework, and discover how Elixir treats source code as building blocks, rather than rote lines of instructions. You'll continue your journey by using advanced code generation to create essential libraries in strikingly few lines of code. Finally, you'll create domain-specific languages and learn when and where to apply your skills effectively.
When you're do ...
Pro Java 8 Programming, 3rd Edition
Pro Java 8 Programming covers the core Java development kit and the finer points of the core standard edition (SE) and development kit version 8. You'll discover the particulars of working with the Java language and APIs to develop applications in many different contexts.
You will also delve into more advanced topics like lambda expressions, closures, new i/o (NIO.2), enums, generics, XML, metadata and the Swing APIs for GUI design and development. By the end of the book, you'll be fully prepared to take advantage of Java's ease of development, and able to create powerful, sophisticated Java applications. ...
Programming Google App Engine with Python
This practical guide shows intermediate and advanced web and mobile app developers how to build highly scalable Python applications in the cloud with Google App Engine. The flagship of Google's Cloud Platform, App Engine hosts your app on infrastructure that grows automatically with your traffic, minimizing up-front costs and accommodating unexpected visitors. You'll learn hands-on how to perform common development tasks with App Engine services and development tools, including deployment and maintenance.
App Engine's Python support includes a fast Python 2.7 interpreter, the standard library, and a WSGI-based runtime environment. Choose from many popular web application frameworks, including Django and Flask. ...
Programming Google Glass, 2nd edition
This is your all-inclusive guidebook for programming Glassware. You'll learn the nuances of the Mirror API and the recently released GDK as you build example applications: a restaurant finder, blogging app, Glass stats monitor, party animator, QR code reader, video game, and more.
You'll jump right in with a fun application that leverages the power of the Mirror API web service, Google's server-side interface for creating Glassware. You'll deploy and support users with OAuth, managing their timelines with cards and menu items. You'll create callable services for geolocation tracking, change notifications, and custom menu options. You'll also learn some optical-display design basics.
In Part 2, new in this edition, you'll learn how to program a more immersive experience using the GDK, Google's extension to Android for Glass. You'll populate the Glass timeline with static and live cards, where you can richly interact with the Glass hardware. You'll create an animation applic ...
Python 3 Object-oriented Programming, 2nd Edition
Python 3 is more versatile and easier to use than ever. It runs on all major platforms in a huge array of use cases. Coding in Python minimizes development time and increases productivity in comparison to other languages. Clean, maintainable code is easy to both read and write using Python's clear, concise syntax.
Object-oriented programming is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. Many modern programming languages utilize the powerful concepts behind object-oriented programming and Python is no exception.
Starting with a detailed analysis of object-oriented analysis and design, you will use the Python programming language to clearly grasp key concepts from the object-oriented paradigm. This book fully explains classes, data encapsulation, inheritance, polymorphism, abstraction, and exceptions with an emphasis on when you can use each principle to develop well-designe ...
Raspberry Pi Projects for Kids, 2nd Edition
The Raspberry Pi is a single-board mini computer designed to get more people (particularly children) interested in computer programming. It aims to make programming tools and educational programs as accessible as possible, making it very easy to get started with.
This book will guide you through six fun projects that show how programming can be used to be creative. Each project has clear step-by-step instructions and explanations helping children grasp the concepts easily.
You will start by setting up the Raspberry Pi and get to grips with the Scratch programming language to create simple animations. Gain and put to use your understanding of Python to write simple yet useful programs. Create and play a physical game by connecting it to the Raspberry Pi en route to become aware of a number of other possible uses for a very similar circuit/program. Finally, with an understanding of Sonic Pi, you will create your own music. ...
SAS Programming and Data Visualization Techniques
SAS Programming and Data Visualization Techniques: A Power User's Guide brings together a wealth of ideas about strategic and tactical solutions to everyday situations experienced when transferring, extracting, processing, analyzing, and reporting the valuable data you have at your fingertips. Best, you can achieve most of the solutions using the SAS components you already license, meaning that this book's insights can keep you from throwing money at problems needlessly.
Author Philip R. Holland advises a broad range of clients throughout Europe and the United States as an independent consultant and founder of Holland Numerics Ltd, a SAS technical consultancy. In this book he explains techniques - through code samples and example - that will enable you to increase your knowledge of all aspects of SAS programming improve your coding productivity, and interface SAS with other programs. ...
Swift Game Programming for Absolute Beginners
Swift Game Programming for Absolute Beginners teaches Apple's Swift language in the context of four, fun and colorful games. Learn the Swift 2.0 language, and learn to create game apps for iOS at the same time – a double win!
These four games are casual, arcade-style games representing the aim-and-shoot, casual, puzzle, and platform styles of game play. Professionally developed game assets form part of the book download. You'll get professionally drawn sprites and imagery that'll have you proud to show your learning to friends and family.
The approach in Swift Game Programming for Absolute Beginners follows the structure of a game rather than the syntax of a language. You'll learn to create game worlds, manage game objects and game states, define levels for players to pass through, implement animations based upon realistic physics, and much more. Along the way you'll learn the language, but always in the context of fun and games. ...
Swift Pocket Reference, 2nd Edition
Get quick answers for developing and debugging applications with Swift, Apple's multi-paradigm programming language. Updated to cover the latest features in Swift 2.0, this pocket reference is the perfect on-the-job tool for learning Swift's modern language features, including type safety, generics, type inference, closures, tuples, automatic memory management, and support for Unicode.
Designed to work with Cocoa and Cocoa Touch, Swift can be used in tandem with Objective-C, and either language can call APIs implemented in the other. Swift is still evolving, but Apple clearly sees it as the future language of choice for iOS and OS X software development. ...
Testing with F#
Starting with an introduction to the concepts behind test automation, you will learn how to set up your test environment for unit testing and how to execute your test suite within and outside of Visual Studio. Using different test frameworks as MSTest, NUnit, and xUnit, you will learn how to write tests in isolation, create test doubles with Foq, and write expressive assertions with FsUnit.
You will learn techniques used to mock database contexts, test stored procedures, use migrations to test databases in isolation, control a web browser with Canopy, and test web services with F# interactive. You will learn how these techniques apply to Agile principles and discover how testing fits into your project. ...
Web Programming with Dart
Web Programming with Dart is for programmers who want to master the new Dart programming language from Google, and also web developers who want to understand how Dart can integrate perfectly with HTML5 and CSS3.
With this book you will understand the ins and outs of the language, how the tools work, and how to get the most from the core functions and libraries. Web Programming with Dart is a practical, example-led book, with case studies involving developing UI animations for the web, working with web services such as JSON, server side Dart applications, and the new Polymer.dart library for advanced HTML UI web components generation. ...