Best of
Programming

2015

Designing Data-Intensive Applications


Martin Kleppmann - 2015
    Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures

Fluent Python: Clear, Concise, and Effective Programming


Luciano Ramalho - 2015
    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.This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work"

Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People


Aditya Y. Bhargava - 2015
    The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to take a hard pass on Knuth's brilliant but impenetrable theories and the dense multi-page proofs you'll find in most textbooks, this is the book for you. This fully-illustrated and engaging guide makes it easy for you to learn how to use algorithms effectively in your own programs.Grokking Algorithms is a disarming take on a core computer science topic. In it, you'll learn how to apply common algorithms to the practical problems you face in day-to-day life as a programmer. You'll start with problems like sorting and searching. As you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression or artificial intelligence. Whether you're writing business software, video games, mobile apps, or system utilities, you'll learn algorithmic techniques for solving problems that you thought were out of your grasp. For example, you'll be able to:Write a spell checker using graph algorithmsUnderstand how data compression works using Huffman codingIdentify problems that take too long to solve with naive algorithms, and attack them with algorithms that give you an approximate answer insteadEach carefully-presented example includes helpful diagrams and fully-annotated code samples in Python. By the end of this book, you will know some of the most widely applicable algorithms as well as how and when to use them.

The Go Programming Language


Alan A.A. Donovan - 2015
    It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast tools a refreshing change. Thanks to its well-designed standard libraries and its excellent support for concurrent programming, Go is fast becoming the language of choice for distributed systems. The Go Programming Language is the definitive book on Go for the working programmer. It assumes no prior knowledge of Go, nor any other specific programming language, so you'll find it an accessible guide whether you come from JavaScript, Ruby, Python, Java, or C++. The book will quickly get you started using Go effectively from the beginning, and by the end, you will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. You'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to your own projects. The earlier chapters will introduce you to the basic concepts of Go programming---numbers, strings, functions---while at the same time presenting important computer science concepts like recursion, and useful examples of graphics, UTF-8, and error handling. The chapters on methods and interfaces will show you a new way to think about object-oriented programming; the chapter on concurrency explains why concurrency is so important in modern programming, and how Go helps you handle it well. You'll also learn about Go's pragmatic but effective approach to testing; how to build, test, and manage projects using the go tool, and the art of metaprogramming using reflection. The book contains hundreds of interesting and practical examples that cover the whole language and a wide range of applications. The code samples from the book are available for download from gopl.io.

You Don't Know JS: Up & Going


Kyle Simpson - 2015
    With the "You Don’t Know JS" book series, you’ll get a more complete understanding of JavaScript, including trickier parts of the language that many experienced JavaScript programmers simply avoid.The series’ first book, Up & Going, provides the necessary background for those of you with limited programming experience. By learning the basic building blocks of programming, as well as JavaScript’s core mechanisms, you’ll be prepared to dive into the other, more in-depth books in the series—and be well on your way toward true JavaScript.With this book you will: Learn the essential programming building blocks, including operators, types, variables, conditionals, loops, and functions Become familiar with JavaScript's core mechanisms such as values, function closures, this, and prototypes Get an overview of other books in the series—and learn why it’s important to understand all parts of JavaScript

Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Eric Matthes - 2015
    You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to: Use powerful Python libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesWork with data to generate interactive visualizationsCreate and customize simple web apps and deploy them safely onlineDeal with mistakes and errors so you can solve your own programming problemsIf you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!

Programming Rust: Fast, Safe Systems Development


Jim Blandy - 2015
    Rust's modern, flexible types ensure your program is free of null pointer dereferences, double frees, dangling pointers, and similar bugs, all at compile time, without runtime overhead. In multi-threaded code, Rust catches data races at compile time, making concurrency much easier to use.Written by two experienced systems programmers, this book explains how Rust manages to bridge the gap between performance and safety, and how you can take advantage of it. Topics include:How Rust represents values in memory (with diagrams)Complete explanations of ownership, moves, borrows, and lifetimesCargo, rustdoc, unit tests, and how to publish your code on crates.io, Rust's public package repositoryHigh-level features like generic code, closures, collections, and iterators that make Rust productive and flexibleConcurrency in Rust: threads, mutexes, channels, and atomics, all much safer to use than in C or C++Unsafe code, and how to preserve the integrity of ordinary code that uses itExtended examples illustrating how pieces of the language fit together

The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact


Edmond Lau - 2015
    I'm going to share that mindset with you — along with hundreds of actionable techniques and proven habits — so you can shortcut those years.Introducing The Effective Engineer — the only book designed specifically for today's software engineers, based on extensive interviews with engineering leaders at top tech companies, and packed with hundreds of techniques to accelerate your career.For two years, I embarked on a quest seeking an answer to one question:How do the most effective engineers make their efforts, their teams, and their careers more successful?I interviewed and collected stories from engineering VPs, directors, managers, and other leaders at today's top software companies: established, household names like Google, Facebook, Twitter, and LinkedIn; rapidly growing mid-sized companies like Dropbox, Square, Box, Airbnb, and Etsy; and startups like Reddit, Stripe, Instagram, and Lyft.These leaders shared stories about the most valuable insights they've learned and the most common and costly mistakes that they've seen engineers — sometimes themselves — make.This is just a small sampling of the hard questions I posed to them:- What engineering qualities correlate with future success?- What have you done that has paid off the highest returns?- What separates the most effective engineers you've worked with from everyone else?- What's the most valuable lesson your team has learned in the past year?- What advice do you give to new engineers on your team? Everyone's story is different, but many of the lessons share common themes.You'll get to hear stories like:- How did Instagram's team of 5 engineers build and support a service that grew to over 40 million users by the time the company was acquired?- How and why did Quora deploy code to production 40 to 50 times per day?- How did the team behind Google Docs become the fastest acquisition to rewrite its software to run on Google's infrastructure?- How does Etsy use continuous experimentation to design features that are guaranteed to increase revenue at launch?- How did Facebook's small infrastructure team effectively operate thousands of database servers?- How did Dropbox go from barely hiring any new engineers to nearly tripling its team size year-over-year? What's more, I've distilled their stories into actionable habits and lessons that you can follow step-by-step to make your career and your team more successful.The skills used by effective engineers are all learnable.And I'll teach them to you. With The Effective Engineer, I'll teach you a unifying framework called leverage — the value produced per unit of time invested — that you can use to identify the activities that produce disproportionate results.Here's a sneak peek at some of the lessons you'll learn. You'll learn how to:- Prioritize the right projects and tasks to increase your impact.- Earn more leeway from your peers and managers on your projects.- Spend less time maintaining and fixing software and more time building and shipping new features.- Produce more accurate software estimates.- Validate your ideas cheaply to reduce wasted work.- Navigate organizational and people-related bottlenecks.- Find the appropriate level of code reviews, testing, abstraction, and technical debt to balance speed and quality.- Shorten your debugging workflow to increase your iteration speed.

Elixir in Action


Saša Jurić - 2015
    Revised and updated for the Elixir 1.7, Elixir in Action, Second Edition teaches you how to apply Elixir to practical problems associated with scalability, fault tolerance, and high availability. Along the way, you'll develop an appreciation for, and considerable skill in, a functional and concurrent style of programming.

Effective Python: 59 Specific Ways to Write Better Python


Brett Slatkin - 2015
    This makes the book random-access: Items are easy to browse and study in whatever order the reader needs. I will be recommending "Effective Python" to students as an admirably compact source of mainstream advice on a very broad range of topics for the intermediate Python programmer. " Brandon Rhodes, software engineer at Dropbox and chair of PyCon 2016-2017" It s easy to start coding with Python, which is why the language is so popular. However, Python s unique strengths, charms, and expressiveness can be hard to grasp, and there are hidden pitfalls that can easily trip you up. " Effective Python " will help you master a truly Pythonic approach to programming, harnessing Python s full power to write exceptionally robust and well-performing code. Using the concise, scenario-driven style pioneered in Scott Meyers best-selling "Effective C++, " Brett Slatkin brings together 59 Python best practices, tips, and shortcuts, and explains them with realistic code examples. Drawing on years of experience building Python infrastructure at Google, Slatkin uncovers little-known quirks and idioms that powerfully impact code behavior and performance. You ll learn the best way to accomplish key tasks, so you can write code that s easier to understand, maintain, and improve. Key features includeActionable guidelines for all major areas of Python 3.x and 2.x development, with detailed explanations and examples Best practices for writing functions that clarify intention, promote reuse, and avoid bugs Coverage of how to accurately express behaviors with classes and objects Guidance on how to avoid pitfalls with metaclasses and dynamic attributes More efficient approaches to concurrency and parallelism Better techniques and idioms for using Python s built-in modules Tools and best practices for collaborative development Solutions for debugging, testing, and optimization in order to improve quality and performance "

Two Scoops of Django: Best Practices for Django 1.8


Daniel Roy Greenfeld - 2015
    This book is chock-full of material that will help you with your Django projects.We’ll introduce you to various tips, tricks, patterns, code snippets, and techniques that we’ve picked up over the years.

Web Scalability for Startup Engineers


Artur Ejsmont - 2015
    With a focus on core concepts and best practices rather than on individual languages, platforms, or technologies, Web Scalability for Startup Engineers describes how infrastructure and software architecture work together to support a scalable environment.You'll learn, step by step, how scalable systems work and how to solve common challenges. Helpful diagrams are included throughout, and real-world examples illustrate the concepts presented. Even if you have limited time and resources, you can successfully develop and deliver robust, scalable web applications with help from this practical guide.Learn the key principles of good software design required for scalable systemsBuild the front-end layer to sustain the highest levels of concurrency and request ratesDesign and develop web services, including REST-ful APIsEnable a horizontally scalable data layerImplement caching best practicesLeverage asynchronous processing, messaging, and event-driven architectureStructure, index, and store data for optimized searchExplore other aspects of scalability, such as automation, project management, and agile teams

Introduction to Machine Learning with Python: A Guide for Data Scientists


Andreas C. Müller - 2015
    If you use Python, even as a beginner, this book will teach you practical ways to build your own machine learning solutions. With all the data available today, machine learning applications are limited only by your imagination.You'll learn the steps necessary to create a successful machine-learning application with Python and the scikit-learn library. Authors Andreas Muller and Sarah Guido focus on the practical aspects of using machine learning algorithms, rather than the math behind them. Familiarity with the NumPy and matplotlib libraries will help you get even more from this book.With this book, you'll learn:Fundamental concepts and applications of machine learningAdvantages and shortcomings of widely used machine learning algorithmsHow to represent data processed by machine learning, including which data aspects to focus onAdvanced methods for model evaluation and parameter tuningThe concept of pipelines for chaining models and encapsulating your workflowMethods for working with text data, including text-specific processing techniquesSuggestions for improving your machine learning and data science skills

Clojure for the Brave and True


Daniel Higginbotham - 2015
    At long last you'll be united with the programming language you've been longing for: Clojure!As a Lisp-style functional programming language, Clojure lets you write robust and elegant code, and because it runs on the Java Virtual Machine, you can take advantage of the vast Java ecosystem. Clojure for the Brave and True offers a "dessert-first" approach: you'll start playing with real programs immediately, as you steadily acclimate to the abstract but powerful features of Lisp and functional programming. Inside you'll find an offbeat, practical guide to Clojure, filled with quirky sample programs that catch cheese thieves and track glittery vampires.Learn how to: Wield Clojure's core functions Use Emacs for Clojure development Write macros to modify Clojure itself Use Clojure's tools to simplify concurrency and parallel programmingClojure for the Brave and True assumes no prior experience with Clojure, the Java Virtual Machine, or functional programming. Are you ready, brave reader, to meet your true destiny? Grab your best pair of parentheses—you're about to embark on an epic journey into the world of Clojure!

