104 Stories To Learn About Goby@learn
265 reads

104 Stories To Learn About Go

by Learn RepoMay 3rd, 2023
Read on Terminal Reader
tldt arrow

Too Long; Didn't Read

Learn everything you need to know about Go via these 104 free HackerNoon stories.
featured image - 104 Stories To Learn About Go
Learn Repo HackerNoon profile picture

Let's learn about Go via these 104 free stories. They are ordered by most time reading created on HackerNoon. Visit the /Learn Repo to find the most read stories about any technology.

1. Custom TraceID in Elastic APM

Elastic APM is extensively useful in monitoring the lifecycle of a HTTP request in a system especially in µservices architecture. Wide variety of web frameworks and databases are supported which is useful in tracking the request up to DB calls. The documentation is simple and concise which makes it easy to instrument the application.

This article aims to help or at least make it easy to trace the HTTP request lifecycle after instrumentation. Golang is used in this article for code snippets but the concept can be extended to other languages as well.

2. Practice with Functional Programming in Go

Take a look at a functional programming paradigm in Go

3. No-stress CUDA programming using Go and C

Programming CUDA using Go is a bit more complex than in other languages. Although there are some excellent packages, such as mumax, the documentation is poor, lacks examples and it’s difficult to use.

4. How to Make Global Constant Maps and Slices in Go

For the most part, Go developers are pretty good about using constants for global configuration, rather than global variables. A problem arises however when we want a global constant slice or map. The go compiler doesn't allow these more complex types to be set as constant. Many developers, upon making this realization, decide to then use a dangerous global variable. In this article we will explore a better option.

5. Why Do Developers Love Working With Google's Go Programming Language?

With the extensive number of programming languages available out there, for any language to emerge among the best is no easy feat.

6. Unit Test AWS Lambda in Go

When I started working in Go and AWS Lambda, one of the difficulties that I faced was unit testing. I had a decent idea about what is unit testing and knew how to do it in Ruby but in Go, I had no idea because I was a beginner.

7. How to Use Consul as a Host Resolver in gRPC

Recently, I faced with lack of documentation when I wanted to use Consul as a host resolver in gRPC connections. That’s why I wanted to write this story.

8. Building a Media Streaming Server Using Go And HLS Protocol

In this tutorial, I'm going to walk you through building a streaming API using Golang. Don't worry, its surprisingly easy to build a robust streaming server, especially if we utilize one of the more modern protocols: HLS.

9. How to Develop a Facebook Messenger Bot in Golang

A comprehensive guide on how to create a Facebook Messenger bot in Golang.

10. 6 Best Go Programming Books Ranked by Reviews

Learning Go and Black Hat Go are some of the best Go programming books based on their review scores.

11. Top 5 Trends in Software Development for 2019

Everything is moving extremely quickly in the software industry, so it requires a lot of effort just to keep up. This is exactly why we, at Coding Sans, publish the State of Software Development survey every year. To learn what is happening in the industry at the moment, and see how trends are forming over time.

12. In-Memory Caching in Golang

How to implement in-memory cache in Golang App

13. Purity in My Programming: Functions in Go

Pure functions are often hyped up in the Javascript world, probably because of the abundance of state in front end applications. While pure functions have their downsides (i.e. inconvenience, potentially large argument lists), I believe they should be used as much as reasonably possible, and I want to focus on pure functions in Go.

14. Don't Procrastinate, GO Code!

This guide shows you how to write your first lines of GO code.

15. Native Fuzzing in Go 1.18

Go adds fuzzing as a part of its testing tools. This feature is planned for the 1.18 release and is already available for beta testing

16. How to Detect and Delete Emojis in Golang

I encountered an issue when 10 million messages with emoji were written in the MySQL table with utf8 encoding.

17. Goroutines: How to Run Concurrency Code in Go

Try out concurrency in Go on a simple example. What are greenthreads and asynchronous preemtpion? Understanding channels by using worker-pool pattern.

18. Making a Simple Service App for a Yocto-Based Linux Distro

I decided to make the first steps in Yocto-oriented software development and make a rather simple service app for Yocto-based Linux distro.

