Best of
Programming

2014

Automate the Boring Stuff with Python: Practical Programming for Total Beginners


Al Sweigart - 2014
    But what if you could have your computer do them for you?In "Automate the Boring Stuff with Python," you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation to: Search for text in a file or across multiple filesCreate, update, move, and rename files and foldersSearch the Web and download online contentUpdate and format data in Excel spreadsheets of any sizeSplit, merge, watermark, and encrypt PDFsSend reminder emails and text notificationsFill out online formsStep-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in "Automate the Boring Stuff with Python.""

Web Design with Html, Css, JavaScript and Jquery Set


Jon Duckett - 2014
    Together these two books form an ideal platform for anyone who wants to master HTML and CSS before stepping up to JavaScript and jQuery.HTML & CSS covers structure, text, links, images, tables, forms, useful options, adding style with CSS, fonts, colors, thinking in boxes, styling lists and tables, layouts, grids, and even SEO, Google analytics, ftp, and HTML5. JavaScript & jQuery offers an excellent combined introduction to these two technologies using a clear and simple visual approach using diagrams, infographics, and photographs.A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers

CSS Secrets: Better Solutions to Everyday Web Design Problems


Lea Verou - 2014
    Based on two popular talks from author Lea Verou--including "CSS3 Secrets: 10 things you may not know about CSS"--this practical guide provides intermediate to advanced CSS developers with more than 40 undocumented techniques and tips for using CSS3 to create better websites.The talks that spawned this book have been top-rated by attendees in every conference they were presented, and praised in industry media such as ."net" magazine.Get information you won't find in any other bookLearn through small, easily digestible chaptersHelps you understand CSS more deeply so you can improve your own solutionsApply Lea's techniques to practically every CSS problem you faceGain tips from a rockstar author who serves as an Invited Expert in W3C's CSS Working Group

The Software Craftsman: Professionalism, Pragmatism, Pride


Sandro Mancuso - 2014
    Why? Too many organizations still view software development as just another production line. Too many developers feel that way, too--and they behave accordingly. In The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso offers a better and more fulfilling path. If you want to develop software with pride and professionalism; love what you do and do it with excellence; and build a career with autonomy, mastery, and purpose, it starts with the recognition that you are a craftsman. Once you embrace this powerful mindset, you can achieve unprecedented levels of technical excellence and customer satisfaction. Mancuso helped found the world's largest organization of software craftsmen; now, he shares what he's learned through inspiring examples and pragmatic advice you can use in your company, your projects, and your career. You will learn Why agile processes aren't enough and why craftsmanship is crucial to making them work How craftsmanship helps you build software right and helps clients in ways that go beyond code How and when to say "No" and how to provide creative alternatives when you do Why bad code happens to good developers and how to stop creating and justifying it How to make working with legacy code less painful and more productive How to be pragmatic--not dogmatic--about your practices and tools How to lead software craftsmen and attract them to your organization What to avoid when advertising positions, interviewing candidates, and hiring developers How developers and their managers can create a true culture of learning How to drive true technical change and overcome deep patterns of skepticism Sandro Mancuso has coded for startups, software houses, product companies, international consultancies, and investment banks. In October 2013, he cofounded Codurance, a consultancy based on Software Craftsmanship principles and values. His involvement with Software Craftsmanship began in 2010, when he founded the London Software Craftsmanship Community (LSCC), now the world's largest and most active Software Craftsmanship community, with more than two thousand craftsmen. For the past four years, he has inspired and helped developers to organize Software Craftsmanship communities throughout Europe, the United States, and the rest of the world.

Java 8 in Action


Raoul-Gabriel Urma - 2014
    The book covers lambdas, streams, and functional-style programming. With Java 8's functional features you can now write more concise code in less time, and also automatically benefit from multicore architectures. It's time to dig in!

Advanced R


Hadley Wickham - 2014
    With more than ten years of experience programming in R, the author illustrates the elegance, beauty, and flexibility at the heart of R.The book develops the necessary skills to produce quality code that can be used in a variety of circumstances. You will learn:The fundamentals of R, including standard data types and functions Functional programming as a useful framework for solving wide classes of problems The positives and negatives of metaprogramming How to write fast, memory-efficient codeThis book not only helps current R users become R programmers but also shows existing programmers what's special about R. Intermediate R programmers can dive deeper into R and learn new strategies for solving diverse problems while programmers from other languages can learn the details of R and understand why R works the way it does.

Building Microservices: Designing Fine-Grained Systems


Sam Newman - 2014
    But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization's goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures

OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808


Jeanne Boyarsky - 2014
    With complete coverage of 100% of the exam objectives, this book provides everything you need to know to confidently take the exam. 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. This study guide has you covered, with thorough functional programming explanation and information on all key topic areas Java programmers need to know. You'll cover Java inside and out, and learn how to apply it efficiently and effectively to create solutions applicable to real-world scenarios.Work confidently with operators, conditionals, and loops Understand object-oriented design principles and patterns Master functional programming fundamentals

Ry's Git Tutorial


Ryan Hodson - 2014
    Its popularity among open-source developers makes Git a necessary tool for professional programmers, but it can also do wonders for your personal coding workflow. You’ll be able to experiment with new ideas, radically refactor existing code, and efficiently share changes with other developers—all without the slightest worry towards breaking your project.This comprehensive guide will walk you through the entire Git library, writing code and executing commands every step of the way. You'll create commits, revert snapshots, navigate branches, communicate with remote repositories, and experience core Git concepts first-hand.Designed for newcomers to distributed development, Ry's Git Tutorial presents this complex subject in simple terms that anyone can understand. Beginner and veteran programmers alike will find this book to be a fun, fast, and friendly introduction to Git-based revision control.

Adaptive Code Via C#: Agile Coding with Design Patterns and Solid Principles


Gary McLean Hall - 2014
    Your process may be agile, but are you building agility directly into the code base? This book teaches .NET programmers how to give code the flexibility to adapt to changing requirements and customer demands by applying cutting-edge techniques, including SOLID principles, design patterns, and other industry best practices.Understand why composition is preferable to inheritance and how flexible the interface really can be Gain deep knowledge of key design patterns and anti-patterns, when to apply them, and how to give their code agility Bridge the gap between the theory behind SOLID principles, design patterns, and industry best practices by pragmatically solving real-world problems Get code samples written in upcoming version of Microsoft Visual C# Topics include: Agile with Scrum process; dependencies and layering; the interface; patterns and anti-patterns; introduction to SOLID principles, including open/closed and dependency interjection; and using application templates

Metaprogramming Ruby 2: Program Like the Ruby Pros


Paolo Perrotta - 2014
    With metaprogramming, you can produce elegant, clean, and beautiful programs. Once the domain of expert Rubyists, metaprogramming is now accessible to programmers of all levels. This thoroughly revised and updated second edition of the bestselling Metaprogramming Ruby explains metaprogramming in a down-to-earth style and arms you with a practical toolbox that will help you write your best Ruby code ever.Dig under the surface and explore Ruby's most advanced feature: a collection of techniques and tricks known as metaprogramming. In this book, you'll learn metaprogramming as an essential component of Ruby and discover the deep, non-obvious details of the language. Once you understand the tenets of Ruby, including the object model, scopes, and singleton classes, you're on your way to applying metaprogramming both in your daily work assignments and in your fun, after-hours projects.Metaprogramming Ruby, Second Edition makes mastering the language enjoyable. The book is packed with: Pragmatic examples of metaprogramming in action, many of which come straight from real-life gems such as Rails.Programming challenges that let you experiment and play with some of the most out-there metaprogramming concepts.Metaprogramming spells--33 practical recipes and idioms that you can study and apply right now, to write code that is sure to impress.This completely revised new edition covers the new features in Ruby 2.0 and 2.1, and contains code from the latest Ruby libraries, including Rails 4. Most examples are new, from the wild, with more recent libraries. And the book reflects current ideas of when and how much metaprogramming you should use.Whether you're a Ruby apprentice on the path to mastering the language or a Ruby wiz in search of new tips, this book is for you.What You Need: Ruby 2.x, Ruby 1.9, or a recent version of JRuby.

Patterns Principles and Practices of Domain Driven Design


Scott Millett - 2014
    A focus is placed on the principles and practices of decomposing a complex problem space as well as the implementation patterns and best practices for shaping a maintainable solution space.

Java Performance: The Definitive Guide


Scott Oaks - 2014
    Multicore machines and 64-bit operating systems are now standard even for casual users, and Java itself has introduced new features to manage applications. The base JVM has kept pace with those developments and offers a very different performance profile in its current versions. By guiding you through this changing landscape, Java Performance: The Definitive Guide helps you gain the best performance from your Java applications.You’ll explore JVM features that traditionally affected performance—including the just-in-time compiler, garbage collection, and language features—before diving in to aspects of Java 7 and 8 designed for maximum performance in today's applications. You’ll learn features such as the G1 garbage collector to maximize your application’s throughput without causing it to pause, and the Java Flight Recorder, which enables you to see application performance details without the need for separate, specialized profiling tools.Whether you’re new to Java and need to understand the basics of tuning the JVM, or a seasoned developer looking to eek out that last 10% of application performance, this is the book you want.