Python Machine Learning


Sebastian Raschka - 2015
    We are living in an age where data comes in abundance, and thanks to the self-learning algorithms from the field of machine learning, we can turn this data into knowledge. Automated speech recognition on our smart phones, web search engines, e-mail spam filters, the recommendation systems of our favorite movie streaming services – machine learning makes it all possible.Thanks to the many powerful open-source libraries that have been developed in recent years, machine learning is now right at our fingertips. Python provides the perfect environment to build machine learning systems productively.This book will teach you the fundamentals of machine learning and how to utilize these in real-world applications using Python. Step-by-step, you will expand your skill set with the best practices for transforming raw data into useful information, developing learning algorithms efficiently, and evaluating results.You will discover the different problem categories that machine learning can solve and explore how to classify objects, predict continuous outcomes with regression analysis, and find hidden structures in data via clustering. You will build your own machine learning system for sentiment analysis and finally, learn how to embed your model into a web app to share with the world

R Packages


Hadley Wickham - 2015
    This practical book shows you how to bundle reusable R functions, sample data, and documentation together by applying author Hadley Wickham’s package development philosophy. In the process, you’ll work with devtools, roxygen, and testthat, a set of R packages that automate common development tasks. Devtools encapsulates best practices that Hadley has learned from years of working with this programming language. Ideal for developers, data scientists, and programmers with various backgrounds, this book starts you with the basics and shows you how to improve your package writing over time. You’ll learn to focus on what you want your package to do, rather than think about package structure. Learn about the most useful components of an R package, including vignettes and unit tests Automate anything you can, taking advantage of the years of development experience embodied in devtools Get tips on good style, such as organizing functions into files Streamline your development process with devtools Learn the best way to submit your package to the Comprehensive R Archive Network (CRAN) Learn from a well-respected member of the R community who created 30 R packages, including ggplot2, dplyr, and tidyr

Elements of Programming Interviews in Java: The Insiders' Guide


Adnan Aziz - 2015
    See the website for links to the C++ version, as well as to a version that uses larger fonts.Have you ever...Wanted to work at an exciting futuristic company?Struggled with an interview problem thatcould have been solved in 15 minutes?Wished you could study real-world computing problems?If so, you need to read Elements of Programming Interviews (EPI).EPI is your comprehensive guide to interviewing for software development roles.The core of EPI is a collection of over 250 problems with detailed solutions. The problems are representative of interview questions asked at leading software companies. The problems are illustrated with 200 figures, 300 tested programs, and 150 additional variants.The book begins with a summary of the nontechnical aspects of interviewing, such as strategies for a great interview, common mistakes, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI. We also provide a summary of data structures, algorithms, and problem solving patterns.Coding problems are presented through a series of chapters on basic and advanced data structures, searching, sorting, algorithm design principles, and concurrency. Each chapter stars with a brief introduction, a case study, top tips, and a review of the most important library methods. This is followed by a broad and thought-provoking set of problems.A practical, fun approach to computer science fundamentals, as seen through the lens of common programming interview questions. Jeff Atwood/Co-founder, Stack Overflow and Discourse

OCP: Oracle Certified Professional Java Se 8 Programmer II Study Guide: Exam 1Z0-809


Jeanne Boyarsky - 2015
    With full coverage of 100% of exam objectives, this invaluable guide reinforces what you know, teaches you what you don't know, and gives you the hands-on practice you need to boost your skills. Written by expert Java developers, this book goes beyond mere exam prep with the insight, explanations and perspectives that come from years of experience. You'll review the basics of object-oriented programming, understand functional programming, apply your knowledge to database work, and much more. From the basic to the advanced, this guide walks you through everything you need to know to confidently take the OCP 1Z0-809 Exam and upgrade exams 1Z0-810 and 1Z0-813.Java 8 represents the biggest changes to the language to date, and the latest exam now requires that you demonstrate functional programming competence in order to pass. This guide has you covered, with clear explanations and expert advice.Understand abstract classes, interfaces, and class design Learn object-oriented design principles and patterns Delve into functional programming, advanced strings, and localization Master IO, NIO, and JDBC with expert-led database practice If you're ready to take the next step in your IT career, OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide is your ideal companion on the road to certification.

Haskell Programming From First Principles


Christopher Allen - 2015
    I've spent the last couple years actively teaching Haskell online and in person. Along the way, I started keeping notes on exercises and methods of teaching specific concepts and techniques in Haskell that eventually turned into my guide for learning haskell. That experience led me to work on this book.If you are new to programming entirely, Haskell is a great first language. You may have noticed the trend of "Functional Programming in [Imperative Language]" books and tutorials and learning Haskell gets right to the heart of what functional programming is. Languages such as Java are gradually adopting functional concepts, but most such languages were not designed to be functional languages, after all. We would not encourage you to learn Haskell as an only language, but because Haskell is a pure functional language, it is a fertile environment for mastering functional programming techniques. That way of thinking and problem solving is useful, no matter what other languages you might know or learn.Haskell is not a difficult language to use. Quite the opposite. I'm now able to tackle problems that I couldn't have tackled when I was primarily a Clojure, Common Lisp, or Python user. Haskell is difficult to teach effectively.

You Don't Know JS (book series)


Kyle Simpson - 2015
    It's easy to learn partially, and much harder to learn completely (or even sufficiently). When developers encounter confusion, they usually blame the language instead of their lack of understanding. These books aim to fix that, inspiring a strong appreciation for the language you can now, and should, deeply know.

Metaprogramming Elixir


Chris McCord - 2015
    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 done, you will have mastered metaprogramming, gained insights into Elixir’s internals, and have the confidence to leverage macros to their full potential in your own projects.

Web Scraping with Python: Collecting Data from the Modern Web


Ryan Mitchell - 2015
    With this practical guide, you’ll learn how to use Python scripts and web APIs to gather and process data from thousands—or even millions—of web pages at once. Ideal for programmers, security professionals, and web administrators familiar with Python, this book not only teaches basic web scraping mechanics, but also delves into more advanced topics, such as analyzing raw data or using scrapers for frontend website testing. Code samples are available to help you understand the concepts in practice. Learn how to parse complicated HTML pages Traverse multiple pages and sites Get a general overview of APIs and how they work Learn several methods for storing the data you scrape Download, read, and extract data from documents Use tools and techniques to clean badly formatted data Read and write natural languages Crawl through forms and logins Understand how to scrape JavaScript Learn image processing and text recognition

Shell Scripting: How to Automate Command Line Tasks Using Bash Scripting and Shell Programming


Jason Cannon - 2015
    My name is Jason Cannon and I'm the author of Linux for Beginners, Python Programming for Beginners, and an instructor to thousands of satisfied students. I started my IT career in the late 1990's as a Unix and Linux System Engineer and I'll be sharing my real-world shell scripting and bash programming experience with you throughout this book.By the end of this book you will be able to create shell scripts with ease. You'll learn how to take tedious and repetitive tasks and turn them into programs that will save you time and simplify your life on Linux, Unix, or MAC systems. Here is what you will get and learn by reading this Shell Scripting ebook: A step-by-step process of writing shell scripts that solve real-world problems. The #1 thing you must do every time you create a shell script. How to quickly find and fix the most shell scripting errors. How to accept input from a user and then make decisions on that input. How to accept and process command line arguments. What special variables are available, how to use them in your shell scripts, and when to do so. A shell script creation check list -- You'll never have to guess what to include in each of your shell scripts again. Just use this simple check list. A shell script template (boilerplate). Use this format for each of your shell scripts. It shows exactly what to include and where everything goes. Eliminate guesswork! Practice exercises with solutions so you can start using what you learn right away. Real-world examples of shell scripts from my personal collection. A download that contains the scripts used in the book and lessons. You'll be able to look at and experiment with everything you're learning. Learn to Program Using Any Shell Scirpting Language What you learn in this book can be applied to any shell, however the focus is on the bash shell and you'll learn some really advanced bash features. Again, whether you're using bash, bourne (sh), KornShell (ksh), C shell (csh), Z shell (zsh), or even the tcsh shell, you'll be able to put what you learn in this book to good use. Perfect for Linux, Unix, Mac and More! Also, you'll be able to use these scripts on any Linux environment including Ubuntu, Debian, Linux Mint, RedHat, Fedora, OpenSUSE, Slackware, Kali Linux and more. You're scripts will even run on other operating systems such as Apple's Mac OS X, Oracle's Solaris, IBM's AIX, HP's HP-UX, FreeBSD, NetBSD, and OpenBSD. Scroll up, click the Buy Now With 1 Click button and get started learning Linux today!

Essential Scala


Noel Welsh - 2015
    This focused introduction is aimed at developers with one to two years' experience in another programming language, and explains the concepts and techniques you need to become a proficient Scala developer.

T-SQL Querying


Itzik Ben-Gan - 2015
    Four leading experts take an in-depth look at T-SQL’s internal architecture and offer advanced practical techniques for optimizing response time and resource usage. Emphasizing a correct understanding of the language and its foundations, the authors present unique solutions they have spent years developing and refining. All code and techniques are fully updated to reflect new T-SQL enhancements in Microsoft SQL Server 2014 and SQL Server 2012. Write faster, more efficient T-SQL code: Move from procedural programming to the language of sets and logic Master an efficient top-down tuning methodology Assess algorithmic complexity to predict performance Compare data aggregation techniques, including new grouping sets Efficiently perform data-analysis calculations Make the most of T-SQL’s optimized bulk import tools Avoid date/time pitfalls that lead to buggy, poorly performing code Create optimized BI statistical queries without additional software Use programmable objects to accelerate queries Unlock major performance improvements with In-Memory OLTP Master useful and elegant approaches to manipulating graphs About This Book For experienced T-SQL practitioners Includes coverage updated from Inside Microsoft SQL Server 2008 T-SQL Querying and Inside Microsoft SQL Server 2008 T-SQL Programming Valuable to developers, DBAs, BI professionals, and data scientists Covers many MCSE 70-464 and MCSA/MCSE 70-461 exam topics

Swift Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)


Matthew Mathias - 2015
    Throughout the book, the authors share their insights into Swift to ensure that you understand the hows and whys of Swift and can put that understanding to use in different contexts. After working through the book, you will have the knowledge and confidence to develop your own solutions to a wide range of programming challenges using Swift.

C# 6.0 and the .NET 4.6 Framework


Andrew Troelsen - 2015
    

The Little Elixir & OTP Guidebook


Benjamin Tan Wei Hao - 2015
    It combines the productivity and expressivity of Ruby with the concurrency and fault-tolerance of Erlang. Elixir makes full use of Erlang's powerful OTP library, which many developers consider the source of Erlang's greatness, so you can have mature, professional-quality functionality right out of the gate. Elixir's support for functional programming makes it a great choice for highly distributed event-driven applications like IoT systems.The Little Elixir & OTP Guidebook gets you started programming applications with Elixir and OTP. You begin with a quick overview of the Elixir language syntax, along with just enough functional programming to use it effectively. Then, you'll dive straight into OTP and learn how it helps you build scalable, fault-tolerant and distributed applications through several fun examples. Come rediscover the joy of programming with Elixir and remember how it feels like to be a beginner again.

Learning Laravel 5