19. 5 Best Practices for Integrating with External APIs

the must-have practices if you use external APIs

20. How to Create a Dynamic Pipeline Route in Go

Is it possible to create a pipeline with dynamic routes in Go? How to do it?

21. Comparing Optimistic and Pessimistic Locking With GO and PostgreSQL

Comparison between Optimistic and Pessimistic locking with Golang and PostgreSQL

22. Golang: Using systemd for Zero Downtime Restarts and Deploys

By configuring a systemd socket, you can tell systemd to listen on the configured ports and start your service with a copy of the listening sockets.

23. Checking Palindrome With Generics in Go 1.18

Palindrome checking function in go that can receive integer or string. Utilize new generics feature in Go 1.18.

24. Introducing Bun: A Golang ORM

Bun is a SQL-first Golang ORM for PostgreSQL, MySQL/MariaDB, MSSQL, and SQLite. It supports migrations, fixtures, and performance monitoring.

25. How to Remove Duplicates in Go Slices

Different ways to remove duplicates in slices in Go, a powerful language whose lack of tools makes learning this necessary if you want to make full use of it.

26. Security Considerations in Golang

Golang recently turned 10 and the success this language has created over the last 10 years is overwhelming. Today, many of the most popular DevOps tools are now written in Go. This proves that Go is a language that has a great future in the DevOps industry. It is meant for cloud network infrastructure practitioners - this was one of the primary goals of the Go creators. As a result, Every major cloud provider today has turned to Go for their core cloud infrastructure, to name some - Docker, Kubernetes, Istio, Etcd, Prometheus, and Terraform.

27. Validating Zero Enum Value in the Protocol Buffer

How to validate that an enum value field in Protobuf can not be empty? Turn out that is not supported directly by Protobuf!

28. Choosing the Right Microservices Framework

Microservices architecture is a methodology that allows you to split a monolithic single application into small applications and services.

29. The Noonification: How to Use React to Replace useEffect (12/31/2022)

12/31/2022: Top 5 stories on the Hackernoon homepage!

30. Spend Zero Time on DevOps with Render PaaS

Check out how efficient it is to create a new API using Go, and then deploy it to the Render PaaS, both for the first time with zero DevOps.

31. How And When To Use Pointers in Go

Go has become increasingly popular in recent years, especially in my local area. It has been consistently displacing other backend languages like Ruby, Python, C# and Java. Go is wanted for its simplicity, explicitness, speed, and low memory consumption.

32. Generic Programming in Go

Generic Programming in Go using different methods: interfaces, typecasting, Generic Functions

33. A Step-by-step Guide for Building a Simple TODO App With Gin-gonic in Zerops

Learn how to build a sample CRUD TODO API written in GO using gin-gonic, one of the most popular web frameworks, which saves data to a PostgreSQL database

34. The 2022 State of Software Engineers Report

Hired released its 2022 State of Software Engineers, a report that analyzes key software engineering trends around demand, salaries, skills, and preferences.

35. Understanding the Basic Concepts of Heap Data Structure in GoLang

We are trying to learn the basic concepts about heaps like inserting and extracting data from heaps and also the time complexity of heaps.

36. Weird Things About GOLANG [Part 1]

On a first glance when I started working on go, for me it seems very very weird language. I am working on node-js for two and more years and then start working on golang is not so cool for me.

37. Publish Go Packages With Goreleaser

Goreleaser is awesome. It's a simple tool that allows you to release your go packages.

38. Go-CoNLLU Introduction: OSS Tool For Machine Learning Support in Go

Python is commonly seen as the AI/ML language, but is often a dull blade due to unsafe typing and being slow, like really slow. Many popular natural language processing toolkits only have Python APIs, and we want to see that change. At Nuvi, we use Go for the majority of our data processing tasks because we can write simple and fast code. Today we are open-sourcing a tool that has helped make our ML lives easier in Go. Say hello to go-conllu.

39. Leveraging Multithreading To Read Large Files Faster In Go