Node.js Design Patterns


Mario Casciaro - 2014
    What You Will Learn Design and implement a series of server-side JavaScript patterns so you understand why and when to apply them in different use case scenarios Understand the fundamental Node.js components and use them to their full potential Untangle your modules by organizing and connecting them coherently Reuse well-known solutions to circumvent common design and coding issues Deal with asynchronous code with comfort and ease Identify and prevent common problems, programming errors, and anti-patterns In Detail Node.js is a massively popular software platform that lets you use JavaScript to easily create scalable server-side applications. It allows you to create efficient code, enabling a more sustainable way of writing software made of only one language across the full stack, along with extreme levels of reusability, pragmatism, simplicity, and collaboration. Node.js is revolutionizing the web and the way people and companies create their software.In this book, we will take you on a journey across various ideas and components, and the challenges you would commonly encounter while designing and developing software using the Node.js platform. You will also discover the "Node.js way" of dealing with design and coding decisions.The book kicks off by exploring the fundamental principles and components that define the platform. It then shows you how to master asynchronous programming and how to design elegant and reusable components using well-known patterns and techniques. The book rounds off by teaching you the various approaches to scale, distribute, and integrate your Node.js application.

Head First JavaScript Programming


Eric Freeman - 2014
    Want to understand that code you've been copying and pasting into your web pages? And do it in a way that won't put you to sleep? Then Head First JavaScript Programming is for you. Learning a programming language is no easy task, but Head First JavaScript Programming uses puzzles, visuals, mysteries, interviews, and fun examples to make learning JavaScript fast, fun, and effective. But don't be fooled; you might be having a good time while you're learning JavaScript, but you're still learning all the serious stuff. Like how functions and objects work, what a callback is, how to interact with the web page using the Document Object Model, how to use arrays, and even what a closure is. JavaScript is one of the most popular languages in the world, and it's only getting more popular as the Web continues to grow. Learn JavaScript the Head First way, and get in on all the action.

Writing High-Performance .NET Code


Ben Watson - 2014
    Learn critical lessons from a person who helped design and build one of the largest high-performance .NET systems in the world.This book does not just teach you how the CLR works—it teaches you exactly what you need to do now to obtain the best performance today. It will expertly guide you through the nuts and bolts of extreme performance optimization in .NET, complete with in-depth examinations of CLR functionality, free tool recommendations and tutorials, useful anecdotes, and step-by-step guides to measure and improve performance.Among the topics you will learn are how to:-Choose what to measure and why-Use many amazing tools, freely available, to solve problems quickly-Understand the .NET garbage collector and its effect on your application-Use effective coding patterns that lead to optimal garbage collection performance-Diagnose common GC-related issues-Reduce costs of JITting-Use multiple threads sanely and effectively, avoiding synchronization problems-Know which .NET features and APIs to use and which to avoid-Use code generation to avoid performance problems-Measure everything and expose hidden performance issues-Instrument your program with performance counters and ETW events-Use the latest and greatest .NET features-Ensure your code can run on mobile devices without problems-Build a performance-minded team…and much more.

Flask Web Development: Developing Web Applications with Python


Miguel Grinberg - 2014
    With this hands-on book, you’ll learn Flask from the ground up by developing a complete social blogging application step-by-step. Author Miguel Grinberg walks you through the framework’s core functionality, and shows you how to extend applications with advanced web techniques such as database migration and web service communication.Rather than impose development guidelines as other frameworks do, Flask leaves the business of extensions up to you. If you have Python experience, this book shows you how to take advantage of that creative freedom.- Learn Flask’s basic application structure and write an example app- Work with must-have components—templates, databases, web forms, and email support- Use packages and modules to structure a large application that scales- Implement user authentication, roles, and profiles- Build a blogging feature by reusing templates, paginating item lists, and working with rich text- Use a Flask-based RESTful API to expose app functionality to smartphones, tablets, and other third-party clients- Learn how to run unit tests and enhance application performance- Explore options for deploying your web app to a production server

Hands-On Programming with R: Write Your Own Functions and Simulations


Garrett Grolemund - 2014
    With this book, you'll learn how to load data, assemble and disassemble data objects, navigate R's environment system, write your own functions, and use all of R's programming tools.RStudio Master Instructor Garrett Grolemund not only teaches you how to program, but also shows you how to get more from R than just visualizing and modeling data. You'll gain valuable programming skills and support your work as a data scientist at the same time.Work hands-on with three practical data analysis projects based on casino gamesStore, retrieve, and change data values in your computer's memoryWrite programs and simulations that outperform those written by typical R usersUse R programming tools such as if else statements, for loops, and S3 classesLearn how to write lightning-fast vectorized R codeTake advantage of R's package system and debugging toolsPractice and apply R programming concepts as you learn them

Speaking JavaScript


Axel Rauschmayer - 2014
    This concise book guides you into and through JavaScript, written by a veteran programmer who once found himself in the same position. Speaking JavaScript helps you approach the language with four standalone sections. First, a quick-start guide teaches you just enough of the language to help you be productive right away. More experienced JavaScript programmers will find a complete and easy-to-read reference that covers each language feature in depth. Complete contents include: JavaScript quick start: Familiar with object-oriented programming? This part helps you learn JavaScript quickly and properly. JavaScript in depth: Learn details of ECMAScript 5, from syntax, variables, functions, and object-oriented programming to regular expressions and JSON with lots of examples. Pick a topic and jump in. Background: Understand JavaScript’s history and its relationship with other programming languages. Tips, tools, and libraries: Survey existing style guides, best practices, advanced techniques, module systems, package managers, build tools, and learning resources.

Two Scoops of Django: Best Practices for Django 1.6


Daniel Roy Greenfeld - 2014
    

Elasticsearch: The Definitive Guide: A Distributed Real-Time Search and Analytics Engine


Clinton Gormley - 2014
    This practical guide not only shows you how to search, analyze, and explore data with Elasticsearch, but also helps you deal with the complexities of human language, geolocation, and relationships.If you're a newcomer to both search and distributed systems, you'll quickly learn how to integrate Elasticsearch into your application. More experienced users will pick up lots of advanced techniques. Throughout the book, you'll follow a problem-based approach to learn why, when, and how to use Elasticsearch features.Understand how Elasticsearch interprets data in your documentsIndex and query your data to take advantage of search concepts such as relevance and word proximityHandle human language through the effective use of analyzers and queriesSummarize and group data to show overall trends, with aggregations and analyticsUse geo-points and geo-shapes--Elasticsearch's approaches to geolocationModel your data to take advantage of Elasticsearch's horizontal scalabilityLearn how to configure and monitor your cluster in production

JavaScript for Kids: A Playful Introduction to Programming


Nick Morgan - 2014
    With the help of kid-friendly examples, author Nick Morgan teaches the essentials of JavaScript. Morgan starts with the basics of strings, arrays, and loops, then moves on to show readers how to modify elements with jQuery and draw graphics with canvas. By the end of the book, you'll be ready to create your own fun animations and games and you'll have a solid understanding of the fundamentals of JavaScript.

Exercises in Programming Style


Cristina Videira Lopes - 2014
    It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The book can also be used in advanced programming courses in computer science and software engineering programs.The book contains 33 different styles for writing the term frequency task. The styles are grouped into nine categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, and interactivity. The author verbalizes the constraints in each style and explains the example programs. Each chapter first presents the constraints of the style, next shows an example program, and then gives a detailed explanation of the code. Most chapters also have sections focusing on the use of the style in systems design as well as sections describing the historical context in which the programming style emerged.

Designing for Scalability with Erlang/OTP: Implementing Robust, Fault-Tolerant Systems


Francesco Cesarini - 2014
    With this hands-on book, you’ll learn how to apply OTP libraries and techniques to develop concurrent, fault-tolerant systems with no single point of failure.Written by the authors of O'Reilly's Erlang Programming, including a member of OTP’s R1 release team, this guide takes you through the basics of OTP and Erlang Design Patterns, and demonstrates how the platform can be used in a wide range of industries. If you have Erlang experience, you’ll learn how to overcome key obstacles in OTP that have thwarted many other developers.

The Swift Programming Language


Apple Inc. - 2014
    Swift builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to reimagine how software development works.

Yii 2 For Beginners


Bill Keck - 2014
    The book focuses on creating a reusable template that can serve as the basis for your projects.

Effective Ruby: 48 Specific Ways to Write Better Ruby


Peter J. Jones - 2014
    Drawing on nearly a decade of Ruby experience, Peter J. Jones brings together 48 Ruby best practices, expert tips, and shortcuts--all supported by realistic code examples. Jones offers practical advice for each major area of Ruby development, from modules to memory to metaprogramming. Throughout, he uncovers little-known idioms, quirks, pitfalls, and intricacies that powerfully impact code behavior and performance. Each item contains specific, actionable, clearly organized guidelines; careful advice; detailed technical arguments; and illuminating code examples. When multiple options exist, Jones shows you how to choose the one that will work best in your situation. Effective Ruby will help you systematically improve your code--not by blindly following rules, but by thoroughly understanding Ruby programming techniques. Key features of this concise guide include How to avoid pitfalls associated with Ruby's sometimes surprising idiosyncrasies What you should know about inheritance hierarchies to successfully use Rails (and other large frameworks) How to use misunderstood methods to do amazingly useful things with collections Better ways to use exceptions to improve code reliability Powerful metaprogramming approaches (and techniques to avoid) Practical, efficient testing solutions, including MiniTest Unit and Spec Testing How to reliably manage RubyGem dependencies How to make the most of Ruby's memory management and profiling tools How to improve code efficiency by understanding the Ruby interpreter's internals

