Best of
Software

2015

Designing Data-Intensive Applications


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

Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People


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

The Go Programming Language


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

The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations


Gene Kim - 2015
    For decades, technology leaders have struggled to balance agility, reliability, and security. The consequences of failure have never been greater whether it's the healthcare.gov debacle, cardholder data breaches, or missing the boat with Big Data in the cloud.And yet, high performers using DevOps principles, such as Google, Amazon, Facebook, Etsy, and Netflix, are routinely and reliably deploying code into production hundreds, or even thousands, of times per day.Following in the footsteps of The Phoenix Project, The DevOps Handbook shows leaders how to replicate these incredible outcomes, by showing how to integrate Product Management, Development, QA, IT Operations, and Information Security to elevate your company and win in the marketplace."Table of contentsPrefaceSpreading the Aha! MomentIntroductionPART I: THE THREE WAYS1. Agile, continuous delivery and the three ways2. The First Way: The Principles of Flow3. The Second Way: The Principle of Feedback4. The Third Way: The Principles of Continual LearningPART II: WHERE TO START5. Selecting which value stream to start with6. Understanding the work in our value stream…7. How to design our organization and architecture8. How to get great outcomes by integrating operations into the daily work for developmentPART III: THE FIRST WAY: THE TECHNICAL PRACTICES OF FLOW9. Create the foundations of our deployment pipeline10. Enable fast and reliable automated testing11. Enable and practice continuous integration12. Automate and enable low-risk releases13. Architect for low-risk releasesPART IV: THE SECOND WAY: THE TECHNICAL PRACTICES OF FEEDBACK14*. Create telemetry to enable seeing abd solving problems15. Analyze telemetry to better anticipate problems16. Enable feedbackso development and operation can safely deploy code17. Integrate hypothesis-driven development and A/B testing into our daily work18. Create review and coordination processes to increase quality of our current workPART V: THE THRID WAY: THE TECHNICAL PRACTICES OF CONTINUAL LEARNING19. Enable and inject learning into daily work20. Convert local discoveries into global improvements21. Reserve time to create organizational learning22. Information security as everyone’s job, every day23. Protecting the deployment pipelinePART VI: CONCLUSIONA call to actionConclusion to the DevOps HandbookAPPENDICES1. The convergence of Devops2. The theory of constraints and core chronic conflicts3. Tabular form of downward spiral4. The dangers of handoffs and queues5. Myths of industrial safety6. The Toyota Andon Cord7. COTS Software8. Post-mortem meetings9. The Simian Army10. Transparent uptimeAdditional ResourcesEndnotes

Programming Rust: Fast, Safe Systems Development


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

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


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

Web Scalability for Startup Engineers


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

Elements of Programming Interviews in Java: The Insiders' Guide


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

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


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

Infrastructure as Code: Managing Servers in the Cloud


Kief Morris - 2015
    But many organizations adopting these technologies have found that it only leads to a faster-growing sprawl of unmanageable systems. This is where infrastructure as code can help. With this practical guide, author Kief Morris of ThoughtWorks shows you how to effectively use principles, practices, and patterns pioneered through the DevOps movement to manage cloud age infrastructure.Ideal for system administrators, infrastructure engineers, team leads, and architects, this book demonstrates various tools, techniques, and patterns you can use to implement infrastructure as code. In three parts, you'll learn about the platforms and tooling involved in creating and configuring infrastructure elements, patterns for using these tools, and practices for making infrastructure as code work in your environment.Examine the pitfalls that organizations fall into when adopting the new generation of infrastructure technologiesUnderstand the capabilities and service models of dynamic infrastructure platformsLearn about tools that provide, provision, and configure core infrastructure resourcesExplore services and tools for managing a dynamic infrastructureLearn specific patterns and practices for provisioning servers, building server templates, and updating running servers

C# 6.0 and the .NET 4.6 Framework


Andrew Troelsen - 2015
    

The Little Elixir & OTP Guidebook


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

AWS Well-Architected Framework (AWS Whitepaper)


Amazon Web Services - 2015
    By using the Framework you will learn architectural best practices for designing and operating reliable, secure, efficient, and cost-effective systems in the cloud.

Excel 2016 Bible


John Walkenbach - 2015
    Spreadsheet himself Whether you are just starting out or an Excel novice, the Excel 2016 Bible is your comprehensive, go-to guide for all your Excel 2016 needs. Whether you use Excel at work or at home, you will be guided through the powerful new features and capabilities by expert author and Excel Guru John Walkenbach to take full advantage of what the updated version offers. Learn to incorporate templates, implement formulas, create pivot tables, analyze data, and much more. Navigate this powerful tool for business, home management, technical work, and much more with the only resource you need, Excel 2016 Bible. Create functional spreadsheets that work Master formulas, formatting, pivot tables, and more Get acquainted with Excel 2016's new features and tools Customize downloadable templates and worksheets Whether you need a walkthrough tutorial or an easy-to-navigate desk reference, the Excel 2016 Bible has you covered with complete coverage and clear expert guidance.

