Mat is joined by Peter Bourgon, Kat Zie?, and Ben Johnson to talk about application design in Go — principles, trade-offs, common mistakes, patterns, and the things you should consider when it comes to application design.
Discuss on Changelog News
Sponsors
KubeCon + CloudNativeCon – The Cloud Native Computing Foundation’s flagship Kubernetes community conference which gathers adopters and technologists from leading open source and cloud native communities. Learn more and register — get 10% off with the code KCNACHANGELOG19 Feel free to use the Convince Your Boss letter in part or in full so you can your team can attend.
TeamCity by JetBrains – Build and release your software faster with TeamCity — a self-hosted continuous integration and delivery server developed by JetBrains. TeamCity is super-smart at running incremental builds, reusing artifacts, and building only what needs to be built, which can save over 30% of the daily build time. Learn more at teamcity.com/gotime.
Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring
Peter Bourgon – Twitter, GitHub
Ben Johnson – Twitter, GitHub, Website
Kat Zie? – Twitter, GitHub, Website
Mat Ryer – Twitter, GitHub, LinkedIn, Website
Notes and Links
Standard Package Layout
Context matters on how you lay out your project
We need an it depends Gopher in Gopher slack
Standard Go Project Layout ~> golang-standards/project-layout
xkcd on Stadards
Latency numbers every programmer should know
Write code that is easy to delete, not easy to extend.
Modern software over-engineering mistakes
Rethinking classical concurrency patterns by Bryan C. Mills @ GopherCon 2018
Microservices in Go by Matt Heath @ GOTO 2016
Comments