Category Theory for Programmers


Bartosz Milewski - 2014
    Collected from the series of blog posts starting at: https://bartoszmilewski.com/2014/10/2...Hardcover available at: http://www.blurb.com/b/9008339-catego...

Microsoft .NET - Architecting Applications for the Enterprise


Dino Esposito - 2014
    But the principles and practices of software architecting–what the authors call the “science of hard decisions”–have been evolving for cloud, mobile, and other shifts. Now fully revised and updated, this book shares the knowledge and real-world perspectives that enable you to design for success–and deliver more successful solutions. In this fully updated Second Edition, you will: Learn how only a deep understanding of domain can lead to appropriate architecture Examine domain-driven design in both theory and implementation Shift your approach to code first, model later–including multilayer architecture Capture the benefits of prioritizing software maintainability See how readability, testability, and extensibility lead to code quality Take a user experience (UX) first approach, rather than designing for data Review patterns for organizing business logic Use event sourcing and CQRS together to model complex business domains more effectively Delve inside the persistence layer, including patterns and implementation.

Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C#


Jeremy Gibson Bond - 2014
    Over the years, his most successful students have always been those who effectively combined game design theory, concrete rapid-prototyping practices, and programming skills. Introduction to Game Design, Prototyping, and Development is the first time that all three of these disciplines have been brought together into a single book. It is a distillation of everything that Gibson has learned teaching hundreds of game designers and developers in his years at the #1 university games program in North America. It fully integrates the disciplines of game design and computer programming and helps you master the crucial practice of iterative prototyping using Unity. As the top game engine for cross-platform game development, Unity allows you to write a game once and deliver it to everything from Windows, OS X, and Linux applications to webpages and all of the most popular mobile platforms. If you want to develop games, you need strong experience with modern best practices and professional tools. There's no substitute. There's no shortcut. But you can get what you need in this book. COVERAGE INCLUDES In-depth tutorials for eight different game prototypes Developing new game design concepts Moving quickly from design concepts to working digital prototypes Improving your designs through rapid iteration Playtesting your games and interpreting the feedback that you receive Tuning games to get the right "game balance" and "game feel" Developing with Unity, today's best engine for independent game development Learning C# the right way Using Agile and Scrum to efficiently organize your game design and development process Debugging your game code Getting into the highly competitive, fast-changing game industry

Stuff Goes Bad: Erlang in Anger


Fred Hebert - 2014
    It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang.

Starting to Unit Test: Not as Hard as You Think


Erik Dietrich - 2014
    You've heard the term. Probably a lot. You know you should probably figure out how it works, since everyone's always talking about it and a lot of companies require developers to know it. But you don't really know it and you're worried that you'll look uninformed if you cop to not knowing it. Well, relax. This book assumes you have absolutely no idea how it works and walks you through the practice from the very beginning.You'll learn the basics, but more importantly, you'll learn the business value, the path to walk not to get frustrated, what's testable and what isn't, and, and everything else that a practical unit testing newbie could possibly want to know.

Rails 4 Test Prescriptions: Build a Healthy Codebase


Noel Rappin - 2014
    Rails 4 Test Prescriptions is a comprehensive guide to how tests can help you design and write better Rails applications. In this completely revised edition, you'll learn why testing works and how to test effectively using Rails 4, Minitest 5, and RSpec 3, as well as popular testing libraries such as factory_girl and Cucumber. Do what the doctor ordered to make your applications feel all better. Side effects may include better code, fewer bugs, and happier developers.Your Ruby on Rails application is sick. Deadlines are looming, but every time you make the slightest change to the code, something else breaks. Nobody remembers what that tricky piece of code was supposed to do, and nobody can tell what it actually does. Plus, it has bugs. You need test-driven development, a process for improving the design, maintainability, and long-term viability of software.Containing both practical code examples and discussion of why testing works, this book starts with the most basic features delivered as part of core Ruby on Rails. Once you've integrated those features into your coding practice, you'll learn how to use popular third-party testing tools such as RSpec, Mocha, Cucumber, and factory_girl. You'll test the component parts of a Rails application, including the back-end model logic and the front-end display logic. Using Rails examples, you'll learn how to use testing to enable your code to respond better to future change. Plus, you'll see how to handle real-world testing situations.This completely revised edition contains a new tutorial, as well as new examples throughout the book. Many chapters, including the JavaScript chapter, have undergone major changes to reflect new tools and new practices. And there are brand new chapters on testing for security, and testing external services.What You Need: Ruby 2.1, Rails 4

Concurrency in C# Cookbook


Stephen Cleary - 2014
    With this cookbook, you will find recipes for writing asynchronous, parallel, and reactive code in C# that enables your app or program to engage in more than one process at a time. Presented in O’Reilly’s popular problem-solution-discussion cookbook format, this guide provides ready-to-use code, along with an explanation of why and how the solution works.

From Mathematics to Generic Programming


Alexander A. Stepanov - 2014
    If you're a reasonably proficient programmer who can think logically, you have all the background you'll need. Stepanov and Rose introduce the relevant abstract algebra and number theory with exceptional clarity. They carefully explain the problems mathematicians first needed to solve, and then show how these mathematical solutions translate to generic programming and the creation of more effective and elegant code. To demonstrate the crucial role these mathematical principles play in many modern applications, the authors show how to use these results and generalized algorithms to implement a real-world public-key cryptosystem. As you read this book, you'll master the thought processes necessary for effective programming and learn how to generalize narrowly conceived algorithms to widen their usefulness without losing efficiency. You'll also gain deep insight into the value of mathematics to programming--insight that will prove invaluable no matter what programming languages and paradigms you use. You will learn aboutHow to generalize a four thousand-year-old algorithm, demonstrating indispensable lessons about clarity and efficiencyAncient paradoxes, beautiful theorems, and the productive tension between continuous and discreteA simple algorithm for finding greatest common divisor (GCD) and modern abstractions that build on itPowerful mathematical approaches to abstractionHow abstract algebra provides the idea at the heart of generic programmingAxioms, proofs, theories, and models: using mathematical techniques to organize knowledge about your algorithms and data structuresSurprising subtleties of simple programming tasks and what you can learn from themHow practical implementations can exploit theoretical knowledge

Build Your Own AngularJS


Tero Parviainen - 2014
    It can also be difficult to grasp fully. As a result, many struggle to capture all the benefits Angular has to offer.Build Your Own AngularJS helps you understand everything there is to understand about Angular. By creating your very own implementation of Angular piece by piece, you gain deep insight into what makes this framework tick. Say goodbye to fixing problems by trial and error and hello to reasoning your way through them.

Learn Excel 2013 Expert Skills with the Smart Method


Mike Smart - 2014
    It will teach you to master all of the Excel 2013 advanced features. If you are an absolute beginner you need our Excel 2013 Essential Skills book.The book is very, very different to any other computer book you have ever read. The Smart Method provides an entirely new and better way to master advanced Excel 2013 features. Here's just four of the many ways in which the book is unique: This book won't waste your time by teaching basic Excel 2013 skills that you already know. All of that material is covered already in our beginner's Excel 2013 Essential Skills book. By assuming that you are already able to use the Excel 2013 basic features, far more ground can be covered. Instruction is logically structured into sessions and lessons. While this makes the book ideal for self-instruction, you can also use it to run your own, highly effective, adult training courses.Every lesson is presented on two facing sheets of A4 paper (the pages are much bigger than in any other Excel book).Each lesson has a sample file that models a real-world business problem. You'll immediately appreciate the value and relevance of each skill you learn.Advanced concepts are explained without needless technical jargon. Everything is concisely described in a simple, no-nonsense way. No matter what your background is, this book will enable you to master Excel 2013's most advanced features.Amongst other things you'll learn how to: Use Excel 2013's new data model feature to create table relationships Master dynamic tables and structured table references Completely understand Excel 2013's new ability to create OLAP cubes Use Excel 2013's new OLAP Pivot Tables to present OLAP cube data Perform What-If analysis to model and compare business scenarios Record macros and then execute them from button controlsCreate intuitive user interfaces using form controlsEnforce complex business rules using function-driven custom validationsUse advanced functions to solve real-world business problemsUnderstand and use all of Excel's security featuresUse Excel 2013's new timeline slicers to quickly filter date ranges Create and use dynamic and table-based range namesCompanies who have taken Smart Method courses include:AOL Time Warner, The United States Army, Daimler Chrysler, Motorola, HSBC, Barclays, American Express, Allied Irish Banks, Imperial Tobacco, Volvo, The BBC, British Petroleum, The Foreign and Commonwealth Office, Unilever, The Institute of Chartered Accountants, The Ministry of Defence, Keele University, Deutsche Bank, HBOS, Transport For London, The Performing Rights Society, Scottish Power, The Office of the Parliamentary Ombudsman, BAE Systems, RBS, The British Museum, The National Gallery, Pokerstars, Marks & Spencer, Virgin, O2, BMW... and many, many others.