Nathan Wu - 2015
    Throughout 5 chapters, instructor Nathan Wu will teach you how to build many real-world applications from scratch. This bestseller is also completely about you. It has been structured very carefully, teaching you all you need to know from installing your Laravel 5.1 app to deploying it to a live server.When you have completed this book you will have created a dynamic website and have a good knowledge to become a good web developer.We first start with the basics. You will learn some main concepts and create a simple website. After that we progress to building more advanced web applications.Learn by doing!If you’re looking for a genuinely effective book that helps you to build your next amazing applications, this is the number one book for you.

C# 6.0 in a Nutshell: The Definitive Reference


Joseph Albahari - 2015
    C# has become a language of unusual flexibility and breadth since its premiere in 2000, but this continual growth means there's still much more to learn.Organized around concepts and use cases, this thoroughly updated sixth edition provides intermediate and advanced programmers with a concise map of C# and .NET knowledge. Dive in and discover why this Nutshell guide is considered the definitive reference on C#.Get up to speed with all aspects of the C# language, from the basics of syntax and variables, to advanced topics such as pointers and operator overloadingDig deep into LINQ via three chapters dedicated to the topicLearn about dynamic, asynchronous, and parallel programmingWork with .NET features, including XML, networking, serialization, reflection, security, application domains, and code contractsExplore the new C# 6.0 compiler-as-a-service, Roslyn

iOS Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)


Christian Keur - 2015
    After completing this book, you will have the know-how and the confidence you need to tackle iOS projects of your own. Based on Big Nerd Ranch's popular iOS Bootcamp course and its well-tested materials and methodology, this bestselling guide teaches iOS concepts and coding in tandem. The result is instruction that is relevant and useful.Throughout the book, the authors explain what's important and share their insights into the larger context of the iOS platform. You get a real understanding of how iOS development works, the many features that are available, and when and where to apply what you've learned.

Mazes for Programmers: Code Your Own Twisty Little Passages


Jamis Buck - 2015
    Learn algorithms to randomly generate mazes in a variety of shapes, sizes, and dimensions. Bend them into Moebius strips, fold them into cubes, and wrap them around spheres. Stretch them into other dimensions, squeeze them into arbitrary outlines, and tile them in a dizzying variety of ways. From twelve little algorithms, you'll discover a vast reservoir of ideas and inspiration.From video games to movies, mazes are ubiquitous. Explore a dozen algorithms for generating these puzzles randomly, from Binary Tree to Eller's, each copiously illustrated and accompanied by working implementations in Ruby. You'll learn their pros and cons, and how to choose the right one for the job.You'll start by learning six maze algorithms and transition from making mazes on paper to writing programs that generate and draw them. You'll be introduced to Dijkstra's algorithm and see how it can help solve, analyze, and visualize mazes. Part 2 shows you how to constrain your mazes to different shapes and outlines, such as text, circles, hex and triangle grids, and more. You'll learn techniques for culling dead-ends, and for making your passages weave over and under each other. Part 3 looks at six more algorithms, taking it all to the next level. You'll learn how to build your mazes in multiple dimensions, and even on curved surfaces.Through it all, you'll discover yourself brimming with ideas, the best medicine for programmer's block, burn-out, and the grayest of days. By the time you're done, you'll be energized and full of maze-related possibilities!What You Need:The example code requires version 2 of the Ruby programming language. Some examples depend on the ChunkyPNG library to generate PNG images, and one chapter uses POV-Ray version 3.7 to render 3D graphics.

Unity in Action


Joseph Hocking - 2015
    You'll master the Unity toolset from the ground up, adding the skills you need to go from application coder to game developer. Based on Unity version 5.About the BookThis book helps readers build successful games with the Unity game development platform. You will use the powerful C# language, Unity's intuitive workflow tools, and a state-of-the-art rendering engine to build and deploy mobile, desktop, and console games. Unity's single codebase approach minimizes inefficient switching among development tools and concentrates your attention on making great interactive experiences.Unity in Action teaches you how to write and deploy games. You'll master the Unity toolset from the ground up, adding the skills you need to go from application coder to game developer. Each sample project illuminates specific Unity features and game development strategies. As you read and practice, you'll build up a well-rounded skill set for creating graphically driven 2D and 3D game applications.You'll need to know how to program, in C# or a similar OO language. No previous Unity experience or game development knowledge is assumed.

Multiplayer Game Programming: Architecting Networked Games (Game Design)


Josh Glazer - 2015
    In this practical, code-rich guide, Joshua Glazer and Sanjay Madhav guide you through every aspect of engineering them. Drawing on their immense experience as both game developers and instructors, the authors lead you through building a robust multiplayer architecture, and creating every engine-level system. You'll learn through in-depth working code examples for two complete games: an action game and a real time strategy (RTS) game. First, Madhav and Glazer review the essentials of networking and network programming from the standpoint of game developers. Next, they walk through managing game data transmission, updating game objects across the network, and organizing the devices that join your game. You'll learn how to ensure reliable performance despite the Internet's inherent inconsistencies, and how to design game code for maximum security and scalability. The authors conclude by addressing two increasingly crucial issues: incorporating gamer services and hosting your games in the cloud. This guide's content has been extensively tested through the authors' multiplayer game programming courses at USC. It is equally valuable both to students "and" to working game programmers moving into networked games. Coverage includesHow games have evolved to meet the challenges of networked environments Using Internet communication protocols and standards in game development Working with Berkeley Socket, the most widely used networking construct in multiplayer gaming Formatting game data for efficient Internet transmission Synchronizing states so all players share the same world Organizing networking topologies for large-scale games Overcoming latency and jitter problems that cause delays or lost data Scaling games without compromising performance Combating security vulnerabilities and software cheats Leveraging the networking functionality of the popular Unreal 4 and Unity game engines Integrating gamer services such as matchmaking, achievements, and leaderboards Running game servers in the cloud About the Website C++ source code for all examples is available at "github.com/MultiplayerBook" . Instructors will also find a full set of PowerPoint slides and a sample syllabus.

The Nature of Software Development


Ron Jeffries - 2015
    

Getting MEAN with Mongo, Express, Angular, and Node


Simon Holmes - 2015
    You'll systematically discover each technology in the MEAN stack as you build up an application one layer at a time, just as you'd do in a real project.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyTraditional web dev stacks use a different programming language in every layer, resulting in a complex mashup of code and frameworks. Together, the MongoDB database, the Express and AngularJS frameworks, and Node.js constitute the MEAN stack--a powerful platform that uses only one language, top to bottom: JavaScript. Developers and businesses love it because it's scalable and cost-effective. End users love it because the apps created with it are fast and responsive. It's a win-win-win!About the BookGetting MEAN with Mongo, Express, Angular, and Node teaches you how to develop web applications using the MEAN stack. First, you'll create the skeleton of a static site in Express and Node, and then push it up to a live web server. Next, you'll add a MongoDB database and build an API before using Angular to handle data manipulation and application logic in the browser. Finally you'll add an authentication system to the application, using the whole stack. When you finish, you'll have all the skills you need to build a dynamic data-driven web application.What's InsideFull-stack development using JavaScriptResponsive web techniquesEverything you need to get started with MEANBest practices for efficiency and reusabilityAbout the ReaderReaders should have some web development experience. This book is based on MongoDB 2, Express 4, Angular 1, and Node.js 4.About the AuthorSimon Holmes has been a full-stack developer since the late 1990s and runs Full Stack Training Ltd.Table of ContentsPART 1 SETTING THE BASELINEIntroducing full-stack developmentDesigning a MEAN stack architecturePART 2 BUILDING A NODE WEB APPLICATIONCreating and setting up a MEAN projectBuilding a static site with Node and ExpressBuilding a data model with MongoDB and MongooseWriting a REST API: Exposing the MongoDB database to the applicationConsuming a REST API: Using an API from inside ExpressPART 3 ADDING A DYNAMIC FRONT END WITH ANGULARAdding Angular components to an Express applicationBuilding a single-page application with Angular: FoundationsBuilding an SPA with Angular: The next levelPART 4 MANAGING AUTHENTICATION AND USER SESSIONSAuthenticating users, managing sessions, and securing APIsAPPENDIXESInstalling the stackInstalling and preparing the supporting castDealing with all of the viewsReintroducing JavaScript - available online only

Pro ASP.Net Core MVC


Adam Freeman - 2015
    Follow the Download Source Code link for this book on the Apress website.Now in its 6th edition, the best selling book on MVC is now updated for ASP.NET Core MVC. It contains detailed explanations of the new Core MVC functionality which enables developers to produce leaner, cloud optimized and mobile-ready applications for the .NET platform. This book puts ASP.NET Core MVC into context and dives deep into the tools and techniques required to build modern, cloud optimized extensible web applications. All the new MVC features are described in detail and the author explains how best to apply them to both new and existing projects.The ASP.NET Core MVC Framework is the latest evolution of Microsoft's ASP.NET web platform, built on a completely new foundation. It represents a fundamental change to how Microsoft constructs and deploys web frameworks and is free of the legacy of earlier technologies such as Web Forms. ASP.NET Core MVC provides a "host agnostic" framework and a high-productivity programming model that promotes cleaner code architecture, test-driven development, and powerful extensibility.Best-selling author Adam Freeman has thoroughly revised this market-leading book and explains how to get the most from ASP.NET Core MVC. He starts with the nuts-and-bolts and shows you everything through to advanced features, going in-depth to give you the knowledge you need.This book follows the same format and style as the popular previous editions but brings everything up to date for the new ASP.NET Core MVC release. It presents a fully worked case study of a functioning ASP.NET MVC application that readers can use as a template for their own projects.What You Will Learn: Gain a solid architectural understanding of ASP.NET Core MVCExplore the entire ASP.NET MVC Framework as a cohesive wholeSee how MVC and test-driven development work in actionLearn what's new in ASP.NET Core MVC and how best to apply these new features to your own workSee how to create RESTful web services and Single Page ApplicationsBuild on your existing knowledge of previous MVC releases to get up and running with the new programming model quickly and effectivelyWho This Book Is For: This book is for web developers with a basic knowledge of ASP.NET and C# who want to incorporate the latest improvements and functionality in the new ASP.NET Core MVC Framework.

Mastering Emacs


Mickey Petersen - 2015
    In the Mastering Emacs ebook you will learn the answers to all the concepts that take weeks, months or even years to truly learn, all in one place.“Emacs is such a hard editor to learn”But why is it so hard to learn? As it turns out, it's almost always the same handful of issues that everyone faces.If you have tried to learn Emacs you will have struggled with the same problems everyone faces, and few tutorials to see you through it.I have dedicated the first half of the book to explaining the essence of Emacs — and in doing so, how to overcome these issues:Memorizing Emacs’s keys: You will learn Emacs one key at a time, starting with the arrow keys. To feel productive in Emacs, it’s important you start on an equal footing — without too many new concepts and keys to memorize. Each chapter will introduce more keys and concepts so you can learn at your own pace. Discovering new modes and features: Emacs is a self-documenting editor, and I will teach you how to use the apropos, info, and describe system to discover new modes and features, or help you find things you forgot! Customizing Emacs: You don’t have to learn Emacs Lisp to alter a lot of Emacs’s functionality. Most changes you want to make are possible using Emacs’s Customize interface and I will show you how to use it efficiently. Understanding the terminology: Emacs is so old it predates almost every other editor and all modern user interfaces. I have an entire chapter dedicated to the unique terminology in Emacs; how it is different from other editors, and what that means to you.

