Best of
Programming

2016

R for Data Science: Import, Tidy, Transform, Visualize, and Model Data


Hadley Wickham - 2016
    This book introduces you to R, RStudio, and the tidyverse, a collection of R packages designed to work together to make data science fast, fluent, and fun. Suitable for readers with no previous programming experience, R for Data Science is designed to get you doing data science as quickly as possible. Authors Hadley Wickham and Garrett Grolemund guide you through the steps of importing, wrangling, exploring, and modeling your data and communicating the results. You’ll get a complete, big-picture understanding of the data science cycle, along with basic tools you need to manage the details. Each section of the book is paired with exercises to help you practice what you’ve learned along the way. You’ll learn how to: Wrangle—transform your datasets into a form convenient for analysis Program—learn powerful R tools for solving data problems with greater clarity and ease Explore—examine your data, generate hypotheses, and quickly test them Model—provide a low-dimensional summary that captures true "signals" in your dataset Communicate—learn R Markdown for integrating prose, code, and results

99 Bottles of OOP


Sandi Metz - 2016
    This book fills that gap. It explains the process of writing good code, and teaches you to achieve beautifully programmed ends by way of extremely practical means. What It's About99 Bottles of OOP is a practical guide to writing cost-effective, maintainable, and pleasing object-oriented code. It explores: Recognizing when code is "good enough"Getting the best value from Test-Driven Development (TDD)Doing proper refactoring, not random "rehacktoring"Locating concepts buried in codeFinding names that convey deeper meaning Safely altering code by following the "Flocking Rules" Simplifying new additions with the Open/Closed PrincipleAvoiding conditionals by obeying the Liskov Substitution PrincipleMaking targeted improvements by reducing Code SmellsWhat Makes It Unique?We are practical people. We love beautiful code but we're committed to getting things done. 99 Bottles of OOP enables both of these desires. It teaches a practical technique for getting things done that leads, naturally and inevitably, to beautiful code.This book contains an extended refactoring, and it details the rationale behind every change. It is a hands-on workbook rather than a list of theoretical ideas. It explains how to use the principles of object-oriented design to guide, not just the final arrangement of code, but each decision about what line of code to write next.It teaches the theory of what good OO looks like, but even better, it supplies step-by-step guidance about how to achieve it.Who Should Read It?The lessons work for programmers with a broad range of experience, from rank novice to grizzled veteran. The code examples are written in Ruby, but this book is not about Ruby--it's about object-oriented programming and design. Regardless of your background, applying these techniques will make your code easier to understand, simpler to change, and more satisfying to contemplate.

Kotlin in Action


Dmitry Jemerov - 2016
    It offers on expressiveness and safety without compromising simplicity, seamless interoperability with existing Java code, and great tooling support. Because Kotlin generates regular Java bytecode and works together with existing Java libraries and frameworks, it can be used almost everywhere where Java is used today - for server-side development, Android apps, and much more.Kotlin in Action takes experienced Java developers from the language basics all the way through building applications to run on the JVM and Android devices. Written by core developers of Kotlin, this example-rich book begins by teaching you the basic syntax of the Kotlin language. Then you’ll learn how to use features that let you build reusable abstractions, higher-level functions, libraries, and even entire domain specific languages. Finally, you’ll focus on details of applying Kotlin in real-world projects, such as build system integration, Android support and concurrent programming.

Make Your Own Neural Network


Tariq Rashid - 2016
     Neural networks are a key element of deep learning and artificial intelligence, which today is capable of some truly impressive feats. Yet too few really understand how neural networks actually work. This guide will take you on a fun and unhurried journey, starting from very simple ideas, and gradually building up an understanding of how neural networks work. You won't need any mathematics beyond secondary school, and an accessible introduction to calculus is also included. The ambition of this guide is to make neural networks as accessible as possible to as many readers as possible - there are enough texts for advanced readers already! You'll learn to code in Python and make your own neural network, teaching it to recognise human handwritten numbers, and performing as well as professionally developed networks. Part 1 is about ideas. We introduce the mathematical ideas underlying the neural networks, gently with lots of illustrations and examples. Part 2 is practical. We introduce the popular and easy to learn Python programming language, and gradually builds up a neural network which can learn to recognise human handwritten numbers, easily getting it to perform as well as networks made by professionals. Part 3 extends these ideas further. We push the performance of our neural network to an industry leading 98% using only simple ideas and code, test the network on your own handwriting, take a privileged peek inside the mysterious mind of a neural network, and even get it all working on a Raspberry Pi. All the code in this has been tested to work on a Raspberry Pi Zero.

Python for Everybody: Exploring Data in Python 3


Charles Severance - 2016
    You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet.Python is an easy to use and easy to learn programming language that is freely available on Macintosh, Windows, or Linux computers. So once you learn Python you can use it for the rest of your career without needing to purchase any software.This book uses the Python 3 language. The earlier Python 2 version of this book is titled "Python for Informatics: Exploring Information".

Elements of Programming Interviews in Python: The Insiders' Guide


Adnan Aziz - 2016
    See the website for links to the C++ and Java version.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

Python Data Science Handbook: Tools and Techniques for Developers


Jake Vanderplas - 2016
    Several resources exist for individual pieces of this data science stack, but only with the Python Data Science Handbook do you get them all—IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and other related tools.Working scientists and data crunchers familiar with reading and writing Python code will find this comprehensive desk reference ideal for tackling day-to-day issues: manipulating, transforming, and cleaning data; visualizing different types of data; and using data to build statistical or machine learning models. Quite simply, this is the must-have reference for scientific computing in Python.With this handbook, you’ll learn how to use: * IPython and Jupyter: provide computational environments for data scientists using Python * NumPy: includes the ndarray for efficient storage and manipulation of dense data arrays in Python * Pandas: features the DataFrame for efficient storage and manipulation of labeled/columnar data in Python * Matplotlib: includes capabilities for a flexible range of data visualizations in Python * Scikit-Learn: for efficient and clean Python implementations of the most important and established machine learning algorithms

Writing An Interpreter In Go


Thorsten Ball - 2016
    Monkey has been specifically designed for this book: it's a language that looks a lot like C, has first class functions, closures, strings, hashes and arrays and its only implementation is the one we build in the book.In contrast to text books on interpreters & compilers, the focus of this book is working code. Code is not just found in the appendix -- no, nearly every page contains a snippet! And not only that, but also tests. The code presented in the book is fully tested and the test suite is included.For more information, check out: http://interpreterbook.com/

Ray Tracing in One Weekend (Ray Tracing Minibooks Book 1)


Peter Shirley - 2016
    Each mini-chapter adds one feature to the ray tracer, and by the end the reader can produce the image on the book cover. Details of basic ray tracing code architecture and C++ classes are given.

Advanced Swift


Chris Eidhof - 2016
    If you have read the Swift Programming Guide, and want to explore more, this book is for you.Swift is a great language for systems programming, but also lends itself for very high-level programming. We'll explore both high-level topics (for example, programming with generics and protocols), as well as low-level topics (for example, wrapping a C library and string internals).

Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications


Tomasz Nurkiewicz - 2016
    With this practical book, Java developers will first learn how to view problems in the reactive way, and then build programs that leverage the best features of this exciting new programming paradigm.Authors Tomasz Nurkiewicz and Ben Christensen include concrete examples that use the RxJava library to solve real-world performance issues on Android devices as well as the server. You'll learn how RxJava leverages parallelism and concurrency to help you solve today's problems. This book also provides a preview of the upcoming 2.0 release.Write programs that react to multiple asynchronous sources of input without descending into callback hellGet to that aha! moment when you understand how to solve problems in the reactive wayCope with Observables that produce data too quickly to be consumedExplore strategies to debug and to test programs written in the reactive styleEfficiently exploit parallelism and concurrency in your programsLearn about the transition to RxJava version 2

Programming Phoenix: Productive |> Reliable |> Fast


Chris McCord - 2016
    Phoenix creator Chris McCord, Elixir creator José Valim, and award-winning author Bruce Tate walk you through building an application that’s fast and reliable. At every step, you’ll learn from the Phoenix creators not just what to do, but why. Packed with insider insights, this definitive guide will be your constant companion in your journey from Phoenix novice to expert, as you build the next generation of web applications.

Understanding Ecmascript 6: The Definitive Guide for JavaScript Developers


Nicholas C. Zakas - 2016
    In Understanding ECMAScript 6, expert developer Nicholas C. Zakas provides a complete guide to the object types, syntax, and other exciting changes that ECMAScript 6 brings to JavaScript. Every chapter is packed with example code that works in any JavaScript environment so you'll be able to see new features in action. You'll learn:How ECMAScript 6 class syntax relates to more familiar JavaScript conceptsWhat makes iterators and generators usefulHow arrow functions differ from regular functionsWays to store data with sets, maps, and moreThe power of inheritanceHow to improve asynchronous programming with promisesHow modules change the way you organize codeWhether you're a web developer or a Node.js developer, you'll find Understanding ECMAScript 6 indispensable on your journey from ECMAScript 5 to ECMAScript 6.

Copying and Pasting from Stack Overflow


Vinit Nayak - 2016
    Mastering this art will not only make you the most desired developer in the market, but it will transform the craziest deadline into "Consider it done, Sir".

Confessions of a Necromancer


Pieter Hintjens - 2016
    Hardware and electronics never held any charm for me. I've no love for chips and cables and solder. Give me a keyboard, a screen, and a language, and you have my attention. Thirty-five years produced a lot of work. So I thought, maybe time to talk about some of those projects.

Functional and Reactive Domain Modeling


Debasish Ghosh - 2016
    Domain modeling is a technique for creating a conceptual map of a problem space such as a business system or a scientific application, so that the developer can write the software more efficiently. The domain model doesn't present a solution to the problem, but instead describes the attributes, roles, and relationships of the entities involved, along with the constraints of the system.Reactive application design, which uses functional programming principles along with asynchronous non-blocking communication, promises to be a potent pattern for developing performant systems that are relatively easy to manage, maintain and evolve. Typically we call such models "reactive" because they are more responsive both to user requests and to system loads. But designing and implementing such models requires a different way of thinking. Because the core behaviors are implemented using pure functions, you can reason about the domain model just like mathematics, so your model becomes verifiable and robust.Functional and Reactive Domain Modeling teaches you how to think of the domain model in terms of pure functions and how to compose them to build larger abstractions. You will start with the basics of functional programming and gradually progress to the advanced concepts and patterns that you need to know to implement complex domain models. The book demonstrates how advanced FP patterns like algebraic data types, typeclass based design, and isolation of side-effects can make your model compose for readability and verifiability.On the subject of reactive modeling, the book focuses on higher order concurrency patterns like actors and futures. It uses the Akka framework as the reference implementation and demonstrates how advanced architectural patterns like event sourcing and CQRS can be put to great use in implementing scalable models. You will learn techniques that are radically different from the standard RDBMS based applications that are based on mutation of records. You'll also pick up important patterns like using asynchronous messaging for interaction based on non blocking concurrency and model persistence, which delivers the speed of in-memory processing along with suitable guarantees of reliability.