Core Java for the Impatient


Cay S. Horstmann - 2014
    Many old Java idioms are no longer required and new features like lambda expressions will increase programmer productivity, but navigating these changes can be challenging. Core Java(R) for the Impatient is a complete but concise guide to Java SE 8. Written by Cay Horstmann--the author of Java SE 8 for the Really Impatient and Core Java(TM), the classic, two-volume introduction to the Java language--this indispensable new tutorial offers a faster, easier pathway for learning the language and libraries. Given the size of the language and the scope of the new features introduced in Java SE 8, there's plenty of material to cover, but it's presented in small chunks organized for quick access and easy understanding. If you're an experienced programmer, Horstmann's practical insights and sample code will help you quickly take advantage of lambda expressions (closures), streams, and other Java language and platform improvements. Horstmann covers everything developers need to know about modern Java, including Crisp and effective coverage of lambda expressions, enabling you to express actions with a concise syntax A thorough introduction to the new streams API, which makes working with data far more flexible and efficient A treatment of concurrent programming that encourages you to design your programs in terms of cooperating tasks instead of low-level threads and locks Up-to-date coverage of new libraries like Date and Time Other new features that will be especially valuable for server-side or mobile programmers Whether you are just getting started with modern Java or are an experienced developer, this guide will be invaluable for anyone who wants to write tomorrow's most robust, efficient, and secure Java code.

Anton's OpenGL 4 Tutorials


Anton Gerdelan - 2014
    It would suit anyone learning 3d programming that needs a practical guide with some help for common problems. The material is often used in this way by university courses and hobbyists. This book is a collection of worked-through examples of common real-time rendering techniques as used in video games or student projects. There are also some chapters or short articles for Tips and Tricks - not-so-obvious techniques that can add a lot of value to projects or make it easier to find problems. The idea is to be something like a lab manual - to get you going and over the trickier and more confusing hurdles presented by the API.

xchg rax, rax


xorpd - 2014
    The book contains 0x40 short assembly snippets, each built to teach you one concept about assembly, math or life in general.

Understanding the Four Rules of Simple Design


Corey Haines - 2014
    This is why it is imperative to build systems that are flexible and can adapt to changing requirements, both expected and (more often) unexpected. That is why I've written this book.From 2009 to 2014, I traveled the world working with software developers, both individually and in teams, to improve their craft. Primarily, I did this through a training workshop format called coderetreat. Over those years, I had the opportunity to watch 1000's of pairs of programmers work on exactly the same system, Conway's Game of Life. As time progressed, I began to see patterns arise. I noticed common techniques and designs that spanned languages and companies and crossed national borders.As co-founder and a facilitator of coderetreat workshops, I had the unique opportunity to provide feedback, both direct and through questions, on improving the act of writing adaptable, simple code. Through the day, we worked on improving our ability to make good choices around the minute-by-minute decisions made while writing code.This book is about those things I learned from watching these 1000's of pairs working on the same problem. It contains a large part of the feedback that I provide during a typical coderetreat. The primary focus is on the thought process behind refactoring, and how that is influenced by the 4 rules of simple design.This book is not about Conway's Game of Life. Instead, it uses its domain as a backdrop to discuss the thoughts and ideas behind the 4 rules of simple design. It focuses on the small decisions made while designing your code with the goal of building robust, adaptable codebases that can stand the test of time.

Drawing for Architects: How to Explore Concepts, Define Elements, and Create Effective Built Design through Illustration


Julia McMorrough - 2014
    Drawing for Architects provides what practicing architects and architectural students need - a technique-based, progression of drawing types and instructions teaching core drawing principles needed to connect drawing with architectural design. Respected architect and author Julia McMorrough outlines issues around each of the types of drawing, showing that the conversations of plan, section, elevation, axonometric, and perspective each have a relation to the kind of design information that drawing makes possible to express. Drawing for Architects explains both the technical and disciplinary importance of drawing and how to enable design creativity and application through its practiced use.

If Hemingway Wrote JavaScript


Angus Croll - 2014
    The result is a peculiar and charming combination of prose, poetry, and programming.The best authors are those who obsess about language--and the same goes for JavaScript developers. To master either craft, you must experiment with language to develop your own style, your own idioms, and your own expressions. To that end, If Hemingway Wrote JavaScript playfully bridges the worlds of programming and literature for the literary geek in all of us.Featuring original artwork by Miran Lipovaca.

Learning Computer Architecture with Raspberry Pi


Eben Upton - 2014
    Now, a second revolution in computing is beginning with the Raspberry Pi. "Learning Computer Architecture with the Raspberry Pi" is the premier guide to understanding the components of the most exciting tech product available. Thanks to this book, every Raspberry Pi owner can understand how the computer works and how to access all of its hardware and software capabilities.Since it was released on 2012, over 2 1/2 million Raspberry Pi units have been sold. Now, students, hackers, and casual users alike can discover how computers work with "Learning Computer Architecture with the Raspberry Pi." This book explains what each and every hardware component does, how they relate to one another, and how they correspond to the components of other computing systems. You'll also learn how programming works and how the operating system relates to the Raspberry Pi's physical components. Co-authored by Eben Upton, one of the creators of the Raspberry Pi, this is a companion volume to the "Raspberry Pi User Guide" An affordable solution for learning about computer system design considerations and experimenting with low-level programming Understandable descriptions of the functions of memory storage, Ethernet, cameras, processors, and more Gain knowledge of computer design and operation in general by exploring the basic structure of the Raspberry PiThe Raspberry Pi was created to bring forth a new generation of computer scientists, developers, and architects who understand the inner workings of the computers that have become essential to our daily lives. "Learning Computer Architecture with the Raspberry Pi" is your gateway to the world of computer system design.

Dart for Absolute Beginners


David Kopec - 2014
    Easily digested chapters, while comprehensive enough to explore the whole domain, are aimed at both hobbyists and professionals alike. The reader will not only gain an insight into Dart, but also the technologies behind the web. A firm foundation is laid for further programming studies.Dart is a new, innovative language developed by Google which is poised to take the web by storm. For client side web app development, Dart has many advantages over JavaScript. These include but are not limited to: improved speed, enforcement of programmatic structure, and improved facilities for software reuse. Best of all, Dart programs work in all modern web browsers. Dart is a fresh start, without the baggage of the last two decades of the web. Why start learning to program with yesterday’s technology?

IOS Programming: The Big Nerd Ranch Guide


Joe Conway - 2014
    After completing this book, you will have the know-how and the confidence you need to tackle iOS projects of your own. Based on Big Nerd Ranch's popular iOS Bootcamp course and its well-tested materials and methodology, this bestselling guide teaches iOS concepts and coding in tandem. The result is instruction that is relevant and useful.Throughout the book, the authors explain what's important and share their insights into the larger context of the iOS platform. You get a real understanding of how iOS development works, the many features that are available, and when and where to apply what you've learned.Here are some of the topics covered:Xcode 5, Instruments, and Storyboards Building interfaces using the iOS 7 aesthetic ARC and strong and weak references Handling touch events and gestures Toolbars, navigation controllers, and split view controllers Using Auto Layout to scale user interfaces Using Dynamic Type to scale fonts Localization and Internationalization Block syntax and use Saving/loading data: Archiving and Core Data Core Location and Map Kit Communicating with web services using JSON Using the Model-View-Controller-Store design pattern

Your First Meteor Application: A Complete Beginner's Guide to the Meteor JavaScript Framework (Meteor Tutorial Book 1)


David Turnbull - 2014
    It’s powerful enough to create incredible, real-time web applications with less code and less repetition, but it’s also simple enough that even people with just a basic grasp of JavaScript can make significant process in a short amount of time.When I first came across Meteor though, the current training materials were: Unnecessarily complicated considering how simple Meteor development can be. Overly bloated with details that didn’t strictly relate to working with Meteor itself. Better suited for experienced developers, rather than those just getting started. Combined with the fact that I’d grown up reading bad books about programming, I asked myself: “Why don’t I write the book about Meteor that I’d want to read?”Less than a year later, here I am with Your First Meteor Application: A Complete Beginner’s Guide to the Meteor JavaScript Framework — a highly-rated book about Meteor that is by far the best resource for getting started with the framework in a matter of hours.Think I’m exaggerating? Download the sample. You’ll soon see the truth. DISCOVER: How To Build Real-Time Web Applications This book isn’t for everyone. It’s precisely designed for beginning developers. This means every chapter and every example is designed for people who have: A basic understanding of JavaScript A very basic understanding of databases. If you’re mostly a front-end developer, or maybe you’ve just dabbled in programming languages like PHP or Ruby but have never made significant progress, then this book is for you. It doesn’t just regurgitate the official documentation for Meteor, and it doesn’t read like most technical books. INSIDE: Everything You Need To Get Started with Meteor Despite being a relatively short book, Your First Meteor Application contains: A complete, step-by-step introduction to installing Meteor and getting started with the command line. Beginner-focused tips to get developers started with the framework as quickly as possible. Exercises at the end of every chapter to help test your knowledge and deepen your understanding of Meteor. Project-based instruction that’s designed to give you insight into real-world development. Plenty of images, code samples, and chapter summaries to help you grasp everything you read. You’ll learn how to: Develop with Meteor on any platform. Operate your computer with the command line. Manage a MongoDB database within a Meteor application. Design real-time interfaces with the use of templates. Hook into browser events like button clicks and form submissions. Update data inside a database with clever MongoDB functions. Create a complete user accounts system in a matter of minutes. Secure your application to make it ready for the world. Deploy your application to the web so people can start using it.