Mazes for Programmers: Code Your Own Twisty Little Passages


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

R for Marketing Research and Analytics


Chris Chapman - 2015
    The text describes statistical models from a conceptual point of view with a minimal amount of mathematics, presuming only an introductory knowledge of statistics. Hands-on chapters accelerate the learning curve by asking readers to interact with R from the beginning. Core topics include the R language, basic statistics, linear modeling, and data visualization, which is presented throughout as an integral part of analysis.Later chapters cover more advanced topics yet are intended to be approachable for all analysts. These sections examine logistic regression, customer segmentation, hierarchical linear modeling, market basket analysis, structural equation modeling, and conjoint analysis in R. The text uniquely presents Bayesian models with a minimally complex approach, demonstrating and explaining Bayesian methods alongside traditional analyses for analysis of variance, linear models, and metric and choice-based conjoint analysis.With its emphasis on data visualization, model assessment, and development of statistical intuition, this book provides guidance for any analyst looking to develop or improve skills in R for marketing applications.

Pro ASP.Net Core MVC


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

An Elementary Introduction to the Wolfram Language


Stephen Wolfram - 2015
    Unique in its approach of building in vast knowledge and automation, the Wolfram Language scales from a single line of easy-to-understand interactive code to million-line production systems. This book provides an elementary introduction to the Wolfram Language and modern computational thinking. It assumes no prior knowledge of programming, and is suitable for both technical and non-technical college and high-school students, as well as anyone with an interest in the latest technology and its practical application.

The Nature of Software Development


Ron Jeffries - 2015
    

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


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

Excel 2016 VBA and Macros (includes Content Update Program) (MrExcel Library)


Bill Jelen - 2015
    Bill Jelen and Tracy Syrstad help you instantly visualize information, so you can act on it capture data from anywhere, and use it anywhere automate Excel 2016 s best new features. You ll find simple, step-by-step instructions, real-world case studies, and 50 workbooks packed with bonus examples, macros, and solutions straight from MrExcel!Get started fast with Excel macro developmentWork efficiently with ranges, cells, and formulasBuild super-fast applications with arraysAutomate Excel s new pivot table enhancementsCollect user data with custom dialogsMake your macros more reliable and resilientPull data from the Internet with web queriesUse advanced classes, collections, and custom functionsBuild sophisticated business analysis solutionsRead and write to Access or SQL Server databasesControl other Office programs, and Windows itselfWrite code that also works on older Excel versionsStart writing Office Store-style Excel Apps About MrExcel Library Every book in the MrExcel Library pinpoints a specific set of crucial Excel tasks and presents focused skills and examples for performing them rapidly and effectively. Selected by Bill Jelen, Microsoft Excel MVP and mastermind behind the leading Excel solutions website MrExcel.com, these books willDramatically increase your productivity saving you 50 hours a year or morePresent proven, creative strategies for solving real-world problemsShow you how to get great results, no matter how much data you haveHelp you avoid critical mistakes that even experienced users make This book is part of Que s Content Update Program. As Microsoft updates features of Excel, sections of this book will be updated or new sections will be added to match the updates to the software. "See inside for details." "

RHCSA/RHCE Red Hat Linux Certification Study Guide (Exams Ex200 & Ex300)


Michael Jang - 2015
    RHCSA/RHCE Red Hat Linux Certification Study Guide, 7th Edition is fully revised to cover the recently released Red Hat Enterprise Linux 7 and the corresponding RHCSA and RHCE certification exams. This new edition provides complete coverage of all official exam objectives for the new exams.An integrated study system based on proven pedagogy, this revised bestseller features special elements that reinforce and teach practical skills while preparing candidates for the exam. Each chapter includes step-by-step exercises, Exam Watch and On-the-Job sidebars, Two-Minute Drills, end-of-chapter self tests, and hands-on lab questions. Electronic content includes four complete lab-based practice exams to ensure you're ready to sit for the live exams.Complete coverage of all exam objectives and performance-based requirements related to the exams, including difficult lab-based scenariosElectronic content includes four complete lab-based practice exams, two for RHCSA and two for RHCEA proven study system for RHCSA and RHCE candidatesThis book includes copies of the Linux Kernel provided under the terms of the GNU General Public License version 2

Professional Android


Reto Meier - 2015
    This hands-on approach provides in-depth coverage through a series of projects, each introducing a new Android platform feature and highlighting the techniques and best practices that exploit its utmost functionality. The exercises begin simply, and gradually build into advanced Android development. Clear, concise examples show you how to quickly construct real-world mobile applications.This book is your guide to smart, efficient, effective Android development.Learn the best practices that get more out of Android Understand the anatomy, lifecycle, and UI metaphor of Android apps Design for all mobile platforms, including tablets Utilize both the Android framework and Google Play services

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


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

