Mastering Git

Mastering Git PDF Author: Jakub Narebski
Publisher: Packt Publishing Ltd
ISBN: 1783553766
Category : Computers
Languages : en
Pages : 418

Book Description
Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior, manipulate history, integrate external tools and explore platform shortcuts A detailed guide, which explains how to apply advanced Git techniques and workflows and ways to handle submodules Who This Book Is For If you are a Git user with reasonable knowledge of Git and familiarity with basic concepts such as branching, merging, staging, and workflows, this is the book for you. Basic knowledge of installing Git and software configuration management concepts is essential. What You Will Learn Explore project history, find revisions using different criteria, and filter and format how history looks Manage your working directory and staging area for commits and interactively create new revisions and amend them Set up repositories and branches for collaboration Submit your own contributions and integrate contributions from other developers via merging or rebasing Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Take up the administration and set up of Git repositories, configure access, find and recover from repository errors, and perform repository maintenance Chose a workflow and configure and set up support for the chosen workflow In Detail Git is one of the most popular types of Source Code Management (SCM) and Distributed Version Control System (DVCS). Despite the powerful and versatile nature of the tool enveloping strong support for nonlinear development and the ability to handle large projects efficiently, it is a complex tool and often regarded as “user-unfriendly”. Getting to know the ideas and concepts behind the architecture of Git will help you make full use of its power and understand its behavior. Learning the best practices and recommended workflows should help you to avoid problems and ensure trouble-free development. The book scope is meticulously designed to help you gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. Mastering Git starts with a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. Furthermore, as you progress through the book, the tutorials provide detailed descriptions of various areas of usage: from archaeology, through managing your own work, to working with other developers. This book also helps augment your understanding to examine and explore project history, create and manage your contributions, set up repositories and branches for collaboration in centralized and distributed version control, integrate work from other developers, customize and extend Git, and recover from repository errors. By exploring advanced Git practices, you will attain a deeper understanding of Git's behavior, allowing you to customize and extend existing recipes and write your own. Style and approach Step-by-step instructions and useful information make this book the ultimate guide to understanding and mastering Git. This book will show road to mastery example by example, while explaining mental model of Git. The Introduction section covers the 'Essentials' just for refreshing the basics. The main highlight is that the concepts are based on HOW the technology/framework works and not just practical 'WHAT to do'.

Mastering Git

Mastering Git PDF Author: Jakub Narebski
Publisher: Packt Publishing Ltd
ISBN: 1783553766
Category : Computers
Languages : en
Pages : 418

Book Description
Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior, manipulate history, integrate external tools and explore platform shortcuts A detailed guide, which explains how to apply advanced Git techniques and workflows and ways to handle submodules Who This Book Is For If you are a Git user with reasonable knowledge of Git and familiarity with basic concepts such as branching, merging, staging, and workflows, this is the book for you. Basic knowledge of installing Git and software configuration management concepts is essential. What You Will Learn Explore project history, find revisions using different criteria, and filter and format how history looks Manage your working directory and staging area for commits and interactively create new revisions and amend them Set up repositories and branches for collaboration Submit your own contributions and integrate contributions from other developers via merging or rebasing Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Take up the administration and set up of Git repositories, configure access, find and recover from repository errors, and perform repository maintenance Chose a workflow and configure and set up support for the chosen workflow In Detail Git is one of the most popular types of Source Code Management (SCM) and Distributed Version Control System (DVCS). Despite the powerful and versatile nature of the tool enveloping strong support for nonlinear development and the ability to handle large projects efficiently, it is a complex tool and often regarded as “user-unfriendly”. Getting to know the ideas and concepts behind the architecture of Git will help you make full use of its power and understand its behavior. Learning the best practices and recommended workflows should help you to avoid problems and ensure trouble-free development. The book scope is meticulously designed to help you gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. Mastering Git starts with a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. Furthermore, as you progress through the book, the tutorials provide detailed descriptions of various areas of usage: from archaeology, through managing your own work, to working with other developers. This book also helps augment your understanding to examine and explore project history, create and manage your contributions, set up repositories and branches for collaboration in centralized and distributed version control, integrate work from other developers, customize and extend Git, and recover from repository errors. By exploring advanced Git practices, you will attain a deeper understanding of Git's behavior, allowing you to customize and extend existing recipes and write your own. Style and approach Step-by-step instructions and useful information make this book the ultimate guide to understanding and mastering Git. This book will show road to mastery example by example, while explaining mental model of Git. The Introduction section covers the 'Essentials' just for refreshing the basics. The main highlight is that the concepts are based on HOW the technology/framework works and not just practical 'WHAT to do'.