High-Performance Java Persistence


Vlad Mihalcea - 2016
    From connection management, to batch updates, fetch sizes and concurrency control mechanisms, it unravels the inner workings of the most common Java data access frameworks.The first part aims to reduce the gap between application developers and database administrators. For this reason, it covers both JDBC and the database fundamentals that are of paramount importance when reducing transaction response times.The second part demonstrates how you can take advantage of JPA and Hibernate without compromising application performance.The third part is dedicated to jOOQ and its powerful type-safe querying capabilities, like window functions or common table expressions.

Security Pillar: AWS Well-Architected Framework (AWS Whitepaper)


AWS Whitepapers - 2016
    It provides guidance to help customers apply best practices in the design, delivery, and maintenance of secure AWS environments. This documentation is offered for free here as a Kindle book, or you can read it in PDF format at https://aws.amazon.com/whitepapers/.

OCA/OCP Java SE 8 Programmer Certification Kit: Exam 1Z0-808 and Exam 1Z0-809


Jeanne Boyarsky - 2016
    This valuable kit helps you attain success at the OCA and OCP levels, providing clarification of the complex material along with plenty of practice that covers all exam objectives.OCA / OCP Oracle Java SE 8 Programmer Certification Kit is the ideal tool for preparing for the OCA and OCP exams. With two comprehensive study guides in one package, this kit serves as a helpful companion throughout your journey to Oracle Java SE 8 certification. The release of Java 8 brought the language's biggest changes to date, and for the first time, candidates are required to learn functional programming to pass the exam. The OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide has you covered, with thorough functional programming explanation and information on all key topic areas Java programmers need to know, covering one hundred percent of the material on Exam 1Z0-808.Once you're OCA certified, the OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide is your comprehensive companion for preparing for Exam 1Z0-809 as well as upgrade Exam 1Z0-810 and Exam 1Z0-813. 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).Work confidently with operators, conditionals, and loops Understand object-oriented design principles and patterns Master functional programming fundamentals 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 and tackle these challenging exams, OCA / OCP Oracle Java SE 8 Programmer Certification Kit is your ideal companion on the road to certification, and can give you the confidence you need.

Ray Tracing: the Next Week (Ray Tracing Minibooks Book 2)


Peter Shirley - 2016
    This includes surface and solid textures, volumes such as fog and smoke, Perlin noise, bounding volume hierarchies, and instancing. By the end of this small book, you'll have a serious ray tracing system.

A Whirlwind Tour of Python


Jake Vanderplas - 2016
    This report provides a brief yet comprehensive introduction to Python for engineers, researchers, and data scientists who are already familiar with another programming language.Author Jake VanderPlas, an interdisciplinary research director at the University of Washington, explains Python’s essential syntax and semantics, built-in data types and structures, function definitions, control flow statements, and more, using Python 3 syntax.You’ll explore:- Python syntax basics and running Python codeBasic semantics of Python variables, objects, and operators- Built-in simple types and data structures- Control flow statements for executing code blocks conditionally- Methods for creating and using reusable functionsIterators, list comprehensions, and generators- String manipulation and regular expressions- Python’s standard library and third-party modules- Python’s core data science tools- Recommended resources to help you learn more

Performance Efficiency Pillar: AWS Well-Architected Framework (AWS Whitepaper)


AWS Whitepapers - 2016
    It provides guidance to help customers apply best practices in the design, delivery, and maintenance of AWS environments. This documentation is offered for free here as a Kindle book, or you can read it in PDF format at https://aws.amazon.com/whitepapers/.

The Type Astronaut's Guide to Shapeless