The other day I was interviewing at one of the companies, and I was asked the following question, how can you count occurrences of a word in a 50gb file with 4gb of RAM. The trick is to not load the whole file into memory and keep processing each word as we keep on moving the pointer of the file. With this, we can easily process the whole file with a minimal amount of memory resources.

40. 2 Error-Free Options for Decimal handling in Golang

CockroachDB and using a popular database are two error-free options for decimal handling in Golang.

41. Using the Events API to Build a Slack Bot

I’m a huge fan of automating working processes. I try to automate everything and save my coworkers time.

42. 3 Golang Pitfalls Every Developer Needs to Know

Over-viewing common coding pitfalls we've encountered when we started to use GoLang for production systems

43. 5 Programming Languages To Kickstart your Software Development Career in 2022

5 Programming Languages To Learn In 2022. Python is in the boom, mainly due to Data Science and Machine Learning.

44. How to Track Email Effectiveness in Mixpanel Analytics w/

Learn how to seamlessly incorporate Mixpanel analytics into your email communication by integrating it with Mailgun using automation platform.

45. How to Build a Bitcoin Telegram Bot

I created a simple Telegram bot that could retrieve Bitcoin's Price to convince my friends that Telegram is far superior to Whatsapp.

46. How To Create Golang REST API: Project Layout Configuration [Part 1]

During past couple of years I have worked on few projects written in GO. I noticed that the biggest challenge developers are facing is lack of constraints or standards when it comes to project layout. I'd like to share some findings and patterns that have worked best for me and my team. For better understanding I'll go through steps of creating a simple REST API.

47. Concurrency in Golang And WorkerPool [Part 2]

Project Link:

48. GO Design Patterns: An Introduction to Builder

Streamlining Your Code: An Introduction to the Builder Pattern in Go

49. GO Design Patterns: An Introduction to SOLID

Adopt SOLID design principles in GO for better code quality and easier software maintenance.

50. How To Create Golang REST API: Project Layout Configuration [Part 3]

Good cake is the one you can easily slice into parts with no crumbs falling apart. That's all this project is about: 3 simple parts, no nasty additives. In part 1 and part 2 I've explained the basics of setting up golang project using docker, creating configurable server, interacting with DB, adding routes and handlers.

51. Writing a Reverse Proxy in just one line with Go

Leave your programming language hang ups at the door and come admire the best standard library I’ve ever come across.

52. Golang ― More Error Handling with Less Checking

Error checks are essential but turn to noise without automatic propagation. Fixing Go's error-handling.

53. Interfaces in Golang

What are Interfaces in Golang?

54. PostgreSQL Transaction Isolation Levels with Go Examples

Illustration composed from MariaLetta/free-gophers-pack, original gopher by Renee French.

55. Is Go faster than Java? - The Wrong Question to Ask

This means to compare programming languages on what really matters, which in most cases, specifically in the enterprise world, is how efficient it is to develop

56. Implementing a Web Service With Go and Fiber

Let’s learn the basics of web development with the help of Go programming language and Fiber framework and write the most uncomplicated web service.

57. Build your own OAuth2 Server in Go

Hello, in today’s article, I will show you how you can build your own OAuth2 server just like google, facebook, github etc.

58. Connecting Dots: Go, Docker and k8s [Part 2]

Nowadays, the successful application often consists of containers and some sort of container management system to ease scaling, reduce downtime, and more.

59. How to Use GoReleaser to Automate GoLang Build Releases

This is a quick start for GoReleaser to automate the building and publishing GoLang projects.

60. Concurrency in Golang And WorkerPool [Part 1]

Project Link:

61. Understanding Mux and Handler by Writing Your Own RESTful Mux

In this article, we will try to understand two crucial Go concepts - mux and Handler.

62. How to Connect a Python and Go App Using gRPC and Mutual TLS

This tutorial walks you through the process of connecting services written in Python and Go via the gRPC framework using mutual TLS authentication.

63. Creating Homebrew Formulas with GoReleaser

We chose to use GoReleaser with our distro of the OpenTelemetry Collector in order to simplify how we build and support many operating systems and architectures

