Building Tools with GitHub

Building Tools with GitHub

Author: Chris Dawson

Publisher: "O'Reilly Media, Inc."

Published: 2016-02-08

Total Pages: 313

ISBN-13: 1491933453

DOWNLOAD EBOOK

For your next project on GitHub, take advantage of the service’s powerful API to meet your unique development requirements. This practical guide shows you how to build your own software tools for customizing the GitHub workflow. Each hands-on chapter is a compelling story that walks you through the tradeoffs and considerations for building applications on top of various GitHub technologies. If you’re an experienced programmer familiar with GitHub, you’ll learn how to build tools with the GitHub API and related open source technologies such as Jekyll (site builder), Hubot (NodeJS chat robot), and Gollum (wiki). Build a simple Ruby server with Gist API command-line tools and Ruby’s "Octokit" API client Use the Gollum command-line tool to build an image management application Build a GUI tool to search GitHub with Python Document interactions between third-party tools and your code Use Jekyll to create a fully-featured blog from material in your GitHub repository Create an Android mobile application that reads and writes information into a Jekyll repository Host an entire single-page JavaScript application on GitHub Use Hubot to automate pull request reviews


Learn Git in a Month of Lunches

Learn Git in a Month of Lunches

Author: Rick Umali

Publisher: Simon and Schuster

Published: 2015-09-01

Total Pages: 627

ISBN-13: 1638353492

DOWNLOAD EBOOK

Summary Learn Git in a Month of Lunches introduces the discipline of source code control using Git. 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 Book Git 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 Inside Start from square one—no experience required The most frequently used Git commands Mental models that show how Git works Learn when and how to branch code About the Reader No previous experience with Git or other source control systems is required. About the Author Rick Umali uses Git daily as a developer and is a skilled consultant, trainer, and speaker. Table of Contents Before you begin An overview of Git and version control Getting oriented with Git Making and using a Git repository Using Git with a GUI Tracking and updating files in Git Committing parts of changes The time machine that is Git Taking a fork in the road Merging branches Cloning Collaborating with remotes Pushing your changes Keeping in sync Software archaeology Understanding git rebase Workflows and branching conventions Working with GitHub Third-party tools and Git Sharpening your Git


Version Control with Git

Version Control with Git

Author: Jon Loeliger

Publisher: "O'Reilly Media, Inc."

Published: 2012-08-14

Total Pages: 455

ISBN-13: 1449345042

DOWNLOAD EBOOK

Get up to speed on Git for tracking, branching, merging, and managing code revisions. Through a series of step-by-step tutorials, this practical guide takes you quickly from Git fundamentals to advanced techniques, and provides friendly yet rigorous advice for navigating the many functions of this open source version control system. This thoroughly revised edition also includes tips for manipulating trees, extended coverage of the reflog and stash, and a complete introduction to the GitHub repository. Git lets you manage code development in a virtually endless variety of ways, once you understand how to harness the system’s flexibility. This book shows you how. Learn how to use Git for several real-world development scenarios Gain insight into Git’s common-use cases, initial tasks, and basic functions Use the system for both centralized and distributed version control Learn how to manage merges, conflicts, patches, and diffs Apply advanced techniques such as rebasing, hooks, and ways to handle submodules Interact with Subversion (SVN) repositories—including SVN to Git conversions Navigate, use, and contribute to open source projects though GitHub


Building Enterprise JavaScript Applications

Building Enterprise JavaScript Applications

Author: Daniel Li

Publisher: Packt Publishing Ltd

Published: 2018-09-29

Total Pages: 752

ISBN-13: 1788472918

DOWNLOAD EBOOK