Mastering Git

Mastering Git PDF Author: Sufyan bin Uzayr
Publisher: CRC Press
ISBN: 1000552896
Category : Computers
Languages : en
Pages : 254

Book Description
Mastering Git: A Beginner’s Guide introduces developers of all ages to the wonderful and useful world of Git. As far as software development is considered, the advent of Git has truly proven to be a milestone. If you are a software developer, you have probably already heard of Git. Its importance and functionality in the world of coding merits very high praise for a variety of reasons. Computers now have become very amenable machines. You can remove a significant section of the text from your work accidentally, but there is no need to panic. Simply use the Undo option and you’re good. This, however, was not the case in the early days of development. Back then, developers did not have access to any such technology, and it was only one person who used to own the master copy of a work. This person would divide the code into specific parts, which would subsequently be divided between developers, who would work on their part and make their completed submissions independent of each other. This was followed by a standard check, after which the old version was completely replaced by the new version. This was a very tedious process—unless someone had beenvery proactive with making copies of the code, the previous versions of a file were often effectively lost. Thankfully, a significant breakthrough came in 1972 when developer Marc Rochkind invented the Source Code Control System (SCCS), which was the very first form of Version Control System (VCS). It was limited in terms of its functionality, and could allow only one person to work on it at a time, while concurrent management had to be handled using locks. But we have come a long way since then. Today, Git is the single most-used VCS out there. Its influence on coding and development, in particular, the innovative use of "branches" in order to facilitate collaboration for projects, cannot be over-emphasized. Version Control has become an indispensable part of our lives, and being familiar with the functioning of Git is something employers deem highly important. Mastering Git will prove to be of tremendous help to developers of all spheres in learning Git and Version Control. This book offers information on a wide array of subjects pertaining to Git, and even briefly touches upon its history, advantages, and disadvantages. Mastering Git also offers tips on installation and different elements involved in its functioning, such as Repositories, Remotes, Aliases, Tagging, and Branches. Popular services and hosts for such Git projects as GitHub, GitLab, and Bitbucket are also discussed in detail. This book will prove to be a handy guide for both newbie learners and trained professionals. Learn more about our other Mastering titles at: https://www.routledge.com/Mastering-Computer-Science/book-series/MCS

Git: Mastering Version Control

Git: Mastering Version Control PDF Author: Ferdinando Santacroce
Publisher: Packt Publishing Ltd
ISBN: 1787122794
Category : Computers
Languages : en
Pages : 861

Book Description
Learn everything you need to take full control of your workflow with Git with this curated Learning Path – dive in and transform the way you work About This Book Master all the basic concepts of Git to protect your code and make it easier to evolve Filled with practical recipes that will teach you how to use the most advanced features of the Git system Harness the full power of the Git version control system to customize Git behavior, manipulate history, integrate external tools, and explore platform shortcuts Who This Book Is For This learning path is for software developers who want to become proficient at using the Git version control system. A basic understanding of any version control system would be beneficial. What You Will Learn Transport your work to a remote repository in a centralized manner Experiment with your code without affecting functional code files Explore some tools used to migrate to Git from other versioning systems without losing your development history Understand the Git data model and how you can navigate the database with simple commands Debug with Git and use various techniques to find faulty commits Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Master administering and setting up Git repositories, configuring access, finding and recovering from repository errors, and performing repository maintenance Chose a workflow and configure/set up support for the chosen workflow In Detail Git is one of the most popular types of Distributed Version Control System. Since its inception, it has attracted skilled developers due to its robust, powerful, and reliable features. Like most powerful tools, Git can be hard to approach for the newcomers. However, this learning path will help you overcome this fear and become adept at all the basic and advanced tasks in Git. This course starts with an introduction to version control systems before you 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'll also 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. As you progress on to the next module, you will learn how you can automate the usual Git processes by utilizing the hook system built into Git. It also covers advanced repository management, including different options to rewrite the history of a Git repository before you discover how you can work offline with Git, how to track what is going on behind the scenes, and how to use the stash for different purposes. Moving forward, you will gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. It gives a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. By exploring advanced Git practices, you will attain a deeper understanding of Git's behavior, allowing you to customize and extend existing recipes and write your own. This Learning Path is a blend of content, all packaged up keeping your journey in mind. It includes content from the following Packt products: Git Essentials, Ferdinando Santacroce Git Version Control Cookbook, Aske Olsson and Rasmus Voss Mastering Git, Jakub Narebski Style and approach Its step-by-step approach with useful information makes this course the ultimate guide to understanding and mastering Git. This course will show the road to mastery example by example, while also explaining the mental model of Git.