Changing Employee Behavior: A Practical Guide for Managers


Nik Kinley - 2015
    Yet, despite the fact that changing people's behavior is such an important skill for managers, too many are unsure how to actually go about it.This book reveals the simple, but powerful techniques for changing behavior that experts from a range of disciplines have been using for years, making them available to all managers in a single and comprehensive toolkit for change that managers can use to drive and improve the performance of their staff. Based on research conducted for this book, it introduces practical techniques drawn from the fields of psychology, psychotherapy, and behavioral economics, and show how they can be applied to address some of the most common, every-day challenges that managers face.   #changingpeople

Microsoft Project 2016 Step by Step


Carl Chatfield - 2015
    Get more done quickly with Project 2016. Jump in wherever you need answers–brisk lessons and colorful screenshots show you exactly what to do, step by step. Quickly start a new plan, build task lists, and assign resources Share your plan and track your progress Capture and fine-tune work and cost details Use Gantt charts and other views and reports to visualize project schedules Share resources across multiple plans and consolidate projects Master project management best practices while you learn Project Look up just the tasks and lessons you need

Learn Git in a Month of Lunches


Rick Umali - 2015
    Whether you're a newbie or a busy pro moving your source control to Git, you'll appreciate how this book concentrates on the components of Git you'll use every day. In easy-to-follow lessons designed to take an hour or less, you'll dig into Git's distributed collaboration model, along with core concepts like committing, branching, and merging.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the BookGit is the source code control system preferred by modern development teams. Its decentralized architecture and lightning-fast branching let you concentrate on your code instead of tedious version control tasks. At first, Git may seem like a sprawling beast. Fortunately, to get started you just need to master a few essential techniques. Read on!Learn Git in a Month of Lunches introduces the discipline of source code control using Git. Helpful for both newbies who have never used source control and busy pros, this book concentrates on the components of Git you'll use every day. In easy-to-follow lessons that take an hour or less, you'll dig into Git's distributed collaboration model, along with core concepts like committing, branching, and merging. This book is a road map to the commands and processes you need to be instantly productive.What's InsideStart from square one—no experience requiredThe most frequently used Git commandsMental models that show how Git worksLearn when and how to branch codeAbout the ReaderNo previous experience with Git or other source control systems is required.About the AuthorRick Umali uses Git daily as a developer and is a skilled consultant, trainer, and speaker.Table of ContentsBefore you beginAn overview of Git and version controlGetting oriented with GitMaking and using a Git repositoryUsing Git with a GUITracking and updating files in GitCommitting parts of changesThe time machine that is GitTaking a fork in the roadMerging branchesCloningCollaborating with remotesPushing your changesKeeping in syncSoftware archaeologyUnderstanding git rebaseWorkflows and branching conventionsWorking with GitHubThird-party tools and GitSharpening your Git

100 questions and answers to help you land your dream android job - or to hire the right candidate!


Enrique López Mañas - 2015
    It has been projected than 2015 more than a billion (with b) smartphones will be sold, twice as many as the number of personal computers . Mobile channels are increasing their revenues figures, with percentages over 100% being the norm and not the exception. Each business needs a mobile application, and therefore the demand of engineers, UX designers and QA testers is under huge demand. There is far more demand for jobs than offer, and the situation is even more optimistic for senior developers. "100 Questions and Answers to make you get your Android Dream Job" collects 100 questions and answers, divided in three levels, that the author has been summarising during several years both as an interviewer and as a candidate. If you are looking for a position as an Android developer, no matter how experience you are, or if you are looking to hire new members for your organisation, this book will provide you all the material you need to take the right decision and hire the right candidate!

MrExcel XL: The 40 Greatest Excel Tips of All Time


Bill Jelen - 2015
    Crowdsourced by more than 300 contributors who collaborated on choosing the 40 best Excel tips, MrExcel XL provides users with a concise book that can be absorbed in under an hour. Includes a bonus 30 tips, keyboard shortcuts, Excel jokes, Excel cocktails. Anyone who uses Excel will be able to turn to any page and pick up tips that will save them hours of work.

Mastering Autodesk Revit Architecture 2016: Autodesk Official Press


James Vandezande - 2015
    Information is organized to reflect the way you learn and implement Revit, featuring real-world workflows, in-depth explanations, and practical tutorials that help you understand Revit and BIM concepts so you can quickly start accomplishing vital tasks. The thorough coverage makes this book an ideal study guide for those preparing for Autodesk's certification exam. The companion website features before-and-after tutorials, additional advanced content, and video on crucial techniques to help you quickly master important tasks.This comprehensive guide walks you through the software to help you begin designing quickly.Understand basic BIM concepts and the Revit interface Explore templates, work-sharing, and project management workflows Learn modeling, massing, and visualization techniques for other industries Work with complex structures, annotation, detailing, and much more To master what is quickly becoming an essential industry tool, Mastering Revit Architecture 2016 is your ultimate practical companion.