Unity 5 From Zero to Proficiency (Beginner): A step-by-step guide to coding your first game with Unity.


Patrick Felicia - 2015
    Often, these barriers seem higher than they actually are. Maybe you are a teacher trying to introduce games in your classroom or a parent trying to help your child with coding, but with no previous coding or game development experience; maybe you are a hobbyist who would love to create interactive environments based on your favorite games; maybe you are a student getting started with game development but you just don't know where to start or what resources to use; or maybe you have tried online video tutorials but found them disjointed. You may be wondering: "How can I start to create my games if I have no experience of coding", or "this game engine is so complex that I just don't know where to get started". This is quite common, and you can easily overcome these issues with a step-by-step approach that gets you to progressively develop and use your skills. This is the approach that I have used successfully over the past years to take students from no knowledge of coding or game development to good levels of proficiency in Unity and coding.Of course, it takes some time and dedication; however, by following the techniques and suggestions described in this book, I can promise you that you will progress, regardless of your background, and become more comfortable with Unity and coding.Content and structure of this bookIn this book, the second book in the series, you will become comfortable with scripting in Unity by creating a simple survival game.The book includes: A list of the learning objectives at the start of each chapter. Step-by-step activities. Opportunities to engage in deeper learning and problem-solving skills through challenges at the end of each chapter. Quizzes to test your knowledge. Full project and code solutions (in JavaScript and C#) for each chapter. Cheat-sheets (i.e., shortcuts, best practice, etc.) that you can download. The content of each chapter is as follows: Chapter 1 gives an introduction to JavaScript and to core principles that will help you to get started with coding. You will learn key programming concepts such as variables, variable types, or functions. Chapter 2 helps you to code your first script. You will learn how to code following best coding practices, debug your code, and also avoid common errors. Chapter 3 gets you to improve your scripting skills, enhance your game and add more interaction. You will learn to implement a scoring system, to detect collisions, and to load new levels. Chapter 4 explains how you can create and update a user interface for your game (e.g., displaying images and messages onscreen) using scripting. Chapter 5 explains how you can polish-up your game. You will add a splash-screen, a simple inventory system, sound effects, as well as a mini-map. Chapter 6 explains how to add Non-Player Characters (NPCs) with Artificial Intelligence (AI).

What Every JavaScript Developer Should Know About ECMAScript 2015 (OdeToCode Programming Series)


K. Scott Allen - 2015
    I sat down and wrote the book I would like to read about these new features. This book is not an exhaustive list of everything new in the ECMAScript 2015 specification that governs the JavaScript language. Instead, I purposefully selected what I think are the important features we will use in everyday programming. I expect the reader will already have a good understanding of the JavaScript language as the language existed before 2015.

Hacking with Swift


Paul Hudson - 2015
    Projects 1 - 39

Core Data


Florian Kugler - 2015
    We start with a simple example app and extend it step by step as we talk about relationships, advanced data types, concurrency, syncing, and many other topics.Later on, we go well beyond what's needed for the basic example app. We'll discuss in depth how Core Data works behind the scenes, how to get great performance, the trade-offs between different Core Data setups, and how to debug and profile your Core Data code.All code samples in this book are written in Swift. We show how you can leverage Swift's language features to write elegant and safe Core Data code. We expect that you're already familiar with Swift and iOS, but both newcomers and experienced Core Data developers will find a trove of applicable information and useful patterns.

Modern PHP: New Features and Good Practices


Josh Lockhart - 2015
    With this practical guide, you'll learn how PHP has become a full-featured, mature language with object-orientation, namespaces, and a growing collection of reusable component libraries.Author Josh Lockhart--creator of PHP The Right Way, a popular initiative to encourage PHP best practices--reveals these new language features in action. You'll learn best practices for application architecture and planning, databases, security, testing, debugging, and deployment. If you have a basic understanding of PHP and want to bolster your skills, this is your book.Learn modern PHP features, such as namespaces, traits, generators, and closuresDiscover how to find, use, and create PHP componentsFollow best practices for application security, working with databases, errors and exceptions, and moreLearn tools and techniques for deploying, tuning, testing, and profiling your PHP applicationsExplore Facebook's HVVM and Hack language implementations--and how they affect modern PHPBuild a local development environment that closely matches your production server

Programming Languages: ABC++


Michael Dowden - 2015
    It's an alphabet book that aims to help us share what we do with the kids in our life, and spark children's interest in coding.

Modern Web Development: Understanding Domains, Technologies, and User Experience


Dino Esposito - 2015
    You'll learn how to gain maximum value from Domain-Driven Design (DDD), define optimal supporting architecture, and succeed with modern UX-first design approaches. The author guides you through choosing and implementing specific technologies and addresses key user-experience topics, including mobile-friendly and responsive design. You'll learn how to gain more value from existing Microsoft technologies such as ASP.NET MVC and SignalR by using them alongside other technologies such as Bootstrap, AJAX, JSON, and JQuery. By using these techniques and understanding the new ASP.NET Core 1.0, you can quickly build advanced web solutions that solve today's problems and deliver an outstanding user experience.Microsoft MVP Dino Esposito shows you how to: Plan websites and web apps to mirror real-world social and business processes Use DDD to dissect and master the complexity of business domains Use UX-Driven Design to reduce costs and give customers what they want Realistically compare server-side and client-side web paradigms Get started with the new ASP.NET Core 1.0 Simplify modern visual webpage construction with Bootstrap Master practical, efficient techniques for running ASP.NET MVC projects Consider new options for implementing persistence and working with data models Understand Responsive Web Design's pros, cons, and tradeoffs Build truly mobile-friendly, mobile-optimized websites About This Book For experienced developers and solution architects who want to plan and develop web solutions more effectively Assumes basic familiarity with the Microsoft web development stack

NoSQL for Mere Mortals


Dan Sullivan - 2015
    Now, there's one for today's exciting new NoSQL databases. NoSQL for Mere Mortals guides you through solving real problems with NoSQL and achieving unprecedented scalability, cost efficiency, flexibility, and availability. Drawing on 20+ years of cutting-edge database experience, Dan Sullivan explains the advantages, use cases, and terminology associated with all four main categories of NoSQL databases: key-value, document, column family, and graph databases. For each, he introduces pragmatic best practices for building high-value applications. Through step-by-step examples, you'll discover how to choose the right database for each task, and use it the right way. Coverage includes --Getting started: What NoSQL databases are, how they differ from relational databases, when to use them, and when not to Data management principles and design criteria: Essential knowledge for creating any database solution, NoSQL or relational --Key-value databases: Gaining more utility from data structures --Document databases: Schemaless databases, normalization and denormalization, mutable documents, indexing, and design patterns --Column family databases: Google's BigTable design, table design, indexing, partitioning, and Big Data Graph databases: Graph/network modeling, design tips, query methods, and traps to avoid Whether you're a database developer, data modeler, database user, or student, learning NoSQL can open up immense new opportunities. As thousands of database professionals already know, For Mere Mortals is the fastest, easiest route to mastery. Normal 0 false false false EN-US JA X-NONE

C# 6.0 Pocket Reference: Instant Help for C# 6.0 Programmers


Joseph Albahari - 2015
    Easy to browse, it's ideal as a quick reference or as a guide to get you rapidly up to speed if you already know Java, C++, or an earlier version of C#.Written by the author of C# 6.0 in a Nutshell, this book covers the entire C# 6.0 language, including:All of C#'s fundamentalsAdvanced topics such as operator overloading, type constraints, covariance and contravariance, iterators, nullable types, operator lifting, lambda expressions, and closuresLINQ, starting with sequences, lazy execution and standard query operators, and finishing with a complete reference to query expressionsDynamic binding and asynchronous functionsUnsafe code & pointers, custom attributes, preprocessor directives, and XML documentation

Blueprints Visual Scripting for Unreal Engine


Brenden Sewell - 2015
    Starting with a basic First Person Shooter template, each chapter will extend the prototype to create an increasingly complex and robust game experience. You will progress from creating basic shooting mechanics to gradually more complex systems that will generate user interface elements and intelligent enemy behavior. Focusing on universally applicable skills, the expertise you will develop in utilizing Blueprints can translate to other types of genres.By the time you finish the book, you will have a fully functional First Person Shooter game and the skills necessary to expand on the game to develop an entertaining, memorable experience for your players.From making customizations to player movement to creating new AI and game mechanics from scratch, you will discover everything you need to know to get started with game development using Blueprints and Unreal Engine 4.

The Clean Architecture in PHP


Kristopher Wilson - 2015
    Your code doesn't have to be an unwieldy, soul crushing nightmare that revokes any joy of programming you once had.

q For Mortals Version 3: An Introduction to q Programming


Jeffry A. Borror - 2015
    

Mastering Selenium WebDriver


Mark Collin - 2015
    What You Will Learn Provide fast, useful feedback with sensible errors and screenshots Create extensible, well-composed page objects Gain an in-depth understanding of implicit and explicit waits, and how you should use them Leverage the full power of the Actions API Explore the full potential of the JavascriptExecutor Extend Selenium's capabilities by integrating other applications Learn how to plug third-party products into Selenium, and where it is appropriate to do so In Detail Selenium WebDriver, also known as Selenium 2, is a UI automation tool used by software developers and QA engineers to test their web applications on different web browsers. The Selenium WebDriver API is fully object oriented compared with the deprecated Selenium RC. The WebDriver API provides multi-language support and run tests on all the most popular browsers.In this wide and complex World Wide Web era, this book will teach you how to tame it by gaining an in-depth understanding of the Selenium API.This book starts with how to solve the difficult problems that you will undoubtedly come across as you start using Selenium in an enterprise environment, followed by producing the right feedback when failing, and what the common exceptions are, explain them properly (including the root cause) and tell you how to fix them. You will also see the differences between the three available implicit waits and explicit waits, and learn to working with effective page objects.Moving on, the book shows you how to utilize the Advanced User Interactions API, how you can run any JavaScript you need through Selenium, and how to quickly spin up a Selenium Grid using Docker containers.At the end, the book will discuss the upcoming Selenium W3C specification and how it is going to affect the future of Selenium. Style and approach This book is a pragmatic guide that takes you through the process of creating a test framework. It then shows you how you can extend this framework to overcome common obstacles that you will come across whilst using Selenium.

IOS Animations by Tutorials


raywenderlich.com Team - 2015
    Animations are fun to create, they breathe life into your user interface, and they make your app a delight to use. In this book, you'll learn about iOS animation in Swift from beginning to advanced through a series of hands-on tutorials and challenges, that make your app look and feel great.Up to date with iOS 9, Xcode 7, and Swift 2.Who This Book Is For: This book is for intermediate to advanced developers, who already know the basics of iOS and Swift development and want to dive deep into animations.Topics Covered in iOS Animations by Tutorials: View Animations: Start with the basics by learning how to animate views: size, position, color, and more. Springs: Make your animations bounce with realistic spring behavior. Transitions: Add subtle transitoins when you add or remove subviews. Keyframe Animations: Learn how to make complex animations with precise multi-stage timing. Animation and Auto Layout: Learn how to animate with Auto Layout by animating constraints. Layer Animations: Dive deeper and use layer animation for more advanced techniques. Shapes and Masks: Learn how to use shapes and layer masks for cool effects. Gradient Animations: Make moving gradients like the "slide to unlock" screen. Stroke and Path Animations: Animate lines moving over time along a path. 3D Animations: Rotate, translate, and scale your layers over time in three dimensions. And much more, including: Particle emitters, frame animations, and third-party animation libraries!The iOS Tutorial Team takes pride in making sure each tutorial we write holds to the highest standards of quality. We want our tutorials to be well written, easy to follow, and fun. And we don't want to just skim the surface of a subject - we want to really dig into it, so you can truly understand how it works and apply the knowledge directly in your own apps.