SQL Server Query Performance Tuning


Grant Fritchey - 2014
    The book is revised to cover the very latest in performance optimization features and techniques, especially including the newly-added, in-memory database features formerly known under the code name Project Hekaton. This book provides the tools you need to approach your queries with performance in mind.SQL Server Query Performance Tuning leads you through understanding the causes of poor performance, how to identify them, and how to fix them. You'll learn to be proactive in establishing performance baselines using tools like Performance Monitor and Extended Events. You'll learn to recognize bottlenecks and defuse them before the phone rings. You'll learn some quick solutions too, but emphasis is on designing for performance and getting it right, and upon heading off trouble before it occurs. Delight your users. Silence that ringing phone. Put the principles and lessons from SQL Server Query Performance Tuning into practice today.Covers the in-memory features from Project HekatonHelps establish performance baselines and monitor against themGuides in troubleshooting and eliminating of bottlenecks that frustrate users

Learning Concurrent Programming in Scala


Aleksandar Prokopec - 2014
    It starts by introducing you to the foundations of concurrent programming on the JVM, outlining the basics of the Java Memory Model, and then shows some of the classic building blocks of concurrency, such as the atomic variables, thread pools, and concurrent data structures, along with the caveats of traditional concurrency. It then walks you through different high-level concurrency abstractions, each tailored toward a specific class of programming tasks. Finally, the book presents an overview of when to use which concurrency library and demonstrates how they all work together.This book is a must-have tutorial for software developers aiming to write concurrent programs in Scala, or broaden their existing knowledge of concurrency.This book is intended for Scala programmers that have no prior knowledge about concurrent programming, as well as those seeking to broaden their existing knowledge about concurrency. Basic knowledge of the Scala programming language will be helpful. Readers with a solid knowledge in another programming language, such as Java, should find this book easily accessible.

Programming Windows Store Apps with HTML, CSS, and JavaScript


Kraig Brockschmidt - 2014
    The ebook includes 20 chapters and 4 appendices.

Programming in D


Ali Çehreli - 2014
    It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity.Programming in D, by Ali Çehreli, is an introduction and complete reference to the D programming language. Covering almost every language feature in D, Programming in D starts with the famous Hello World program, and then goes on to explain structs, classes, interfaces, conditional compilation, contracts, ranges, concurrency, and much more. Each section is ended with a series of exercises, based on real world problems, that force you to completely understand the subject of the chapter before moving on.

Practical Maya Programming with Python


Robert Galanakis - 2014
    If you are a developer looking to build a powerful system using Python and Maya's capabilities, then this book is for you. Practical Maya Programming with Python is perfect for intermediate users with basic experience in Python and Maya who want to better their knowledge and skills.

Build Your Own Lisp


Daniel Holden - 2014
    In under 1000 lines of code you’ll start building your very own programming language, and in doing so learn how to program in C, one of the world’s most important programming languages. Along the way we’ll learn about the weird and wonderful nature of Lisps, the unique techniques behind function programming, the methods used to concisely solve problems, and the art of writing beautiful code. Build Your Own Lisp is a fun and creative journey through a fascinating area of computer science, and an essential read for any programmer, new or old!

Building Scalable Apps with Redis and Node.js


Joshua Johanan - 2014
    You will not need much Node.js experience as each framework is demonstrated in a way that requires no previous knowledge of the framework. You will be building scalable Node.js applications in no time! Knowledge of JavaScript is required. What You Will Learn Build and implement your custom middleware for Express Integrate Socket.IO with Express and use the same authentication Create a secure local store for passwords Use message queues to break down your application into manageable pieces Leverage the power of Redis to create a shared state across many different servers Implement Backbone, Socket.IO, and React together for a fast, dynamic, and real-time frontend Automate your build process with the use of the Grunt.js task runner Build deployment scripts to get servers running your application in the cloud In Detail Node.js is a JavaScript runtime-based, scalable platform used to develop web applications and network programs on the server side. It allows web designers to access the backend of their projects while also allowing developers, who are willing to learn JavaScript, a chance to design. There are many frameworks that have popped up in recent years, but what makes Node.js unique is that it opens up a whole new frontier for web development and takes a hybrid approach.This book will help you get to grips with Node.js and implement the knowledge to build efficient web applications. You start with developing a backend web application followed by a frontend interface, and later on deploy it to the cloud platform. This book takes a holistic approach to server-side programming using Node.js in conjunction with different frameworks and tools.

Java 8: The Fundamentals


Dane Cameron - 2014
    This book is intended to teach Java programmers and software engineers the fundamentals of these changes in a couple of afternoons, and provide you the knowledge to get up and running with the most significant features.This book contains comprehensive information on all the main additions to the language, including:- Lambda expressions: no prior knowledge of lambda expressions are required, this book will walk you through all aspects of lambda expressions, from their construction to their use.- The Streams API: the Streams API has the potential to revolutionize the way Java programmers think about processing sets of data. This book will walk you through a variety of use-cases with the Streams API, and look at how the Streams API can be used to perform parallel processing of data.- Interfaces: Java 8 makes significant changes to Interfaces, allowing Interfaces to contain implementation details. This change essentially brings a form of multiple-inheritance to Java, and allows legacy Interfaces to be changed without breaking backwards compatibility.- The Date/Time API: Java 8 introduces a whole new Date and Time API based on Joda-time. We will walk through many examples, and look at how the new API differs from the Date and Calendar API we are all familiar with.- The Nashorn JavaScript engine: JavaScript is now officially part of Java with the inclusion of the Nashorn JavaScript engine. The book will walk through a variety of examples with Nashorn, and look at why you may want to run JavaScript code on the Java Runtime.In addition, many other minor features will be introduced along the way.To celebrate the inclusion of a JavaScript engine in Java, this book also contains a bonus chapter teaching Java programmers how to use JavaScript - the right way. This is intended to get Java programmers and software engineers up and running with JavaScript, and avoid the frustrations that many Java programmers encounter when confronted with JavaScript.

Basic Scratch


Eduardo Vlieg - 2014
    Block programming uses graphical blocks to represent programming commands eliminating typing and syntax errors. Block programming is relatively easy even for young children. Scratch is good way for people of all ages to enter the world of programming. This book is intended for complete beginners to the world of programming and Scratch. This book will teach you the basics of Scratch. This book uses a hands-on approach in teaching Scratch. So the intention of this book is not to only read it, but you will need to do all the exercises in order to get the most out of it. Don’t worry, everything will be explained in a simple but fun way. After completing this book, you will have a thorough understanding of the Scratch interface. You will be able to create basic projects and you will have a solid foundation upon which you can build further and create more advanced Scratch projects in the future.

Swift for Beginners: Develop and Design


Boisy G. Pitre - 2014
    With Swift, Apple has lowered the barrier to entry to writing iOS and OS X apps by giving developers an innovative new programming language for creating software. If you are new to Swift, this book is for you. If you have never used C, C++, or Objective-C, this book is also for you. With this book, you'll be writing simple Swift apps before you know it. Author Boisy Pitre starts at the beginning--walking readers through key Swift features--and builds on that knowledge to show readers how to take advantage of Swift's modern programming concepts to write apps for iOS and OS X. In each chapter, Boisy highlights key Swift concepts, offering guidance and highlighting best practices, on the way to building apps using Swift. Readers will not just learn the concepts of Swift but understand how to use them in a real-world setting. Readers will learn how to Start using variables, constants, and types.Work with collections.Use functions and closures.Handle control structures.Use the Playground environment for quick feedback.Handle memory management.And the book's last section, Boisy brings everything together and steps readers through building a app. Part of the Develop and Design series, books built for both sides of your brain.

Making Big Data Work for Your Business


Sudhi Sinha - 2014
    Essential business decisions can today be informed by the wealth of data now at our disposal. However, gaining real value from data and business insight is a difficult task.In this accessible and stimulating guide, Sudhi Sinha provides a unique perspective on Big Data and how to derive maximum value from It with sharp and incisive analytics.

The Cucumber for Java Book: Behaviour-Driven Development for Testers and Developers


