Master the World of Go - Issue #27
Tags: go, programming, grpc, backend
Published: 2018-11-05 13:48:34

---
title: Master the World of Go - Issue #27
published: yes
description: Master the World of Go. Each week Maarten Bezemer serves the nicest Gophers’ content about the theories, trending topics and tools.
tags: golang, go, programming, grpc, backend
---
<img src="https://thepracticaldev.s3.amazonaws.com/i/rq3j37o29rm3ouebdy2o.jpg" />
<table align="center" border="0" cellpadding="1" cellspacing="1" style="width: 600px;">
                <tbody>
                               <tr>
                                               <td bgcolor="#FAB200"><p><strong><i><a href="https://www.getrevue.co/profile/golang" target="_blank" rel="nofollow noopener noopener noopener noopener nofollow noopener" data-href="https://www.getrevue.co/profile/golang">Subscribe for this newsletter</a>. No ads and advertorials, because one should not profit from other people's content.</strong></i></p></td>
</tr>
</tbody>
</table>
<h3><strong>Master the World of Go. Each week Maarten Bezemer serves the nicest Gophers’ content about the theories, trending topics and tools.</strong></p>
<p><a href="https://github.com/veger">Maarten</a> uses Go to build the back-end of developer platform <a href="https://www.jexia.com/">Jexia</a>. Are you an advanced user? Stay ahead with his <a href="https://www.getrevue.co/profile/golang-jexia">Golang Ninja Newsletter</a>.</p></h3>
<hr />
<h2>Golang fundamentals</h2>
<p><strong><a href="https://blog.myitcv.io/gopherjs_examples_sites/present/?hideAddressBar=true&amp;url=https%3A%2F%2Fraw.githubusercontent.com%2Fmvdan%2Ftalks%2Fmaster%2F2018%2Fgo1.12-pre.slide&amp;utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">What's coming in Go 1.12</a></strong></p>
<p>Let's start with merged proposals. They tend to be more interesting.</p>
<p><strong><a href="https://medium.com/rungo/achieving-concurrency-in-go-3f84cbf870ca?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Achieving concurrency in Go</a></strong></p>
<p>In computer programming, concurrency is ability of a computer to deal with multiple things at once.</p>
<p>{% twitter 1058555343624499200 %} </p>
<p><strong><a href="https://groups.google.com/forum/?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter#!topic/golang-dev/GPsCAZMO1MA">Go 1.11.2 and Go 1.10.5 are released</a></strong></p>
<p>Hello gophers, we have just released Go versions 1.11.2 and 1.10.5, minor point releases.</p>
<p><strong><a href="https://leozhang.me/post/2018/10/22/pathologies-of-go-package-management/?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Pathologies of Go package management</a></strong></p>
<p>I&rsquo;ve found that newcomers to Go tend to get really confused by the module system.</p>
<h2>Shared experience</h2>
<p><strong><a href="https://medium.com/@cn007b/go-valueobject-19ea273f9056?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Go ValueObject</a></strong></p>
<p>Suppose we have a simple project and we have to implement user registration form. For now we only care about two fields: name and email.</p>
<p><strong><a href="https://medium.com/@tommarler/go-xml-and-seo-4adc5226d606?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Go: XML and SEO</a></strong></p>
<p>When I collect data I usually call an endpoint parse the JSON response and go from there.</p>
<p><strong><a href="https://medium.com/eaciit-engineering/soap-wsdl-request-in-go-language-3861cfb5949e?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">SOAP - WSDL request in Go</a></strong></p>
<p>I&rsquo;m going to share one of my experiences while working using SOAP-WSDL technology with Golang.</p>
<p>{% twitter 1056846975235178497 %}</p>
<p><strong><a href="https://medium.com/@tuomovee/go-serverless-with-sam-860c62f63ba4?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Go serverless with SAM</a></strong></p>
<p>It&rsquo;s been almost a year since support for Go in AWS Lambda was announced at re:Invent 2017. Meanwhile the Serverless hype train has gained full steam.</p>
<p><strong><a href="https://medium.com/@valyala/mmap-in-go-considered-harmful-d92a25cb161d?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">mmap in Go considered harmful</a></strong></p>
<p>Do you use syscall.Mmap in Go? There are high chances the answer is yes even if you are unaware of it.</p>
<p>{% twitter 1055046982337626112 %}</p>
<p><strong><a href="https://medium.com/@eexe1/build-go-restful-api-in-app-engine-c153b2b216af?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Build Go Restful API in App Engine</a></strong></p>
<p>Restful APIs are essential for communication between backend and frontend services. This post shows a simple scenario that builds up an API service in Go.</p>
<p><strong><a href="https://medium.com/@jadr2ddude/a-big-little-problem-a-tale-of-big-little-gone-wrong-e7778ce744bb?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">A big LITTLE Problem: A Tale of big.LITTLE Gone Wrong</a></strong></p>
<p>The night of October 24, a question appeared on the #darkarts channel in the Gophers Slack (a group chat of ~33k Go programmers).</p>
<h2>Tutorials</h2>
<p><strong><a href="https://medium.com/@enahomurphy/building-a-jwt-library-in-golang-f241dd7678be?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Building a JWT library in Golang</a></strong></p>
<p>This article assumes you&rsquo;re a programmer, have a solid idea of what JWT is and have an understanding of Golang.</p>
<p><strong><a href="https://ordina-jworks.github.io/development/2018/10/20/make-your-own-cli-with-golang-and-cobra.html?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Make your own CLI with Golang and Cobra</a></strong></p>
<p>The framework&nbsp;<a href="https://github.com/spf13/cobra" target="_blank" rel="noopener">Cobra</a>&nbsp;provides a generator that adds boilerplate code for you. This is handy as you can focus on the logic of your CLI instead of parsing flags.</p>