Mastering Puppet

Mastering Puppet PDF Author: Thomas Uphill
Publisher: Packt Publishing Ltd
ISBN: 1785882597
Category : Computers
Languages : en
Pages : 276

Book Description
Master Puppet for configuration management of your systems in an enterprise deployment About This Book This book is an advanced guide to using and deploying Puppet 4 in your organization with a special focus on issues faced in larger enterprise deployments From an experienced author, learn to deal with scaling, performance, and multiple developers with the help of real-world examples This is the most up-to-date guide on Puppet, and covers the advanced concepts of Puppet 4 Who This Book Is For This book is for those who have intermediate knowledge of Puppet and are looking to deploy it in their environment. Some idea how to write simple modules for configuration management with Puppet is a prerequisite for this book. What You Will Learn Scale out your Puppet infrastructure using proxying techniques Automate your code promotion workflow using Git and r10k Solve real-world problems using public modules from the Puppet Forge Use Hiera to separate the data of your configuration from the code of your configuration Write your own custom facts in Ruby Extend Puppet with your own custom facts, modules, and types Use exported resources to orchestrate change between machines Debug a puppetserver using Java techniques In Detail Puppet is a configuration management system and a language. It was written for and by system administrators to manage large numbers of systems efficiently and prevent configuration drifts. Mastering Puppet deals with the issues faced when scaling out Puppet to handle large numbers of nodes. It will show you how to fit Puppet into your enterprise and allow many developers to work on your Puppet code simultaneously. In addition, you will learn to write custom facts and roll your own modules to solve problems. Next, popular options for performing reporting and orchestration tasks will be introduced in this book. Moving over to troubleshooting techniques, which will be very useful. The concepts presented are useful to any size organization. By the end of the book, you will know how to deal with problems of scale and exceptions in your code, automate workflows, and support multiple developers working simultaneously. Style and approach This book is a step-wise guide packed with examples to help you configure complex systems in Puppet.

Mastering SaltStack

Mastering SaltStack PDF Author: Joseph Hall
Publisher: Packt Publishing Ltd
ISBN: 178646702X
Category : Computers
Languages : en
Pages : 378

Book Description
Take charge of SaltStack to automate and configure your enterprise-grade environments About This Book Automate tasks effectively and take charge of your infrastructure Effectively scale Salt to manage thousands of machines and tackle everyday problems Explore Salt's inner workings and advance your knowledge of it Who This Book Is For This book is ideal for IT professionals and ops engineers who already manage groups of servers, but would like to expand their knowledge and gain expertise with SaltStack. This book explains the advanced features and concepts of Salt. A basic knowledge of Salt is required in order to get to grips with advanced Salt features. What You Will Learn Automate tasks effectively, so that your infrastructure can run itself Start building more complex concepts Master user-level internals Build scaling strategies Explore monitoring strategies Learn how to troubleshoot Salt and its subcomponents Explore best practices for Salt In Detail SaltStack is a powerful configuration management and automation suite designed to manage servers and tens of thousands of nodes. This book showcases Salt as a very powerful automation framework. We will review the fundamental concepts to get you in the right frame of mind, and then explore Salt in much greater depth. You will explore Salt SSH as a powerful tool and take Salt Cloud to the next level. Next, you'll master using Salt services with ease in your infrastructure. You will discover methods and strategies to scale your infrastructure properly. You will also learn how to use Salt as a powerful monitoring tool. By the end of this book, you will have learned troubleshooting tips and best practices to make the entire process of using Salt pain-free and easy. Style and approach This book follows a step-by-step conversational tone. Topics are covered in detail through examples and a user-friendly approach.