Seb Rose - 2014
    Cucumber - the popular, open-source tool that helps teams communicate more effectively with their customers - now has a Java version, and our bestselling Cucumber Book has been updated to match. The Cucumber for Java Book has the same great advice about how to deliver rock-solid applications collaboratively, but with all code completely rewritten in Java. New chapters cover features unique to the Java version of Cucumber, and reflect insights from the Cucumber team since the original book was published.Until now it's been difficult for teams developing Java applications to learn how to benefit from Behaviour-Driven Development (BDD). This book changes all that by describing in detail how to use Cucumber to harness the power of plain language specifications in your development process.In part 1, you'll discover how to use Cucumber's Gherkin DSL to describe the behavior your customers want from the system. You'll also learn how to write Java code that interprets those plain language specifications and checks them against your application. Part 2 guides you through a worked example, using Spring, MySQL, and Jetty. Enhanced chapters teach you how to use Selenium to drive your application and handle asynchronous Ajax calls, and new chapters cover Dependency Injection (DI) and advanced techniques to help keep your test suites fast. Part 3 shows you how to integrate Cucumber with your Continuous Integration (CI) system, work with a REST web service, and even use BDD with legacy applications.Written by the creator of Cucumber and two of its most experienced users and contributors, The Cucumber for Java Book is an authoritative guide that will give you and your team all the knowledge you need to start using Cucumber with confidence.

Mastering Lambdas: Java Programming in a Multicore World


Maurice Naftalin - 2014
    The bookexplains how to write lambdas, and how to use them in streams and in collection processing, providing code examples throughout. You'll learn how to use lambda expressions to take full advantage of performanceimprovements provided by today's multicore hardware. This Oracle Press book covers:Why lambdas were needed, and how they will change JavaprogrammingSyntax of lambda expressionsThe basic operation of streams and pipelinesUsing collectors and reduction to end pipelinesCreating streamsSpliterators, the fork/join framework, and exceptionsExamining stream performance with microbenchmarkingAPI evolution using default methods

Visual Studio 2013 Cookbook


Jeff Martin - 2014
    Each recipe provides a hands-on approach to the new features with step-by-step instructions on how to increase your productivity. If you are a developer excited about the new features introduced in Visual Studio 2013, then no matter what your programming language of choice is, Visual Studio 2013 Cookbook is for you. You should have a good knowledge of working with previous versions of Visual Studio to enjoy the recipes in this book. This book provides practical examples to help you use Visual Studio 2013 more effectively.

The Core IOS Developer's Cookbook


Erica Sadun - 2014
    Renowned iOS programming expert Erica Sadun and top iOS developer Rich Wardwell cover the topics you need to create successful mobile applications that take full advantage of iOS graphics, touches, and views.As in all of Sadun's iOS bestsellers, The Core iOS Developer's Cookbook translates modern best practices into working code, distilling key concepts into concise recipes you can easily understand and apply to your own projects. This isn't just cut-and-paste; using examples, Sadun and Wardwell fully explain both the "how" and "why" that underscore effective and successful iOS development.Coverage includes Creating direct touch-based interfaces with multi-touch, gestures, and custom gesture recognizers Building and customizing controls in powerful ways Adding novel motion effects Alerting users via pop-ups, progress bars, local notifications, popovers, audio cues, and more Using Xcode modules to easily integrate system frameworks and headers Assembling views and animation, organizing view hierarchies, and understanding how views work together Supporting multiple screen geometries with the breakthrough Auto Layout constraints system Controlling keyboards, making onscreen elements "text aware," and efficiently scanning and formatting text Organizing user workspaces with view controllers Managing photos, videos, email, and text messages Leveraging enhanced iOS support for social media activities, including Flickr and Vimeo Implementing VoiceOver accessibility, including text-to-speech Getting started with Core Data-managed data stores Leveraging powerful networking and web services support Using APIs to enhance the user experience

Learn Version Control with Git: A step-by-step course for the complete beginner


Tobias Günther - 2014
    Because it helps you produce better results and makes collaboration easy.Git is one of those version control systems - but not just any: Top projects like the Linux Kernel, Ruby On Rails, or jQuery use Git as their version control system of choice. Around the world, in teams large and small, Git is an essential part of the tool chain."Learn Version Control with Git" is a beginner-friendly step-by-step course. The book doesn't require a deep technical background. Instead, it's aimed at beginners of version control and/or programming, designers, and project managers.Basic topics - from installing Git to a "Command Line 101" - are covered, not expected. While learning all the key features such as Branching and Merging, the book will also explain advanced topics as well as tools and services. Accompanying charts & graphics make it easy to understand even complex facts and workflows.Version control is an essential tool if you want to be successful in today's web & software world. This book will help you master it with ease.

PhantomJS Cookbook


Rob Friesel - 2014
    This book explores a variety of test automation tasks, including executing JavaScript unit tests with the Jasmine, QUnit, and Mocha frameworks; functional tests with tools such as Selenium, Capybara, and CasperJS; performance analysis with tools such as YSlow; and much more. If you are a web developer looking to run automated unit tests while you work, or perhaps you are a QA engineer looking for a fast test automation utility, then this book is perfect for you. Some prior knowledge of JavaScript would be helpful. What you will learn from this book Develop your own PhantomJS core modules Learn sophisticated strategies for interacting with web page contents and how to capture those interactions Create a front-end continuous integration (CI) strategy with PhantomJS Perform unit testing with frameworks such as Jasmine, Mocha, and QUnit Implement functional and end-to-end testing with PhantomJS using tools such as Selenium, Capybara, and CasperJS Automate performance analysis with libraries such as Confess.js and YSlow Automate the generation of images and PDFs of your web content Approach A task-based guide that provides solutions to real-world test automation problems. Who this book is written for This book is intended for web development professionals who want to integrate PhantomJS into their development and testing workflows. If you are a web developer looking to run automated unit tests while you work, or perhaps you are a QA engineer looking for a fast te

Coding in Delphi


Nick Hodges - 2014
    Coding in Delphi is a new programming book by Nick Hodges that covers a variety of powerful Delphi programming features and techniques including Generics, Interfaces, Exception, Handling, Anonymous Methods, Collections, RTTI, Enumerators, Attributes, Dependency Injection and Unit Testing

OpenGL Es 3.0 Programming Guide


Daniel Ginsburg - 2014
    The newest version, OpenGL ES 3.0, makes it possible to create stunning visuals for new games and apps, without compromising device performance or battery life. In the OpenGL (R) ES (TM) 3.0 Programming Guide, Second Edition, the authors cover the entire API and Shading Language. They carefully introduce OpenGL ES 3.0 features such as shadow mapping, instancing, multiple render targets, uniform buffer objects, texture compression, program binaries, and transform feedback. Through detailed, downloadable C-based code examples, you'll learn how to set up and program every aspect of the graphics pipeline. Step by step, you'll move from introductory techniques all the way to advanced per-pixel lighting and particle systems. Throughout, you'll find cutting-edge tips for optimizing performance, maximizing efficiency with both the API and hardware, and fully leveraging OpenGL ES 3.0 in a wide spectrum of applications. All code has been built and tested on iOS 7, Android 4.3, Windows (OpenGL ES 3.0 Emulation), and Ubuntu Linux, and the authors demonstrate how to build OpenGL ES code for each platform. Coverage includes EGL API: communicating with the native windowing system, choosing configurations, and creating rendering contexts and surfaces Shaders: creating and attaching shader objects; compiling shaders; checking for compile errors; creating, linking, and querying program objects; and using source shaders and program binaries OpenGL ES Shading Language: variables, types, constructors, structures, arrays, attributes, uniform blocks, I/O variables, precision qualifiers, and invariance Geometry, vertices, and primitives: inputting geometry into the pipeline, and assembling it into primitives 2D/3D, Cubemap, Array texturing: creation, loading, and rendering; texture wrap modes, filtering, and formats; compressed textures, sampler objects, immutable textures, pixel unpack buffer objects, and mipmapping Fragment shaders: multitexturing, fog, alpha test, and user clip planes Fragment operations: scissor, stencil, and depth tests; multisampling, blending, and dithering Framebuffer objects: rendering to offscreen surfaces for advanced effects Advanced rendering: per-pixel lighting, environment mapping, particle systems, image post-processing, procedural textures, shadow mapping, terrain, and projective texturing Sync objects and fences: synchronizing within host application and GPU execution This edition of the book includes a color insert of the OpenGL ES 3.0 API and OpenGL ES Shading Language 3.0 Reference Cards created by Khronos. The reference cards contain a complete list of all of the functions in OpenGL ES 3.0 along with all of the types, operators, qualifiers, built-ins, and functions in the OpenGL ES Shading Language.

Bootstrapping Machine Learning


Louis Dorard - 2014
    By analyzing data, computers are able to "learn" and generalize from examples of things happening in the real world. They can make predictions and answer questions such as "How much should I price this product?" and "Which type of document is this?".Prediction APIs are making Machine Learning accessible to everyone and this book is the first that teaches how to use them. You will learn the possibilities offered by these APIs, how to formulate your own Machine Learning problem, and what are the key concepts to grasp - not how algorithms work, so it doesn't take a university degree to understand.

2600 Magazine: The Hacker Quarterly - Mac/PC - Spring 2014


2600 Magazine - 2014
    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.

Ivor Horton's Beginning Visual C++ 2013


