Fluent PythonPython's simplicity lets you become productive quickly, but this often means you aren't using everything it has to offer. With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best - and possibly most neglected - features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.
Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3. ...
Android Game Programming by ExampleAndroid gaming is a hot topic these days, but one of the few areas of technology that does not have an abundance of clear and useful documentation online. However, there is an ever-increasing demand for Android games.
This book will help you get up to speed with the essentials of game development with Android. The book begins by teaching you the setup of a game development environment on a fundamental level. Moving on, the book deals with concepts such as building a home screen UI, implementing game objects, and painting the scene at a fixed resolution. Gradually, it builds up to the implementation of a flexible and advanced game engine that uses OpenGL ES 2 for fast, smooth frame rates. This is achieved by starting with a simple game and gradually increasing the complexity of the three complete games built step by step. By the end of the book, you will have successfully built three exciting games over the course of three engrossing and insightful projects. ...
BeagleBone EssentialsThe BeagleBone Black is an embedded system that is able to run complete GNU/Linux distributions such as Debian or Ubuntu. Having powerful distribution capabilities, and packed with an easily expandable embedded board, the BeagleBone Black is a device that will allow users to build powerful and versatile monitoring and controlling systems.
You start off by learning how to set up the board from scratch; you will be introduced to the concepts of compilation and cross-compilation of user-space and kernel-space applications with some basic debugging techniques. Next, you will move on to high-level programming by using scripting languages; you'll then learn how to get access to different kinds of peripherals such as serial ports, USB devices, I2C/SPI, and 1-Wire. Finally, you will discover how to use or develop system daemons in several programming languages, collect peripheral data, and control a device. Accessing all peripherals and writing good monitoring and controlling ...
Beginning R, 2nd EditionBeginning R, 2nd Edition is a hands-on book showing how to use the R language, write and save R scripts, read in data files, and write custom statistical functions as well as use built in functions. This book shows the use of R in specific cases such as one-way ANOVA analysis, linear and logistic regression, data visualization, parallel processing, bootstrapping, and more. It takes a hands-on, example-based approach incorporating best practices with clear explanations of the statistics being done. It has been completely re-written since the first edition to make use of the latest packages and features in R version 3.
R is a powerful open-source language and programming environment for statistics and has become the de facto standard for doing, teaching, and learning computational statistics. R is both an object-oriented language and a functional language that is easy to learn, easy to use, and completely free. A large community of dedicated R users and programmers provides an ...
Hack and HHVMA couple of years ago, Facebook switched its production servers from a PHP-to-C++ compiler to their own HipHop Virtual Machine (HHVM) and then launched a new version of PHP to run on HHVM called Hack. This comprehensive guide—written by a member of the core HHVM and Hack teams at Facebook—shows you how to get up and running with both HHVM and Hack.
What makes them useful? The HHVM engine is faster and more performant than the Zend engine, which can save Facebook and other large-scale sites millions of dollars in servers and maintenance. And while the Hack language looks and acts like PHP, it also contains new features such as static typing, generics, native collections, which PHP developers have long needed.
Pick up this book and explore two important programming innovations that help Facebook run a tighter ship. ...
Clojure Web Development EssentialsFunctional programming enables developers to create and deploy applications quickly and easily. Using the Clojure programming language and the Leiningen build tool, this book teaches you how to leverage various Clojure libraries into the building blocks of a web-based application.
We'll start by generating a new, fully runnable, baseline web application using the Leiningen Luminus template. From there we'll examine the different pieces that compose our application, and learn the basics of the underlying Ring framework. Subsequent chapters will focus on each technology and leverage those technologies to build additional functionality into our application. You'll learn how to validate user submitted data, authentication, account creation, how to interact with a database, and more. Finally, we'll create an environment configuration and deploy our app.
By the end of this book you'll have created a full fledged application from start to finish, and you'll have the requis ...
Elementary Number Theory with ProgrammingBridging an existing gap between mathematics and programming Elementary Number Theory with Programming provides a unique introduction to elementary number theory with fundamental coverage of computer programming. Written by highly-qualified experts in the fields of computer science and mathematics, the book features accessible coverage for readers with various levels of experience and explores number theory in the context of programming without relying on advanced prerequisite knowledge and concepts in either area.
Elementary Number Theory with Programming features comprehensive coverage of the methodology and applications of the most well-known theorems, problems, and concepts in number theory. Using standard mathematical applications within the programming field, the book presents modular arithmetic and prime decomposition, which are the basis of the public-private key system of cryptography. ...
Learning DD 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. ...
iOS 9 Swift Programming CookbookReady to build stunning apps for iPhone, iPad, and Apple Watch? This cookbook - completely rewritten with all-new material - provides 90 proven solutions for tackling the latest features in iOS 9 and watchOS 2.0. Written exclusively in Apple's Swift language, these code-rich recipes show you how to use dynamic user interfaces, interactive maps, multitasking functionality, Apple's new UI Testing framework, and many other features.
This cookbook is ideal for intermediate and advanced iOS developers looking to work with the newest versions of Apple's mobile operating systems. Each recipe includes reusable code, available on GitHub, that you can put to work right away.
Work with new features in Swift 2, Xcode 7, and Interface Builder; Build standalone apps for Apple Watch; Create vibrant user interfaces with new UIKit features; Use Swift to connect with the iOS contacts database; Block ads or obtrusive content with Safari Content Blockers; Make your app content searchable with Spotli ...
Learning RSLogix 5000 ProgrammingRSLogix 5000 and Studio 5000's Logix Designer are user-friendly interfaces used for programming the current generation of Rockwell Automation Controllers including ControlLogix, CompactLogix, and SoftLogix. When engineering automation solutions using Logix, it is important to study the changes to the platform introduced with Studio 5000 and the various controllers, modules, and form factors available today. RSLogix 5000 programming packages help you maximize performance, save project development time, and improve productivity.
This book provides a detailed overview of the Logix platform including ControlLogix, CompactLogix, and SoftLogix and explains the significant changes introduced in Studio 5000. A clear understanding of the recent Logix platform changes is critical for anyone developing a Rockwell Automation solution. It provides an easy-to-follow, step-by-step approach to learning the essential Logix hardware and software components and provides beginners with a ...
Mastering JuliaJulia is a well-constructed programming language with fast execution speed, eliminating the classic problem of performing analysis in one language and translating it for performance into a second. This book will help you develop and enhance your programming skills in Julia to solve real-world automation challenges.
This book starts off with a refresher on installing and running Julia on different platforms. Next, you will compare the different ways of working with Julia and explore Julia's key features in-depth by looking at design and build. You will see how data works using simple statistics and analytics, and discover Julia's speed, its real strength, which makes it particularly useful in highly intensive computing tasks and observe how Julia can cooperate with external processes in order to enhance graphics and data visualization. Finally, you will look into meta-programming and learn how it adds great power to the language and establish networking and distr ...