Dave Gurnell - 2016
    The book walks you through one of the main use cases for shapeless – automatic, boilerplate-free derivation of type class instances.The book is divided into two parts. Part I introduces the general mechanisms for type class derivation in shapeless. It introduces generic encodings of product and coproduct types (case classes and sealed traits), and shows how to implement type classes by solving problems at the generic level.In Part II we open the shapeless toolbox and show how to apply the solutions from Part I to a wider range of situations. We introduce polymorphic functions that let us map and flatMap over generic representations, and show how we can count at the type level.Each chapter of the book is illustrated with worked examples that are also available on Github (https://github.com/underscoreio/shape...).

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


Christian Keur - 2016
    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 training 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.

Reverse Engineering for Beginners


Dennis Yurichev - 2016
    Topics discussed: x86/x64, ARM/ARM64, MIPS, Java/JVM.Topics touched: Oracle RDBMS, Itanium, copy-protection dongles, LD_PRELOAD, stack overflow, ELF, win32 PE file format, x86-64, critical sections, syscalls, TLS, position-independent code (PIC), profile-guided optimization, C++ STL, OpenMP, win32 SEH.Free legal download via http://beginners.re/

Computer Science: An Interdisciplinary Approach


Robert Sedgewick - 2016
    Taking a broad, applications-based approach, Sedgewick and Wayne teach through important examples from science, mathematics, engineering, finance, and commercial computing. The book demystifies computation, explains its intellectual underpinnings, and covers the essential elements of programming and computational problem solving in today's environments. The authors begin by introducing basic programming elements such as variables, conditionals, loops, arrays, and I/O. Next, they turn to functions, introducing key modular programming concepts, including components and reuse. They present a modern introduction to object-oriented programming, covering current programming paradigms and approaches to data abstraction. Building on this foundation, Sedgewick and Wayne widen their focus to the broader discipline of computer science. They introduce classical sorting and searching algorithms, fundamental data structures and their application, and scientific techniques for assessing an implementation's performance. Using abstract models, readers learn to answer basic questions about computation, gaining insight for practical application. Finally, the authors show how machine architecture links the theory of computing to real computers, and to the field's history and evolution. For each concept, the authors present all the information readers need to build confidence, together with examples that solve intriguing problems. Each chapter contains question-and-answer sections, self-study drills, and challenging problems that demand creative solutions. Companion web site (introcs.cs.princeton.edu/java) contains Extensive supplementary information, including suggested approaches to programming assignments, checklists, and FAQs Graphics and sound libraries Links to program code and test data Solutions to selected exercises Chapter summaries Detailed instructions for installing a Java programming environment Detailed problem sets and projects Companion 20-part series of video lectures is available at informit.com/title/9780134493831

Functional Programming in JavaScript


Luis Atencio - 2016
    Through concrete examples and jargon-free explanations, this book teaches you how to apply functional programming to real-life development tasks. The book includes insightful comparisons to object-oriented or imperative programming, which will allow you to ease into functional design. Moreover, you'll learn a repertoire of techniques including function chaining and pipelining, recursion, currying, binding, functional composition, lazy evaluation, fluent error handling, memoization, and much more. By the end of the book, you'll think about application design in a fresh new way.About the technologyAs web developers build increasingly complex applications in JavaScript, the code base for these projects can become exponentially larger and harder to maintain. The result? Application performance suffers, and readability and extensibility are severely compromised. For applications like these, Functional Programming provides a saner approach, allowing you to write elegant, readable code that raises the level of abstraction while being less prone to errors. Although not a "pure" functional language, JavaScript's native functional capabilities unlock access to proven functional programming techniques and practices.What's insideFoundations of functional programming and designExplore JavaScript's functional programming capabilities and the functional library ecosystemCreate more reliable code by embracing immutabilityLearn to write code that's easier to reason aboutSeparate core logic from program structure to write extensible codeAdopt a new approach to error handling and testingApply functional programming to solve real-world problemsAbout the readerReaders need to be comfortable with JavaScript programming and object-oriented design. No previous experience with functional programming is required.About the authorLuis Atencio is a Staff Software Engineer for Citrix Systems in Ft. Lauderdale, FL. He develops and architects applications leveraging Java, PHP, and JavaScript platforms. Luis is very involved in the community and has presented at local meet-ups. He blogs about software engineering at luisatencio.net and writes articles for PHP magazines and DZone. Follow Luis on twitter at @luijar.

Relevant Search: With Examples Using Elasticsearch and Solr


Doug Turnbull - 2016
    But behind this simple user experience, complex machinery is at work. Whether using Elasticsearch, Solr, or another search technology, the solution is never one size fits all. Returning the right search results requires conveying domain knowledge and business rules in the search engine's data structures, text analytics, and results ranking capabilities."Relevant Search" demystifies relevance work. Using Elasticsearch, it tells how to return engaging search results to users, helping readers understand and leverage the internals of Lucene-based search engines. The book walks through several real-world problems using a cohesive philosophy that combines text analysis, query building, and score shaping to express business ranking rules to the search engine. It outlines how to guide the engineering process by monitoring search user behavior and shifting the enterprise to a search-first culture focused on humans, not computers. It also shows how the search engine provides a deeply pluggable platform for integrating search ranking with machine learning, ontologies, personalization, domain-specific expertise, and other enriching sources.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Julia for Data Science


Zacharias Voulgaris - 2016
    After covering the importance of Julia to the data science community and several essential data science principles, we start with the basics including how to install Julia and its powerful libraries. Many examples are provided as we illustrate how to leverage each Julia command, dataset, and function. Specialized script packages are introduced and described. Hands-on problems representative of those commonly encountered throughout the data science pipeline are provided, and we guide you in the use of Julia in solving them using published datasets. Many of these scenarios make use of existing packages and built-in functions, as we cover: 1.An overview of the data science pipeline along with an example illustrating the key points, implemented in Julia 2.Options for Julia IDEs 3.Programming structures and functions 4.Engineering tasks, such as importing, cleaning, formatting and storing data, as

Learn Java in One Day and Learn It Well: Java for Beginners with Hands-on Project


Jamie Chan - 2016
    Learn Java Programming Fast with a unique Hands-On Project. Book 4 of the Learn Coding Fast Series. Covers Java 8. Have you always wanted to learn computer programming but are afraid it'll be too difficult for you? Or perhaps you know other programming languages but are interested in learning the Java language fast? This book is for you. You no longer have to waste your time and money trying to learn Java from boring books that are 600 pages long, expensive online courses or complicated Java tutorials that just leave you more confused and frustrated. What this book offers... Java for Beginners Complex concepts are broken down into simple steps to ensure that you can easily master the Java language even if you have never coded before. Carefully Chosen Java Examples Examples are carefully chosen to illustrate all concepts. In addition, the output for all examples are provided immediately so you do not have to wait till you have access to your computer to test the examples. Careful selection of topics Topics are carefully selected to give you a broad exposure to Java, while not overwhelming you with information overload. These topics include object-oriented programming concepts, error handling techniques, file handling techniques and more. In addition, new features in Java (such as lambda expressions and default methods etc) are also covered so that you are always up to date with the latest advancement in the Java language. Learn The Java Programming Language Fast Concepts are presented in a "to-the-point" style to cater to the busy individual. You no longer have to endure boring and lengthy Java textbooks that simply puts you to sleep. With this book, you can learn Java fast and start coding immediately. How is this book different... The best way to learn Java is by doing. This book includes a unique project at the end of the book that requires the application of all the concepts taught previously. Working through the project will not only give you an immense sense of achievement, it’ll also help you retain the knowledge and master the language. Are you ready to dip your toes into the exciting world of Java coding? This book is for you. Click the BUY button and download it now. What you'll learn: Introduction to Java - What is Java? - What software do you need to code Java programs? - How to install and run JDK and Netbeans? Data types and Operators - What are the eight primitive types in Java? - What are arrays and lists? - How to format Java strings - What is a primitive type vs reference type? - What are the common Java operators? Object Oriented Programming - What is object oriented programming? - How to write your own classes - What are fields, methods and constructors? - What is encapsulation, inheritance and polymorphism? - What is an abstract class and interface? Controlling the Flow of a Program - What are condition statements? - How to use control flow statements in Java - How to handle errors and exceptions - How to throw your own exception

Fundamental Kotlin


Miloš Vasić - 2016
    This book is focused on language’s most important features and aspects. Book doesn't go in too much theory since it's focused on exact examples with notes and code provided. This book is for developers and for people who are on its way to become developers. It is essential to have at least some basic knowledge of computer programming, especially of Java. Fundamental Kotlin is imagined as guide to Kotlin for developers who spent some time on Java powered projects but it is not mandatory. If you were programming for some time, it should be easy for you to follow this book.

A Practical Guide to Git and GitHub for Windows Users: From Beginner to Expert in Easy Step-By-Step Exercises


Roberto Vormittag - 2016
    It will take you from Beginner to Expert level through a series of engaging exercises to help you quickly acquire the skills needed to effectively use today’s most popular version control system and open source code repository. A Practical Guide to Git and GitHub for Windows Users starts by guiding you through the process of correctly setting up Git and GitHub on Windows and overcome platform-specific issues. You will then be introduced to Git Bash, the command-line console installed with Git for Windows, and some essential Linux file management commands. Starting from scratch you will learn the basic concepts of version control with Git and how to host your first project on GitHub, quickly moving on to master Git branches and contribute to a GitHub open source project. Each chapter progressively builds on your knowledge by exploring more advanced Git and GitHub concepts with pragmatic hands-on exercises to give you a solid foundation to work professionally on real-world projects. With easy to follow step-by-step instructions you will learn how to: * Correctly install and configure Git and GitHub on Windows * Use the Git Bash console to work with Git like a pro * Track changes in a software project with Git * Showcase your work on GitHub * Understand the Git repository and Git workflows * Contribute to open source projects on GitHub

Cost Optimization Pillar: AWS Well-Architected Framework (AWS Whitepaper)


Amazon Web Services - 2016
    It provides guidance to help customers apply best practices to optimize costs in AWS environments in all phases of development: design, delivery, and maintenance. This documentation is offered for free here as a Kindle book, or you can read it in PDF format at https://aws.amazon.com/whitepapers/.

Learning the Pandas Library: Python Tools for Data Munging, Analysis, and Visualization (Treading on Python Book 3)


Matt Harrison - 2016
    One of the tools in their arsenal is the Pandas library. This tool is popular because it gives you so much functionality out of the box. In addition, you can use all the power of Python to make the hard stuff easy!Learning the Pandas Library is designed to bring developers and aspiring data scientists who are anxious to learn Pandas up to speed quickly. It covers the latest version of Pandas. It starts with the fundamentals of the data structures. Then, it covers the essential functionality. It includes many examples, graphics, code samples, and plots from real world examples.The Content Covers:* Installation* Data Structures* Series CRUD* Series Indexing* Series Methods* Series Plotting* Series Examples* DataFrame Methods* DataFrame Statistics* Grouping, Pivoting, and Reshaping* Dealing with Missing Data* Joining DataFrames* DataFrame ExamplesThe book uses Python 3 throughout!Preliminary ReviewsThis is an excellent introduction benefitting from clear writing and simple examples. The pandas documentation itself is large and sometimes assumes too much knowledge, in my opinion. Learning the Pandas Library bridges this gap for new users and even for those with some pandas experience such as me.Garry C.I have finished reading Learning the Pandas Library and I liked it... very useful and helpful tips even for people who use pandas regularly.Tom Z.

Pro Swift


Paul Hudson - 2016
    Pro Swift is an all-new book and video tutorial course from the author of Hacking with Swift, and aims to help you learn powerful Swift techniques that will enable you to write code faster and more efficiently.https://gumroad.com/l/proswift

Making Games for the Atari 2600


Steven Hugg - 2016
    Use our web-based IDE to write 6502 assembly code, and see your code run instantly in the browser. We'll cover the same programming tricks that master programmers used to make classic games. Create your own graphics and sound, and share your games with friends! List of chapters: Introduction to 6502 The 8bitworkshop IDE VCS Memory Map Writing Your First Assembly Code Painting on the CRT Playfield Graphics Players and Sprites Color Sprites Sprite Fine Positioning Player/Missile Graphics The SetHorizPos Subroutine Joysticks and Switches Indirect Addressing A Complex Scene, Part I A Complex Scene, Part II NUSIZ and Other Delights Scoreboard Collisions Asynchronous Playfields: Bitmap Asynchronous Playfields: Bricks A Big (48 pixel) Sprite Tiny Text Six-Digit Scoreboard A Big Moveable Sprite Sprite Formations Advanced Timer Tricks Multisprites Random Number Generation Procedural Generation Drawing Lines The Sound and Music Pseudo-3D: Sunsets and Starry Nights Pseudo-3D: Driving Down the Road Bank Switching Wavetable Audio Paddles Illegal Opcodes Timing Analysis Making Games Troubleshooting Appendix A: VCS Memory Map Appendix B: VCS Colors Appendix C: 6502 Opcodes Appendix D: 6502 Instruction Flags

Foundations of Game Engine Development, Volume 1: Mathematics


Eric Lengyel - 2016
    

Ultra HTML Reference: An in-depth reference book for the HTML programming language


Michael Abelar - 2016
    Ultra HTML Reference provides an in-depth description of each tag in HTML along with examples. Even if you are new to HTML, the reference book is written in a way in which any introductory web programmer can understand it. The reference novel contains every HTML tag - including tags in HTML 5.

Learning Python: Learn to code like a professional with Python - an open source, versatile, and powerful programming language


Fabrizio Romano - 2016
    It reads easily and lays a good foundation for those who are interested in digging deeper. It has a practical and example-oriented approach through which both the introductory and the advanced topics are explained. Starting with the fundamentals of programming and Python, it ends by exploring very different topics, like GUIs, web apps and data science. The book takes you all the way to creating a fully fledged application.The book begins by exploring the essentials of programming, data structures and teaches you how to manipulate them. It then moves on to controlling the flow of a program and writing reusable and error proof code. You will then explore different programming paradigms that will allow you to find the best approach to any situation, and also learn how to perform performance optimization as well as effective debugging. Throughout, the book steers you through the various types of applications, and it concludes with a complete mini website built upon all the concepts that you learned. What you will learn Get Python up and running on Windows, Mac, and Linux in no time Grasp the fundamental concepts of coding, along with the basics of data structures and control flow. Write elegant, reusable, and efficient code in any situation Understand when to use the functional or the object oriented programming approach Create bulletproof, reliable software by writing tests to support your code Explore examples of GUIs, scripting, data science and web applications Learn to be independent, capable of fetching any resource you need, as well as dig deeper About the Author Fabrizio Romano was born in Italy in 1975. He holds a master's degree in computer science engineering from the University of Padova. He is also a certified Scrum master. Before Python, he has worked with several other languages, such as C/C++, Java, PHP, and C#. In 2011, he moved to London and started working as a Python developer for Glasses Direct, one of Europe's leading online prescription glasses retailers.He then worked as a senior Python developer for TBG (now Sprinklr), one of the world's leading companies in social media advertising. At TBG, he and his team collaborated with Facebook and Twitter. They were the first in the world to get access to the Twitter advertising API. He wrote the code that published the first geo-narrowcasted promoted tweet in the world using the API.He currently works as a team leader for Sohonet Ltd, a company that is raising the bar in technology around media production.He has delivered talks on Teaching Python and TDD with Python at the last two editions of EuroPython and at Skillsmatter in London. Table of Contents Introduction and First Steps – Take a Deep Breath Built-in Data Types Iterating and Making Decisions Functions, the Building Blocks of Code Saving Time and Memory Advanced Concepts – OOP, Decorators, and Iterators Testing, Profiling, and Dealing with Exceptions The Edge

R for Excel Users: An Introduction to R for Excel Analysts


John L. Taveras - 2016
    But we can tame this curve by putting aside visualizations and analysis, and focusing on working with data.This book is all about data manipulation: importing, creating, modifying, filtering, summarizing and reshaping data sets. You will also go deep on the building blocks of R: vectors and functions.The language is simplified and technical lingo is kept to a minimum. You will see analogies to Excel where applicable, to ease your understanding of concepts.Supplemental articles and videos can be found at rforexcelusers.com

Ray Tracing: The Rest Of Your Life (Ray Tracing Minibooks Book 3)


Peter Shirley - 2016
    This volume extends from the first two but uses terminology and math that will help entry into the professional world of realistic rendering.

hapi.js in Action


Matt Harrison - 2016
    Packed with examples, this book takes you from your first simple server through the skills you'll need to build a complete application. Foreword by Eran Hammer.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyThe hapi.js web framework for Node.js is built around three radical ideas. Developer productivity: hapi's intuitive setup gets you up and running in no time. Maintainability: hapi's modular design allows for easy scaling and improvement. Flexibility: hapi has a lightweight core that you can expand and customize with plugins. Are you ready to get hapi?About the BookHapi.js in Action is an incredibly practical book that teaches you to build APIs, servers, and applications using Node.js and the hapi.js framework. You'll begin with an easy-to-follow mental model of a Node.js web application and see exactly where hapi fits into the picture. Then, you'll walk through building an API and composing it into a web application. Along the way, you'll explore key topics like validation, testing, authentication, and deployment. Throughout, you'll learn how to build rock-solid, secure, and fast applications.What's InsideBest practices for Node application designBuilding APIs with hapiMaintaining and scaling applicationsExtending hapi with pluginsAbout the ReaderThis book assumes you have strong JavaScript skills. Experience with Node.js is helpful but not required.About the AuthorMatt Harrison is a core contributor to hapi.js and an active member of the Node community.Table of ContentsPART 1 - FIRST STEPSIntroducing hapiBuilding an APIBuilding a websitePART 2 - EXPANDING YOUR TOOLBOXRoutes and handlers in-depthUnderstanding requests and responsesValidation with JoiBuilding modular applications with pluginsCache me if you canPART 3 - CREATING ROCK-SOLID APPSAuthentication and securityTesting with Lab, Code, and server.inject()Production and beyond

AWS Cloud Adoption Framework - Overview (AWS Whitepaper)


Amazon Web Services - 2016
    The AWS CAF provides best practices and prescriptive guidance to accelerate an organization's move to cloud computing. The CAF guidance is broken into a number of areas of focus that are relevant to implementing cloud-based IT systems. These focus areas are called perspectives. The seven perspectives are business, platform, maturity, people, process, operations and security.

2600 Magazine: The Hacker Quarterly - Summer 2016


2600 Magazine - 2016
    Published by hackers since 1984, 2600 is a true window into the minds of some of today's most creative and intelligent people. The de facto voice of a new generation, this publication has its finger on the pulse of the ever-changing digital landscape. Available for the first time in a digital edition, 2600 continues to bring unique voices to an ever growing international community interested in privacy issues, computer security, and the digital underground.

Professional C# 6 and .NET Core 1.0


Christian Nagel - 2016
    Get expert instruction on the latest changes to Visual Studio 2015, Windows Runtime, ADO.NET, ASP.NET, Windows Store Apps, Windows Workflow Foundation, and more, with clear explanations, no-nonsense pacing, and valuable expert insight. This incredibly useful guide serves as both tutorial and desk reference, providing a professional-level review of C# architecture and its application in a number of areas. You'll gain a solid background in managed code and .NET constructs within the context of the 2015 release, so you can get acclimated quickly and get back to work. The new updates can actively streamline your workflow, with major changes including reimagined C# refactoring support, a new .NET Web app stack, and the .NET compiler platform that makes C# and Visual Basic compilers available as APIs. This book walks you through the changes with a comprehensive C# review. Explore the new Visual Studio templates for ASP.NET Core 1.0, Web Forms, and MVC Learn about the networking switch to HttpClient and ASP.NET Web API's replacement of WCF Data Services Work with the latest updates to the event log, Windows Runtime 2.0, and Windows 8.1 deployment and localization Dig deep into the new .NET 5.0 GC behaviors and the Migrations addition to ADO.NET Microsoft has stepped up both the cadence and magnitude of their software releases. Professional C# 6 and .NET Core 1.0 shows you everything you need to know about working with C# in a real-world context.

Begin to Code with C#


Rob Miles - 2016
    Microsoft has completely reinvented the beginning programmer's tutorial, reflecting deep research into how today's beginners learn, and why other books fall short. Begin to Code with C# is packed with innovations, from its "Snaps" prebuilt operations to its "Make Something Happen" projects. Whether you're a total beginner or you've tried before, this guide will put the power, excitement, and fun of programming where it belongs: in your hands! Easy, friendly, and you're in control! Learn how to... - Get the free tools you need to create modern programs - Work with 150 sample programs that illustrate important concepts - Use the sample programs as starting points for your own programs - Explore exactly what happens when a program runs - Approach program development with a professional perspective - Use powerful productivity shortcuts built into Microsoft Visual Studio - Master classes, interfaces, methods, and other essential concepts - Organize programs so they're easy to construct and improve - Capture and respond to user input - Store and manipulate many types of real-world data - Create interactive games that are fun to play - Build modern interfaces your users will love - Test and debug your code--and avoid problems in the first place

Modern Assembly Language Programming with the ARM Processor


Larry D. Pyeatt - 2016
    It presents the concepts of assembly language programming in different ways, slowly building from simple examples towards complex programming on bare-metal embedded systems. The ARM processor was chosen as it has fewer instructions and irregular addressing rules to learn than most other architectures, allowing more time to spend on teaching assembly language programming concepts and good programming practice. In this textbook, careful consideration is given to topics that students struggle to grasp, such as registers vs. memory and the relationship between pointers and addresses, recursion, and non-integral binary mathematics. A whole chapter is dedicated to structured programming principles. Concepts are illustrated and reinforced with a large number of tested and debugged assembly and C source listings. The book also covers advanced topics such as fixed and floating point mathematics, optimization, and the ARM VFP and NEONTM extensions. PowerPoint slides and a solutions manual are included. This book will appeal to professional embedded systems engineers, as well as computer engineering students taking a course in assembly language using the ARM processor. Concepts are illustrated and reinforced with a large number of tested and debugged assembly and C source listing Intended for use on very low-cost platforms, such as the Raspberry Pi or pcDuino, but with the support of a full Linux operating system and development tools Includes discussions of advanced topics, such as fixed and floating point mathematics, optimization, and the ARM VFP and NEON extensions

Swift for Kids: A Playful Introduction to Making iPhone and iPad Apps


Gloria Winquist - 2016
    "Swift for Kids" teaches the fundamentals of programming with Swift and Xcode, theofficial - and free! - iOS development environment."Swift for Kids" teaches programming basics in Xcode's interactive playground, which shows you the results of your code immediately. Then you'll put your new programming skills to use and make fully-functioning apps. You'll learn how to: Create an app that reminds you to wish your friends a happy birthdayWrite a function to automatically write customized party invitations!Program a number guessing game with while loopsMake a side-scrolling skateboard action game with SpriteKitHone your programming skills with hands-on examples and gentle step-by-step instructions. Don'tjust dream up the apps and iOS games you want to see in the world - program them!Covers Swift 3 and Xcode 7. Requires OSX10.10 or higher.

Murach's SQL Server 2016 for Developers


Joel Murach - 2016
    If you're an application developer, or you're training to be one, this 2016 edition of Murach's classic SQL Server book is made for you.

TDD


Jason Gorman - 2016
    Popularised in the late 1990s by Kent Beck, Test Driven Development (TDD) combines practices that the best programmers have used since the 1950s.

The Swift Apprentice: Beginning Programming with Swift 3


raywenderlich.com Team - 2016
    With the release of Swift 3 in 2016, the Swift language is packed with even more features and enhancements.In this book, you'll learn the basics of Swift from getting started with playgrounds to simple operations to building your own types. Everything you'll learn is platform-neutral; you'll have a firm understanding of Swift by the end of this book, and you'll be ready to move on to whichever app platform you're interested in.Who This Book Is For: This book is for complete beginners to Swift 3. No prior programming experience is necessary!Topics Covered in The Swift ApprenticePlayground basics: Learn about the coding environment where you can quickly and easily try out your code as you learn.Numbers and strings: These are the basic kinds of data in any app - learn how to use them in Swift.Making Decisions: Your code doesn't always run straight through - learn how to use conditions and decide what to do.Functions: Group your code together into reusable chunks to run and pass around.Collection Types: Discover the many ways Swift offers to store and organize data into collections.Building Your Own Types: Learn how to model elements in your app using classes, structures and enumerations.Protocols & Protocol-Oriented Programming: Define protocols to make your code more interface-based and compositional.Error Handling: Make your code more robust and flexible by signaling and handling error conditions gracefully.Functional Programming: Learn how to use Swift in a functional style and how this can make your code clearer and easier to reason about. After reading this book and completing your Swift apprenticeship by working through the included exercises and challenges, you'll be ready to take on app development on the platform of your choice!

Uncle Cal's Career Advice to Developers


Cal Evans - 2016
    Pull you up a spot on the porch and listen as Uncle Cal tells you a tale. Let Uncle Cal share with you five points you can use to have a happier, healthier, and more productive career. Mind your toes, don't want to get them caught in his rocking chair.

Mastering the FreeRTOS Real Time Kernel - a Hands On Tutorial Guide


Richard Barry - 2016
    Real Time Engineers Ltd. have been working in close partnership with the world’s leading chip companies for well over a decade to provide you award winning, commercial grade, and completely free high quality software.FreeRTOS is ideally suited to deeply embedded real-time applications that usemicrocontrollers or small microprocessors. This type of application normally includes a mix of both hard and soft real-time requirements.

Windows Powershell in Action, Third Edition


Bruce Payette - 2016
    PowerShell, an elegant dynamic language from Microsoft, lets its users script administrative tasks and control Windows from the command line. Because it's a full-featured, first-class Windows programming language, programmers and power- users can now do things in a shell that previously required VB, VBScript, or C#."Windows PowerShell in Action, Third Edition" is a completely revised edition of the bestselling book on PowerShell. It keeps the same crystal-clear introduction to PowerShell as the last edition and adds extensive coverage of v3, v4, and v5 features such as PowerShell Workflows, Desired State Configuration, PowerShell classes and the PowerShell APIs, new error handling and debugging features. It includes full chapters on these topics and also covers new language elements and operators, PowerShell remoting, CIM, events, working with data such as XML and flat files, The Second Edition's coverage of batch scripting and string processing, COM, WMI, and .NET have all been significantly revised and expanded. The book includes many popular usage scenarios and is rich in interesting examples that will spark the reader's imagination.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Front-End Tooling with Gulp, Bower, and Yeoman


Stefan Baumgartner - 2016
    Great workflow requires tools like Gulp, Bower, and Yeoman that can help you automate the design-build-deploy pipeline. Together, the Yeoman scaffolding tool, Bower dependency manager, and Gulp automation build system radically shorten the time it takes to release web applications.About the BookFront-End Tooling with Gulp, Bower, and Yeoman teaches you how to set up an automated development workflow. You'll start by understanding the big picture of the development process. Then, using patterns and examples, this in-depth book guides you through building a product delivery pipeline using Gulp, Bower, and Yeoman. When you're done, you'll have an intimate understanding of the web development process and the skills you need to create a powerful, customized workflow using these best-of-breed tools.What's InsideMastering web dev workflow patternsAutomating the product delivery pipelineCreating custom workflowsAbout the ReaderThis book is suitable for front-end developers with JavaScript experience.About the AuthorStefan Baumgartner has led front-end teams working across a wide range of development styles and application domains.Table of ContentsPART 1 - A MODERN WORKFLOW FOR WEB APPLICATIONSTooling in a modern front-end workflowGetting started with GulpA Gulp setup for local developmentDependency management with BowerScaffolding with YeomanPART 2 - INTEGRATING AND EXTENDING THE PLATFORMGulp for different environmentsWorking with streamsExtending GulpCreating modules and Bower componentsAdvanced Yeoman generators

Mastering JavaScript Object-Oriented Programming


Andrea Chiarelli - 2016
    What You Will Learn - Master JavaScript's OOP features, including the one's provided by ES6 specification - Identify and apply the most common design patterns such as Singleton, Factory, Observer, Model-View-Controller, and Mediator Patterns - Understand the SOLID principles and their benefits - Use the acquired OOP knowledge to build robust and maintainable code - Design applications using a modular architecture based on SOLID principles In Detail ECMAScript 6 introduces several new Object-Oriented features that drastically change the way developers structure their projects. Web developers now have some advanced OOP functionality at their disposal to build large-scale applications in JavaScript. With this book, we'll provide you with a comprehensive overview of OOP principles in JavaScript and how they can be implemented to build sophisticated web applications. Kicking off with a subtle refresher on objects, we'll show you how easy it is to define objects with the new ES6 classes. From there, we'll fly you through some essential OOP principles, forming a base for you to get hands-on with encapsulation. You'll get to work with the different methods of inheritance and we'll show you how to avoid using inheritance with Duck Typing. From there, we'll move on to some advanced patterns for object creation and you'll get a strong idea of how to use interesting patterns to present data to users and to bind data. We'll use the famous promises to work with asynchronous processes and will give you some tips on how to organize your code effectively. You'll find out how to create robust code using SOLID principles and finally, we'll show you how to clearly define the goals of your application architecture to get better, smarter, and more effective coding. This book is your one-way ticket to becoming a JavaScript Jedi who can be counted on to deliver flexible and maintainable code. Style and approach This comprehensive guide on advanced OOP principles and patterns in JavaScript is packed with real-world use cases, and shows you how to implement advanced OOP features to build sophisticated web applications that promote scalability and reusability.

Field Expedient SDR: Basic Analog Radio


Paul Clark - 2016
    Much of the available SDR training veers either towards highly mathematical engineering classes or radio cookbooks with little explanation for the steps taken. This book builds on the first volume in the series, providing you both a deeper and broader understanding of gnuradio and analog radio design. Through a series of hands-on exercises, you'll learn: - to build and operate an FM radio using real SDR hardware - to use more powerful and complex gnuradio blocks - about SDR architecture and how it applies on a practical level - what kinds of antennas and peripherals you'll need in your SDR toolkit - key SDR and radio terms and how they impact your radios This second volume of our Field Expedient SDR series will take you from being an SDR novice to someone capable of building intermediate-level analog radios. You'll also be ready to dive into the digital wireless technologies covered by the third book in our series.

bookdown: Authoring Books and Technical Documents with R Markdown


Yihui Xie - 2016
    The bookdown package inherits the simplicity of syntax and flexibility for data analysis from R Markdown, and extends R Markdown for technical writing, so that you can make better use of document elements such as figures, tables, equations, theorems, citations, and references. Similar to LaTeX, you can number and cross-reference these elements with bookdown. Your document can even include live examples so readers can interact with them while reading the book. The book can be rendered to multiple output formats, including LaTeX/PDF, HTML, EPUB, and Word, thus making it easy to put your documents online. The style and theme of these output formats can be customized.We used books and R primarily for examples in this book, but bookdown is not only for books or R. Most features introduced in this book also apply to other types of publications: journal papers, reports, dissertations, course handouts, study notes, and even novels. You do not have to use R, either. Other choices of computing languages include Python, C, C++, SQL, Bash, Stan, JavaScript, and so on, although R is best supported. You can also leave out computing, for example, to write a fiction. This book itself is an example of publishing with bookdown and R Markdown, and its source is fully available on GitHub.

Natural Language Processing in Python: Master Data Science and Machine Learning for spam detection, sentiment analysis, latent semantic analysis, and article spinning (Machine Learning in Python)


Lazy Programmer - 2016
    The technology behind this? Natural language processing. NLP is the use of machine learning algorithms for problems that involve text. Do you ever wonder why you get much less spam in your inbox these days compared to 10 years ago? What kinds of algorithms are people using to do spam detection? How can they take words in an email and know how to compute whether or not it’s spam? In this book you are going to build your very own spam detector. Did you know people have already used Twitter to determine the current sentiment about a particular company to decide whether or not they should buy or sell stocks? Having a machine that can decide how people feel about something is immensely useful and immediately applicable to revenue optimization. In this course you are going to build your own sentiment analyzer. Are you an Internet marketer or are you interested in SEO? Have you ever wanted to know how you can automatically generate content? In this course we are going to take a first crack at building your own article spinner. You’ll learn to write programs that can take an article as input and spit out a similar article with different words as output. This can save you tons of time and thousands of dollars if you’re paying someone to write content for you. Natural Language Processing, or as it is often abbreviated, NLP - is the use of programming and math to do language-based tasks. If you have Windows or iOS then you have NLP right in front of you! Cortana and Siri are applications that take what you say and turn it into something meaningful that can be done programmatically. The key point: NLP is highly practical. NLP is everywhere. This book is split up into multiple sections based on the various practical tasks that you can do with NLP: Before we do any real programming exercises we’ll look at common NLP tasks (some of these we will actually code ourselves, the others are mentioned so you at least know they exist). We will then look at common data pre-processing techniques used for text. As you’ll see, this preprocessing is what will actually take up a majority of your time when you’re doing NLP. The first programming exercise we’ll do is look at how to build a spam detector. Your email inbox uses this, so it’s clearly very useful and it’s been the subject of study for a long time. Next we’ll look at “sentiment analysis” and you’ll build your own “sentiment analyzer”. This is how a computer can judge how positive or negative some text is based on the words and phrases that are used. This is also immediately practical - some people have analyzed Twitter feeds to predict whether a stock would go up or down. After that we’ll look at the NLTK library. This is a very popular library that solves a lot of fundamental problems in NLP - and you can use it in conjunction with other libraries in your data analysis pipeline. Next we’ll look at “latent semantic analysis”. This is basically doing dimensionality reduction on text - and it helps us solve the problem of 2 words having the same meaning. It also helps us interpret our data and save on computation time. Lastly, we’ll talk about one of the most popular applications of NLP - article spinning. This is very practical for internet marketers and entrepreneurs.

Handbook of Model Checking


Edmund M. Clarke - 2016
    Drawing from research traditions in mathematical logic, programming languages, hardware design, and theoretical computer science, model checking is now widely used for the verification of hardware and software in industry.The editors and authors of this handbook are among the world's leading researchers in this domain, and the 32 contributed chapters present a thorough view of the origin, theory, and application of model checking. In particular, the editors classify the advances in this domain and the chapters of the handbook in terms of two recurrent themes that have driven much of the research agenda: the algorithmic challenge, that is, designing model-checking algorithms that scale to real-life problems; and the modeling challenge, that is, extending the formalism beyond Kripke structures and temporal logic.The book will be valuable for researchers and graduate students engaged with the development of formal methods and verification tools.

Forth Thinking (Read-Eval-Print-λove #003)


Michael Fogus - 2016
    Over the next 2-3 years Moore developed a computing environment suited to his philosophy of programmatic style. A crucial components of this system was the programming language forming its underpinnings: Forth.

Brutal Refactoring: More Working Effectively with Legacy Code


Michael C. Feathers - 2016
    When you consider the serious constraints that legacy code was created under, it's no surprise it looks so bad. The question is: now what? In Brutal Refactoring, Michael Feathers starts with code bases "as they are," not as "we pretend them to be" - and shows how to aggressively reshape them to make them maintainable and amenable to further development.Brutal Refactoring takes the next steps beyond all previous refactoring books, including Feathers' own highly-praised Working Effectively with Legacy Code. Feathers shares new insights reflecting all he's learned in the eleven years since that book, and offers the first detailed practical advice on the unique nuances of system-wide refactoring.Brutal Refactoring demonstrates Feathers' aggressive refactoring techniques through a series of exceptionally realistic case examples, introducing tactical "recipes" and high-level strategies for overcoming a wide range of legacy code challenges. Coverage includes:Making intractable code understandableComponentizing software factory and repository hubsSensing variablesUsing in vitro test harnesses and production togglesMining runtimesDecomposing heavily conditional codeProfiling good and bad code basesDetecting and managing code hotspotsUncovering patterns in code duplicationPerforming domain discoveryManaging boundaries between object-oriented and procedural codeUsing the Twist method to extract classes, and much more

Computer Coding Projects For Kids: A Step-by-Step Visual Guide to Creating Your Own Scratch Projects


D.K. Publishing - 2016
    This colourful illustrated guide uses step-by-steps to show kids how to build a range of amazing projects, from birthday cards to music and games, using the programming language Scratch.Activities such as creating a virtual firework display, simulated snowflakes, fractal art and mind-bending optical illusions not only teach essential coding skills, but enable kids to have fun as they learn. Projects can be personalised and adapted to encourage creativity, and can even be shared with friends, providing a simple and fun way for kids to learn coding.

Batchography: The Art of Batch Files Programming


Elias Bachaalany - 2016
    The Batchography book is a boon for system administrators, build engineers, programmers and home users alike. It takes you on a journey of re-discovery of the lost art of Batch files programming. Whether you are an experienced user or new to the language, you will be surprised by the clarity and the abundance of the material presented in this book. With more than 140 scripting recipes, you will learn about things that you never thought were possible to achieve using the Batch files scripting language. In the Batchography book, you will learn about: * The Basic concepts of Batch file scripting * Data structures: Arrays, Stacks, Sets, Maps * Multiline, compound and conditional statements * Function calls and repetition control structures * Files and strings manipulation techniques * Debugging and troubleshooting tips * Coding conventions and testing methodologies As a bonus, the book also includes the Hangman game completely written using the Batch files scripting language!

Mastering .NET Machine Learning


Jamie Dixon - 2016
    Some basic understanding of data science is required. What You Will Learn Write your own machine learning applications and experiments using the latest .NET framework, including .NET Core 1.0 Set up your business application to start using machine learning. Accurately predict the future using regressions. Discover hidden patterns using decision trees. Acquire, prepare, and combine datasets to drive insights. Optimize business throughput using Bayes Classifier. Discover (more) hidden patterns using KNN and Naive Bayes. Discover (even more) hidden patterns using K-Means and PCA. Use Neural Networks to improve business decision making while using the latest ASP.NET technologies. Explore “Big Data”, distributed computing, and how to deploy machine learning models to IoT devices – making machines self-learning and adapting Along the way, learn about Open Data, Bing maps, and MBrace In Detail .Net is one of the widely used platforms for developing applications. With the meteoric rise of Machine learning, developers are now keen on finding out how can they make their .Net applications smarter. Also, .NET developers are interested into moving into the world of devices and how to apply machine learning techniques to, well, machines.This book is packed with real-world examples to easily use machine learning techniques in your business applications. You will begin with introduction to F# and prepare yourselves for machine learning using .NET framework. You will be writing a simple linear regression model using an example which predicts sales of a product. Forming a base with the regression model, you will start using machine learning libraries available in .NET framework such as Math.NET, Numl.NET and Accord.NET with the help of a sample application. You will then move on to writing multiple linear regressions and logistic regressions.You will learn what is open data and the awesomeness of type providers. Next, you are going to address some of the issues that we have been glossing over so far and take a deep dive into obtaining, cleaning, and organizing our data. You will compare the utility of building a KNN and Naive Bayes model to achieve best possible results.Implementation of Kmeans and PCA using Accord.NET and Numl.NET libraries is covered with the help of an example application. We will then look at many of issues confronting creating real-world machine learning models like overfitting and how to combat them using confusion matrixes, scaling, normalization, and feature selection. You will now enter into the world of Neural Networks and move your line of business application to a hybrid scientific application.

Learn to Program with Python


Irv Kalb - 2016
    Programming can be intimidating (especially when most books on software require you to know and use obscure command line instructions) but it doesn't have to be that way!In Learn to Program with Python, author Irv Kalb uses his in-person teaching experience to guide you through learning the Python computer programming language. He uses a conversational style to make you feel as though he is your personal tutor. All material is laid out in a thoughtful manner, each lesson building on previous ones. Many real-world analogies make the material easy to relate to. A wide variety of well-documented examples are provided. Along the way, you'll develop small programs on your own through a series of coding challenges that reinforce the content of the chapters.What You Will Learn Learn fundamental programming concepts including: variables and assignment statements, functions, conditionals, loops, lists, strings, file input and output, Internet data, and data structuresGet comfortable with the free IDLE Interactive Development Environment (IDE), which you will use to write and debug all your Python code - no need to use the command line!Build text-based programs, including a number of simple gamesLearn how to re-use code by building your own modulesUse Python's built-in data structures and packages to represent and make use of complex data from the InternetWho This Book Is For This book assumes that you have absolutely no prior knowledge about programming. There is no need to learn or use any obscure Unix commands. Students of any age who have had no exposure to programming and are interested in learning to do software development in the Python language. The book can be used as a text book associated with a high school or college introduction to computer science course. Secondly, people who have had exposure to some computer language other than Python, who would like to build good habits for programming in Python.

Dancing Among the Tombstones


Ellen Six - 2016
    After all, I could now cross the street by myself. For Ellen Malin Six growing up in Chicago in the Forties meant counting five taverns on a block before making a turn to the schoolhouse. When I was 21, I walked into the world with a degree in my hand ready to conquer and overcome. Surprise. The world was not waiting for her. When I was 50, I was fully vested in the world. I had a husband, three daughters, a career, a home, family, friends, faith and enough fortune to enjoy the riches of life. Her journey led her from the South side of Chicago to Lithuania, a place that she knew only from her mother’s bedtime stories. It was five years after the country had reclaimed its freedom from the Communists. She found herself in a cemetery searching for markers of faith and for her own heritage. When I was 70, my husband died. All that I thought and everything that I had learned, and all that I knew, no longer made sense. Tombstones have been the markers for her life.

Learning Google Apps Script


Ramalingam Ganapathy - 2016
     A step-by-step guide to building real-world solutions Book Description Google Apps Script is a cloud-based scripting language based on JavaScript to customize and automate Google applications.Apps Script makes it easy to create and publish add-ons in an online store for Google Sheets, Docs, and Forms.It serves as one single platform to build, code, and ultimately share your App on the Web store.This book begins by covering the basics of the Google application platform and goes on to empower you to automate most of the Google applications.You will learn the concepts of creating a menu, sending mails, building interactive web pages, and implementing all these techniques to develop an interactive Web page as a form to submit sheetsYou will be guided through all these tasks with plenty of screenshots and code snippets that will ensure your success in customizing and automating various Google applicationsThis guide is an invaluable tutorial for beginners who intend to develop the skills to automate and customize Google applications What you will learn Learn about the Google Apps script platform and work with scripts to develop Google apps Create custom menus and dialogs Parse and send emails Generate Google calendar events Build Translator and RSS reader applications Develop interactive web pages Design interactive web-forms Form a workflow application About the Author Ramalingam Ganapathy is an independent computer software professional with more than 15 years of working experience of JavaScript and Google Apps Script. In 1985, he started his career as a digital electronic circuit designer and service engineer. Highly interested in reading technical books and building electronic projects, he is a detail-oriented and logical person. Since 2001, he has been freelancing with Elance and Upwork (formerly oDesk). He earned a good reputation on the Upwork portal, and most of his clients are satisfied. Table of Contents Introducing Google Apps Scripts Creating Basic Elements Parsing and Sending E-mails Creating Interactive Forms Creating Google Calendar and Drive Applications Creating Feed Reader and Translator Applications Creating Interactive Webpages Building a Workflow Application More Tips and Tricks and Creating an Add-on

Beginning Hibernate: For Hibernate 5


Joseph B. Ottinger - 2016
    This updated edition includes the new Hibernate 5.0 framework as well as coverage of NoSQL, MongoDB, and other related technologies, ranging from applications to big data. Beginning Hibernate is ideal if you’re experienced in Java with databases (the traditional, or connected, approach), but new to open-source, lightweight Hibernate.The book keeps its focus on Hibernate without wasting time on nonessential third-party tools, so you’ll be able to immediately start building transaction-based engines and applications. Experienced authors Joseph Ottinger with Dave Minter and Jeff Linwood provide more in-depth examples than any other book for Hibernate beginners. They present their material in a lively, example-based manner—not a dry, theoretical, hard-to-read fashion. What You'll Learn Build enterprise Java-based transaction-type applications that access complex data with Hibernate Work with Hibernate 5 using a present-day build process Use Java 8 features with Hibernate Integrate into the persistence life cycle Map using Java’s annotations Search and query with the new version of Hibernate Integrate with MongoDB using NoSQL Keep track of versioned data with Hibernate Envers Who This Book Is For Experienced Java developers interested in learning how to use and apply object-relational persistence in Java and who are new to the Hibernate persistence framework.

Murach's Python Programming


Joel Murach - 2016
    From the first page, our unique self-paced approach will help you build competence and confidence in your programming skills. And Python is the best language ever for learning how to program because of its simplicity and breadth...two features that are hard to find in a single language.But this isn't just a book for newbies! Our self-paced approach also works for experienced programmers, helping you learn faster and better than you've ever learned a language before. By the time you're through, you will have mastered all of the Python skills that are needed on the job, including those for object-oriented, database, and GUI programming.To make all of this possible, section 1 of this book presents an 8-chapter course that will get anyone off to a great start. Section 2 builds on that base by presenting the other essential skills that every Python programmer should have. Section 3 shows you how to develop object-oriented programs, a critical skillset in today's world. And section 4 shows you how to apply all of the skills that you've already learned as you build database and GUI programs for the real world.

Mastering Qt 5: Create stunning cross-platform applications


Guillaume Lazar - 2016
    Knowledge of C is necessary and the basics of Qt would be helpful. What You Will Learn Create stunning UIs with Qt Widget and Qt Quick Develop powerful, cross-platform applications with the Qt framework Design GUIs with the Qt Designer and build a library in it for UI preview Handle user interaction with the Qt signal/slot mechanism in C Prepare a cross-platform project to host a third-party library Build a Qt application using the OpenCV API Use the Qt Animation framework to display stunning effects Deploy mobile apps with Qt and embedded platforms In Detail Qt 5.7 is an application development framework that provides a great user experience and develops full-capability applications with Qt Widgets, QML, and even Qt 3D.This book will address challenges in successfully developing cross-platform applications with the Qt framework. Cross-platform development needs a well-organized project. Using this book, you will have a better understanding of the Qt framework and the tools to resolve serious issues such as linking, debugging, and multithreading. Your journey will start with the new Qt 5 features. Then you will explore different platforms and learn to tame them. Every chapter along the way is a logical step that you must take to master Qt. The journey will end in an application that has been tested and is ready to be shipped. Style and Approach This is an easy-to-follow yet comprehensive guide to building applications in Qt. Each chapter covers increasingly advanced topics, with subjects grouped according to their complexity as well as their usefulness. Packed with practical examples and explanations, Mastering Qt contains everything you need to take your applications to the next level. Table of Contents Get Your Qt Feet Wet Discovering QMake Secrets Diving Your Project and Ruling Your Code Conquering the Desktop UI Dominating the Mobile UI Even Qt Deserves a Slice of Raspberry Pi Third Party Libraries Without a Headache Animations - It's Alive, Alive! Keeping Your Sanity with Multithreading Need IPC? Get Your Minions to Work Having Fun with Serialization You Shall (Not) Pass with QTest All Packed and Ready to Deploy Qt Hat Tips and Tricks

Effective Debugging: 66 Specific Ways to Debug Software and Systems


Diomidis Spinellis - 2016
    Often, debugging consumes most of a developer's workday, and mastering the required techniques and skills can take a lifetime. In Effective Debugging, Diomidis Spinellis helps experienced programmers accelerate their journey to mastery, by systematically categorizing, explaining, and illustrating the most useful debugging methods, strategies, techniques, and tools. Drawing on more than thirty-five years of experience, Spinellis expands your arsenal of debugging techniques, helping you choose the best approaches for each challenge. He presents vendor-neutral, example-rich advice on general principles, high-level strategies, concrete techniques, high-efficiency tools, creative tricks, and the behavioral traits associated with effective debugging. Spinellis's 66 expert techniques address every facet of debugging and are illustrated with step-by-step instructions and actual code. He addresses the full spectrum of problems that can arise in modern software systems, especially problems caused by complex interactions among components and services running on hosts scattered around the planet. Whether you're debugging isolated runtime errors or catastrophic enterprise system failures, this guide will help you get the job done--more quickly, and with less pain. Key features include High-level strategies and methods for addressing diverse software failures Specific techniques to apply when programming, compiling, and running code Better ways to make the most of your debugger General-purpose skills and tools worth investing in Advanced ideas and techniques for escaping dead-ends and the maze of complexity Advice for making programs easier to debug Specialized approaches for debugging multithreaded, asynchronous, and embedded code Bug avoidance through improved software design, construction, and management Normal 0 false false false EN-US X-NONE X-NONE

PHP 7 in easy steps


Mike McGrath - 2016
    It begins by explaining how to install a free web server and the PHP interpreter to create an environment in which you can produce your own data-driven server-side web pages. You will learn how to write PHP server-side scripts and how to make MySQL database queries. Examples illustrate how to store and retrieve Session Data, how to provide a Message Board, and how to access Web Services APIs over Hypertext Transfer Protocol.PHP 7 in easy steps has an easy-to-follow style that will appeal to anyone who wants to begin producing data-driven web pages, as well as to web developers wanting to add server-side interaction to their websites, and the programmer who quickly wants to add PHP to his or her skills set. It will also appeal to the hobbyists who want to begin creating scripts for upload to their own ISP, the student, and to those seeking a career in computing who need a fundamental understanding of server-side programming with PHP.

Outsource or Else!: How a VP of Software Saved His Company


Steve Mezak - 2016
    Jason Jaye is the VP of engineering at ShapeShift, a start-up in Silicon Valley developing cutting-edge fitness technology. When his CEO drops a bombshell that software development for their next product will have to be outsourced, Jason is certain that the product and the company (not to mention he, himself) are doomed. After all, everyone in the Valley knows that outsourcing software development usually equals disaster. Nevertheless, the fate of ShapeShift rests on Jason’s ability to navigate a safe path through uncharted waters. Enter Patrick Delaney, an eccentric, world-traveling outsourcing expert who offers Jason a compass to guide his way: the Seven Keys of Software Outsourcing, a plan for how to successfully select and work with the right global software outsourcing partner. Will Jason help his company meet its goals and bring its exciting new product to market on time? Or will the pitfalls of outsourcing software development swallow him whole before he gets the chance? Through engaging storytelling, Mezak and Hilliard reveal the secrets of how to choose a software outsourcing partner that: • Fits your technical requirements and company culture, for optimal results • Delivers a quality product, at tremendous cost savings, within the needed time frame • Improves your innovation by leveraging the broader expertise of an offshore team Outsource or Else! offers useful, practical advice for tech leaders who want to capitalize on the many benefits of outsourcing software development—and push their businesses to extraordinary new levels of success.

Credit Risk Analytics: Measurement Techniques, Applications, and Examples in SAS (Wiley and SAS Business Series)


Bart Baesens - 2016
    Combining theory with practice, this book walks you through the fundamentals of credit risk management and shows you how to implement these concepts using the SAS credit risk management program, with helpful code provided. Coverage includes data analysis and preprocessing, credit scoring; PD and LGD estimation and forecasting, low default portfolios, correlation modeling and estimation, validation, implementation of prudential regulation, stress testing of existing modeling concepts, and more, to provide a one-stop tutorial and reference for credit risk analytics. The companion website offers examples of both real and simulated credit portfolio data to help you more easily implement the concepts discussed, and the expert author team provides practical insight on this real-world intersection of finance, statistics, and analytics. SAS is the preferred software for credit risk modeling due to its functionality and ability to process large amounts of data. This book shows you how to exploit the capabilities of this high-powered package to create clean, accurate credit risk management models. Understand the general concepts of credit risk management Validate and stress-test existing models Access working examples based on both real and simulated data Learn useful code for implementing and validating models in SAS Despite the high demand for in-house models, there is little comprehensive training available; practitioners are left to comb through piece-meal resources, executive training courses, and consultancies to cobble together the information they need. This book ends the search by providing a comprehensive, focused resource backed by expert guidance. Credit Risk Analytics is the reference every risk manager needs to streamline the modeling process.

The Majesty of Vue.js


Alex Kyriakidis - 2016
    

Lean Python: Learn Just Enough Python to Build Useful Tools


Paul Gerrard - 2016
    This compact book is not a "best way to write code" type of book; rather, the author goes over his most-used functions, which are all you need to know as a beginner and some way beyond.Lean Python takes 58 Python methods and functions and whittles them down to 15: as author Paul Gerrard says, "I haven't found a need for the rest."What You'll LearnDiscover lean Python and how to learn just enough to build useful toolsUse Python objects, program structure, I/O, modules and moreHandle errors and exceptionsTest your codeAccess the Web; do searching; and persist dataWho This Book Is ForThis book is aimed at three categories of reader: The experienced programmer if you already know a programming language, this book gives you a shortcut to understanding the Python language and some of its design philosophy. You work in IT and need a programming primer you might be a tester who needs to have more informed technical discussions with programmers. Working through the examples will help you to appreciate the challenge of good programming. First-timer you want a first book on programming that you can assimilate quickly to help you decide whether programming is for you."

Perspectives on Data Science for Software Engineering


Tim Menzies - 2016
    The idea for this book was created during the 2014 conference at Dagstuhl, an invitation-only gathering of leading computer scientists who meet to identify and discuss cutting-edge informatics topics.At the 2014 conference, the concept of how to transfer the knowledge of experts from seasoned software engineers and data scientists to newcomers in the field highlighted many discussions. While there are many books covering data mining and software engineering basics, they present only the fundamentals and lack the perspective that comes from real-world experience. This book offers unique insights into the wisdom of the community's leaders gathered to share hard-won lessons from the trenches.Ideas are presented in digestible chapters designed to be applicable across many domains. Topics included cover data collection, data sharing, data mining, and how to utilize these techniques in successful software projects. Newcomers to software engineering data science will learn the tips and tricks of the trade, while more experienced data scientists will benefit from war stories that show what traps to avoid.

Stress Testing and Risk Integration in Banks: A Statistical Framework and Practical Software Guide (in MATLAB and R)


Tiziano Bellini - 2016
    An introduction to multivariate time series modeling paves the way to scenario analysis in order to assess a bank resilience against adverse macroeconomic conditions. Assets and liabilities are jointly studied to highlight the key issues that a risk manager needs to face. A multi-national bank prototype is used all over the book for diving into market, credit, and operational stress testing.Interest rate, liquidity and other major risks are also studied together with the former to outline how to implement a fully integrated risk management toolkit. Examples, business cases, and exercises worked in Matlab and R facilitate readers to develop their own models and methodologies.

Finite Difference Computing with Exponential Decay Models (Lecture Notes in Computational Science and Engineering Book 110)


Hans Petter Langtangen - 2016
    The pedagogical strategy is to use one case study – an ordinary differential equation describing exponential decay processes – to illustrate fundamental concepts in mathematics and computer science. The book is easy to read and only requires a command of one-variable calculus and some very basic knowledge about computer programming. Contrary to similar texts on numerical methods and programming, this text has a much stronger focus on implementation and teaches testing and software engineering in particular.

React.js Succinctly


Samer Buna - 2016
    It introduced a way for developers to declaratively describe user interfaces, and to model the state of these interfaces instead of the transactions on them. In React.js Succinctly, author Samer Buna introduces the novel approach to building user interfaces that React provides, and walks readers through the basics of declarative user interfaces, React components, working with user input, and more.

Unreal Engine 4.X By Example


Benjamin Carnall - 2016
    The engine offers a rich feature set that can be customized and built upon through the use of C++. This book will cover how to work with Unreal Engine's tool set all the way from the basics of the editor and the visual scripting system blueprint to the in-depth low-level creation of content using C++.This book will provide you with the skills you need to create feature-rich, captivating, and refined game titles with Unreal Engine 4. This book will take you through the creation of four unique game projects, designed so that you will be ready to apply the engine's rich development capabilities. You will learn not only to take advantage of the visual tools of the engine, but also the vast and powerful programming feature set of Unreal Engine 4. What you will learn Use C++ with Unreal Engine to boost the development potential of any Unreal Engine project Vastly improve workflow and content creation with the visual scripting system blueprint Design, test, and implement interesting game worlds using Unreal Engines built-in editor Build a networked, feature-rich first person shooter that you can play with others over LAN Build design-centric game worlds that play to needs of your game ideas Paint your game worlds via the creation and modification of visual shaders called materials Gain knowledge of other game development disciplines through the use of the Animation and Material tool sets Create feature-rich game projects with a sophisticated visual quality and feature set About the Author Benjamin Carnall is an enthusiastic and dedicated programmer whose love for problem solving led him to the world of game development. He relishes opportunities to learn new and interesting ways to create gameplay experiences for others. Ben began his journey with Game Development in 2012, after he graduated from Media Design School with a diploma in interactive gaming. He then went on to graduate from the same university with a bachelors of software engineering in 2014. Since then, Ben has immersed himself in the Game Development community of New Zealand—starting out as a programming contractor and working on various titles around Auckland. He then began to work as a lecturer at Media Design School and taught Graphics programming for games, Physics programming for games, and Sony PlayStation development at the bachelors level. Most recently, Ben has been working as a programmer for the studio Aroura44, developing a title called Ashen. Table of Contents Introduction to Unreal Engine 4 Blueprints and Barrels – Your First Game Advanced Blueprint, Animation, and Sound Unreal Engine, C++, and You Upgrade Activated – Making Bounty Dash with C++ Power Ups for Your Character, Power Ups for the User Boss Mode Activated – Unreal Robots Advanced AI and Unreal Rend

Learn Javascript: Learn Javascript


Alban Andahi - 2016
    It is a small and lightweight language. Inside a host environment (for example, a web browser), JavaScript can be connected to the objects of its environment to provide programmatic control over them. JavaScript contains a standard library of objects, such as Array, Date, and Math, and a core set of language elements such as operators, control structures, and statements. Core JavaScript can be extended for a variety of purposes by supplementing it with additional objects; for example: Client-side JavaScript extends the core language by supplying objects to control a browser and its Document Object Model (DOM). For example, client-side extensions allow an application to place elements on an HTML form and respond to user events such as mouse clicks, form input, and page navigation. Server-side JavaScript extends the core language by supplying objects relevant to running JavaScript on a server. For example, server-side extensions allow an application to communicate with a database, provide continuity of information from one invocation to another of the application, or perform file manipulations on a server.

Pro Design Patterns in C#


Adam Freeman - 2016
    Implementation of specific pattern approaches will prove their value to any .NET developer This book shows you how to can harness the power and flexibility of the C# language to apply the most important and enduring design patterns to your applications, taking your development from journeyman to master.Best-selling .NET author Adam Freeman explains how to get the most from design patterns. 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 brings design patterns to life and shows you how to bring structure and scale to your C# code with a practical, no-nonsense approach.You ll also discover less well-known but useful patterns like memento, composite, command, and mediator."

The Designer's Guide to the Cortex-M Processor Family


Trevor Martin - 2016
    The book begins with an overview of the Cortex-M family, giving architectural descriptions supported with practical examples, enabling you to easily develop basic C programs to run on the Cortex-M0/M0+/M3 and M4 and M7. It then examines the more advanced features of the Cortex architecture such as memory protection, operating modes, and dual stack operation. Once a firm grounding in the Cortex-M processor has been established the book introduces the use of a small footprint RTOS and the CMSIS-DSP library. The book also examines techniques for software testing and code reuse specific to Cortex-M microcontrollers. With this book you will learn: the key differences between the Cortex-M0/M0+/M3 and M4 and M7; how to write C programs to run on Cortex-M based processors; how to make the best use of the CoreSight debug system; the Cortex-M operating modes and memory protection; advanced software techniques that can be used on Cortex-M microcontrollers; how to use a Real Time Operating System with Cortex-M devices; how to optimize DSP code for the Cortex-M4; and how to build real time DSP systems. Includes an update to the latest version (5) of MDK-ARM, which introduces the concept of using software device packs and software components Includes overviews of the new CMSIS specifications Covers developing software with CMSIS-RTOS showing how to use RTOS in a real world design Provides a new chapter on the Cortex-M7 architecture covering all the new features Includes a new chapter covering test driven development for Cortex-M microcontrollers Features a new chapter on creating software components with CMSIS-Pack and device abstraction with CMSIS-Driver Features a new chapter providing an overview of the ARMv8-M architecture including the TrustZone hardware security model

Professional Software Development: For Students


Mike G. Miller - 2016
    This book attempts to bridge the gap between academia and industry with everything you’ll need to know to “hit the ground running” and a lighthearted tone. (BETA: Apologies, needs additional work/troubleshooting! )

Python: An Introduction to Programming


James R. Parker - 2016
    It follows a practical just-in-time presentation - material is given to the student when it is needed. Many examples will be based on games, because Python has become the language of choice for basic game development. Designed as a Year One textbook for introduction to programming classes or for the hobbyist who wants to learn the fundamentals of programming, the text assumes no programming experience. Features: * Introduces programming concepts that use Python 3* Includes many examples based on video game development* 4-color throughout with game demos on the companion files

Automated Planning and Acting


Malik Ghallab - 2016
    Planning and acting require significant deliberation because an intelligent system must coordinate and integrate these activities in order to act effectively in the real world. This book presents a comprehensive paradigm of planning and acting using the most recent and advanced automated-planning techniques. It explains the computational deliberation capabilities that allow an actor, whether physical or virtual, to reason about its actions, choose them, organize them purposefully, and act deliberately to achieve an objective. Useful for students, practitioners, and researchers, this book covers state-of-the-art planning techniques, acting techniques, and their integration which will allow readers to design intelligent systems that are able to act effectively in the real world.

The Little Book of Rust Macros


Rust Community - 2016
    This book is an attempt to distil the Rust community's collective knowledge of Rust macros.

Think DSP: Digital Signal Processing in Python


Allen B. Downey - 2016
    While most resources start with theory to teach this complex subject, this practical book introduces techniques by showing you how they're applied in the real world. In the first chapter alone, you'll be able to decompose a sound into its harmonics, modify the harmonics, and generate new sounds.Author Allen Downey explains techniques such as spectral decomposition, filtering, convolution, and the Fast Fourier Transform. This book also provides exercises and code examples to help you understand the material.You'll explore:Periodic signals and their spectrumsHarmonic structure of simple waveformsChirps and other sounds whose spectrum changes over timeNoise signals and natural sources of noiseThe autocorrelation function for estimating pitchThe discrete cosine transform (DCT) for compressionThe Fast Fourier Transform for spectral analysisRelating operations in time to filters in the frequency domainLinear time-invariant (LTI) system theoryAmplitude modulation (AM) used in radioOther books in this series include Think Stats and Think Bayes, also by Allen Downey.

SQL Practice Problems: 57 beginning, intermediate, and advanced challenges for you to solve using a “learn-by-doing” approach


Sylvia Moestl Vasilik - 2016
    Are you prepared?It's easy to find basic SQL syntax and keyword information online. What's hard to find is challenging, well-designed, real-world problems--the type of problems that come up all the time when you're dealing with data. Learning how to solve these problems will give you the skill and confidence to step up in your career.With SQL Practice Problems, you can get that level of experience by solving sets of targeted problems.  These aren't just problems designed to give an example of specific syntax. These are the most common problems you encounter when you deal with data.You will get real world practice, with real world data. I'll teach you how to "think" in SQL, how to analyze data problems, figure out the fundamentals, and work towards a solution that you can be proud of. It contains challenging problems, which develop your ability to write high quality SQL code.What do you get when you buy SQL Practice Problems? Setup instructions for MS SQL Server Express Edition 2016 and SQL Server Management Studio 2016 (Microsoft Windows required). Both are free downloads. A customized sample database, with a video walk-through on setting it up. Practice problems - 57 problems that you work through step-by-step. There are targeted hints if you need them, which help guide you through the question. For the more complex questions, there are multiple levels of hints. Answers and a short, targeted discussion section on each question, with alternative answers and tips on usage and good programming practice. What does SQL Practice Problems not contain? Complex descriptions of syntax. There's just what you need, and no more. A discussion of differences between every single SQL variant (MS SQL Server, Oracle, MySQL). That information takes just a few seconds to find online. Details on Insert, Update and Delete statements. That's important to know eventually, but first you need experience writing intermediate and advanced Select statements to return the data you want from a relational database. What kind of problems are there in SQL Practice Problems?The problems in SQL Practice Problems are oriented towards data analysis and reporting. They are designed to step you through introductory, intermediate and advanced SQL Select statements, with a learn-by-doing technique.Most textbooks and courses have some practice problems. But most often, they're used just to illustrate a particular syntax. There's no filtering on what's most useful, and what the most common issues are. What you'll get with SQL Practice Problems is the problems that illustrate some the most common challenges you'll run into with data, and the best, most useful techniques to solve them.

JavaScript: Functional Programming for JavaScript Developers


Ved Antani - 2016
    This guide is aimed at programmers, involved in developing reactive frontend apps, server-side apps that wrangle with reliability and concurrency, and everything in between. What You Will Learn - Get a run through of the basic JavaScript language constructs - Code using the powerful object-oriented feature in JavaScript - Master DOM manipulation, cross-browser strategies, and ES6 - Understand the basic concurrency constructs in Javascript and best performance strategies - Harness the power of patterns for tasks ranging from application building to code testing - Build large-scale apps seamlessly with the help of reactive patterns - Explore advanced design patterns, including dependency injection - Develop more powerful applications with currying and function composition - Create more reliable code with closures and immutable data In Detail JavaScript is a high-level, dynamic, untyped, lightweight, and interpreted programming language and functional programming is a style that emphasizes and enables smarter code that minimizes complexity and increases modularity. It's a way of writing cleaner code through clever ways of mutating, combining, and using functions. And JavaScript provides an excellent medium for this approach. By learning how to expose JavaScript's true identity as a functional language, we can implement web apps that are more powerful, easier to maintain and more reliable. The java script: Functional Programming for JavaScript Developers course will take you on a journey to show how functional programming when combined with other techniques makes JavaScript programming more efficient. The first module Mastering JavaScript, stress on practical aspects of Javascript development like-Functions and Closures, Runtime debugging techniques, project layout, events and DOM processing, build tools, Object-oriented patterns, isomorphism-everything that a modern Javascript project would need. The second module, Mastering JavaScript Design Patterns - Second Edition, will explore how design patterns can help you improve and organize your JavaScript code. You'll get to grips with creational, structural, and behavioral patterns as you discover how to put them to work in different scenarios. This updated edition will also delve into reactive design patterns and microservices as they are a growing phenomenon in the world of web development. It will also show you some advanced patterns, including dependency injection and live post processing. The third module, Functional Programming in JavaScript, will help you to write real-world applications by utilizing a wide range of functional techniques and styles. It explores the core concepts of functional programming common to all functional languages, with examples of their use in JavaScript. Style and approach This course will begin with providing insights and practical tips on advanced JavaScript features to build highly scalable web and mobile system and move on to some design patterns with JavaScript. Finally, the course ends with presenting the functional programming techniques and styles in JavaScript.

macOS Sierra: The Missing Manual: The book that should have been in the box


David Pogue - 2016
    Once again, David Pogue brings his humor and expertise to the #1 bestselling Mac book. Whether you’re a developer or a home-user, this guide offers a wealth of detail on Apple’s OS X 10.12 operating system, this new edition covers everything Sierra has to offer. Perfect for newcomers. Get crystal-clear, jargon-free introduction to the Dock, the macOS folder structure, Safari, Mail, and iCloud. Go in-depth. Learn how to use key new features such as Optimized Storage, the Universal Clipboard, Siri for Mac, and iCloud Drive Sync. Get the full story. David Pogue doesn't stop at telling you how to use macOS features. He wants you to know why to use them—and how to avoid common pitfalls.

Haskell High Performance Programming


Samuli Thomasson - 2016
    It is especially well suited to stacking abstractions high with a relatively low performance cost. This book addresses the challenges of writing efficient code with lazy evaluation and techniques often used to optimize the performance of Haskell programs.We open with an in-depth look at the evaluation of Haskell expressions and discuss optimization and benchmarking. You will learn to use parallelism and we'll explore the concept of streaming. We'll demonstrate the benefits of running multithreaded and concurrent applications. Next we'll guide you through various profiling tools that will help you identify performance issues in your program. We'll end our journey by looking at GPGPU, Cloud and Functional Reactive Programming in Haskell. At the very end there is a catalogue of robust library recommendations with code samples.By the end of the book, you will be able to boost the performance of any app and prepare it to stand up to real-world punishment. What you will learn Program idiomatic Haskell that's also surprisingly efficient Improve performance of your code with data parallelism, inlining, and strictness annotations Profile your programs to identify space leaks and missed opportunities for optimization Find out how to choose the most efficient data and control structures Optimize the Glasgow Haskell Compiler and runtime system for specific programs See how to smoothly drop to lower abstractions wherever necessary Execute programming for the GPU with Accelerate Implement programming to easily scale to the cloud with Cloud Haskell About the Author Samuli Thomasson is a long-time functional programming enthusiast from Finland who has used Haskell extensively, both as a pastime and commercially, for over four years. He enjoys working with great tools that help in getting things done nice and fast.His current job at RELEX Solutions consists of providing technical solutions to a variety of practical problems. Besides functional programming, Samuli is interested in distributed systems, which he also studies at the University of Helsinki. Table of Contents Identifying Bottlenecks Choosing the Correct Data Structures Profile and Benchmark to Your Heart's Content The Devil's in the Detail Parallelize for Performance I/O and Streaming Concurrency and Performance Tweaking the Compiler and Runtime System (GHC) GHC Internals and Code Generation Foreign Function Interface Programming for the GPU with Accelerate Scaling to the Cloud with Cloud Haskell Functional Reactive Programming Library Recommendations

Core Java, Volume II--Advanced Features: 2 (Core Series)


Cay S. Horstmann - 2016
    

Devops on the Microsoft Stack


Wouter de Kort - 2016
    You will learn how to use Visual Studio, Visual Studio Team Services, and Azure to implement a complete DevOps process in your company. You will learn about Agile Project Management, Continuous Integration, Continuous Delivery, Technical Debt Management, Automatic Testing and Monitoring, and see how all these areas fit together.DevOps is important for organizations that want to make the best use of their resources and avoid costly mistakes. Teams that embrace DevOps deploy code up to 30 times more frequently than their competition and less than 50% of their deployments fail according to Puppet Labs State of DevOps survey.DevOps on the Microsoft Stack shows you how to help your organization implement DevOps, covering the tooling they will need and how to make everything work together while following best practices. The focus is not only on technology but also on the cultural issues that teams will face when implementing DevOps. The author s goal is to not only show you which tooling there is but help you to successfully use everything together to implement DevOps in your projects and organization.In this book, you'll learn: What DevOps is and how it can help development teamsHow to use Visual Studio, Visual Studio Team Services, and Azure to setup a DevOps processHow to introduce DevOps to your organization and how to overcome problems"

The Practice of Computing Using Python Plus MyProgrammingLab with Pearson eText -- Access Card Package (3rd Edition)


William F. Punch - 2016
    

Microsoft SQL Server 2016: A Beginner's Guide, Sixth Edition


Dusan Petkovic - 2016
    The book offers thorough coverage of SQL management and development and features full details on the newest business intelligence, reporting, and security features.Filled with new real-world examples and hands-on exercises, "Microsoft SQL Server 2016: A Beginner's Guide, Sixth Edition"," " starts by explaining fundamental relational database system concepts. From there, you will learn how to write Transact-SQL statements, execute simple and complex database queries, handle system administration and security, and use the powerful analysis and BI tools. XML, spatial data, and full-text search are also covered in this step-by-step tutorial.. Revised from the ground up to cover the latest version of SQL Server . Ideal both as a self-study guide and a classroom textbook. Written by a prominent professor and best-selling author"

Getting Started with SQL


Thomas Nield - 2016
    Getting Started with SQL Nield SPD

Beginning Android Games, Third Edition


Robert Green - 2016
    You'll start with game design fundamentals and Android programming basics, and then progress toward creating your own basic game engine and playable game apps that work on Android smartphones and tablets. Beginning Android Games, Third Edition gives you everything you need to branch out and write your own Android games for a variety of hardware.Do you have an awesome idea for the next break-through mobile gaming title? Beginning Android Games will help you kick-start your project. This book will guide you through the process of making several example game apps using APIs available in Android.What You'll LearnGain the fundamentals of game programming in the context of the Android platformUse Android's APIs for graphics, audio, and user input to reflect those fundamentalsDevelop two 2D games from scratch, based on Canvas API and OpenGL ESCreate a full-featured 3D gamePublish your games, get crash reports, and support your usersComplete your own playable 2D OpenGL gamesWho This Book Is ForPeople with a basic knowledge of Java who want to write games on the Android platform. It also offers information for experienced game developers about the pitfalls and peculiarities of the platform.