Strengthen your applications by adopting Test-Driven Development (TDD), the OpenAPI Specification, Continuous Integration (CI), and container orchestration. Key FeaturesCreate production-grade JavaScript applications from scratchBuild microservices and deploy them to a Docker container for scaling applicationsTest and deploy your code with confidence using Travis CIBook Description With the over-abundance of tools in the JavaScript ecosystem, it's easy to feel lost. Build tools, package managers, loaders, bundlers, linters, compilers, transpilers, typecheckers - how do you make sense of it all? In this book, we will build a simple API and React application from scratch. We begin by setting up our development environment using Git, yarn, Babel, and ESLint. Then, we will use Express, Elasticsearch and JSON Web Tokens (JWTs) to build a stateless API service. For the front-end, we will use React, Redux, and Webpack. A central theme in the book is maintaining code quality. As such, we will enforce a Test-Driven Development (TDD) process using Selenium, Cucumber, Mocha, Sinon, and Istanbul. As we progress through the book, the focus will shift towards automation and infrastructure. You will learn to work with Continuous Integration (CI) servers like Jenkins, deploying services inside Docker containers, and run them on Kubernetes. By following this book, you would gain the skills needed to build robust, production-ready applications. What you will learnPractice Test-Driven Development (TDD) throughout the entire bookUse Cucumber, Mocha and Selenium to write E2E, integration, unit and UI testsBuild stateless APIs using Express and ElasticsearchDocument your API using OpenAPI and SwaggerBuild and bundle front-end applications using React, Redux and WebpackContainerize services using DockerDeploying scalable microservices using KubernetesWho this book is for If you're a JavaScript developer looking to expand your skillset and become a senior JavaScript developer by building production-ready web applications, then this book is for you.


The Rust Programming Language (Covers Rust 2018)

The Rust Programming Language (Covers Rust 2018)

Author: Steve Klabnik

Publisher: No Starch Press

Published: 2019-09-03

Total Pages: 561

ISBN-13: 1718500459

DOWNLOAD EBOOK

The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018. The Rust Programming Language is the official book on Rust: an open source systems programming language that helps you write faster, more reliable software. Rust offers control over low-level details (such as memory usage) in combination with high-level ergonomics, eliminating the hassle traditionally associated with low-level languages. The authors of The Rust Programming Language, members of the Rust Core Team, share their knowledge and experience to show you how to take full advantage of Rust's features--from installation to creating robust and scalable programs. You'll begin with basics like creating functions, choosing data types, and binding variables and then move on to more advanced concepts, such as: Ownership and borrowing, lifetimes, and traits Using Rust's memory safety guarantees to build fast, safe programs Testing, error handling, and effective refactoring Generics, smart pointers, multithreading, trait objects, and advanced pattern matching Using Cargo, Rust's built-in package manager, to build, test, and document your code and manage dependencies How best to use Rust's advanced compiler with compiler-led programming techniques You'll find plenty of code examples throughout the book, as well as three chapters dedicated to building complete projects to test your learning: a number guessing game, a Rust implementation of a command line tool, and a multithreaded server. New to this edition: An extended section on Rust macros, an expanded chapter on modules, and appendixes on Rust development tools and editions.


Hands-on Scala Programming: Learn Scala in a Practical, Project-Based Way

Hands-on Scala Programming: Learn Scala in a Practical, Project-Based Way

Author: Haoyi Li

Publisher:

Published: 2020-07-11

Total Pages: 414

ISBN-13: 9789811456930

DOWNLOAD EBOOK

Hands-on Scala teaches you how to use the Scala programming language in a practical, project-based fashion. This book is designed to quickly teach an existing programmer everything needed to go from "hello world" to building production applications like interactive websites, parallel web crawlers, and distributed systems in Scala. In the process you will learn how to use the Scala language to solve challenging problems in an elegant and intuitive manner.


Exploring BeagleBone

Exploring BeagleBone

Author: Derek Molloy

Publisher: John Wiley & Sons

Published: 2014-12-31

Total Pages: 601

ISBN-13: 1118935128

DOWNLOAD EBOOK