Ivor Horton - 2014
    In "Ivor Horton's Beginning Visual C++ 2013," Horton not only guides you through the fundamentals of the standard C++ language, but also teaches you how C++ is used in the latest Visual Studio 2013 environment. Visual Studio 2013 includes major changes to the IDE and expanded options for C++ coding. "Ivor Horton's Beginning Visual C++ 2013" will teach you the latest techniques to take your Visual C++ coding to an all-new level.C++ language and library changes supported under Visual Studio 2013IDE-specific changes for code formatting and debuggingChanges to the C++ Standard Language for both C++ 11 and the new C++ 14 And moreHorton introduces you to both Standard C++ and Visual C++ so you can build any component your app requires. "Ivor Horton's Beginning Visual C++ 2013" is an indispensable guidebook for any new programmer, and contains plenty of exercises and solutions to help programmers of any level master the important concepts quickly and easily.

Webrtc Blueprints


Andrii Sergiienko - 2014
    If you are a WebRTC developer and want to build complex WebRTC applications and projects, or if you want to gain practical experience in developing web applications, advanced WebRTC media handling, Server and client signalling, call flows, third party integration, then this book is perfect for you. It is essential to have prior knowledge about building simple applications using WebRTC.

The NSHipster Fake Book


Mattt Thompson - 2014
    It's about letting concepts click as you discover new licks you'd never though to try. Just pick it up and start playing—no matter what kind of chops you have.In this book, you'll find over 200 code samples, ranging from the beginner and basic to the expert and obscure, across a variety of genres and use cases.

Getting Started with Tmux


Victor Quinn J.D. - 2014
    Some familiarity with the terminal is useful but no prior experience with tmux or other terminal multiplexers (such as GNU Screen) is required.

Mastering JavaServer Faces 2.2


Anghel Leonard - 2014
    If you are a web developer who uses JSF, this is the book for you. Catering to an intermediate-advanced audience, the book assumes you have fundamental knowledge of JSF. It is intended for the developer who wants to improve their skills with the combined power of JSF 2.0, 2.1, and 2.2.

