Best of
Software

2016

99 Bottles of OOP


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

Kotlin in Action


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

Site Reliability Engineering: How Google Runs Production Systems


Betsy Beyer - 2016
    So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient--lessons directly applicable to your organization.This book is divided into four sections: Introduction--Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples--Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices--Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systemsManagement--Explore Google's best practices for training, communication, and meetings that your organization can use

Writing An Interpreter In Go


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

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


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

Making Sense of Stream Processing


Martin Kleppmann - 2016
    

Copying and Pasting from Stack Overflow


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

Understanding Ecmascript 6: The Definitive Guide for JavaScript Developers


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

Laravel: Up and Running: A Framework for Building Modern PHP Apps


Matt Stauffer - 2016
    This rapid application development framework and its vast ecosystem of tools let you quickly build new sites and applications with clean, readable code. With this practical guide, Matt Stauffer--a leading teacher and developer in the Laravel community--provides the definitive introduction to one of today's most popular web frameworks.The book's high-level overview and concrete examples will help experienced PHP web developers get started with Laravel right away. By the time you reach the last page, you should feel comfortable writing an entire application in Laravel from scratch.Dive into several features of this framework, including:Blade, Laravel's powerful, custom templating toolTools for gathering, validating, normalizing, and filtering user-provided dataLaravel's Eloquent ORM for working with the application's databasesThe Illuminate request object, and its role in the application lifecyclePHPUnit, Mockery, and PHPSpec for testing your PHP codeLaravel's tools for writing JSON and RESTful APIsInterfaces for file system access, sessions, cookies, caches, and searchTools for implementing queues, jobs, events, and WebSocket event publishingLaravel's specialty packages: Scout, Passport, Cashier, Echo, Elixir, Valet, and Socialite

High-Performance Java Persistence


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

Functional and Reactive Domain Modeling


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

The Type Astronaut's Guide to Shapeless


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

Reverse Engineering for Beginners


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

Functional Programming in JavaScript


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

Pro Swift


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

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


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

The 7 Stages of Creativity: Developing Your Creative Self


James A. Whittaker - 2016
    Creatives report higher job satisfaction and lead more fulfilling lives than any other class of people. And yet our school curricula focus on rote learning and test taking at the expense of art, problem-solving and higher-order thinking. In this book, James Whittaker shows you how to develop your creative mind and use it as the fulcrum of a lifestyle where creativity doesn’t just happen, it becomes the default case for everything you do in work and life. Learn to supercharge your creativity to make your work more interesting and your life more exciting.