Puppet: Mastering Infrastructure Automation

Puppet: Mastering Infrastructure Automation PDF Author: Felix Frank
Publisher: Packt Publishing Ltd
ISBN: 178839772X
Category : Computers
Languages : en
Pages : 796

Book Description
Start pulling the strings of your IT infrastructure effectively with Puppet – learn how to configure, customize and manage your systems more intelligently in an enterprise deployment. About This Book Step-by-step instructions to jump start your Puppet deployment and automate your IT configurations Design, implement, and deploy Puppet in your infrastructure and tackle everyday IT infrastructure challenges Gain expert understanding of Puppet's latest and most advanced features Who This Book Is For If you're an experienced IT professional and a new Puppet user, this course will provide you with all you need to know to go from installation to advanced automation. What You Will Learn Write and employ individual Puppet manifests Understand how Puppet implements system abstraction Use Puppet to manage network, cloud, and virtualization devices Manage and test the Puppet code workflow Tweak, hack, and adapt the Puppet extension points Use exported resources to orchestrate change between machines Debug a puppetserver using Java techniques In Detail Puppet is a configuration management tool that allows you to automate all your IT configurations, giving you control. It was written for and by system administrators to manage large numbers of systems efficiently and prevent configuration drifts. Puppet gives you control of what you do to each node, when you do it, and how you do it.This Learning Path will take you from the basics of Puppet to extending it and then mastering it. We will start off with a primer on Puppet, its installation and get a sneak peek under its hood. We will then move on to designing and deploying your Puppet architecture, learning best practices for writing reusable and maintainable code, and executing, testing, and deploying Puppet across your systems. Finally, we will deal with problems of scale and exceptions in your code, automate workflows, and support multiple developers working simultaneously.This course is based on the following books: Puppet 4 Essentials - Second Edition Extending Puppet - Second Edition Mastering Puppet - Second Edition Style and approach This learning path follows a practical approach, starting from the basic commands to advanced aspects. Through a series of examples you will learn the most important skills essential to manage your IT infrastructure effectively.

Mastering Go

Mastering Go PDF Author: Mihalis Tsoukalos
Publisher: Packt Publishing Ltd
ISBN: 1838555323
Category : Computers
Languages : en
Pages : 798

Book Description
Publisher's Note: This edition from 2019 is outdated and is not compatible with the latest version of Go. A new third edition, updated for 2021 and featuring the latest in Go programming, has now been published. Key Features • Second edition of the bestselling guide to advanced Go programming, expanded to cover machine learning, more Go packages and a range of modern development techniques • Completes the Go developer’s education with real-world guides to building high-performance production systems • Packed with practical examples and patterns to apply to your own development work • Clearly explains Go nuances and features to remove the frustration from Go development Book Description Often referred to (incorrectly) as Golang, Go is the high-performance systems language of the future. Mastering Go, Second Edition helps you become a productive expert Go programmer, building and improving on the groundbreaking first edition. Mastering Go, Second Edition shows how to put Go to work on real production systems. For programmers who already know the Go language basics, this book provides examples, patterns, and clear explanations to help you deeply understand Go’s capabilities and apply them in your programming work. The book covers the nuances of Go, with in-depth guides on types and structures, packages, concurrency, network programming, compiler design, optimization, and more. Each chapter ends with exercises and resources to fully embed your new knowledge. This second edition includes a completely new chapter on machine learning in Go, guiding you from the foundation statistics techniques through simple regression and clustering to classification, neural networks, and anomaly detection. Other chapters are expanded to cover using Go with Docker and Kubernetes, Git, WebAssembly, JSON, and more. If you take the Go programming language seriously, the second edition of this book is an essential guide on expert techniques. What you will learn • Clear guidance on using Go for production systems • Detailed explanations of how Go internals work, the design choices behind the language, and how to optimize your Go code • A full guide to all Go data types, composite types, and data structures • Master packages, reflection, and interfaces for effective Go programming • Build high-performance systems networking code, including server and client-side applications • Interface with other systems using WebAssembly, JSON, and gRPC • Write reliable, high-performance concurrent code • Build machine learning systems in Go, from simple statistical regression to complex neural networks Who this book is for Mastering Go, Second Edition is for Go programmers who already know the language basics, and want to become expert Go practitioners. Table of Contents • Go and the Operating System • Understanding Go Internals • Working with Basic Go Data Types • The Uses of Composite Types • How to Enhance Go Code with Data Structures • What You Might Not Know About Go Packages and functions • Reflection and Interfaces for All Seasons • Telling a Unix System What to Do • Concurrency in Go: Goroutines, Channels, and Pipelines • Concurrency in Go: Advanced Topics • Code Testing, Optimization, and Profiling • The Foundations of Network Programming in Go • Network Programming: Building Your Own Servers and Clients • Machine Learning in Go Review "Mastering Go - Second Edition is a must-read for developers wanting to expand their knowledge of the language or wanting to pick it up from scratch" -- Alex Ellis - Founder of OpenFaaS Ltd, CNCF Ambassador