Microsoft Visual C# Step by Step (Developer Reference)


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

Mastering Gephi Network Visualization


Ken Cherven - 2015
    If you wish to master the skills of analyzing and presenting network graphs effectively, then this is the book for you. No coding experience is required to use this book, although some familiarity with the Gephi user interface will be helpful. What You Will Learn Familiarize yourself with the Gephi interface Understand the plugins that are most critical for network analysis and graph creation Assess your own network graph needs Examine key network behaviors such as contagion, diffusion, and clustering Effectively display a sample dataset using your own graphs Identify and analyze network patterns Use Gephi's powerful filtering capabilities to improve your graphs Create dynamic graphs with time-based network data Export your graphs for use beyond Gephi In Detail Mastering Gephi Network Visualization will take you through an overview of Gephi and network behavior, followed by detailed chapters addressing layouts, filtering, graph statistics, dynamic graphs, and more. You will begin with a concise overview of working with the Gephi interface. You will then see how to create your own graphs and understand the graph layouts to arrange a sample dataset. You will understand the theory behind Dynamic Network Analysis, followed by sample applications on how Gephi can be used to model these networks. You will also learn about the plugins that are most critical for network analysis and graph creation. Finally, you will put together all the previously learned concepts and gain insight on the future state of network graph analysis.After reading this book and following the examples provided, you will have the confidence and expertise to create your own compelling graphs.

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


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

Bug Advocacy: A BBST Workbook


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

Apache Solr Search Patterns


Jayant Kumar - 2015
    This book is also for people who work with analytics to generate graphs and reports using Solr. Moreover, if you are a search architect who is looking forward to scale your search using Solr, this is a must have book for you.It would be helpful if you are familiar with the Java programming language. What You Will Learn Customize the Solr scoring algorithm to get better and more relevant search results Use Solr with big data for analytical purposes Get insights into Solr internals—indexing and search Setting up and scaling with Solr cloud Implement spatial search with Solr Understand Finite State Transducers (FST) and implement text tagging using FST Breeze through the strategies used in executing search using Solr in e-commerce, advertising, and real estate websites Learn more about how to use Solr with AJAX In Detail Apache Solr is an open source search platform built on a Java library called Lucene. It serves as a search platform for many websites, as it has the capability of indexing and searching multiple websites to fetch desired results.We begin with a brief introduction of analyzers and tokenizers to understand the challenges associated with implementing large-scale indexing and multilingual search functionality. We then move on to working with custom queries and understanding how filters work internally. While doing so, we also create our own query language or Solr plugin that does proximity searches. Furthermore, we discuss how Solr can be used for real-time analytics and tackle problems faced during its implementation in e-commerce search. We then dive deep into the spatial features such as indexing strategies and search/filtering strategies for a spatial search. We also do an in-depth analysis of problems faced in an ad serving platform and how Solr can be used to solve these problems.

Code-First Development with Entity Framework


Sergey Barskiy - 2015
    This book will get you up and running quickly, providing many examples that illustrate all the key concepts of Entity Framework. What You Will Learn Understand what ORM tools are and what problems they solve Set up a .NET application to use Entity Framework Write Entity Framework code that creates, updates, and deletes application data in a database Learn how to query the data using LINQ and gain insight into how LINQ fits into Entity Framework Create a database structure using the Entity Framework configuration API Evolve the database structure using migrations Write asynchronous code and handle concurrency Work with stored procedures and functions using Entity Framework In Detail Entity Framework Code-First enables developers to read and write data in a relational database system using C# or VB.NET. It is Microsoft's answer to demand for an ORM from .NET developers.This book will help you acquire the necessary skills to program your applications using Entity Framework. You will start with database configuration and learn how to write classes that define the database structure. You will see how LINQ can be used with Entity Framework to give you access to stored data. You will then learn how to use Entity Framework to persist information in a Relational Database Management System. You will also see how you can benefit from writing ORM-based .NET code. Finally, you will learn how Entity Framework can help you to solve database deployment problems using migrations.

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


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

Data as a Service: A Framework for Providing Reusable Enterprise Data Services


Pushpak Sarkar - 2015
    Data as a Service shows how organizations can leverage “data as a service” by providing real-life case studies on the various and innovative architectures and related patterns  Comprehensive approach to introducing data as a service in any organization A reusable and flexible SOA based architecture framework Roadmap to introduce ‘big data as a service’ for potential clients Presents a thorough description of each component in the DaaS reference architecture so readers can implement solutions

Learning Behavior-driven Development with JavaScript