Learn Linux in 5 Days


Jason Cannon - 2015
    As the founder of the Linux Training Academy and an instructor of several courses, I've had the good fortune of helping thousands of people hone their Linux skills. Interacting with so many people who are just getting started with the Linux operating system has given me invaluable insight into the particular struggles and challenges people face at this stage. One of the biggest challenges for people interested in learning the ins and outs of Linux is simply a lack of time. When you are working with a limited and extremely valuable resource you want to make sure you make the most of it. The next biggest challenge for Linux newcomers is knowing where to start. There is so much information available that deciding what to focus your attention on first is a big enough hurdle to keep many people from even starting. What's worse is starting down the path of learning only to discover too many concepts, commands, and nuances that aren't explained. This kind of experience is frustrating and leaves you with more questions than answers. That's why I've written this book. Not only have I condensed the most important material into five sections, each designed to be consumed in a day, I've also structured the content in a logical and systematic manner. This way you'll be sure to make the most out of your time by learning the foundational aspects of Linux first and then building upon that foundation each day. In Learn Linux in 5 Days you will learn the most important concepts and commands, and be guided step-by-step through several practical and real-world examples. As new concepts, commands, or jargon are encountered they are explained in plain language, making it easy to understand. Here is what you will learn by reading Learn Linux in 5 Days: How to get access to a Linux server if you don't already. What a Linux distribution is and which one to choose. What software is needed to connect to Linux from Mac and Windows computers. Screenshots included. What SSH is and how to use it, including creating and using SSH keys. The file system layout of Linux systems and where to find programs, configurations, and documentation. The basic Linux commands you'll use most often. Creating, renaming, moving, and deleting directories. Listing, reading, creating, editing, copying, and deleting files. Exactly how permissions work and how to decipher the most cryptic Linux permissions with ease. How to use the nano, vi, and emacs editors. Two methods to search for files and directories. How to compare the contents of files. What pipes are, why they are useful, and how to use them. How to compress files to save space and make transferring data easy. How and why to redirect input and output from applications. How to customize your shell prompt. How to be efficient at the command line by using aliases, tab completion, and your shell history. How to schedule and automate jobs using cron. How to switch users and run processes as others. Where to go for even more in-depth coverage on each topic. What you learn in Learn Linux in 5 Days applies to any Linux environment including Ubuntu, Debian, Linux Mint, RedHat, Fedora, OpenSUSE, Slackware, and more. Scroll up, click the Buy Now With 1 Click button and get started learning Linux today!

The Definitive Guide to ARM® Cortex®-M0 and Cortex-M0+ Processors


Joseph Yiu - 2015
     Written by ARM’s Senior Embedded Technology Manager, Joseph Yiu, the book is packed with examples on how to use the features in the Cortex-M0 and Cortex-M0+ processors. It provides detailed information on the instruction set architecture, how to use a number of popular development suites, an overview of the software development flow, and information on how to locate problems in the program code and software porting. This new edition includes the differences between the Cortex-M0 and Cortex-M0+ processors such as architectural features (e.g. unprivileged execution level, vector table relocation), new chapters on low power designs and the Memory Protection Unit (MPU), the benefits of the Cortex-M0+ processor, such as the new single cycle I/O interface, higher energy efficiency, better performance and the Micro Trace Buffer (MTB) feature, updated software development tools, updated Real Time Operating System examples using Keil™ RTX with CMSIS-RTOS APIs, examples of using various Cortex-M0 and Cortex-M0+ based microcontrollers, and much more. Provides detailed information on ARM® Cortex®-M0 and Cortex-M0+ Processors, including their architectures, programming model, instruction set, and interrupt handling Presents detailed information on the differences between the Cortex-M0 and Cortex-M0+ processors Covers software development flow, including examples for various development tools in both C and assembly languages Includes in-depth coverage of design approaches and considerations for developing ultra low power embedded systems, the benchmark for energy efficiency in microcontrollers, and examples of utilizing low power features in microcontrollers

Text Processing with Ruby: Extract Value from the Data That Surrounds You


Rob Miller - 2015
    Web pages, databases, the contents of files--for almost any programming task you perform, you need to process text. Cut even the most complex text-based tasks down to size and learn how to master regular expressions, scrape information from Web pages, develop reusable utilities to process text in pipelines, and more.Most information in the world is in text format, and programmers often find themselves needing to make sense of the data hiding within. It might be to convert it from one format to another, or to find out information about the text as a whole, or to extract information fromit. But how do you do this efficiently, avoiding labor-intensive, manual work?Text Processing with Ruby takes a practical approach. You'll learn how to get text into your Ruby programs from the file system and from user input. You'll process delimited files such as CSVs, and write utilities that interact with other programs in text-processing pipelines. Decipher character encoding mysteries, and avoid the pain of jumbled characters and malformed output.You'll learn to use regular expressions to match, extract, and replace patterns in text. You'll write a parser and learn how to process Web pages to pull out information from even the messiest of HTML.Before long you'll be able to tackle even the most enormous and entangled text with ease, scything through gigabytes of data and effortlessly extracting the bits that matter.What You Need: This book requires a passing familiarity with the Ruby programming language, and assumes that you already have Ruby installed on your computer.

Jump Start MySQL: Master the Database That Powers the Web


Timothy Boronczyk - 2015
    Discover why MySQL's speed, ease of use, and flexibility make it the database of choice for so many developers.In just one weekend with this hands-on tutorial, you'll learn how to:Get started with MySQLStore, modify, and retrieve dataWork with multiple tablesConnect to your database through codeProgram the databaseBack up your data

The Art of Computer Programming, Volume 4, Fascicle 6: Satisfiability


Donald Ervin Knuth - 2015
    The four volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth s writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his cookbook solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books. To continue the fourth and later volumes of the set, and to update parts of the existing volumes, Knuth has created a series of small books called fascicles, which are published at regular intervals. Each fascicle encompasses a section or more of wholly new or revised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete. Volume 4 Fascicle 6 This fascicle, brimming with lively examples, forms the middle third of what will eventually become hardcover Volume 4B. It introduces and surveys Satisfiability, one of the most fundamental problems in all of computer science: Given a Boolean function, can its variables be set to at least one pattern of 0s and 1s that will make the function true? Satisfiability is far from an abstract exercise in understanding formal systems. Revolutionary methods for solving such problems emerged at the beginning of the twenty-first century, and they ve led to game-changing applications in industry. These so-called SAT solvers can now routinely find solutions to practical problems that involve millions of variables and were thought until very recently to be hopelessly difficult. Fascicle 6 presents full details of seven different SAT solvers, ranging from simple algorithms suitable for small problems to state-of-the-art algorithms of industrial strength. Many other significant topics also arise in the course of the discussion, such as bounded model checking, the theory of traces, Las Vegas algorithms, phase changes in random processes, the efficient encoding of problems into conjunctive normal form, and the exploitation of global and local symmetries. More than 500 exercises are provided, arranged carefully for self-instruction, together with detailed answers. "

Q Tips: Fast, Scalable and Maintainable Kdb+


Nick Psaris - 2015
    Q Tips teaches you everything you need to know to build a fully functional CEP engine. Advanced topics include profiling an active q server, derivatives pricing and histogram charting. As each new topic is introduced, tips are highlighted to help you write better q.

Microsoft Visual C# Step by Step (Developer Reference)


John Sharp - 2015
    If you are an experienced software developer, you’ll get all the guidance, exercises, and code you need to start building responsive, scalable Windows 10 and Universal Windows Platform applications with Visual C#. Discover how to: Quickly start creating Visual C# code and projects with Visual Studio 2015 Work with variables, operators, expressions, and methods Control program flow with decision and iteration statements Build more robust apps with error, exception, and resource management Master the essentials of Visual C# object-oriented programming Use enumerations, structures, generics, collections, indexers, and other advanced features Create in-memory data queries with LINQ query expressions Improve application throughput and response time with asynchronous methods Decouple application logic and event handling Streamline development with new app templates Implement the Model-View-ViewModel (MVVM) pattern Build Universal Windows Platform apps that smoothly adapt to PCs, tablets, and Windows phones Integrate Microsoft Azure cloud databases and RESTful web services About You For software developers who are new to Visual C# or who are upgrading from older versions Readers should have experience with at least one programming language No prior Microsoft .NET or Visual Studio development experience required

Programming and Interfacing Atmel's Avrs


Thomas Grace - 2015
    In this book, PROGRAMMING AND INTERFACING ATMEL'S AVRS, you will learn how to program and interface using three of Atmel's microcontrollers--the ATtiny13, the ATmega328, and the ATmega32. The book begins with the binary number system and move into programming in assembly, then C and C++. Very little prior engineering knowledge is assumed. You'll work step-by-step through sections on connecting to devices such as DC motors, servos, steppers, touch pads, GPS sensors, temperature sensors, accelerometers, and more. Get started working with Atmel's AVRs today, with PROGRAMMING AND INTERFACING ATMEL'S AVRS.

Clojure for the Brave and True: Learn the Ultimate Language and Become a Better Programmer


Daniel Higginbotham - 2015
    At long last you’ll be united with the programming language you’ve been longing for: Clojure!As a Lisp-style functional programming language, Clojure lets you write robust and elegant code, and because it runs on the Java Virtual Machine, you can take advantage of the vast Java ecosystem. Clojure for the Brave and True offers a "dessert-first" approach: you’ll start playing with real programs immediately, as you steadily acclimate to the abstract but powerful features of Lisp and functional programming. Inside you’ll find an offbeat, practical guide to Clojure, filled with quirky sample programs that catch cheese thieves and track glittery vampires.Learn how to:–Wield Clojure’s core functions–Use Emacs for Clojure development–Write macros to modify Clojure itself–Use Clojure’s tools to simplify concurrency and parallel programmingClojure for the Brave and True assumes no prior experience with Clojure, the Java Virtual Machine, or functional programming. Are you ready, brave reader, to meet your true destiny? Grab your best pair of parentheses—you’re about to embark on an epic journey into the world of Clojure!

Build Web Applications with Java: Learn every aspect to build web applications from scratch


Mirza Yousuf Ahmed Baig - 2015
    This book covers all of these things plus other aspects together while building an actual web application from inception till completion. This books takes a sample web application and builds it from scratch. Each aspect is explained at micro level with real time examples along with the uml diagrams and code. The fundamental concepts of software engineering and programming web applications are covered with high importance.The objective of this book is to teach building modern day business web applications using java and other related technologies. This book teaches everything in details and in simpler way about building web applications with medium to high level of complexity. This book also covers various software engineering concepts that are required for building software solutions.The book takes you through each and every step of building a web application from scratch. The objective is to teach the reader every single aspect of software engineering required for building web applications from inception till deployment and support. In order to achieve the objective, a real life business requirement is taken and the sample project is built step by step from requirements gathering till deployment and support. The book includes building a light weight MVC based Java framework and building the sample web application using it. During the course architecture, SDLC, UML, security, ajax, various patterns, best practices and other related topics are explained.The best way to learn anything is to get the hands dirty. When a developer starts building any software solution, he/she gets lots of doubts and questions while actually doing it. When the reader architects, designs and does the coding hands on, the reader learns every aspect practically. When the reader builds the working application step by step, the confidence of the reader as a developer is boosted.

