---
title: "How one veteran Go developer writes Go HTTP services"
publication: "Go Weekly"
issue: 210
published_at: "2018-05-10"
canonical_url: "https://golangweekly.com/issues/210"
---

The latest Golang development news       

#210 — May 10, 2018 

[Read on the Web](https://golangweekly.com/issues/210)   

Golang Weekly   

▶[Go with Versions](https://www.youtube.com/watch?v=F8nrpe0XWRg) — At GopherCon Singapore, core team member Russ Cox talked about vgo and the ideas and tooling around bringing package versioning to Go. _(We [recently](https://golangweekly.com/issues/208) erroneously claimed the vgo proposal had been marked as accepted, though in reality it’s merely_ ready _to be accepted_.) 

Russ Cox   

[How I Write Go HTTP Services After Seven Years](https://medium.com/@matryer/how-i-write-go-http-services-after-seven-years-37c208122831) — A veteran Go developer shares his expertise and preferences. As you might imagine, the approach is simple and geared toward testability and maintainability. 

Mat Ryer   [![\](https://copm.s3.amazonaws.com/9660e246.png)](https://resources.codeship.com/ebooks/refactoring-monoliths-aw?utm_source=email-sponsorship&utm_medium=cpc-go-weekly-primary&utm_campaign=refactoring-monolith) 

[eBook: How to Refactor a Monolithic Codebase Over Time](https://resources.codeship.com/ebooks/refactoring-monoliths-aw?utm_source=email-sponsorship&utm_medium=cpc-go-weekly-primary&utm_campaign=refactoring-monolith) — Learn how to refactor your monolith, the main questions you should ask yourself when refactoring a monolith, and the key principles to cleaning up a complex codebase. 

Codeship sponsor   

[go-sdl2 0.3: SDL2 Bindings for Go](https://github.com/veandco/go-sdl2/releases/tag/v0.3) — SDL2 is a cross-platform library that makes it easy to work with ‘multimedia hardware’ such as video, audio, and input devices. [Example code](https://github.com/veandco/go-sdl2#examples). 

Ve and Co   

[Building a Mobile Frontend for a Go App with Flutter](https://sites.google.com/a/athaydes.com/renato-athaydes/posts/buildingamobilefrontendforagoapplicationusingflutter) — You can use [gomobile](https://godoc.org/golang.org/x/mobile/cmd/gomobile) to generate bindings and call Go code from iOS and Android Flutter apps once you understand some of the gotchas. 

Renato Athaydes   

[Canvas: Use the HTML5 Canvas API to Draw from Go](https://github.com/tfriedel6/canvas) — An OpenGL and SDL-powered library that lets you produce graphics in a similar style to that with the HTML5 Canvas API but with no Web views needed. A work in progress. 

Thomas Friedel   

[Debugging Latency in Go 1.11](https://medium.com/observability/debugging-latency-in-go-1-11-9f97a7910d68) — Go 1.11 will add some new features that make distributed tracing a bit easier and, in some cases, automatic. 

Observability+   

[How Twilio Improves 'Mean Time To Discovery'](https://rollbar.com/customers/twilio/?utm_source=email-nl&utm_medium=email-nl&utm_campaign=email-nl) 

ROLLBAR sponsor   

▶[Understanding Running Go Programs through Profiling](https://www.youtube.com/watch?v=FJQjUueBJ2A) 

Hana Kim  

💻 Jobs  

[Site Reliability / Operations Engineer (f/m)](https://fraugster.com/jobs/berlin-devops) — With our unique distributed systems and a high uptime requirement, we offer an exciting technical environment to work in. 

Fraugster   

[Go Expert? Sign Up for Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-golangweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-24217) — Top companies use Vettery to find the best tech talent. Create your profile to get started. 

Vettery  

📘 Tutorials  

[Protecting API Access with JWT](https://scene-si.org/2018/05/08/protecting-api-access-with-jwt/) — A Go example of using JSON Web Tokens (JWT) for API authentication. 

Tit Petric   

[Reflection in Go Made Simple](https://golangbot.com/reflection/) — Reflection allows you to inspect variables and values at runtime and Go’s `reflect` package provides the tools. 

Naveen Ramanathan   

[Deploy a Swarm Cluster with Alexa using Serverless Go Functions](https://hackernoon.com/deploy-a-swarm-cluster-with-alexa-ae5fa8b8dffa) 

Mohamed Labouardy   

[2-Day Training Workshops in San Jose June 11-12](https://oreil.ly/2FIdVDU) 

O’Reilly Fluent Conference sponsor   

[Rolling a Basic Go Microservice with MongoDB and Docker Multi-Stage Builds](https://www.melvinvivas.com/my-first-go-microservice/) 

Melvin Vivas   

[Getting Started with GridDB’s Go Client](https://griddb.net/en/blog/getting-started-with-griddbs-golang-client/) — [GridDB](https://github.com/griddb/griddb_nosql) is an in-memory NoSQL database for IoT. 

Joshua Pascascio  

🔧 Tools & Code  

[Detecting Licenses in Code with Go and Fuzzy Matching](https://blog.sourced.tech/post/gld/) — Detecting the license of open source projects is harder than you’d think, so source{d} created [go-license-detector](https://github.com/src-d/go-license-detector). 

Vadim Markovtsev   

[Kubeless Now Supports Go Functions](https://medium.com/bitnami-perspectives/introducing-golang-functions-to-kubeless-a9a9e4f0cab1) — Kubeless is a Kubernetes-native serverless framework. 

Andres Martinez   

[DigitalOcean’s High-Performance Platform—Without the Billing Surprises](https://try.digitalocean.com/performance/?utm_source=paid_newsletter+golang+weekly&utm_medium=display&utm_campaign=2018_Brand&utm_content=5-10-2018+golang+weekly+cooperpress) — Build better web apps faster with industry leading price-performance and predictable costs from DigitalOcean. 

DigitalOcean sponsor   

[Bow: Minimal Embedded Database Powered by BadgerDB](https://github.com/zippoxer/bow) — If an external database is overkill for your project, Bow may be a good fit. 

Moshe Revah   

[jackal: An XMPP Server Written in Go](https://github.com/ortuman/jackal) 

Miguel Ángel Ortuño   

[Onelog: A Simple, Fast, Zero Allocation Logger](https://github.com/francoispqt/onelog) 

Francois Parquet   

[recaptcha: Go Wrapper for Google reCAPTCHA](https://github.com/romanyx/recaptcha) 

Roman Budnikov   

[SlackArchive: An Archival Tool for Slack Teams](https://github.com/dutchcoders/slackarchive) 

Remco Verhoef and Kaspars Sprogis         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc) 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