Enrique Amodeo - 2015
     Learn how Behavior-driven development can help you to write software that is more modular and has less defects. Avoid common mistakes in testing, simplify your test suites, and make them more maintainable using a very pragmatic approach to BDD. Who This Book Is For TThis book is ideal for any JavaScript developer who is interested in producing well-tested code. If you have no prior experience with testing, Node.js, or any other tool, do not worry, as they will be explained from scratch. What You Will Learn Understand the basic concepts of BDD and how it is different from classic unit testing Divide your system into different modules that can be tested separately, but at the same time not falling into the trap of unit testing Use Mocha, Sinon.JS, and Chai to write expressive BDD features Implement Cucumber.js to automate tests written in Gherkin so that your stakeholders can understand them Discover how to test asynchronous systems, either based on callbacks or promises Test a RESTful web API and a rich UI using WebDriverJS and Protractor Refactor and keep your test code base maintainable using best practices and patterns such as PageObject In Detail JavaScript is not only widely used to create attractive user interfaces for the Web, but with the advent of Node.js, it is also becoming a very popular and powerful language to write server-side applications. Using behavior-driven development and some common testing patterns and best practices, you will be able to avoid these traps.This book will show you how to do BDD in a practical way. We will start with a basic introduction of what BDD is and why the classical approach to testing has failed. Afterwards, we will dive directly into an introduction to Node.js, Mocha, and Sinon.JS. Finally, we will cover more advanced subjects such as how to write a fast and effective test suite for a RESTful web API, and how to do the same with a rich UI using Cucumber.js and Protractor.This book will give you great insight into how to architect your system to make it more testable and modular, but at the same time avoid the nightmare of abusing mock objects.

Learning Three.js - the JavaScript 3D Library for WebGL -


Jos Dirksen - 2015
    NA

Living Documentation: Continuous Knowledge Sharing by Design


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

Essential Slick


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

Event Driven: How to Run Memorable Tech Conferences


Leah Silber - 2015
    Running a tech conference? Concerned about the details, the financial risks, the logistics and the wow factor? Event Driven will walk through the ins, outs and gotchas in an instructional format designed to help make sure you create the best possible event, and keep everyone happy along the way.https://leanpub.com/eventdriven

Chatter: Architecture Talks Back


Karen Kice - 2015
    Chatter, whose title refers to the disjointed bits of conversation typified by texting and Twitter, examines how contemporary modes of communication have influenced the construction of ideas in the development, production, and presentation of architecture. Karen Kice surveys the evolution of architecture and illuminates how these architects have developed their work in conversation with historical theories and projects. Using a range of representational methods and formats to explore ideas—from hand drawings to robot-enabled ones, graphic novels to digital simulations—these practitioners embrace contemporary technologies while they engage with history. Kice’s essay, accompanied by portfolios of works from each studio, deftly elucidates how these practitioners talk back to the past while conceiving and communicating their unique designs.

Hadoop Application Architectures: Designing Real-World Big Data Applications


Mark Grover - 2015
    

Teach Yourself VISUALLY OS X El Capitan


Paul McFedries - 2015
     Complemented with screenshots on almost every page that illustrate exactly what you'll encounter, this visual guide will have you up and running with OS X—quickly and easily. Boasting new visuals, several new features, and more seamless integration of iOS devices, the latest version of Mac's operating system has plenty to offer. You'll learn how to manipulate preferences to customize your experience, make the most of your digital media, and streamline your workflow while having a little fun. You will tour the Game Center, Messages, and Notifications, and get acquainted with Mission Control and the App Store—and much more. Customize your Mac to better suit your workflow Discover the newest updates to your favorite tools Navigate your way around OS X El Capitan Accomplish more in less time and make the most of your Mac

Microsoft Azure Essentials Azure Automation


Michael McKeown - 2015
     The second ebook in the series, "Microsoft Azure Essentials: Azure Automation," introduces a fairly new feature of Microsoft Azure called Azure Automation. Using a highly scalable workflow execution environment, Azure Automation allows you to orchestrate frequent deployment and life cycle management tasks using runbooks based on Windows PowerShell Workflow functionality. These runbooks are stored in and backed up by Azure. By automating runbooks, you can greatly minimize the occurrence of errors when carrying out repeated tasks and process automation. Watch Microsoft Press's blog and Twitter (@MicrosoftPress) to learn about other free ebooks in the "Microsoft Azure Essentials" series.

Intercom on Customer Engagement


Des Traynor - 2015
    The right messages, to the right people, at the right time.What’s insideCHAPTER 1The Right PeopleSegment your customersCHAPTER 2The Right MessageCraft an effective messageCHAPTER 3The Right Way and TimeOptimize conversion

Beginning JavaScript


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

Data Structure and Algorithmic Thinking with Python


