Dominic St-Pierre
go podcast()
15 minutes news, tips, and tricks on the Go programming language.
Where to listen?
Podcasts in the app Replaio Radio Coming soonPodcasts are coming to the app soon. Install now and be the first to see a whole new take on podcasts
Episodes
016: What I'd hope WASM brought to web dev 08.05.2023 22:45
I talk about what I'd love to see coming to web development. While WebAssembly can be used as an alternative to JavaScript, I believe we're not looking into the real problems related to building web application.
015: How do you put things in production? 27.03.2023 23:50
It has been a rough last 4 months for me and I finally get a chance to restart publishing episodes. In this episode I talk a bit about what I've seen so far as process / flow for deploing software in production. Going from the old days when I started as a junior software dev where we were pushing straight into prod to what I discovered at a big organization where putting something in production s...
014: We should contribute more to open source 23.12.2022 18:11
This is the last episode of 2022. Those are my thoughts about how I think we should try to help more as user of open source project and librairies. This episode content was inspired by the Gorilla Web Tool Kit archiving their Go projects. On that note, I'll be back with more Go content on January, and will try to keep my 1 episode per two weeks plan for 2023. Thank you!
013: Go's concurrency to the rescue 30.11.2022 14:54
Go's worker queue pattern: type WorderPool struct { queue chan int } func (wp *WorkerPool) start() { for i := 0; i < 500; i++ { go funcIO { for id := range wp.queue { doSomething(id) } }() } } func (wp *WorkerPool) add(id int) { wp.queue <- id } Go 1.20 errors. Join / multiple unwrap error My course: Build SaaS apps in Go Best way to show support for the p...
012: Concurrency isn't Go main selling point 16.11.2022 15:25
Let's talk about Go's concurrency. It's a powerful tool to have at your disposal but a hard one to master and use correctly. The tweet that inspired this episode, I thought it was a recent one though... Reach out on Twitter Build SaaS apps in Go If you want to support the pod the best way is to purchase my course (thanks).
011: Options where to deploy your Go servers 28.10.2022 27:22
At beginning I was deploying my Go servers to a DigitalOcean droplet. But for the last 3 years I'm enjoying Render , which listen to my git push and automatically deploy app for me in a blue-green deployment. If you enjoy my podcast have a look at the following: - Build SaaS apps in Go , my course on building web application in Go - StaticBackend , an open-source Go backend server API - @dominicst...
010: internal package gotchas 27.09.2022 14:34
I recently created an exportable Go package from StaticBackend, an open source backend API which was self-hosted. I ended up using the internal package way to heavily and this design decision bite me when I decided to create an exportable package. Now all things that needed to be expose that was in the internal package had to be refactored into their own packages. Links: StaticBackend repo Go pack...
009: Set variables at build time with -LDFLAGS 10.08.2022 15:27
Usage of -ldflags: go build -ldflags "-X main.varName=from_build" -o mycli Inside your code: var varName string func main() { fmt. Println(varName) // prints "from_build" } Here's what I'm using for StaticBackend -v flag: go build -ldflags \ "-X github.com/staticbackendhq/core/config. BuildTime=$(shell date +'%Y-%m-%d.%H:%M:%S') \ -X github.com/staticbackendhq/core/config. CommitHash=$(shell gi...
008: The day my Go service got csharpify 19.07.2022 19:08
If you'd like to join the dev of StaticBackend a Firebase alternative I'm building in Go you're welcome, there's a discord if you'd want to chat. https://github.com/staticbackendhq/core If you'd like to checkout my course called Build SaaS apps in Go or want to support this show, that's the best way. If you're on Twitter make sure to follow me: https://twitter.com/dominicstpierre
007: Is Go's database/sql verbosity that bad? 01.07.2022 27:16
sqlx: https://github.com/jmoiron/sqlx sqlboiler: https://github.com/volatiletech/sqlboiler If you're looking to learn how to build web API with Go, checkout my course on building SaaS in Go .
006: Build softwares that stand the test of time 25.04.2022 13:20
I've been maintaining 20 years old systems for a long time now. I've been working with legacy applications in .NET. To me Go has some great advantages built-in by design that should help in 10-15 years from now when the applications that are created today will be on maintenance mode.
005: Spring arriving, so is Go 1.18 and Generics 04.03.2022 15:22
What are you thinking about Generics? What about 3rd party libraries that will pop from everywhere once Go 1.18 launched? Personally, I'll appreciate what the std lib offers and will wait before writing generics code, making sure I really need it. I'm currently working on a free and open-source self-hosted Firebase alternative - if such things sound interesting, please join the Discord group and c...
004: Using interfaces for major refactor 17.02.2022 15:43
If you'd like to check the code, the PR is still active. StaticBackend repo: https://github.com/staticbackendhq/core My course on Building SaaS in go Share episode topic idea with me on Twitter @dominicstpierre
003: Pointers or !Pointers, stack, and heap 03.02.2022 17:10
We go over what are pointers and when to use or not use them. For instance, this is probably not a good use for pointers. func main() { var i int = 10 abc(&i) } func abc(i *int) { *i = 15 } In my opinion any dereferencing is probably bad. Better way: func main() { var i int = 10 i = abc(i) } func abc(i int) int { return 15 } I also try to give some basics info regarding the stack a...
002: Project structure & package name 20.01.2022 17:03
Don't stress too much about having the "proper" project structure to the point where you might over-engineer or be paralyzed by the thought of doing something wrong. It's just hard, and even 5+ years of Go experience will not ensure you're creating the optimal packages and structure. It's an art mixed with preferences that become a little easier with time but remain challenging. I wrote a getting...
001: Error handling in Go 10.01.2022 16:44
Wrapping error: fmt. Errorf("error trying to do X: %w", err) Package errors: https://pkg.go.dev/errors Example of not using the happy path at 1st indentation: try { if (user. HasAccessTo(Admin) { if (somethingElse()) { // happy path } else {} } else {} } catch(Exception ex) { // what really happened, and where? } An example of happy path in idiomatic Go: ok, error := ha...
Similar podcasts
Replaio is not a podcast publisher; show names, artwork and audio belong to their authors and are distributed through public RSS feeds.