Excel 2016 Power Programming with VBA (Mr. Spreadsheet's Bookshelf)


Michael Alexander - 2016
    Encompassing an analysis of Excel application development and a complete introduction to Visual Basic for Applications (VBA), this comprehensive book presents all of the techniques you need to develop both large and small Excel applications. Over 800 pages of tips, tricks, and best practices shed light on key topics, such as the Excel interface, file formats, enhanced interactivity with other Office applications, and improved collaboration features. In addition to the procedures, tips, and ideas that will expand your capabilities, this resource provides you with access to over 100 online example Excel workbooks and the Power Utility Pak, found on the Mr. Spreadsheet website. Understanding how to leverage VBA to improve your Excel programming skills can enhance the quality of deliverables that you produce—and can help you take your career to the next level. Explore fully updated content that offers comprehensive coverage through over 900 pages of tips, tricks, and techniques Leverage templates and worksheets that put your new knowledge in action, and reinforce the skills introduced in the text Access online resources, including the Power Utility Pak, that supplement the content Improve your capabilities regarding Excel programming with VBA, unlocking more of your potential in the office Excel 2016 Power Programming with VBA is a fundamental resource for intermediate to advanced users who want to polish their skills regarding spreadsheet applications using VBA.

Mastering Modern Web Penetration Testing


Prakhar Prasad - 2016
    This book executes modern web application attacks and utilises cutting-edge hacking techniques with an enhanced knowledge of web application security.We will cover web hacking techniques so you can explore the attack vectors during penetration tests. The book encompasses the latest technologies such as OAuth 2.0, Web API testing methodologies and XML vectors used by hackers. Some lesser discussed attack vectors such as RPO (relative path overwrite), DOM clobbering, PHP Object Injection and etc. has been covered in this book.We'll explain various old school techniques in depth such as XSS, CSRF, SQL Injection through the ever-dependable SQLMap and reconnaissance. Websites nowadays provide APIs to allow integration with third party applications, thereby exposing a lot of attack surface, we cover testing of these APIs using real-life examples. This pragmatic guide will be a great benefit and will help you prepare fully secure applications. What you will learn Get to know the new and less-publicized techniques such PHP Object Injection and XML-based vectors Work with different security tools to automate most of the redundant tasks See different kinds of newly-designed security headers and how they help to provide security Exploit and detect different kinds of XSS vulnerabilities Protect your web application using filtering mechanisms Understand old school and classic web hacking in depth using SQL Injection, XSS, and CSRF Grasp XML-related vulnerabilities and attack vectors such as XXE and DoS techniques Get to know how to test REST APIs to discover security issues in them About the Author Prakhar Prasad is a web application security researcher and penetration tester from India. He has been a successful participant in various bug bounty programs and has discovered security flaws on websites such as Google, Facebook, Twitter, PayPal, Slack, and many more. He secured the tenth position worldwide in the year 2014 at HackerOne's platform. He is OSCP and OSWP certified, which are some of the most widely respected certifications in the information security industry. He occasionally performs training and security assessment for various government, non-government, and educational organizations. Table of Contents Common Security Protocols Information Gathering Cross-Site Scripting Cross-Site Request Forgery Exploiting SQL Injection File Upload Vulnerabilities Metasploit and Web XML Attacks Emerging Attack Vectors OAuth 2.0 Security API Testing Methodology

Android High Performance Programming


Enrique López Mañas - 2016
    Users may abandon an app if it runs slowly. Learning how to build applications that balance speed and performance with functionality and UX can be a challenge; however, it's now more important than ever to get that balance right.Android High Performance will start you thinking about how to wring the most from any hardware your app is installed on, so you can increase your reach and engagement. The book begins by providing an introduction to state–of-the-art Android techniques and the importance of performance in an Android application. Then, we will explain the Android SDK tools regularly used to debug and profile Android applications. We will also learn about some advanced topics such as building layouts, multithreading, networking, and security. Battery life is one of the biggest bottleneck in applications; this book will show typical examples of code that exhausts battery life, how to prevent this, and how to measure battery consumption from an application in every kind of situation.This book explains techniques for building optimized and efficient systems that do not drain the battery, cause memory leaks, or slow down with time.What you will learn- Create Android applications that squeeze the most from the limited resource capacity of devices- Swap code that isn't performing- Efficient memory management by identifying problems such as leaks- Reap the benefits of multithreaded and asynchronous programming- Maximize the security and encryption mechanisms natively provided by Android- Perform efficient network operations and techniques to retrieve data from servers- Efficiently use NDK to write native code that can perform faster operations

The Org Mode 9 Reference Manual: Organize Your Life with GNU Emacs


Carsten Dominik - 2016
    Org mode is a powerful system for organizing projects, tasks and notes in the Emacs editor. It supports outline editing, hyperlinks, todo lists and task management, agendas, scheduling, deadlines, document formatting and publishing. Org mode stores all data in plain text files, ensuring complete portability, simple integration with other text processing tools and support for revision-tracking and synchronization using any version control system. Org mode is free software and can be used in Emacs on all major operating systems.

PAM Mastery (IT Mastery Book 10)


Michael W. Lucas - 2016
    Many sysadmins live with authentication problems rather than risk making them worse. PAM’s very nature makes it unlike any other Unix access control system. If you have PAM misery or PAM mysteries, you need PAM Mastery! With PAM Mastery, you’ll understand: • the different versions of PAM • the intricacies of Linux-PAM and OpenPAM • how PAM policies make decisions • how to debug PAM • the most frequently seen PAM modules • Linux-PAM extended controls and substacks • time-based one-time passwords • using SSH keys for more than SSH • password quality testing • policies from CentOS, Debian, and FreeBSD • and more! Transform PAM from a headache to an ally with PAM Mastery

The Swift Apprentice: Beginning Programming with Swift 3


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

Murach's Visual Basic 2015


Anne Boehm - 2016
    Now in its 6th edition, NO other VB book teaches you so much, so fast, or so thoroughly.

Component-Based Rails Applications


Stephan Hagemann - 2016
    Decompose your existing application to make it more maintainable and to set you up for a bright development future. Assemble your new application from smaller pieces that you can develop concurrently, combine reliably, and test independently.

Test Design: A Bbst Workbook


Cem Kaner - 2016
    Used in parallel with the instructional materials provided at the Center for Software Testing Education and Research (testingeducation.org/BBST), the workbook introduces students to a broad array of test design techniques. Subsequent courses and workbooks will focus on one technique each, allowing time for tasks that build a deeper knowledge and skill with each technique. This core provides a foundation. The course introduces you to: - many techniques at a superficial level (what the technique is); - a few techniques at a practical level (how to do it); - ways to mentally organize this collection of techniques; - using the the Heuristic Test Strategy Model for test planning and design: and - using concept mapping tools for test planning. Any of these techniques can be applied in a scripted way or an exploratory way.

Designing Software Architectures: A Practical Approach


Humberto Cervantes - 2016
     This book introduces a practical methodology for architecture design that any professional software engineer can use, provides structured methods supported by reusable chunks of design knowledge, and includes rich case studies that demonstrate how to use the methods. Using realistic examples, you ll master the powerful new version of the proven Attribute-Driven Design (ADD) 3.0 method and will learn how to use it to address key drivers, including quality attributes, such as modifiability, usability, and availability, along with functional requirements and architectural concerns. Drawing on their extensive experience, Humberto Cervantes and Rick Kazman guide you through crafting practical designs that support the full software life cycle, from requirements to maintenance and evolution. You ll learn how to successfully integrate design in your organizational context, and how to design systems that will be built with agile methods. Comprehensive coverage includes Understanding what architecture design involves, and where it fits in the full software development life cycle Mastering core design concepts, principles, and processes Understanding how to perform the steps of the ADD method Scaling design and analysis up or down, including design for pre-sale processes or lightweight architecture reviews Recognizing and optimizing critical relationships between analysis and design Utilizing proven, reusable design primitives and adapting them to specific problems and contexts Solving design problems in new domains, such as cloud, mobile, or big data

Linux Administration: The Linux Operating System and Command Line Guide for Linux Administrators


Jason Cannon - 2016
    This book is also great for Unix administrators switching to Linux administration. Here is what you will learn by reading this Linux System Administration book: How the the boot process works on Linux servers and what you can do to control it. The various types of messages generated by a Linux system, where they're stored, and how to automatically prevent them from filling up your disks. Disk management, partitioning, and file system creation. Managing Linux users and groups. Exactly how permissions work and how to decipher the most cryptic Linux permissions with ease. Networking concepts that apply to system administration and specifically how to configure Linux network interfaces. How to use the nano, vi, and emacs editors. How to schedule and automate jobs using cron. How to switch users and run processes as others. How to configure sudo. How to find and install software. Managing process and jobs. How to make the most out of the Linux command line and Linux operating system. Several Linux commands you'll need to know. Linux shell scripting. What you learn in book applies to any Linux system including Ubuntu Linux, Debian, Linux Mint, RedHat Linux, CentOS, Fedora, SUSE Linux, Arch Linux, Kali Linux and more. Real Advice from a Real, Professional Linux Administrator Jason Cannon is the author of Linux for Beginners, the founder of the Linux Training Academy, and an instructor to over 40,000 satisfied students. He started his IT career in the late 1990's as a Unix and Linux System Engineer and he'll be sharing his real-world Linux experience with you throughout this book. By the end of this book you will fully understand the most important and fundamental concepts of Linux server administration. More importantly, you will be able to put those concepts to use in practical real-world situations. You'll be able to configure, maintain, and support a variety of Linux systems. You can even use the skills you learned to become a Linux System Engineer or Linux System Administrator.

Practical Guide to Agile Business Analysis: Structuring the Conversation with Stakeholders Over the Agile Lifecycle


Howard Podeswa - 2016
    This means they depend more than ever on individuals who can structure those conversations for maximum benefit, and apply appropriate business analysis techniques wherever these offer value. Whatever your title or project role, this guide will help you perform these crucial tasks. Howard Podeswa walks you through an integrated case study project from inception through to completion, offering detailed, step-by-step guidance for performing analysis across the entire agile lifecycle. You'll learn which tools to use, when to use them, how to "stage" agile analysis, and how to adapt analysis for agile projects while protecting the chain from business needs to solutions. You'll learn how to engage more productively with the business by applying a wide range of analysis tools, including use cases, user stories, Business Process Modeling (BPM), decision tables, traceability matrices, and structural modeling. Podeswa shows how to write effective acceptance criteria for agile projects using the powerful BDD (Behavior-Driven Development) Given/When/Then template. He covers analysis for release plan preparation, sprints, backlog management, and retrospectives; and offers a full chapter of guidance on scaling analysis for large agile projects. If you're already an analyst, Podeswa will help you transition to agile. If you're an agile project owner or developer, he'll help you leverage analysis techniques to deliver far more value to your business customers.

JavaScript: Functional Programming for JavaScript Developers


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

React.js Succinctly


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

Microsoft Excel 2016 Functions & Formulas Quick Reference Card (4-page Cheat Sheet focusing on examples and context for intermediate-to-advanced functions and formulas- Laminated Guide)


Beezix Inc. - 2016
    

OneNote 2016 Introduction Quick Reference Guide - Windows Version (Cheat Sheet of Instructions, Tips & Shortcuts - Laminated Card)


Beezix Inc. - 2016
    

Going GAS: From VBA to Google Apps Script


Bruce McPherson - 2016
    If you’re a VBA or .NET developer, you’ll learn how to port existing VBA code and structure to their JavaScript-based Apps Script equivalents with minimal effort. Author Bruce Mcpherson introduces JavaScript basics for experienced developers unfamiliar with the language, and demonstrates ways to build real-world apps using all of the Apps Script services previously covered. Use App Script’s equivalent of Excel’s object model Target the most commonly used parts of Microsoft Word Automate processes in Gmail, Calendar, and Contacts Access the local client filesystem with Google Drive Build and run applications in a browser Store persistent data conveniently Render HTML content in response to HTTP requests Automate the maintenance and creation of pages and content Interact with a REST service or NoSQL database Access Apps Script capabilities from other platforms

API-Design: Praxishandbuch für Java- und Webservice-Entwickler


Kai Spichale - 2016
    

Effective Debugging: 66 Specific Ways to Debug Software and Systems


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

Microsoft Office 365 & Excel 2016: Comprehensive (Shelly Cashman Series)


Steven M. Freund - 2016
    For more than three decades, the Shelly Cashman Series has effectively introduced computer skills to millions. MICROSOFT OFFICE 365 & EXCEL 2016: COMPREHENSIVE continues the Series� strong history of innovation with a hallmark learning approach now enhanced to address the varied learning styles of today�s students. A trademark, step-by-step, screen-by-screen approach provides a thorough understanding of Microsoft Excel 2016 through experimentation, critical thought, and personalization. This new edition and accompanying resources deliver effective educational materials specifically designed to engage readers, improve retention, and prepare students for future success in working with all aspects of Excel 2016.

iPad and iPhone Tips and Tricks: Covers all iPad and iPhone models that run iOS 10


Jason R. Rich - 2016
    

GPU Pro 7: Advanced Rendering Techniques


Wolfgang Engel - 2016
    It incorporates contributions from more than 30 experts who cover the latest developments in graphics programming for games and movies.The book covers advanced rendering techniques that run on the DirectX or OpenGL runtimes, as well as on any other runtime with any language available. It details the specific challenges involved in creating games across the most common consumer software platforms such as PCs, video consoles, and mobile devices.The book includes coverage of geometry manipulation; rendering techniques, handheld devices programming, effects in image space, lighting, 3D engine design, graphics-related tools, and environmental effects. It also includes a dedicated section on general purpose GPU programming that covers CUDA and DirectCompute examples.In color throughout, GPU Pro 7 presents ready-to-use ideas and procedures that can help solve many of your daily graphics programming challenges. Example programs with downloadable source code are also provided on the book’s CRC Press web page.

Excel 2016 Power Programming with VBA


Dick Kusleika Michael Alexander - 2016
    Excel 2016 Power Programming With VBA

React Components


Christopher Pitt - 2016
    What You Will Learn - How to structure an app into components Working with nested components - Work with nested components - Set up communication across components - Style the existing components - Work with Material Design as a component - Render components on the server - Make the best of design patterns - Make the app pluggable In Detail The reader will learn how to use React and its component-based architecture in order to develop modern user interfaces. A new holistic way of thinking about UI development will establish throughout this book and the reader will discover the power of React components with many examples. After reading the book and following the example application, the reader has built a small to a mid-size application with React using a component based UI architecture. The book will take the reader through a journey to discover the benefits of component-based user interfaces over the classical MVC architecture. Throughout the book, the reader will develop a wide range of components and then bring them together to build a component-based UI. By the end of this book, readers would have learned several techniques to build powerful components and how the component-based development is beneficial over regular web development. Style and approach This book is a compact, example-driven guide that provides a step-by-step approach.

Web Development with Go: Learn to Create Real World Web Applications using Go


Jonathan Calhoun - 2016
    That means that this book will take you from zero knowledge of web development to a level that is sufficient enough to deploy your very first web application.

Social Architecture: Building On-line Communities


Pieter Hintjens - 2016
    It covers the theory of Social Architecture, and the tools you need to build a community. It explains the ZeroMQ community in detail, including its collaboration process (C4). This is a powerful book for anyone building an Open Source community, or an on-line community in other areas.

React Native Cookbook


Stan Bershadskiy - 2016
    You may or may not have used React Native before, but it's ideal for you if you want to develop native applications for iOS and Android using React Native. Existing knowledge of JavaScript ES2015 is highly recommended. What You Will Learn - Build simple and complex UIs using React Native - Create advanced animations for UI components - Build universal apps that run on phones and tablets - Leverage Redux to manage application flow and data - Expose both custom native UI components and application logic to React Native - Integrate with existing native applications on iOS and Android - Deploy your React Native application to the Google Play and Apple App Store - Add automated testing to your React Native application In Detail React has taken the web development world by storm, and it is only natural that the unique architecture and its ecosystem of third-party support be applied to native application development. This book will take you through the basics of React Native development all the way through to some more advanced components. This book covers topics in React Native ranging from adding basic UI components to successfully deploying for multiple target platforms. The book follows a top-down approach beginning with building rich user interfaces. These UIs will be created with both built-in and custom components that you will create, style, and animate. You will then learn about different strategies for working with data, including leveraging the popular Redux library and optimizing the performance of the application. Then, you will step further into exposing native device functionality. Finally, we will discuss how to put your application into production and maintain its reliability. Style and approach This is a fast-paced guide with clear, concise recipes that let you discover and take advantage of the many features offered by React Native to build compelling mobile apps. This book will take your skills to the next level and equip you with the expertise to build high performing, native mobile apps in JavaScript.

Microsoft Excel 2016 Programming by Example


Julitta Korol - 2016
    If you are looking to automate Excel routine tasks, this book will progressively introduce you to programming concepts via numerous, illustrated, hands-on exercises. Includes a comprehensive disc with source code, supplemental files, and color screen captures (Also available from the publisher for download by writing to info@merclearning.com).More advanced topics are demonstrated via custom projects. From recording and editing a macro and writing VBA code to working with XML documents and using Classic ASP pages to access and display data on the Web, this book takes you on a programming journey that will change the way you work with Excel. The book provides information on performing automatic operations on files, folders, and other Microsoft Office applications. It also covers proper use of event procedures, testing and debugging, and guides you through programming advanced Excel features such as PivotTables, PivotCharts, and the Ribbon interface. Features: -Contains 28 chapters loaded with illustrated -Hands-On- exercises and projects that guide you through the VBA programming language. Each example tells you exactly where to enter code, how to test it and then run it. -Includes a comprehensive disc with source code, supplemental files, and color screen captures (Also available from the publisher for download by writing to info@merclearning.com). -Takes you from introductory topics--including recording and editing macros, using variables, and constants, writing subroutines/functions, conditional statements, and various methods of coding loops to repeat actions--to intermediate and advanced topics that include working with collections, class modules, arrays, file and database access, custom forms, error handling and debugging. -Includes comprehensive coverage of native file handling in VBA, Windows Scripting Host (WSH), and low-level File Access. -Demonstrates how to interact with Microsoft Access databases using both ADO and DAO Object Libraries to access and manipulate data. -Includes chapters on programming charts, PivotTables, dialog boxes, custom forms, the Ribbon, Backstage View, context/shortcut menu customizations, as well as proper use of event procedures and callbacks. -Provides a quick Hands-On introduction to the data analysis and transformation process using the new Excel 2016 Get & Transform feature and the -M- language formulas. -Provides a practical coverage of using Web queries, HTML, XML, and VBScript in Classic ASP to retrieve and publish Excel data to the Web. On The Companion Files: -All source code and supplemental files for the Hands-On exercises and custom projects -All images from the text (including 4-color screenshots)

The It Geek's Guide to Project Leadership


Byron A Love - 2016
    It covers emotional intelligence and provides guidance to enable IT professionals to better understand themselves, to better communicate, to better contribute to the success of IT projects in their organizations, and to advance their careers.

Test-Driving JavaScript Applications: Rapid, Confident, Maintainable Code


Venkat Subramaniam - 2016
    Whether you use Node.js, Express, MongoDB, jQuery, AngularJS, or directly manipulate the DOM, you can test-drive JavaScript. Learn the craft of writing meaningful, deterministic automated tests with Karma, Mocha, and Chai. Test asynchronous JavaScript, decouple and properly mock out dependencies, measure code coverage, and create lightweight modular designs of both server-side and client-side code. Your investment in writing tests will pay high dividends as you create code that's predictable and cost-effective to change.Design and code JavaScript applications with automated tests. Writing meaningful tests is a skill that takes learning, some unlearning, and a lot of practice, and with this book, you'll hone that skill. Fire up the editor and get hands-on through practical exercises for effective automated testing and designing maintainable, modular code.Start by learning when and why to do manual testing vs. automated verification. Focus tests on the important things, like the pre-conditions, the invariants, complex logic, and gnarly edge cases. Then begin to design asynchronous functions using automated tests. Carefully decouple and mock out intricate dependencies such as the DOM, geolocation API, file and database access, and Ajax calls to remote servers.Step by step, test code that uses Node.js, Express, MongoDB, jQuery, and AngularJS. Know when and how to use tools such as Chai, Istanbul, Karma, Mocha, Protractor, and Sinon. Create tests with minimum effort and run them fast without having to spin up web servers or manually edit HTML pages to run in browsers. Then explore end-to-end testing to ensure all parts are wired and working well together.Don't just imagine creating testable code, write it.What You Need: A computer with a text editor and your favorite browser. The book provides instructions to install the necessary automated testing-related tools.

Mob Programming


Woody Zuill - 2016