Narasimha Karumanchi - 2015
    In particular, be sure you are comfortable with the level and with our Python coding style. This book focuses on giving solutions for complex problems in data structures and algorithm. It even provides multiple solutions for a single problem, thus familiarizing readers with different possible approaches to the same problem. "Data Structure and Algorithmic Thinking with Python" is designed to give a jump-start to programmers, job hunters and those who are appearing for exams. All the code in this book are written in Python. It contains many programming puzzles that not only encourage analytical thinking, but also prepares readers for interviews. This book, with its focused and practical approach, can help readers quickly pick up the concepts and techniques for developing efficient and effective solutions to problems. Topics covered include: Organization of Chapters Introduction Recursion and Backtracking Linked Lists Stacks Queues Trees Priority Queues and Heaps Disjoint Sets ADT Graph Algorithms Sorting Searching Selection Algorithms [Medians] Symbol Tables Hashing String Algorithms Algorithms Design Techniques Greedy Algorithms Divide and Conquer Algorithms Dynamic Programming Complexity Classes Hacks on Bit-wise Programming Other Programming Questions

Git Essentials


Ferdinando Santacroce - 2015
    Its incredibly fast branching ability transformed a piece of code from a niche tool for former Linux Kernel developers into a mainstream distributed versioning system. Like most powerful tools, Git can be hard to approach since it has a lot of commands, subcommands, and options that easily confuse newcomers. The main purpose of Git Essentials is to help you overcome this fear and become adept at all basic tasks in Git. This book starts with an introduction to version control systems, and after this you'll delve deeply into the essentials of Git. This serves as a primer for the topics to follow such as branching and merging, creating and managing a GitHub personal repository, and fork and pull requests. You will then learn the art of cherry-picking, taking only commits you like, followed by Git blame. Finally, you'll learn how to migrate from SVN using Git tools or TortoiseGit and migrate from other VCSs, concluding with a collection of resources, links, and appendices.

Xamarin Mobile Application Development: Cross-Platform C# and Xamarin.Forms Fundamentals


Dan Hermes - 2015
    This book explains how to use Xamarin.Forms, Xamarin.Android, and Xamarin.iOS to build business apps for your customers and consumer apps for Google Play and the iTunes App Store.Learn how to leverage Xamarin.Forms for cross-platform development using the most common UI pages, layouts, views, controls, and design patterns. Combine these with platform-specific UI to craft a visually stunning and highly interactive mobile user experience.Use Xamarin.Forms to data bind your UI to both data models and to view models for a Model-View-ViewModel (MVVM) implementation. Use this book to answer the important question: Is Xamarin.Forms right for my project?Platform-specific UI is a key concept in cross-platform development, and Xamarin.Android and Xamarin.iOS are the foundation of the Xamarin platform. Xamarin Mobile Application Development will cover how to build an Android app using Xamarin.Android and an iOS app using Xamarin.iOS while sharing a core code library.SQLite is the database-of-choice for many Xamarin developers. This book will explain local data access techniques using SQLite.NET and ADO.NET. Build a mobile data access layer (DAL) using SQLite and weigh your options for web services and enterprise cloud data solutions.This book will show how organize your Xamarin code into a professional-grade application architecture. Explore solution-building techniques from starter-to-enterprise to help you decouple your functional layers, manage your platform-specific code, and share your cross-platform classes for code reuse, testability, and maintainability.Also included are 250+ screenshots on iOS, Android, and Windows Phone and 200+ C# code examples with downloadable C# and XAML versions available from Apress.com.This comprehensive recipe and reference book addresses one of the most important and vexing problems in the software industry today: How do we effectively design and develop cross-platform mobile applications? What you’ll learn How to build world-class mobile apps for iOS, Android, and Windows Phone using C# How to organize your Xamarin code into a professional-grade application architecture The latest Xamarin techniques for cross-platform UI using Xamarin.Forms When and how to use platform-specific UI Data binding, local data access, enterprise cloud data solutions, and building a data access layer for mobile apps Cross-platform architecture to maximize portability and code reuse Who this book is for C#, ASP.NET developers, architects, and technical managers as well as many Android and iOS developers

Mob Programming Guidebook


Maaret Pyhäjärvi - 2015
    https://leanpub.com/mobprogramminggui...

Foundation Mathematics for Computer Science: A Visual Approach


John A. Vince - 2015
    Readers will find that the author's visual approachwill greatly improve their understanding as to why certain mathematical structures exist, together with how they are used in real-world applications. Each chapter includes full-colour illustrations to clarify the mathematical descriptions, and in some cases, equations are also coloured to reveal vital algebraic patterns. The numerous worked examples will consolidate comprehension of abstract mathematical concepts.Foundation Mathematics for Computer Science covers number systems, algebra, logic, trigonometry, coordinate systems, determinants, vectors, matrices, geometric matrix transforms, differential and integral calculus, and reveals the names of the mathematicians behind such inventions. During this journey, John Vince touches upon more esoteric topics such as quaternions, octonions, Grassmann algebra, Barycentric coordinates, transfinite sets and prime numbers. Whether you intend to pursue a career in programming, scientific visualisation, systems design, or real-time computing, you should find the author s literary style refreshingly lucid and engaging, and prepare you for more advanced texts."