64. Introduction to RDS Proxy: Exploring with Benchmarks in Go

A deep dive into the performance characteristics of RDS Proxy vs RDS

65. How One ExpressJS Programmer Visited Go Land

I describe why Fiber it's really a good start for learn Go when you have experience in ExpressJS, what similarities and differences to expect, and what things I learned when building my first API on Go.

66. I Built A Handy Browser Plugin To Search Docs And Packages Directly From The Address Bar

Hi all. I'm so honored to introduce my product: Go Search Extension, a handy browser plugin to help every Go developer search docs and package in the address bar instantly.

67. Managing Go Module Pseudo-Versions in Go 1.13

Go modules have helped bring order to Go development, but there’s been some disorder lurking. Managing module pseudo-versions can be difficult, especially with some of the latest changes to Go.

68. Serverless API with Terraform: GO and AWS [Part 2]

In part 2, we'll go over deploying serverless API to AWS Cloud with Terraform.

69. Kong Plugins as Microservices: Writing a Single-Plugin Server for Kong in Go

Many developers and DevOps engineers have been deploying Kong Gateway in front of their microservices-based applications.

70. Golang: A Short History of My Tech Journey

The journey of a thousand miles begins with a single step. That's how everything in our tech journey begins. We all got here with a single step, that slowly became multiple steps. Before we know it, we are a thousand miles in. When I first started my career, I was in helpdesk. Now, I’m a developer advocate. The way that happened was with thousands of steps.

71. Go (Golang): Your Cheatsheet On Ways To Create New Maps And Slices

There are quite a few ways to create new maps and slices in Go. Which one is best? Or perhaps better asked, which one is best in your situation? Let's take a look.

72. Billion-Dollar Mistake in Go?

The following sample code is from Go's standard library documentation:

73. Go: Handling JSON in MySQL

74. Why Front End Developers Going Full Stack Should Choose Go

So you’re a front end developer, and you want to learn some backend stuff. You want to become a full stack developer someday, so where do you start? Google’s Go language is an excellent place.

75. Getting to Know gRPC

Need a quick beginner's guide to gRPC? What is it? How do you set up a client and server, and make an RPC call? All your answers are here!

76. Discover the Pros and Cons of the top Web Development Languages

Choosing the correct language for web development can be difficult.

77. A Few Words on VS Code

Go has hard opinions about how you should style and format your code. The big upside of this is that you don't need to spend hours setting up tools like ESLint, Prettier, JSLint, etc. That said, in order to take advantage of the styling and listing tools available in the toolchain, you need a dev environment that makes them easy to use.

78. What Is so Great About Golang?

Check out why you should use golang for your next project

79. Golang Unsafe Type Conversions and Memory Access

Illustration composed from MariaLetta/free-gophers-pack, original gopher by Renee French.

80. How To Generate A PDF Report From HTML with Go

HTML for PDF in Go for creating quality PDF reports with Table of Contents, Bookmarks and other important native PDF features.

81. Let’s Go tiny with tinyGo

Go was designed at Google in 2007, the evolution of this language is tremendous. Nowadays we are almost can create any kind of application using Go, from API, tooling, game, library, and so on. So how about the embedded system or today hot term as IoT, can we use Golang for this kind of application? The answer is yes, we can.

82. Does Golang Follow the Object Oriented Programming Paradigm?

Many are wondering whether Golang is a language that can apply the Object Oriented Programming paradigm. Let's discuss this here.

83. Hands-on IPLD Tutorial in Golang: Part 2

Quick recap from PART-1

84. What Heroku is Good For

You've probably heard about Heroku by now, but do you really know how Heroku works and when it should be a consideration?

85. How to Install Go on Linux - Tutorial

The Go programming language has become quite popular over the past few years. Why? The primary reason is that it has become the language of choice for distributed and highly scalable servers. Go was based on C and brings code efficiency to the table, which generates faster software and apps for businesses.

86. ES7-style Async/Await Implementation in Golang

In Golang, we use goroutines to execute asynchronous tasks while these goroutines communicate with each other via the data structure called Channel.

