The Art of Command Line Interfaces
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
All Course Lessons (40)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 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 subscriptionComments
0 commentsWant to join the conversation?
Sign in to commentSimilar courses
Go (Golang) Programming The Complete Go Bootcamp 2023
Introduction to industry REST microservices in Golang (Go)
Go: The Complete Developer's Guide (Golang)