Embedded Programming with Android: Bringing Up an Android System from Scratch (Android Deep Dive)


Roger Ye - 2015
    In this concise guide, Roger Ye teaches all the skills you’ll need to write the efficient embedded code necessary to make tomorrow’s Android devices work.   The first title in Addison-Wesley’s new Android™ Deep Dive series for intermediate and expert Android developers, Embedded Programming with Android™ draws on Roger Ye’s extensive experience with advanced projects in telecommunications and mobile devices. Step by step, he guides you through building a system with all the key components Android hardware developers must deliver to manufacturing. By the time you’re done, you’ll have the key programming, compiler, and debugging skills you’ll need for real-world projects.   First, Ye introduces the essentials of bare-metal programming: creating assembly language code that runs directly on hardware. Then, building on this knowledge, he shows how to use C to create hardware interfaces for booting a Linux kernel with the popular U-Boot bootloader. Finally, he walks you through using filesystem images to boot Android and learning to build customized ROMs to support any new Android device. Throughout, Ye provides extensive downloadable code you can run, explore, and adapt.   You will  Build a complete virtualized environment for embedded development Understand the workflow of a modern embedded systems project Develop assembly programs, create binary images, and load and run them in the Android emulator Learn what it takes to bring up a bootloader and operating system Move from assembler to C, and explore Android’s goldfish hardware interfaces Program serial ports, interrupt controllers, real time clocks, and NAND flash controllers Integrate C runtime libraries Support exception handling and timing Use U-Boot to boot the kernel via NOR or NAND flash processes Gain in-depth knowledge for porting U-Boot to new environments Integrate U-Boot and a Linux kernel into an AOSP and CyanogenMod source tree Create your own Android ROM on a virtual Android device

Universal Windows Apps with Xaml and C# Unleashed


Adam Nathan - 2015
    You can now write once and deploy your app to any modern PC, tablet, phone, or other Windows device. Suddenly, it's quick and easy to serve new devices and form factors, sharing unified assets ranging from code to styles to user controls. It has never been easier to reach multiple-device markets!Now, the world's #1 expert on Microsoft XAML brings together all the knowledge Windows developers need to build universal apps that adapt smoothly for any device running Windows 8.1, Windows Phone 8.1, or their successors. Drawing on his unsurpassed personal experience and direct input from Microsoft's Windows and Visual Studio teams, Adam Nathan illuminates core development concepts, answers your most important questions, and candidly assesses the technology's strengths and limitations.This full-color guide walks you through every key task involved in building a universal Windows app: layout and input, working with the app model, using advanced controls, leveraging XAML's powerful rich media features, and much more.Detailed information on how to... Quickly build universal, localized apps that exploit the vast global scale of the Windows Store Size, position, and transform elements within layouts that gracefully adapt to different devices Handle input from touch, mouse, pen, keyboard, and any sensor Monetize apps with Windows Store sales, in-app purchases, and advertising Make the most of controls for managing content, items, text, images, media, speech, and more Create efficient 2D vector graphics and animations Use styles, templates, and visual states to redesign controls without losing functionality Bind data sources to simplify data presentation and updates Easily integrate data from apps, users, and networks Support Windows app commands: Search, Share, Print, Play, Project, Settings Use contracts to build apps that cooperate to perform complex tasks Improve the user experience even when your app isn't running

Learn JavaFX 8: Building User Experience and Interfaces with Java 8


Kishori Sharan - 2015
    Each chapter starts with an introduction to the topic at hand, followed by a step-by-step discussion of the topic with small snippets of code. The book contains numerous figures aiding readers in visualizing the GUI that is built at every step in the discussion.The book starts with an introduction to JavaFX and its history. It lists the system requirements and the steps to start developing JavaFX applications. It shows you how to create a Hello World application in JavaFX, explaining every line of code in the process. Later in the book, author Kishori Sharan discusses advanced topics such as 2D and 3D graphics, charts, FXML, advanced controls, and printing. Some of the advanced controls such as TableView, TreeTableView and WebView are covered at length in separate chapters.This book provides complete and comprehensive coverage of JavaFX 8 features; uses an incremental approach to teach JavaFX, assuming no prior GUI knowledge; includes code snippets, complete programs, and pictures; covers MVC patterns using JavaFX; and covers advanced topics such as FXML, effects, transformations, charts, images, canvas, audio and video, DnD, and more. So, after reading and using this book, you'll come away with a comprehensive introduction to the JavaFX APIs as found in the new Java 8 platform. What you’ll learn • How to develop rich-client desktop applications using JavaFX 8• How to use properties, collections, colors, and styles• How to use controls and handle events to build modern GUI applications• How to use advanced controls such as TreeView, TableView, and TreeTableView• How to access webpages in JavaFX applications• How to draw 2D and 3D shapes, and apply effects and transformations• How to create animations and charts using the JavaFX 8 APIs• How to add audio and video to your applications• How to create GUIs in JavaFX using FXML• How to provide printing capabilities using the JavaFX Print API Who this book is for This book is for Java developers with beginning to intermediate level Java skills who want to learn how to develop modern desktop GUI applications using JavaFX 8.

Learning Scientific Programming with Python


Christian Hill - 2015
    Students and researchers at all levels are increasingly turning to the powerful Python programming language as an alternative to commercial packages and this fast-paced introduction moves from the basics to advanced concepts in one complete volume, enabling readers to quickly gain proficiency. Beginning with general programming concepts such as loops and functions within the core Python 3 language, and moving onto the NumPy, SciPy and Matplotlib libraries for numerical programming and data visualisation, this textbook also discusses the use of IPython notebooks to build rich-media, shareable documents for scientific analysis. Including a final chapter introducing challenging topics such as floating-point precision and algorithm stability, and with extensive online resources to support advanced study, this textbook represents a targeted package for students requiring a solid foundation in Python programming.

Odoo Development Essentials


Daniel Reis - 2015
    You are expected to have experience developing business applications, as well as an understanding of MVC application design and knowledge of the Python programming language. What You Will Learn Set up a development environment and manage your Odoo instances and databases Develop from a remote Workstation such as Windows using Odoo Create your first Odoo application and get acquainted with the development workflow Build module extensions and understand the inheritance mechanisms Use XML and CSV data files and external IDs to load and export data for your business applications Structure the application data model using Odoo's Object Relation Mapping (ORM) capabilities Design effective user interfaces using forms, lists, and kanban views Integrate Odoo with other systems using the external API Deploy Odoo and your business application for production use In Detail Odoo is a powerful and fast-growing business application platform. Beginning with setting up the development environment, this book will then guide you through a practical journey to build feature-rich business applications.With the aim of jumpstarting your Odoo proficiency level, from no specific knowledge to application development readiness, you will be set on the path of developing your first Odoo application. Then, you will move on to topics such as models and views and understanding and using server APIs to add business logic, which will lay a solid foundation for advanced topics.The book concludes with a guide to Odoo interaction and how to use the Odoo API from other programs, all of which will enable you to efficiently integrate applications with other external systems.

Beginning Software Engineering


Rod Stephens - 2015
    Free of jargon and assuming no previous programming, development, or management experience, this accessible guide explains important concepts and techniques that can be applied to any programming language. Each chapter ends with exercises that let you test your understanding and help you elaborate on the chapter's main concepts. Everything you need to understand waterfall, Sashimi, agile, RAD, Scrum, Kanban, Extreme Programming, and many other development models is inside!Describes in plain English what software engineering is Explains the roles and responsibilities of team members working on a software engineering project Outlines key phases that any software engineering effort must handle to produce applications that are powerful and dependable Details the most popular software development methodologies and explains the different ways they handle critical development tasks Incorporates exercises that expand upon each chapter's main ideas Includes an extensive glossary of software engineering terms

Common LISP Recipes: A Problem-Solution Approach


Edmund Weitz - 2015
    This book covers areas as diverse as web programming, databases, graphical user interfaces, integration with other programming languages, multi-threading, and mobile devices as well as debugging techniques and optimization, to name just a few.Written by an author who has used Common Lisp in many successful commercial projects over more than a decade, Common Lisp Recipes is also the first Common Lisp book to tackle such advanced topics as environment access, logical pathnames, Gray streams, delivery of executables, pretty printing, setf expansions, or changing the syntax of Common Lisp.The book is organized around specific problems or questions each followed by ready-to-use example solutions and clear explanations of the concepts involved, plus pointers to alternatives and more information. Each recipe can be read independently of the others and thus the book will earn a special place on your bookshelf as a reference work you always want to have within reach.Common Lisp Recipes is aimed at programmers who are already familiar with Common Lisp to a certain extent but do not yet have the experience you typically only get from years of hacking in a specific computer language. It is written in a style that mixes hands-on no-frills pragmatism with precise information and prudent mentorship.If you feel attracted to Common Lisp's mix of breathtaking features and down-to-earth utilitarianism, you'll also like this book.

Learning Yii Testing


Matteo Pescarin - 2015
    PHP developers using the high-performance PHP framework Yii have access to Codeception, a testing suite that provides comprehensive support for unit, functional, and acceptance tests. With Codeception, you will quickly learn how to create fast, stable applications using a test-driven development methodology. Learning Yii Testing embraces a testing-first strategy to guide you in the implementation of all possible types of tests, covering the core features of Yii 2. Starting with the nuts and bolts of testing, you'll walk through Yii 2's new functionality and improvements and learn how to begin testing with it. You'll explore the world of Codeception and gain insights into key topics such as testing in isolation and component integration tests.You'll also learn to analyze testing information and improve the quality of your code. At the end of the book, you will be able to use automation tools to reduce your testing workload.

Constraint Solving and Planning with Picat


Neng-Fa Zhou - 2015
    This book introduces a new logic-based multi-paradigm programming language that integrates logic programming, functional programming, dynamic programming with tabling, and scripting, for use in solving combinatorial search problems, including CP, SAT, and MIP (mixed integer programming) based solver modules, and a module for planning that is implemented using tabling.The book is useful for undergraduate and graduate students, researchers, and practitioners.

Practical Time Series Forecasting with R: A Hands-On Guide


Galit Shmueli - 2015
    Quantitative forecasting is an important component of decision making in a wide range of areas and across many business functions including economic forecasting, workload projections, sales forecasts, and transportation demand. Forecasting is widely used also outside of business, such as in demography and climatology. The book introduces readers to the most popular statistical models and data mining algorithms used in practice. It covers issues relating to different steps of the forecasting process, from goal definition through data collection, visualization, pre-processing, modeling, performance evaluation to implementation and communication. PRACTICAL TIME SERIES FORECASTING WITH R is suitable for courses on forecasting at the upper-undergraduate and graduate levels. It offers clear explanations, examples, end-of-chapter problems and cases. Methods are illustrated using the free and open-source software R.

The Oracle Algorithm


Jeffrey A. Ballard - 2015
    Nineteen. College student.Normal—except for her unfortunate habit of being in the wrong place at the wrong time.A chance encounter pushes her into the web of the strange mathematical genius Aaron Hartlet. Forced on the run, she must avoid the authorities while being chased relentlessly by two mysterious men.Nowhere to turn. Backed into a corner. She quickly learns the stakes are more than just her life. But the entire economic system as we know it.

BubbleSort Zines: How Does the Internet


Amy Wibowo - 2015
    

Full Stack Python Guide to Deployments


Matt Makai - 2015
    In each chapter, we'll perform a manual deployment to fully understand what we're doing, then automate each step with Fabric and Ansible.Throughout the book we'll take an example open source Python web application through a complete deployment on a virtual private server.