Gradle for Android


Kevin Pelgrims - 2015
    Using Gradle makes it easy for Android developers to manage dependencies and set up the entire build process.This book begins by taking you through the basics of Gradle and how it works with Android Studio. Furthermore, you will learn how to add local and remote dependencies to your project. You will work with build variants, such as debug and release, paid and free, and even combinations of these things. The book will also help you set up unit and integration testing with different libraries and will show how Gradle and Android Studio can make running tests easier. Finally, you will be shown a number of tips and tricks on the advanced customization of your application's build process. By the end of this book, you will be able to customize the entire build process, and create your own tasks and plugins for your Gradle builds.

The Little Prover


Daniel P. Friedman - 2015
    It is written in an approachable, engaging style of question-and-answer, with the characteristic humor of The Little Schemer (fourth edition, MIT Press). Sometimes the best way to learn something is to sit down and do it; the book takes readers through step-by-step examples showing how to write inductive proofs. The Little Prover assumes only knowledge of recursive programs and lists (as presented in the first three chapters of The Little Schemer) and uses only a few terms beyond what novice programmers already know. The book comes with a simple proof assistant to help readers work through the book and complete solutions to every example.

Web Performance Warrior


Andy Still - 2015
    This report shows you how.Written by a consultant with long experience improving application performance for various organizations, Web Performance Warrior takes you step by step through the process of identifying performance needs, getting buy-in from key stakeholders, signing up staff to do the job, and putting the tools and procedures in place for a performance-aware organization.

Next Generation Databases: NoSQL, NewSQL, and Big Data


Guy Harrison - 2015
    It is the book to help you choose the correct database technology at a time when fundamental architectural differences are making what used to be an easy choice into a difficult one that is fraught with risk.The relational database (RDBMS) model completely dominated database technology for over 20 years. Today this "one size fits all" stability has been disrupted by a seemingly sudden explosion of new database technologies. These paradigm-busting technologies are driving the "Big Data" and "NoSQL" revolutions, as well as forcing fundamental changes in databases across the boardDeciding to use a relational database once was truly a no-brainer, and the various commercial relational databases competed on price, performance, reliability, and ease of use rather than on fundamental architectures. All that is changed. Now we have fundamental architectural differences that must be considered or projects will fail. Choosing the right database today is a complex undertaking, with serious economic and technological consequences. Next Generation Databases demystifies today’s new database technologies. The book describes what each technology was designed to solve. It shows how each technology can be used to solve real word application and business problems. Most importantly, this book highlights the architectural differences between technologies that are so very important for you to consider when choosing a database platform for new and upcoming projects. • Introduces the new technologies that have revolutionized the database landscape• Describes how each technology can be used to solve specific application or business challenges• Reviews the most popular new wave databases and how they use these new database technologies What you’ll learn Understand new technologies disrupting the database landscape and powering applications that are changing our lives. Choose the best database technology for the success of your business and projects. Position your career to ride the wave of these new database technologies. Maximize return on investment from NoSQL and other new-wave technologies. Take advantage of next-generation features being incorporated into traditional database products such as Oracle Database and Microsoft SQL Server. Accelerate existing database platforms via new hardware capabilities. Who this book is for Next Generation Databases is a book for software architects, developers, and database professionals who need to understand the next generation of database technologies. Developers and architects need to understand the characteristics of the new wave of databases systems so that they can choose the one which best suits the needs of their current project. Database professionals who want to survive and thrive in increasingly heterogeneous database landscape will find this book a perfect guide to the new architectures and the problems they are best at solving.

Mastering Spring MVC 4


Geoffroy Warin - 2015
    Prior knowledge of the Spring MVC framework is recommended. What You Will Learn Set up your own web application using Spring Boot and Spring Tool Suite Discover the MVC architecture and the different tools along with navigating between views Design complex advanced-level forms and validate the model Craft a RESTful application with a meaningful API and error messages Create maintainable unit and acceptance tests Secure your application while allowing it to scale Optimize your requests with caching, ETags, and asynchronous responses Deploy the web application to the cloud in a snap In Detail Spring MVC is the ideal tool to build modern web applications on the server side. With the arrival of Spring Boot, developers can really focus on the code and deliver great value, leveraging the rich Spring ecosystem with minimal configuration.Spring makes it simple to create RESTful applications, interact with social services, communicate with modern databases, secure your system, and make your code modular and easy to test. It is also easy to deploy the result on different cloud providers.Mastering Spring MVC will take you on a journey from developing your own web application to uploading it on the cloud.You begin by generating your own Spring project using Spring Tool suite and Spring Boot.As you develop an advanced-level interactive application that can handle file uploads as well as complex URLs, you will dive into the inner workings of Spring MVC and the principles of modern web architectures.You will then test, secure, and optimize your Spring web application and design RESTful services that will be consumed on the frontend.Finally, when everything is ready, you will release your application on a cloud provider and invite everyone to see. Style and approach An iterative hands-on approach in a conversational and easy-to-follow style. Each chapter will improve on the work done in the previous one until the application is ready to be released.

