התחל במצב לא מקוון עם האפליקציה Player FM !
פודקאסטים ששווה להאזין
בחסות


Crawl, walk & run your way to usable CLIs in Go
Manage episode 449878879 series 3341962
With the number of libraries available to Go developers these days, you’d think building a CLI app was now a trivial matter. But like many things in software development, it depends. In this episode, we explore the challenges that arose during one team’s journey towards a production-ready CLI.
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
- Fly.io – The home of Changelog.com — Deploy your apps close to your users — global Anycast load-balancing, zero-configuration private networking, hardware isolation, and instant WireGuard VPN connections. Push-button deployments that scale to thousands of instances. Check out the speedrun to get started in minutes.
- JetBrains – Sign up for the free “Mastering Go with GoLand” course and receive a complimentary 1-year GoLand subscription at bytesizego.com/goland
- Retool – The low-code platform for developers to build internal tools — Some of the best teams out there trust Retool…Brex, Coinbase, Plaid, Doordash, LegalGenius, Amazon, Allbirds, Peloton, and so many more – the developers at these teams trust Retool as the platform to build their internal tools. Try it free at retool.com/changelog
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
פרקים
1. It's Go Time! (00:00:00)
2. Sponsor: Fly (00:00:47)
3. Intro (00:03:16)
4. Setting out to build (00:06:08)
5. Network calls (00:14:08)
6. Sponsor: JetBrains (00:21:17)
7. Versioning (00:24:28)
8. Next step (00:26:21)
9. CLI (00:29:58)
10. From Ruby to Go (00:37:03)
11. Words of wisdom (00:41:53)
12. Sponsor: Retool (00:45:13)
13. Unpopular Opinions! (00:46:57)
14. Wesley's first unpop (00:47:31)
15. Wesley's second unpop (00:53:02)
16. Outro (00:56:37)
347 פרקים
Manage episode 449878879 series 3341962
With the number of libraries available to Go developers these days, you’d think building a CLI app was now a trivial matter. But like many things in software development, it depends. In this episode, we explore the challenges that arose during one team’s journey towards a production-ready CLI.
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
- Fly.io – The home of Changelog.com — Deploy your apps close to your users — global Anycast load-balancing, zero-configuration private networking, hardware isolation, and instant WireGuard VPN connections. Push-button deployments that scale to thousands of instances. Check out the speedrun to get started in minutes.
- JetBrains – Sign up for the free “Mastering Go with GoLand” course and receive a complimentary 1-year GoLand subscription at bytesizego.com/goland
- Retool – The low-code platform for developers to build internal tools — Some of the best teams out there trust Retool…Brex, Coinbase, Plaid, Doordash, LegalGenius, Amazon, Allbirds, Peloton, and so many more – the developers at these teams trust Retool as the platform to build their internal tools. Try it free at retool.com/changelog
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
פרקים
1. It's Go Time! (00:00:00)
2. Sponsor: Fly (00:00:47)
3. Intro (00:03:16)
4. Setting out to build (00:06:08)
5. Network calls (00:14:08)
6. Sponsor: JetBrains (00:21:17)
7. Versioning (00:24:28)
8. Next step (00:26:21)
9. CLI (00:29:58)
10. From Ruby to Go (00:37:03)
11. Words of wisdom (00:41:53)
12. Sponsor: Retool (00:45:13)
13. Unpopular Opinions! (00:46:57)
14. Wesley's first unpop (00:47:31)
15. Wesley's second unpop (00:53:02)
16. Outro (00:56:37)
347 פרקים
כל הפרקים
×
1 Crawl, walk & run your way to usable CLIs in Go 57:47

1 Russ Cox on passing the torch 1:09:27

1 "Founder Mode" at work when you're not a founder 56:20

1 How I lost my (old) job to AI 1:18:24


1 Aha moments reading Go's source: Part 2 48:24

1 Aha moments reading Go's source: Part 1 46:36

1 How Mat writes HTTP services in Go 1:11:07

1 Dependencies are dangerous 1:03:37

1 Gophers Say! GopherCon EU Berlin 2024 41:00

1 Is Go evolving in the wrong direction? 1:13:49