</p>

<table align="center" border="0" cellpadding="1" cellspacing="1" style="width: 600px;">
                <tbody>
                               <tr>
                                               <td bgcolor="#FAB200"><p><strong><i><a href="https://www.getrevue.co/profile/golang" target="_blank" rel="nofollow noopener noopener noopener noopener nofollow noopener" data-href="https://www.getrevue.co/profile/golang">Subscribe for this newsletter</a>. Ad and advertorial free, because one should not profit from other people's content.</strong></i></p></td>
</tr>
</tbody>
</table>

<h2></h2>

<p><strong><a href="https://golangtranslated.postach.io/post/usando-socket-io-com-golang-vue-e-android-imasters-we-are-developers?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Using Socket with Go, Vue and Android (originally in Portuguese)</a></strong></p>
<p>I decided to write an article to show on a superficial level how to "talk" to different languages in real time using Socket.io.</p>
<p>{% twitter 1055207741848018961 %}</p>
<p><strong><a href="https://dev.to/hypnoglow/how-to-make-friends-with-golang-docker-and-gitlab-ci-4bil?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">How to make friends with Golang, Docker and GitLab CI</a></strong></p>
<p>A simple way to build Golang apps with Docker in GitLab.</p>
<p><strong><a href="https://golangtranslated.postach.io/post/rest-api-prilozhenie-na-go-poshagovyi-tutorial?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">REST API app in Go: step-by-step tutorial (originally in Russian)</a></strong></p>
<p>In this article we will look at how to create a REST API application in Go: the best step-by-step instructions using popular architecture.</p>
<p><strong><a href="https://developer.here.com/blog/process-csv-address-information-with-golang-and-the-here-geocoder-api?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Process CSV address info with Go and the HERE Geocoder API</a></strong> Learn how to use the HERE Geocoder REST API with Golang to process addresses in a CSV file in parallel using goroutines and other strategies.</p>
<h2>Tools</h2>
<p><strong><a href="https://blog.github.com/2018-10-31-atoms-new-parsing-system/?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Atom understands your code better than ever before</a></strong> Atom 1.32 provides improved syntax highlighting and code folding by parsing your code while you type it.</p>
<p><strong><a href="https://99designs.nl/blog/engineering/gqlgen-a-graphql-server-generator-for-go/?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Introducing gqlgen: a GraphQL server generator for Go</a></strong> gqlgen is the best way to build a GraphQL server in Go and possibly even any language. This article looks at why and how we developed it.</p>
<h2>Perspectives</h2>
<p><strong><a href="https://www.reddit.com/r/golang/comments/9syjj8/what_are_some_red_flags_for_you_in_go_code_reviews/?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">What are some red flags for you in Go code reviews?</a></strong></p>
<p>Reddit members share their red flags in the comment threads.</p>
<p><strong><a href="https://www.analyticsindiamag.com/the-war-between-python-and-go-explained-in-8-points/?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">The war between Python and Go explained in 8 points</a></strong> Areas where Python and Google's Go compete each other.</p>
<h2>Presentations</h2>
<p><strong><a href="https://www.infoq.com/presentations/the--economist-go?utm_campaign=golang&amp;utm_medium=link&amp;utm_source=presentations_about_golang">Digital publishing for scale: The Economist and Go</a> &mdash; <a href="https://www.infoq.com/presentations/the--economist-go?utm_campaign=golang&amp;utm_medium=link&amp;utm_source=presentations_about_golang">www.infoq.com</a></strong></p>
<p>Kathryn Jonas talks about The Economist&rsquo;s struggles and victories in transitioning to Go and how Go has uniquely fit their digital publishing goals.</p>
<p><strong><a href="https://www.youtube.com/watch?utm_campaign=Master%20the%20World%20of%20Golang&amp;utm_medium=email&amp;utm_source=Revue%20newsletter&amp;v=ggFqj5P4W38">Emitter: Creating a simple Pub/Sub client in Go</a></strong> In this video we're going to create a simple MQTT publish-subscribe client in Go which uses a local Emitter broker.</p>
<p>{% youtube ggFqj5P4W38 %}</p>
<p>{% youtube wIrS5Lqi-xg %}</p>