Lightroom CC: Library Module


Tim Martin - 2015
    • Installation• Catalogs & Catalog Setup• Basic and Advanced settings and preferences• Importing & Exporting images• Basic & Advanced Keywording• Tethered Capture• Facial Recognition• Presets... and much more!This book, like the software, was written by a photographer and for photographers. Tim Martin's experience as a travel photographer working on-location for editorial and commercial clients has enabled him to master his workflow using just a single laptop computer and Lightroom CC. Everything from importing images to sending the final retouched photos off to a client can be done inside of Lightroom with stunning efficiency and ease. The goal of this book is to kick your workflow to the next level no matter if you are new to Lightroom CC or are an experienced user. Lightroom CC: Library Module is the first of three books in the Photographer's Guide to Lightroom 5 series. If you liked this book, please check out the other two: Lightroom CC: Develop Module and Lightroom CC: Everything Else.NOTE: Lightroom CC: Develop Module and Lightroom CC: Everything Else will be released in the middle and and end of May 2015 respectively.*Please note that this book has been optimized for eBook format.

Cuda for Engineers: An Introduction to High-Performance Parallel Computing


Duane Storti - 2015
    The authors introduce the essentials of CUDA C programming clearly and concisely, quickly guiding you from running sample programs to building your own code. Throughout, you'll learn from complete examples you can build, run, and modify, complemented by additional projects that deepen your understanding. All projects are fully developed, with detailed building instructions for all major platforms. Ideal for any scientist, engineer, or student with at least introductory programming experience, this guide assumes no specialized background in GPU-based or parallel computing. In an appendix, the authors also present a refresher on C programming for those who need it. Coverage includes Preparing your computer to run CUDA programs Understanding CUDA's parallelism model and C extensions Transferring data between CPU and GPU Managing timing, profiling, error handling, and debugging Creating 2D grids Interoperating with OpenGL to provide real-time user interactivity Performing basic simulations with differential equations Using stencils to manage related computations across threads Exploiting CUDA's shared memory capability to enhance performance Interacting with 3D data: slicing, volume rendering, and ray casting Using CUDA libraries Finding more CUDA resources and code Realistic example applications include Visualizing functions in 2D and 3D Solving differential equations while changing initial or boundary conditions Viewing/processing images or image stacks Computing inner products and centroids Solving systems of linear algebraic equations Monte-Carlo computations

Blender 3D By Example


Romain Caudron - 2015
    You don't need to have any previous experience in 3D modeling, but if you do, then this book is a great way get you started with Blender. This book is for anyone who wants to learn Blender by creating concrete projects. What You Will Learn Understand the basics of 3D and how to navigate your way around the Blender interface Create a 3D robot toy model from start to finish using the basic modeling tools of Blender Make a full alien character using the skin mesh modifier and the sculpting tools with an artistic approach Use re-topology techniques to create a clean 3D version of the previously sculpted alien Model a full haunted house and its environment using more advanced modeling tools and techniques such as the Array Modifier, Instance duplication, or Curves Discover the power of the texture paint tool in order to add color to the haunted house Get to know the Cycles render engine by creating different materials for the house and the environment In Detail Blender is a powerful tool, stable, with an integral workflow that will allow you to understand your learning of 3D creation with serenity. Today, it is considered to be one of the most complete 3D packages on the market and it is free and open source! It is very efficient for many types of productions, such as 3D animated or live action films, architecture, research, or even game creation with its integrated game engine and its use of the Python language. Moreover, Blender has an active community that contributes to expanding its functionalities. Today, it is used in many professional products and by many companies.Through this book, you will create many types of concert projects using a step-by-step approach. You will start by getting to know the modeling tools available in Blender as you create a 3D robot toy. Then, you will discover more advanced techniques such as sculpting and re-topology by creating a funny alien character. After that, you will create a full haunted house scene.For the last project, you will create a short film featuring a rat cowboy shooting cheese in a rat trap! This will be a more complex project in which you learn how to rig, animate, compose advanced material, composite, and edit a full sequence.Each project in this book will give you more practice and increase your knowledge of the Blender tools. By the end of this book, you will master a workflow that you will be able to apply to your own creations. Style and approach This is an easy-to-follow book that is based on four concrete projects, with increasing levels of difficulty. Each chapter will teach you how to create these projects step-by-step. New tools and techniques are introduced in a theoretical and practical way, so you can apply them in your own projects later.

Navigating the Digital Age


Various - 2015