UrLISP (Read-Eval-Print-λove #002)


Michael Fogus - 2014
    So you want to create a Lisp?In this installment I’ll talk a little about the creation of new Lisps and describe in detail the implementation of a very small Lisp called Lithp and use it to create another Lisp called Lithp'.

Making Music with Computers: Creative Programming in Python (Chapman & Hall/CRC Textbooks in Computing)


Bill Manaris - 2014
    Making Music with Computers: Creative Programming in Python introduces important concepts and skills necessary to generate music with computers. It interweaves computing pedagogy with musical concepts and creative activities, showing students how to integrate the creativity and design of the arts with the mathematical rigor and formality of computer science.The book provides an introduction to creative software development in the Python programming language. It uses innovative music-creation activities to illustrate introductory computer programming concepts, including data types, algorithms, operators, iteration, lists, functions, and classes. The authors also cover GUIs, event-driven programming, big data, sonification, MIDI programming, client–server programming, recursion, fractals, and complex system dynamics.Requiring minimal musical or programming experience, the text is designed for courses in introductory computer science and computing in the arts. It helps students learn computer programming in a creative context and understand how to build computer music applications. Also suitable for self-study, the book shows musicians and digital music enthusiasts how to write music software and create algorithmic music compositions.Web ResourceA supplementary website (http://jythonMusic.org) provides a music library and other software resources used in the text. The music library is an extension of the jMusic library and incorporates other cross-platform programming tools. The website also offers example course and associated media resources.

Java Ee 7: The Big Picture


Danny Coward - 2014
    In this authoritative guide, Java expert Danny Coward walks you through the code, applications, and frameworks that power the platform. Take full advantage of the robust capabilities of Java EE 7, increase your productivity, and meet enterprise demands with help from this Oracle Press resource.Explore the features of the Java servlet model and Java servlet APICreate dynamic web content with JavaServer Pages and JavaServer FacesBuild websites for nonbrowser clients with JAX-RSPush data to web clients using Java WebSocketsSecure web applicationsWork with web component APIsMaximize enterprise beans for multithreading, asynchronous processes, transactions, and moreAccess relational databases with the Java Database Connectivity APIs and the Java Persistence APIUnderstand the packaging and deployment mechanisms of Java EE applicationsWork with Java EE Contexts and Dependency InjectionSecure enterprise beans in a Java EE applicationEnable parallel processing with Java EE concurrency APIs

Learning AV Foundation: A Hands-On Guide to Mastering the AV Foundation Framework


Bob McCune - 2014
    However, the framework is extremely large, reliant on cutting-edge language features, and poorly documented. Now, there's a more productive way to master these immensely powerful technologies: Bob McCune's Learning AV Foundation. McCune's live presentations and GitHub projects have already helped thousands of Apple developers get started with AV Foundation. Building on his experience, McCune helps you gain true mastery by creating real-world apps, hands-on. You'll build a voice memo app, custom video player, video editor, and an image/video camera app. As you proceed, you'll master all the techniques you need to write your own advanced media apps from scratch. Throughout, McCune provides carefully crafted challenges and complete starter apps--all designed to help you deepen your understanding and make the most of Apple's breakthrough media framework. COVERAGE INCLUDES Understanding how AV Foundation fits in Apple's media environment and each of its key areas of functionalityEnabling your apps with audio playback and recording featuresEnhancing video playback to deliver a richer, more dynamic experienceUsing AV Kit to match your user interfaces with iOS Videos or OS X QuickTime PlayerDeveloping media capture apps with real-time video processing using OpenGL ES and Core ImageImplementing custom video playersIntegrating advanced capture features such as video zooming, face detection, barcode scanning, and high frame rate captureMixing multiple audio tracks and automating volume controlBuilding sophisticated non-linear, non-destructive editing appsAdding advanced video editing capabilities, such as video transitions and animation effects

Learning AngularJS Animations


Richard Keller - 2014
    - Create smooth animations for AngularJS native directives and custom directives - Learn to use CSS and JavaScript animations together - Explore the AngularJS animate module and its applications through step-by-step examples

jQuery UI in Action


T.J. Vantoll - 2014
    By working through numerous engaging examples, you'll move quickly from placing a datepicker on the page to building a complete user interface that includes features like a contact form and shopping cart. You'll master jQuery UI's five main interactions—draggable, droppable, resizable, selectable, and sortable—and learn UI techniques that work across all devices.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the BookYou're only one tag away from richer user interfaces — ‹script src="jquery-ui.js"›. The jQuery UI library simplifies web UI development by providing robust widgets, interactions, and effects you can use immediately. It includes datepickers, autocompletes, tooltips, and a whole lot more. And, jQuery UI's powerful widget factory makes it a snap to customize existing components to meet your needs.jQuery UI in Action is a practical guide to using and customizing jQuery UI library components. By working through numerous examples, you'll quickly master jQuery UI's twelve widgets and five interactions—draggable, droppable, resizable, selectable, and sortable. The engaging examples illustrate techniques that work across all devices. You'll use the widget factory to create reusable plugins and discover jQuery UI's CSS theming system that allows you to create a custom, cohesive look for your sites and your applications.Written for front-end developers and web designers with a basic understanding of jQuery.What's InsideCreate interactions that work on any deviceCustomizable widgets for web and mobile appsWritten by a member of the core jQuery UI teamCovers jQuery UI 1.11About the AuthorA professional web developer, TJ VanToll is a member of the jQuery UI core team.Table of ContentsPART 1 MEET JQUERY UIIntroducing jQuery UIEnhancing UIs with widgetsPART 2 JQUERY UI COREBuilding complex web forms with jQuery UIEnhancing interfaces with layout and utility widgetsAdding interaction to your interfacesCreating rich animations with effectsTheming and styling applications with jQuery UIPART 3 CUSTOMIZATION AND ADVANCED USAGEUsing the widget factory to build stateful pluginsExtending widgets with the widget factoryPreparing your application for productionBuilding a flight-search applicationUnder the hood of jQuery UI

Windows Performance Analysis Field Guide


Clint Huffman - 2014
     Windows Performance Analysis Field Guide gives you a practical field guide approach to performance monitoring and analysis from experts who do this work every day. Think of this book as your own guide to What would Microsoft support do? when you have a Windows performance issue.Author Clint Huffman, a Microsoft veteran of over fifteen years, shows you how to identify and alleviate problems with the computer resources of disk, memory, processor, and network. You will learn to use performance counters as the initial indicators, then use various tools to dig in to the problem, as well as how to capture and analyze boot performance problems.

How To Be A Programmer


Robert Read - 2014
    Starting from the basic technical skills one must acquire, to managerial skills to manage a team of programmers.Emphases are put on the ethics of working as a programmer and as a member of the team. Inside this book you'll find tips on how to learn communication language among your peers, how to talk to non-engineers, and how to deal with difficult people. This book also shows us how to take a break when needed, and how to recognize when to go home, and how to communicate and negotiate with your boss, so that you won't end up working for 50 to 60 hours a week. This is a very good book, one that should be a mandatory for wannabe and professional programmers. If you happened to be a manager who supervises a hive of programmers, this book should provide you with useful insights into their minds and habits.

jQuery in easy steps


Mike McGrath - 2014
    It demonstrates how to easily select elements of the web page for manipulation and how to simply produce dynamic responses to user events. Examples illustrate various exciting animation effects and how to employ the power of AJAX to load external data without refreshing the entire web page. The book concludes by demonstrating how readers can use their acquired knowledge to create their very own distributable plugins for the jQuery library.jQuery in Easy Steps assumes readers will already have some basic knowledge of HTML, CSS, and JavaScript and are now ready to embrace the jQuery philosophy of "write less - do more" to enhance their web pages. It has an easy-to-follow style that will appeal to web developers who want to quickly learn the latest dynamic techniques, and to the student who is studying website design at school or college, and to those seeking a career in web development that need a thorough understanding of jQuery.

SignalR Programming in Microsoft ASP.NET


Jose M. Aguilar - 2014
    Real-time web functionality enables server-side code to push content to connected clients instantly as it becomes available. With this book, Microsoft .NET developers familiar with HTML and JavaScript will gain the skills to add real-time and async communication features for web, desktop, and mobile phone applications.Topics include: Introduction to async development; HTTP and real-time communications; SignalR technology fundamentals; persistent connections and hubs; multiplatform real-time applications; advanced topics Learn how SignalR uses Websockets when supported by the browser and the server and falls back to other techniques and technologies when it is not Use the simple ASP.NET API in SignalR for creating server-to-client remote procedure calls (RPC) that call JavaScript functions in client browsers from server-side .NET code. Exploit the API for connection management (e.g. connect and disconnect events), grouping connections, and authorization.

Learning To Program


Steven Foote - 2014
    

Professional Application Lifecycle Management with Visual Studio 2013


Mickey Gousset - 2014
    The focus will be on practical application of the tools on code samples, development scenarios and automation scripting. The book is designed to be used both as a step-by-step guide and as a reference for modeling, designing and coordinating enterprise solutions at every level using ALM.The focus is on practical implementation, with a nuts & bolts approach. For example, as a case study the authors will put C# code through a series of practical tests to show the reader how to make use of the testing tools available in ALM. The authors will also provide examples demonstrating new capabilities for supporting non-Microsoft projects, inlcuding iOS, MacOS, Java and Android development. This edition will be forward-compatible with future product releases.

Quick Guide to Geomorph v.2.1.2


Emma Sherratt - 2014
    It can be installed from the Comprehensive R Archive Network, CRAN http://cran.rproject.org/web/packages....This manual is not meant to be exhaustive – the benefit of working within the R environment is its flexibility and infinite possibilities. Instead, the manual presents the functions in geomorph and how they can be used together to perform analyses to address a variety of questions in Biology,Anthropology, Paleontology, Archaeology, Medicine etc.

Phonegap 3.X Mobile Application Development Hotshot


Kerri Shotts - 2014
    Each project moves through design and implementation of the app, and also provides suggestions to enhance it. If you are a mobile developer who is familiar with Phonegap basics and wants to quickly create some cool mobile applications with Phonegap, this book is for you. You should have some experience working with JavaScript, HTML, CSS, and also be able to use your operating system's commandline interface. No experience with Java, C#, or Objective C is required.

JavaScript in Plain Language - A Self-Study Method: JSON and AngularJS Prep


Tony de Araujo - 2014
    A modern and easy approach for displaying JavaScript in HTML.This is a hands-on approach, reading this material is not enough - you must do the book.JavaScript in Plain Language covers the basics of JavaScript and then moves on to JSON (JavaScript Object Notation).It then ends with a detailed introduction to AngularJS.AngularJS is the modern way for publishing your JavaScript work online.

Automatic Speech Recognition: A Deep Learning Approach (Signals and Communication Technology)


Dong Yu - 2014
    This is the first automatic speech recognition book dedicated to the deep learning approach. In addition to the rigorous mathematical treatment of the subject, the book also presents insights and theoretical foundation of a series of highly successful deep learning models.

Ubuntu Unleashed 2015 Edition: Covering 14.10 and 15.04


Matthew Helmke - 2014
    

C# Game Programming Cookbook for Unity 3D


Jeff W. Murray - 2014
    Most scripts function within the game framework or in your own structures. The techniques and concepts discussed in the book give you a solid foundation in game development.The first ten chapters set up the flexible, reusable framework based in C# and suitable for all game types. The book also explains scripting of generic, reusable, and common functionality.The remainder of the text adds game-specific code to the framework to create four example games: a top-down arena shooter, a futuristic racing combat game, a tank arena deathmatch game, and a classic arcade-style vertical scrolling shoot 'em up. The games encompass artificial intelligence (path following, target chasing, and line-of-sight patrolling behaviors), game state control, wheel colliders, and weapon inventory management. The example files are available for download on the book's CRC Press web page.Reducing your recoding, repurposing, or adaptation time, this book provides script-based components that you can use to jump start your own projects. The book's modular components can be mixed and matched to build various kinds of video games for the Unity game engine.

JavaScript Spessore


Reginald Braithwaite - 2014
    JavaScript Spessore will show you how to build JavaScript programs that scale in code, in time, and across a team, using the one technique that has passed the test of time: Objects and metaobjects that have a single responsibility, are decoupled from each other, and can be composed freely.

Reinventing Communication: How to Design, Lead and Manage High Performing Projects


Mark Phillips - 2014
    With clear examples, Mark reveals the underlying principles at work and introduces a revolutionary new technique for harnessing the power of communication to ensure long term success. For organizations of all sizes, this book changes the way we think about management and leadership. Mark makes his case by looking at teams and individuals that set out to deliver ambitious achievements in complex and challenging environments. We meet the leadership team that built the F-18 Super Hornet fighter jet, one of the US Navy's most successful programs. We discover the untraditional approach to risk used in building a new terminal at London's Heathrow airport. We draw lessons on corporate survival from the cat and mouse fight against IED's in Afghanistan, and are introduced to a website where online video gamers solved a critical piece of the AIDS puzzle using their gaming prowess. Reinventing Communication is about creating the conditions for performance and attaining long term success. Whether a start-up, a global enterprise or a government agency, this book shows us how to deliver ambitious achievements by getting communication right. It is a book that no manager, leader or innovator should be without.

Inside Coda


Steen Frank - 2014
    More in-depth than the built-in Help, and a lot faster than Googling around, you'll be a Coda expert in the of an eye.

Backbone.Js Patterns and Best Practices


Swarnendu De - 2014
    

Prototyping Essentials with Axure


Ezra Schwartz - 2014
    If you are a UX practitioner, a business analyst involved UX projects, or a product manager involved in UX projects, this book is for you. Consultants or inhouse staff who work for agencies or individual practitioners will also benefit from this book. Familiarity with Axure will help but is not mandatory.

Website Product Management


David Hobbs - 2014
    Haphazard change results in a site that is difficult for the visitors to use and owners to maintain. Your website, intranet, or extranet needs focus, and pulling this off requires product thinking.

Highcharts Cookbook


Nicholas Terwoord - 2014
    ""Highcharts Cookbook"" is intended for JavaScript developers or other web programmers looking to add charting functionality to their web applications. Some familiarity with web application development would be helpful but is not required.

Designing Software Synthesizer Plug-Ins in C++: For RackAFX, VST3, and Audio Units


Will Pirkle - 2014
    You will learn synthesizer operation, starting with the underlying theory of each synthesizer component, and moving on to the theory of how these components combine to form fully working musical instruments that function on a variety of target digital audio workstations (DAWs). Containing some of the latest advances in theory and algorithm development, this book contains information that has never been published in textbook form, including several unique algorithms of the author’s own design.The book is broken into three parts: plug-in programming, theory and design of the central synthesizer components of oscillators, envelope generators, and filters, and the design and implementation of six complete polyphonic software synthesizer musical instruments, which can be played in real time. The instruments implement advanced concepts including a user-programmable modulation matrix. The final chapter shows you the theory and code for a suite of delay effects to augment your synthesizers, introducing you to audio effect processing.The companion website, www.focalpress.com/cw/pirkle, gives you access to free software to guide you through the application of concepts discussed in the book, and code for both Windows and Mac platforms. In addition to the software, it features bonus projects, application notes, and video tutorials. A reader forum, monitored by the author, gives you the opportunity for questions and information exchange.

Ry's Objective-C Tutorial


Ryan Hodson - 2014
    It’s a compiled, general-purpose language capable of building everything from command line utilities to animated GUIs to domain-specific libraries. It also provides many tools for maintaining large, scalable frameworks.Ry's Objective-C Tutorial serves as both a concise quick-reference and a comprehensive introduction for newcomers to the language. It walks through each language feature step-by-step, explaining complex programming concepts via hands-on examples. By the end of the tutorial, you'll understand basic language constructs, important memory-management techniques, and many of the built-in Objective-C data types like NSNumber, NSArray, and NSDate.While it is a friendly guide to Objective-C, this tutorial focuses solely on the programming language, rather than on iOS or Mac App development. You won't walk away with the ability to create your own iPad apps, but you will be incredibly prepared to continue down that path. Also be sure to check out Ry's Cocoa Tutorial if you're interested in Mac App development.