1 How things get done on the Go Team 1:03:12

1 Your ultimate guide to mastering Go 1:02:53


1 What if Google lays off the Go team? 1:12:46


1 What's new in Go's cryptography libraries: Part 3 1:07:59

1 Local cert management for mere mortals 47:46




1 Questions from a new Go developer 1:09:45

1 Jumping into an existing codebase 1:27:19

1 How long until I lose my job to AI? 1:16:18

1 Creating art & visualizations with Go 58:44

1 Foundations of Go performance 1:00:06

1 Gophers Say! GopherCon EU Athens 2024 28:47





1 What's new in Go's cryptography libraries: Part 2 1:11:38

1 Event-driven systems & architecture 1:05:24


1 What's new in Go's cryptography libraries: Part 1 58:31

1 The se7en deadly sins of Go 1:15:20

1 Experiences from GopherCon 2023 1:16:34





1 A deep dive into Go's stack 1:12:51

1 Building world-class developer experiences 1:20:20

1 So do we like Generics or not? 1:28:21




1 K8s vs serverless for distributed systems 47:22




1 The files & folders of Go projects 1:04:17


1 HallwayConf! A new style of conference 1:15:21



1 Domain-driven design with Go 1:11:54

1 The biggest job interview of GPT-4's life 1:07:15

1 Cross-platform graphical user interfaces 1:08:39


1 The bits of Go we avoid (and why) 1:00:24

1 This will blow your docs off 1:14:59






1 How Go helped save HealthCare.gov ♻️ 59:27

1 A special New Year's fireside chat 58:43




1 How Pinterest delivers software at scale 54:25




1 Spooky stories to scare devs 👻 1:00:03




1 Functional programming with generics? 53:38

1 Engineering interview tips & tricks 1:01:27






1 The pain of dependency management 44:43

1 Gophers Say! GopherCon EU Edition 40:33







1 Observability in the wild: strategies that work 58:18


1 The myth of incremental progress 1:12:13



1 What to do when projects get big and messy 1:05:39




1 Go code organization best practices 1:00:46

1 Answering questions for the Go-curious 1:01:15

1 How can we prevent legacy from creeping in? 1:17:18

1 Making the command line glamorous 1:30:04

















1 Eventually consistent (managing data at scale) 1:06:41


1 Discussing Go's annual developer survey 1:13:12





1 Go on hardware: TinyGo in the wild 1:09:31

1 The little known team that keeps Go going 1:05:44


1 Building actually maintainable software 1:11:53

1 To build, or to buy, that is the question 1:08:49

1 Don't forget about memory management 58:58


1 Data streaming and Benthos 1:04:10


1 How to make mistakes in Go 1:03:01

1 Do devs need a product manager? 1:11:43


1 Fuzzing in the standard library 1:01:01






1 Building for Ethereum in Go 1:03:36

1 Are frameworks getting an Encore? 1:06:15


1 What makes wonderful workshops? 1:07:16



1 The ultimate guide to crafting your GopherCon proposal 1:24:10

1 Trials and tribulations of testing in Go 1:12:41

1 Releasing with (and without) GoReleaser 1:04:15



1 Talkin' 'bout code generation 1:30:58


1 Indecent (language) Proposals: Part 2 1:14:28

1 The art of reading the docs 1:15:50

1 Indecent (language) Proposals: Part 1 1:03:20



1 CUE: Configuration superpowers for everyone 1:00:16



1 Go in other spoken languages 1:12:04

1 What to expect when you’re NOT expecting 52:06

1 The engineer who changed the game 34:32


1 The secret life of gophers 1:04:07

1 When distributed systems Go wrong 1:09:31

1 What would you remove from Go? 1:12:00

1 How Go helped save HealthCare.gov 1:07:58



1 Introducing your team to Go 1:07:26


1 There's a lot to learn about teaching Go 1:16:18

1 The one with Brad Fitzpatrick 1:06:45

1 The trouble with databases 1:05:25


1 Challenges of distributed messaging systems 1:18:55




1 The monolith vs microservices debate 1:09:25

1 Organizing for the community 1:15:00






1 On the verge of new AI possibilities 59:16

ברוכים הבאים אל Player FM!
Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.