Mastering Ubuntu Server

Mastering Ubuntu Server PDF Author: Jay LaCroix
Publisher: Packt Publishing Ltd
ISBN: 1800568053
Category : Computers
Languages : en
Pages : 702

Book Description
This is the third edition of the bestselling one-stop resource for sysadmins and DevOps professionals to learn, configure and use Ubuntu 20.04 for their day-to-day operations and deployments. Key FeaturesA hands-on book that will teach you how to deploy, maintain and troubleshoot Ubuntu ServerLearn to leverage the improved performance and security-related aspects of Ubuntu Server 20.04 LTSNew chapters dedicated to exploring Ubuntu for cloudBook Description Ubuntu Server has taken data centers around the world by storm. Whether you're deploying Ubuntu for a large-scale project or for a small office, it is a stable, customizable, and powerful Linux distribution with innovative and cutting-edge features. For both simple and complex server deployments, Ubuntu's flexible nature can be easily adapted to meet to the needs of your organization. This third edition is updated to cover the advancements of Ubuntu 20.04 LTS and further train you to understand how to use Ubuntu Server, from initial deployment to creating production-ready resources for your network. The book begins with the concepts of user management, group management, and file system permissions. Continuing into managing storage volumes, you will learn how to format storage devices, utilize logical volume management, and monitor disk usage. Later, you will learn how to virtualize hosts and applications, which will include setting up QEMU & KVM, as well as containerization with both Docker and LXD. As the book continues, you will learn how to automate configuration with Ansible, as well as take a look at writing scripts. Lastly, you will explore best practices and troubleshooting techniques when working with Ubuntu Server that are applicable to real-world scenarios. By the end of this Ubuntu Server book, you will be well-versed in Ubuntu server’s advanced concepts and attain the required proficiency needed for Ubuntu Server administration. What you will learnManage users, groups, and permissionsOptimize the performance of system resourcesPerform disk encryption and decryption with Linux Unified Key Setup (LUKS)Set up Secure Shell (SSH) for remote access, and connect it to other nodesShare directories using Samba and Network File System (NFS)Get familiar with scripting to improve command-line efficiencyConfigure VMs, containers, and orchestrate with MicroK8s and KubernetesAutomate server deployments with Ansible and cloud server deployments with TerraformWho this book is for The book is written to cater to sysadmins and DevOps professionals whose teams are planning to employ an Ubuntu/Linux environment for their development needs. Prior knowledge of Ubuntu is not required. However, it is assumed that you possess some IT admin, Linux, and shell scripting experience.

Mastering Puppet 5

Mastering Puppet 5 PDF Author: Ryan Russell-Yates
Publisher: Packt Publishing Ltd
ISBN: 1788833325
Category : Computers
Languages : en
Pages : 292