87. 'Hello, World!' in Golang - How to Develop a Simple Web App in Go

I'm going to show you how easy it is to develop a simple web application in Go, package it as a lightweight Docker image, and deploy it to Heroku.

88. Using Go Defer and Rust Drop to Defer the Call to Rollback

Forgetting to close things off in Go can potentially come back to bite you. The most basic and straightforward method is to call rollback or commit.

89. Some insights on Maps in Golang

Article is about maps internal structure, hashes and performance. How data is actually stored inside.

90. A Quick Coding Lesson On Go's ‘WaitGroup’ (vs. JavaScript's ‘PromiseAll’)

In applications that are i/o heavy, it can get clunky to synchronously execute high-latency functions one after the other.

91. Go: The Complete Guide to Profiling Your Code

Go is a programming language often used for applications in which performance matters. Optimizing your code based on assumptions is not a best practice of course. You need to have insights about your code performance and bottlenecks to be able to optimize it efficiently.

92. Pet Projects are Fun

I love pet projects, they are great excuse to use libraries and other technologies that you can’t use at work. Lately I’ve been working on a bigger pet project that needs to parse Go files, I’ve used ANTLR before to make this kind of things but unfortunately, ANTLR’s Go target has poor performance. So I began to search for alternatives written in pure Go and came across with this one, which took a different approach on creating parsers with Go, but before we’re going to understand how this library is different from others, let’s cover some basic concepts about parsing.

93. Constants in Go Vs. Constants in Javascript

Constants can be confusing and easy to misuse in Go if you are coming from an untyped language. In this article we will learn what constants are, and when it is best to make use of them.

94. BitBanged Serial Peripheral Interface in Go on Raspberry Pi [Explained]

I’m going to focus mostly on some design decisions and also how I went about writing an SPI interface using Go on a Raspberry Pi. I assume my readers have a basic understanding of what a Raspberry Pi is, and how basic electronics work. If not, read on anyway and I will be sure to include some valuable resources below.

95. The All-Purpose Programmer: Episode 1 - "Hello World"

I love to learn, I love to code. I'm on a journey to learn (at least the basics of) several new languages to enhance my resume. Join me!

96. Training Neural Networks with Gorgonia

Deep learning and neural networks are very interesting subjects and Go language supports this technology using the framework Gorgonia.

97. How To Create a Simple Application Using Golangspell

For a couple of years I've been working with Golang, is such a great experience, Golang is a great language, in my opinion, simple, fast, and focused on high performance. But, not only it can help us to create a microservice that is fast, but we can also code quite quickly.

98. Filling And Flattening PDF Forms In Go With Examples

PDF forms are a convenient tool for gathering and storing information about your customers or users. This is a breakdown of how you can fill and flatten them.

99. Top 5 IDEs and Tools for Golang Development

Top 5 IDEs and Tools for Golang Development - here is the list of top Golang IDEs that are worth your attention.

100. Serverless API with Terraform, GO and AWS, Part 1

Knowing how to build REST API with latest tech is cool. You know what's even cooler? It's being able to deploy it to the cloud! I'll walk you through the process of building simple, server-less application using GO, AWS (Lambda, API Gateway, Dynamodb) and Terraform.

101. µjson — A minimal JSON parser and transformer in Go

µjson is a minimal JSON parser and transformer that works on unstructured (and trusted) JSON. It works by parsing input and calling the given callback function when encountering each item.

102. Build a Go Web API with the New Digital Ocean App Platform: A How-To Guide

Recently, Digital Ocean announced they're entering the PaaS market with their new application platform. They've hosted virtual machines (droplets) and Kubernetes based services for years, but now they're creating a platform that's a simple point and click to get an application up and running.

103. Introduction to Numeral Systems in Go

numeral is a Go package. It gives you the ability to create custom (positional) numeral systems and perform operations on them.

104. Golang: Declarative Validation Made Similar to Ruby on Rails

Using declarative validation in Golang, in a similar way to Active Record validations.

Thank you for checking out the 104 most read stories about Go on HackerNoon.

Visit the /Learn Repo to find the most read stories about any technology.