In-depth instruction and practical techniques for building with the BeagleBone embedded Linux platform Exploring BeagleBone is a hands-on guide to bringing gadgets, gizmos, and robots to life using the popular BeagleBone embedded Linux platform. Comprehensive content and deep detail provide more than just a BeagleBone instruction manual—you’ll also learn the underlying engineering techniques that will allow you to create your own projects. The book begins with a foundational primer on essential skills, and then gradually moves into communication, control, and advanced applications using C/C++, allowing you to learn at your own pace. In addition, the book’s companion website features instructional videos, source code, discussion forums, and more, to ensure that you have everything you need. The BeagleBone’s small size, high performance, low cost, and extreme adaptability have made it a favorite development platform, and the Linux software base allows for complex yet flexible functionality. The BeagleBone has applications in smart buildings, robot control, environmental sensing, to name a few; and, expansion boards and peripherals dramatically increase the possibilities. Exploring BeagleBone provides a reader-friendly guide to the device, including a crash course in computer engineering. While following step by step, you can: Get up to speed on embedded Linux, electronics, and programming Master interfacing electronic circuits, buses and modules, with practical examples Explore the Internet-connected BeagleBone and the BeagleBone with a display Apply the BeagleBone to sensing applications, including video and sound Explore the BeagleBone’s Programmable Real-Time Controllers Hands-on learning helps ensure that your new skills stay with you, allowing you to design with electronics, modules, or peripherals even beyond the BeagleBone. Insightful guidance and online peer support help you transition from beginner to expert as you master the techniques presented in Exploring BeagleBone, the practical handbook for the popular computing platform.


bookdown

bookdown

Author: Yihui Xie

Publisher: CRC Press

Published: 2016-12-12

Total Pages: 140

ISBN-13: 1351792601

DOWNLOAD EBOOK

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


Programming Scala

Programming Scala

Author: Dean Wampler

Publisher: "O'Reilly Media, Inc."

Published: 2014-12-04

Total Pages: 498

ISBN-13: 1491950153

DOWNLOAD EBOOK

Get up to speed on Scala, the JVM language that offers all the benefits of a modern object model, functional programming, and an advanced type system. Packed with code examples, this comprehensive book shows you how to be productive with the language and ecosystem right away, and explains why Scala is ideal for today's highly scalable, data-centric applications that support concurrency and distribution. This second edition covers recent language features, with new chapters on pattern matching, comprehensions, and advanced functional programming. You’ll also learn about Scala’s command-line tools, third-party tools, libraries, and language-aware plugins for editors and IDEs. This book is ideal for beginning and advanced Scala developers alike. Program faster with Scala’s succinct and flexible syntax Dive into basic and advanced functional programming (FP) techniques Build killer big-data apps, using Scala’s functional combinators Use traits for mixin composition and pattern matching for data extraction Learn the sophisticated type system that combines FP and object-oriented programming concepts Explore Scala-specific concurrency tools, including Akka Understand how to develop rich domain-specific languages Learn good design techniques for building scalable and robust Scala applications


Mastering Ethereum

Mastering Ethereum

Author: Andreas M. Antonopoulos

Publisher: O'Reilly Media

Published: 2018-11-13

Total Pages: 424

ISBN-13: 1491971916

DOWNLOAD EBOOK

Ethereum represents the gateway to a worldwide, decentralized computing paradigm. This platform enables you to run decentralized applications (DApps) and smart contracts that have no central points of failure or control, integrate with a payment network, and operate on an open blockchain. With this practical guide, Andreas M. Antonopoulos and Gavin Wood provide everything you need to know about building smart contracts and DApps on Ethereum and other virtual-machine blockchains. Discover why IBM, Microsoft, NASDAQ, and hundreds of other organizations are experimenting with Ethereum. This essential guide shows you how to develop the skills necessary to be an innovator in this growing and exciting new industry. Run an Ethereum client, create and transmit basic transactions, and program smart contracts Learn the essentials of public key cryptography, hashes, and digital signatures Understand how "wallets" hold digital keys that control funds and smart contracts Interact with Ethereum clients programmatically using JavaScript libraries and Remote Procedure Call interfaces Learn security best practices, design patterns, and anti-patterns with real-world examples Create tokens that represent assets, shares, votes, or access control rights Build decentralized applications using multiple peer-to-peer (P2P) components