Skip to main content

The Art of Command Line Interfaces

5h 51m 42s
English
Paid

Course description

No one has put more effort into studying, describing, and explaining the principles of creating high-quality command-line interface (CLI) applications in Go than the author of this course, Marian. Go is not just about HTTP servers, and Marian demonstrates this like no one else. She is the author of the bestseller *Building Modern CLI Applications with Go* (available on Amazon) and has spoken twice at Gophercon, where she shared her deep experience in developing elegant and idiomatic CLI applications in Go.

Read more about the course

Now, for the first time, Marian is ready to share all her accumulated experience in the format of a video course.

  • Over 5 hours of material.
  • No CLI experience required: the training starts with the basics and progresses to advanced topics. Only programming experience in Go is needed.
  • Step-by-step practical assignments at each stage.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 40 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome to the course!

All Course Lessons (40)

#Lesson TitleDurationAccess
1
Welcome to the course! Demo
00:43
2
Introduction
02:48
3
Creating a Simple CLI
04:58
4
Adding a Logger
07:26
5
Adding silent & verbose flags
11:39
6
Intro to flag.Parse()
01:03
7
Handling a list of URLs
06:42
8
Customizing help output
06:38
9
Exercise Walkthrough
09:29
10
Introduction
02:24
11
Setting up a new structured logger
15:33
12
Adding Check & Monitor Commands
17:11
13
Adding Command Hooks
02:48
14
Using the Context to Manage Global Cancellation
11:52
15
Creating a Version Command
08:19
16
Exercise Solution
17:53
17
Introduction to Testing CLI Applications
05:37
18
Writing Unit Tests
09:11
19
Mocking HTTP Calls
19:45
20
Using ExecuteC to test Cobra Commands
13:11
21
Exercise Solution
07:15
22
New output flag - JSON, Text, Table output (tablewriter)
14:21
23
Use spinner bar for a single URL check
04:44
24
Create a monitoring table showing the url, and the status with dynamic updates
03:57
25
Add color for up/down statuses
02:55
26
Adding Auto Complete
05:59
27
Exercise Solution
03:10
28
Introduction
04:10
29
Creating Custom Errors
03:27
30
Advanced logging techniques - log rotation and more!
15:03
31
Graceful Errors & Interactivity
06:38
32
Exercise Solution
12:11
33
Release Automation
03:19
34
Containerizing with Docker
10:00
35
Initial Automated Cross-Compilation Workflow with GoReleaser and Github actions
16:03
36
Automated Homebrew distribution
09:11
37
Automated Chocolatey distribution
19:18
38
Automated Docker distribution
08:16
39
Automated RPM and Deb files
08:39
40
Exercise Solution
17:56

Unlock unlimited learning

Get instant access to all 39 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Golang (Go) Concurrency: Hands-On Guide

Golang (Go) Concurrency: Hands-On Guide

Sources: udemy
Unlock the potential of parallel programming in Go with this practical guide. This course is designed for intermediate and advanced level developers...
2 hours 9 minutes 27 seconds
Ultimate Service 2.0

Ultimate Service 2.0

Sources: ardanlabs.com
The Ultimate Service class is for Go developers who wish to learn how to build production ready & well tested web services in Go. It provides an intensive, comp
14 hours 7 minutes 18 seconds
Beyond Effective Go: Part 1 - Achieving High-Performance Code

Beyond Effective Go: Part 1 - Achieving High-Performance Code

Sources: Corey Scott
Delve into the world of Go and create fast, reliable code with the book series Beyond Effective Go. Tips and techniques for experienced developers.
Web Authentication, Encryption, JWT, HMAC, & OAuth With Go

Web Authentication, Encryption, JWT, HMAC, & OAuth With Go

Sources: udemy
An Intermediate Level Course for the Go Programming Language covering Web Authentication, Encryption, JWT, HMAC, & OAuth. Google's Go Programming Language is one of the fastest ...
14 hours 3 minutes 23 seconds
Build Your Own Database in Go From Scratch

Build Your Own Database in Go From Scratch

Sources: James Smith
Learn databases from scratch, creating your own, in small steps and with simple code in Go (language-neutral). Atomicity and durability. The database...