Book Description
Leverage Puppet 5 for medium to large scale enterprise deployment. Key Features Use and deploy Puppet 5, irrespective the size of your organization Scaling, performance improvements, and managing multiple developer requests Troubleshooting techniques, tips and tricks to make the most of Puppet 5 Book Description Puppet is a configuration management system and a language written for and by system administrators to manage a large number of systems efficiently and prevent configuration drift. The core topics this book addresses are Puppet's latest features and mastering Puppet Enterprise. You will begin by writing a new Puppet module, gaining an understanding of the guidelines and style of the Puppet community. Following on from this, you will take advantage of the roles and profiles pattern, and you will learn how to structure your code. Next, you will learn how to extend Puppet and write custom facts, functions, types, and providers in Ruby, and also use the new features of Hiera 5. You will also learn how to configure the new Code Manager component, and how to ensure code is automatically deployed to (multiple) Puppet servers. Next, you will learn how to integrate Puppet with Jenkins and Git to build an effective workflow for multiple teams, and use the new Puppet Tasks feature and the latest Puppet Orchestrator language extensions. Finally, you will learn how to scale and troubleshoot Puppet. By the end of the book, you will be able to deal with problems of scale and exceptions in your code, automate workflows, and support multiple developers working simultaneously. What you will learn Solve problems using modules and the roles and profiles pattern Extend Puppet with custom facts, functions, types, and providers Use Hiera 5 and Code Manager/r10k to separate code from data Continuously integrate your code using Jenkins, Git and automated testing Use exported resources and the new Puppet Orchestration features Explore Puppet Discovery features and their use Troubleshoot various parts of the Puppet Enterprise infrastructure Scale up and scale out Puppet infrastructure using various techniques Who this book is for If you are a system administrator or developer who has used Puppet in production and are looking for ways to easily use Puppet in an enterprise environment, this book is for you. Some knowledge of writing simple configuration management modules would be necessary.

Mastering OpenCV 4 with Python

Mastering OpenCV 4 with Python PDF Author: Alberto Fernández Villán
Publisher: Packt Publishing Ltd
ISBN: 1789349753
Category : Computers
Languages : en
Pages : 532

Book Description
Create advanced applications with Python and OpenCV, exploring the potential of facial recognition, machine learning, deep learning, web computing and augmented reality. Key Features Develop your computer vision skills by mastering algorithms in Open Source Computer Vision 4 (OpenCV 4) and Python Apply machine learning and deep learning techniques with TensorFlow and Keras Discover the modern design patterns you should avoid when developing efficient computer vision applications Book Description OpenCV is considered to be one of the best open source computer vision and machine learning software libraries. It helps developers build complete projects in relation to image processing, motion detection, or image segmentation, among many others. OpenCV for Python enables you to run computer vision algorithms smoothly in real time, combining the best of the OpenCV C++ API and the Python language. In this book, you'll get started by setting up OpenCV and delving into the key concepts of computer vision. You'll then proceed to study more advanced concepts and discover the full potential of OpenCV. The book will also introduce you to the creation of advanced applications using Python and OpenCV, enabling you to develop applications that include facial recognition, target tracking, or augmented reality. Next, you'll learn machine learning techniques and concepts, understand how to apply them in real-world examples, and also explore their benefits, including real-time data production and faster data processing. You'll also discover how to translate the functionality provided by OpenCV into optimized application code projects using Python bindings. Toward the concluding chapters, you'll explore the application of artificial intelligence and deep learning techniques using the popular Python libraries TensorFlow, and Keras. By the end of this book, you'll be able to develop advanced computer vision applications to meet your customers' demands. What you will learn Handle files and images, and explore various image processing techniques Explore image transformations, including translation, resizing, and cropping Gain insights into building histograms Brush up on contour detection, filtering, and drawing Work with Augmented Reality to build marker-based and markerless applications Work with the main machine learning algorithms in OpenCV Explore the deep learning Python libraries and OpenCV deep learning capabilities Create computer vision and deep learning web applications Who this book is for This book is designed for computer vision developers, engineers, and researchers who want to develop modern computer vision applications. Basic experience of OpenCV and Python programming is a must.