Murach's Beginning Java with Eclipse


Joel Murach - 2015
    In fact, in just 22 chapters, you'll grow from beginner to entry-level professional! Along the way, this book presents all of the critical skills that you need to move on to web or mobile development with Java. It presents object-oriented features like inheritance, interfaces, and polymorphism in a way that's both understandable and useful in the real world. It covers the most important features introduced in Java 8 such as lambda expressions and the new date/time API. It provides realistic sample applications that put these skills into context. It provides exercises that you can use to gain valuable hands-on experience. And it's all done in the distinctive Murach style that has been training professional programmers for over 40 years.

Data Science in R: A Case Studies Approach to Computational Reasoning and Problem Solving


Deborah Nolan - 2015
    It reveals the dynamic and iterative process by which data analysts approach a problem and reason about different ways of implementing solutions.The book's collection of projects, comprehensive sample solutions, and follow-up exercises encompass practical topics pertaining to data processing, including:Non-standard, complex data formats, such as robot logs and email messages Text processing and regular expressions Newer technologies, such as Web scraping, Web services, Keyhole Markup Language (KML), and Google Earth Statistical methods, such as classification trees, k-nearest neighbors, and naive Bayes Visualization and exploratory data analysis Relational databases and Structured Query Language (SQL) Simulation Algorithm implementation Large data and efficiencySuitable for self-study or as supplementary reading in a statistical computing course, the book enables instructors to incorporate interesting problems into their courses so that students gain valuable experience and data science skills. Students learn how to acquire and work with unstructured or semistructured data as well as how to narrow down and carefully frame the questions of interest about the data.Blending computational details with statistical and data analysis concepts, this book provides readers with an understanding of how professional data scientists think about daily computational tasks. It will improve readers' computational reasoning of real-world data analyses.

Practical Sitecore 8 Configuration and Strategy: A User Guide for Sitecore's Content and Marketing Capabilities


Phil Wicklund - 2015
    Thousands of companies use Sitecore to help manage their web and mobile digital properties. Sitecore is a very large, complex platform that performs many robust functions and capabilities.As such, marketers and end users often have a hard time coming up to speed on the technology. Practical Sitecore 8 Configuration and Strategy: A User Guide for Sitecore's Content and Marketing Capabilities provides that opportunity. The flow of the book will take newbies step-by-step on how to configure Sitecore content, personalization, and marketing automation capabilities. Sprinkled in through the book will be callouts that highlight strategies and best practices--taking the book beyond just the "how to" step-by-step procedures that can be found elsewhere. Practical Sitecore 8 Configuration and StrategyBrings you up to speed on Sitecore without requiring a training class.Provides the information in a clear, logical outline that takes users from simple, foundational concepts to more advanced concepts at the end.Rounds out existing sources of documentation with strategies and best practices from real-world experience.What You'll LearnHow to manage content in SitecoreHow to create web forms and landing pagesHow to optimize the site through personalization and A/B/N testingHow to use Sitecore for your marketing campaignsHow to leverage analytics for custom measurement/engagement strategiesHow to create a robust governance plan for your Sitecore propertiesWho This Book Is ForThe key target audience for this book are content administrators (content authoring, forms development, etc.) and digital marketers (campaigns, analytics, marketing automation, experience optimization, etc.) using the Sitecore platform.

Rock and Roll with Ember.js


Balint Erdi - 2015
    It's the only tool you need (on the client-side) to craft your idea into a working wonder. However, its strong opinions and heavy reliance of “convention over configuration” can give developers who are new to the framework a hard time figuring out how Ember wants them to do things.This book helps to overcome that initial frustration by pinpointing the core concepts and explaining them in detail. Once you understand them you are on your way to taming and mastering Ember.js.The book guides you through the steps of building a real application so that you can see how the concepts are applied in practice. You'll learn learn about the building blocks of Ember one by one, in a way that crushes the steep learning curve. Knowledge is dripped in slowly, chapter by chapter, to prevent you from drowning in a sea of novel information. By improving an existing and working application, you will learn more quickly and new knowledge will sink in deeper.

Kivy Blueprints


Mark Vasilkov - 2015
    You will learn how to build simple, common apps such as Stopwatch and Paint. Then, we will gradually dive into more advanced Python and Kivy features. We will also cover a number of related topics ranging from UI design to low-level GLSL shaders. You will be able to fill your resume with practical applications and games, including those inspired by the insanely popular puzzle game 2048 and Flappy Bird. Each chapter covers a fully functional program, highlighting different aspects of the Kivy framework.

The Python Workbook: A Brief Introduction with Exercises and Solutions


Ben Stephenson - 2015
    Designed to support and encourage hands-on learning about programming, this student-friendly work contains 174 exercises, spanning a variety of academic disciplines and everyday situations. Solutions to selected exercises are also provided, supported by brief annotations that explain the technique used to solve the problem, or highlight specific points of Python syntax. No background knowledge is required to solve the exercises, beyond the material covered in a typical introductory Python programming course.  Undergraduate students undergoing their first programming course and wishing to enhance their programming abilities will find the exercises and solutions provided in this book to be ideal for their needs.

Unraveling Angular Material (With Over 120+ Complete Samples): The book to learn Angular Material from (Unraveling Series 6)


István Novák - 2015
    This book is a great opportunity to learn using it with the Angular framework. Contents At a Glance: Chapter 1: Preparing Your Study Environment Chapter 2: Introduction to Material Design Principles Chapter 3: Managing Layout (21 exercises) Chapter 4: Typography, Themes, and Icons (17 exercises) Chapter 5: Using Headers, Footers, and Tabs (14 exercises) Chapter 6: Working with Forms and Controls (18 exercises) Chapter 7: Menus and Dialogs (11 exercises) Chapter 8: Working with Lists (18 exercises) Chapter 9: Miscellaneous Components (15 exercises) Chapter 10: Side Navigation Bar and Bottom Sheet (9 exercises) Contact Me You can contact me through this e-mail: dotneteer@hotmail.com

The Minitest Cookbook: Testing Tactics for the Pragmatic Rubyist


Chris Kottom - 2015
    Even if you're more into RSpec right now, this one might convert you.

SPA Design and Architecture: Understanding Single Page Web Applications


Emmit A. Scott Jr. - 2015
    Includes an overview of MV* frameworks, unit testing, routing, layout management, data access, pub/sub, and client-side task automation. This book is full of easy-to-follow examples you can apply to the library or framework of your choice.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyThe next step in the development of web-based software, single-page web applications deliver the sleekness and fluidity of a native desktop application in a browser. If you're ready to make the leap from traditional web applications to SPAs, but don't know where to begin, this book will get you going.About the BookSPA Design and Architecture teaches you the design and development skills you need to create SPAs. You'll start with an introduction to the SPA model and see how it builds on the standard approach using linked pages. The author guides you through the practical issues of building an SPA, including an overview of MV* frameworks, unit testing, routing, layout management, data access, pub/sub, and client-side task automation. This book is full of easy-to-follow examples you can apply to the library or framework of your choice.What's InsideWorking with modular JavaScriptUnderstanding MV* frameworksLayout managementClient-side task automationTesting SPAsAbout the ReaderThis book assumes you are a web developer and know JavaScript basics.About the AuthorEmmit Scott is a senior software engineer and architect with experience building large-scale, web-based applications.Table of ContentsPART 1 THE BASICSWhat is a single-page application?The role of MV* frameworksModular JavaScriptPART 2 CORE CONCEPTSNavigating the single pageView composition and layoutInter-module interactionCommunicating with the serverUnit testingClient-side task automationAPPENDIXESEmployee directory example walk-throughReview of the XMLHttpRequest APIChapter 7 server-side setup and summaryInstalling Node.js and Gulp.js

Upgrading to PHP 7


Davey Shafik - 2015
    This O’Reilly report provides you with a short guide to the major changes in this new release, including a revamped engine (Zend Engine 3), a bunch of new features, and lots of language cleanup. You’ll learn about basic language changes, deprecated features, Unicode enhancements, changes in Object-Oriented programming, and other enhancements.You’ll also discover why it’s taken more than 10 years for the first new major version of PHP since PHP 5 to appear—and what happened to version 6 in the meantime.Get important details regarding changes to PHP 7, including:Deprecated features, starting with alternative PHP tags and POSIX-compatible regular expressionsUniform Variable Syntax, including consistency fixes and new syntaxBasic language changes, such as new operators, constant arrays, new functions, and regular expressionsExpectations and AssertionsError handlingEnhancements to PHP’s Unicode, closure, and Generator featuresChanges in Object-Oriented programmingScalar type hints (perhaps the most polarizing and exciting new feature)Davey Shafik is a full-time developer with over 14 years of experience in PHP and related technologies. A Developer Evangelist at Akamai Technologies, he also co-organizes the Prompt initiative (mhprompt.org), which is dedicated to lifting the stigma surrounding mental health discussions.

ARDUINO: 101 Beginners Guide: How to get started with Your Arduino (Tips, Tricks, Projects and More!)


Erik Savasgard - 2015
    Arduino became a popular solution that extends computing and robotics to individuals outside technology field. Hobbyists can do these projects at home while gaining all the advantages this product offers. What you'll learn What Arduino is used for Getting started with Arduino Different Arduino Models How to use Arduino for different projects Hardware and software with Arduino Troubleshooting with Arduino Tips, Tricks, and Projects How to become the best with Arduino Benefits of learning Arduino Save hours of time Become an expert in Arduino and coding Have a highly valued skill in the workforce This book will teach you all about Arduino and the working components behind its functions. As a beginner, this book teaches you of the concepts, important Arduino parts, basic coding fundamentals and many more. Towards the end of the book, you’ll find several tips and tricks, as well as beginner-level project ideas that will help you master Arduino! The Arduino is an incredible mini-computer, with a huge range of uses! This book will explain to you what an Arduino is, and the different models and features available. You will learn Step by Step How to use the many different functions of your Arduino, and create some really cool projects! There are step by step instructions provided within, showing you how to make several different projects. As you will soon discover, the possibilities with the Arduino computer are endless! You Don’t Need an Experience or A Degree in Computer Science Scroll up, and Click Buy now with 1-Click to Grab a Copy Today!! Available on PC, MAC, Tablets, Phones, and Kindle

ZX Spectrum Games Code Club: Twenty fun games to code and learn


Gary Plowman - 2015
    Contains 20 games specifically created for this book, from Arcade classics to more wacky game ideas.No special equipment needed! Works on...Windows Mac Original ZX Spectrum Recreated ZX Spectrum Internet Browsers: Chrome / FF etc Linux Raspberry Pi Ideal for Retro Computing fans that want to dust off their ZX Spectrum or an emulator and type in some code, 'old school'.In one sitting type in a game, play it and then we will go through it. The book does not go over every single line of code, but rather summarises key components and newer sections for each game. This keeps the process fun and engaging.An interactive learning book intended for all ages and is also useful for Code Clubs. So type in a game and have some fun!Includes: ZX Breakout, MiniPong, Astral Invaders, Battleship War, Flappy Bird, Takeaway Ted and many more...

Bug Advocacy: A BBST Workbook


Cem Kaner - 2015
    Used in parallel with the instructional materials provided at the Center for Software Testing Education and Research (testingeducation.org/BBST), the workbook helps readers understand that bug reports are not just neutral technical reports. They are persuasive documents. The key goal of the bug report author is to provide high-quality information, well written, to help stakeholders make wise decisions about which bugs to fix. Key ideas in this book include: Defining key concepts (such as software error, quality, and the bug processing workflow) The scope of bug reporting (what to report as bugs, and what information to include) Bug reporting as persuasive writing Bug investigation to discover harsher failures and simpler replication conditions Excuses and reasons for not fixing bugs Making bugs reproducible Lessons from the psychology of decision-making: bug-handling as a multiple-decision process dominated by heuristics and biases and Style and structure of well-written reports The learning objectives in this book include this content, plus improving your abilities / skills to: evaluate bug reports written by others revise / strengthen reports written by others write more persuasively (considering the interests and concerns of your audience), participate effectively in distributed, multinational workgroup projects

Dart Essentials


Martin Sikora - 2015
    Some previous experience with OOP programming in other languages and a good knowledge of JavaScript are assumed. What You Will Learn Learn about the Dart language syntax, libraries, and package manager Use existing JavaScript libraries in Dart and call Dart code from JavaScript Handle asynchronous calls with Future-Based API and use HTML5 features in Dart Write example apps with Web Components and polymer.dart Develop web apps using AngularDart Test apps with unit tests and analyze them with Observatory Explore CLI apps, WebSocket servers, and server-side scripting in Dart Extend the Standalone Dart VM with C/C++ native extensions In Detail The Dart programming language can be used for both client- and server-side development. It combines the best from many of today's languages. Dart's cohesive, scalable, and robust web programming features will help individuals and organizations solve challenges in a whole new way.You'll start off with an interactive tour of Dart and realize its power. You will step up to learn about the DOM tree and its implementation, while creating web apps. You will learn how to use various APIs for asynchronous calls, GeoLocation, Audio, File Drag and Drop, touch events, and more. Later on, you will build custom elements with Web Components and build on top of the previous parts with polymer.dart. You will also learn about data bindings and how to use AngularDart. You'll get to grips with writing CLI scripts, MySQL queries, Apache and nginx configuration, WebSockets, and so much more. Finally, you'll learn the unit testing and profiling, and writing native extensions in C/C++.

Custom SharePoint Solutions with HTML and JavaScript: For SharePoint 2013 and SharePoint Online


Brandon Atkinson - 2015
    You don't need a background in Microsoft technologies; you’ll learn how to rapidly build and customize sites entirely on the front end, starting with out-of-the-box features and extending them with HTML and JavaScript code. The book starts with an introduction to working with SharePoint on the front end, and how this can help you avoid common pitfalls associated with deploying custom code on the server. You’ll start by using SharePoint’s browser-based tools to place and manipulate out-of-the-box web parts on a page. Then learn to inject some simple HTML and JavaScript to manipulate these web parts, and use JSLink to rapidly style and manipulate data in the List web part. You'll also see examples of how to build your own custom web parts using HTML, JavaScript and CSS.For those who want to dive deeper into JavaScript on SharePoint, chapters cover working directly with built-in JavaScript methods and properties and the JavaScript object model (JSOM), and how to work with the powerful new REST API, which gives you the ultimate flexibility over what you do with your data. Whatever your background, whether it's web development, working with SharePoint on the server side, or if you're a SharePoint user looking to learn new skills, Custom SharePoint Solutions with HTML and JavaScript will show you how to get what you want from SharePoint, quickly and reliably. What you’ll learn Understand the advantages of working with SharePoint on the front end, using HTML and JavaScript. Use the Content Editor and Script Editor web parts to customize your front end directly in the browser. Work with SharePoint's built-in JavaScript methods and properties and the JavaScript object model. Access and manipulate data using the powerful REST API. Build your own custom web parts. Use JSLink to style and manipulate list data. Who this book is for Web or front end developers, .NET developers, and SharePoint users.No prior JavaScript experience is needed for many of the OOTB solutions, but a little is desirable if you want to make the most of what the customizations offer. Experienced JavaScript developers will additionally benefit from the deep dives into JavaScript features in Chapters 4-6.

Living Documentation: Continuous Knowledge Sharing by Design


Cyrille Martraire - 2015
    This concise guide introduces and thoroughly illuminates the concept of living documentation that changes at the same pace as software design and development, from establishment of business goals to capturing domain knowledge, creating architecture, designing software, coding, and deployment. Replete with clarifying illustrations and concrete examples, it shows how to dramatically improve your documentation at minimal extra cost by using well-crafted artifacts and judicious automation. Language- and technology-agnostic. Living Documentation borrows powerful ideas from domain-driven design, helping you customize its concepts and apply its lessons to meet your changing documentation needs in your own specific domain. Cyrille Martraire proves that you don't have to choose between working software and comprehensive, high-quality documentation: you can have the benefits of both.

Beginning JavaScript


Jeremy McPeak - 2015
    This new edition has been extensively updated to reflect the way JavaScript is most commonly used today, introducing you to the latest tools and techniques available to JavaScript developers. Coverage includes modern coding practices using HTML5 markup, the JSON data format, DOM APIs, the jQuery framework, and more. Exercises with solutions provide plenty of opportunity to practice, and the companion website offers downloadable code for all examples given in the book.Learn JavaScript using the most up to date coding style Understand JSON, functions, events, and feature detection Utilize the new HTML5 elements and the related API Explore new features including geolocation, local storage, and more JavaScript has shaped the Web from a passive medium into one that is rich, dynamic, and interactive. No matter the technology on the server side, it's JavaScript that makes it come alive in the browser. To learn JavaScript the way it's used today, Beginning JavaScript, 5th Edition is your concise guide.

Jump Start Git: Take Control of Your Code and Assets


Shaumik Daityari - 2015
    And since they're distributed, they smooth the path for dev team collaboration.But what is it about Git that makes it mission-critical on so many web projects?Spend just one weekend with this hands-on tutorial, and you'll know the answer.Understand Git's core philosophy.Get started with Git: install it, learn the basic commands, and set up your first project.Work with Git as part of a collaborative team.Use Git's debugging tools for maximum debug efficiency.Take control with Git's advanced features: reflog, rebase, stash, and more.Use Git with cloud-based Git repository host services like Github and Bitbucket.See how Git's used effectively on large open-source projects.Git was created by Linus Torvalds, who invented Linux, so it comes with the best credentials. What are you waiting for? Get a jump start on Git today.

Intertwingled: The Work and Influence of Ted Nelson


Douglas R. Dechow - 2015
    Presenting contributions from world-renowned computer scientists and figures from the media industry, the book delves into hypertext, the docuverse, Xanadu, and other products of Ted Nelson s unique mind.Topics and features: includes a cartoon and a sequence of poems created in Nelson s honor, reflecting his wide-ranging and interdisciplinary intellect; presents peer histories, providing a sense of the milieu that resulted from Nelson s ideas; contains personal accounts revealing what it is like to collaborate directly with Nelson; describes Nelson s legacy from the perspective of his contemporaries from the computing world and the scholars who continue to examine his work; provides a contribution from Ted Nelson himself.With a broad appeal spanning practitioners in computer science, historians of science and the general reader, this inspiring collection reveals the continuing influence of the original visionary of the World Wide Web."

Beginning iOS 9 Programming with Swift


Simon Ng - 2015
    Supports Xcode 7 and Swift 2

The Programmer's Guide to Apache Thrift


Randy Abernethy - 2015
    Apache Thrift is a communication framework that enables cross-language remote procedure calls and serialization. Apache Thrift supports embedded, mobile, web, and server environments and a host of languages ranging from JavaScript to C++. It's perfect for back end services and embedded systems where size, scalability and performance are mission critical.The Programmer's Guide to Apache Thrift provides comprehensive coverage of the Apache Thrift framework along with a developer's-eye view of modern distributed application architecture. Packed with complete code examples and pragmatic discussion, this book lays the best practices for multi-language distributed application development. You'll take a guided tour through transports, protocols, IDL and servers as you explore complete example programs in C++, Java and Python. You'll also learn how to work with platforms ranging from enterprise servers to mobile clients.

Essential Slick


Richard Dallaway - 2015
    It is aimed at Scala developers who need to become productive with Slick quickly.

Effective Computation in Physics: Field Guide to Research with Python


Anthony Scopatz - 2015
    This practical book teaches essential software development skills to help you automate and accomplish nearly any aspect of research in a physics-based field. Written by two PhDs in nuclear engineering, this book includes practical examples drawn from a working knowledge of physics concepts. You’ll learn how to use the Python programming language to perform everything from collecting and analyzing data to building software and publishing your results. In four parts, this book includes: Getting Started: Jump into Python, the command line, data containers, functions, flow control and logic, and classes and objects Getting It Done: Learn about regular expressions, analysis and visualization, NumPy, storing data in files and HDF5, important data structures in physics, computing in parallel, and deploying software Getting It Right: Build pipelines and software, learn to use local and remote version control, and debug and test your code Getting It Out There: Document your code, process and publish your findings, and collaborate efficiently; dive into software licenses, ownership, and copyright procedures

Android Concurrency


G. Blake Meike - 2015
    On Android, interruptions are more frequent and abrupt, and concurrency involves ordering user-visible events and synchronizing with component and process lifecycles, not just ensuring "thread safety." You need a deeper Android-specific understanding of concurrency and Android Concurrency delivers it. Top Android developer and consultant Blake Meike has created a complete cookbook of best-practice solutions for fully leveraging the multi-core processors and heavily cached architectures now widespread on Android devices, and for taking advantage of significant improvements in the new Android 5 (Lollipop) release. You'll find intensely practical solutions for everything from inter-thread communication to network communication to debugging complex concurrency issues. More than this, Meike introduces a simple but powerful architectural framework you can use to address new concurrency issues whenever they arise. Android Concurrency combines in-depth knowledge, proven patterns and idioms, and expert guidance on avoiding problems: for serious Android developers, it's an indispensable resource."

Big Data Analytics with Spark: A Practitioner's Guide to Using Spark for Large Scale Data Analysis


Mohammed Guller - 2015
    You will learn how to use Spark for different types of big data analytics projects, including batch, interactive, graph, and stream data analysis as well as machine learning. In addition, this book will help you become a much sought-after Spark expert.Spark is one of the hottest Big Data technologies. The amount of data generated today by devices, applications and users is exploding. Therefore, there is a critical need for tools that can analyze large-scale data and unlock value from it. Spark is a powerful technology that meets that need. You can, for example, use Spark to perform low latency computations through the use of efficient caching and iterative algorithms; leverage the features of its shell for easy and interactive Data analysis; employ its fast batch processing and low latency features to process your real time data streams and so on. As a result, adoption of Spark is rapidly growing and is replacing Hadoop MapReduce as the technology of choice for big data analytics.This book provides an introduction to Spark and related big-data technologies. It covers Spark core and its add-on libraries, including Spark SQL, Spark Streaming, GraphX, and MLlib. Big Data Analytics with Spark is therefore written for busy professionals who prefer learning a new technology from a consolidated source instead of spending countless hours on the Internet trying to pick bits and pieces from different sources. The book also provides a chapter on Scala, the hottest functional programming language, and the program that underlies Spark. You ll learn the basics of functional programming in Scala, so that you can write Spark applications in it.What's more, Big Data Analytics with Spark provides an introduction to other big data technologies that are commonly used along with Spark, like Hive, Avro, Kafka and so on. So the book is self-sufficient; all the technologies that you need to know to use Spark are covered. The only thing that you are expected to know is programming in any language.There is a critical shortage of people with big data expertise, so companies are willing to pay top dollar for people with skills in areas like Spark and Scala. So reading this book and absorbing its principles will provide a boost possibly a big boost to your career."