Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
July 13, 2021 02:18 pm GMT

7 GitHub projects to make you a better Go Developer

Go is a compiled, concurrent, garbage-collected, statically typed language developed at Google. Go was designed to be an excellent tool for writing large software projects.

According to 2020 stackoverflow developer survey, Go was the 3rd most wanted programming language to learn.

So today, I want to share 7 amazing GitHub projects that will help you become a better Go developer. While some repos can help you have a self-learning path for Go, others can be useful for your workflows.

So let's get started.

Currently building SigNoz - an open-source application performance monitoring tool. Backend of SigNoz is built in Go.

Check out our GitHub repo

GitHub logo SigNoz / signoz

SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc.

SigNoz-logo

Monitor your applications and troubleshoot problems in your deployed applications, an open-source alternative to DataDog, New Relic, etc.

License Downloads GitHub issues

SigNoz helps developers monitor applications and troubleshoot problems in their deployed applications. SigNoz uses distributed tracing to gain visibility into your software stack.

You can see metrics like p99 latency, error rates for your services, external API calls and individual end points.

You can find the root cause of the problem by going to the exact traces which are causing the problem and see detailed flamegraphs of individual request traces.

SigNoz Feature

Features:

  • Application overview metrics like RPS, 50th/90th/99th Percentile latencies, and Error Rate
  • Slowest endpoints in your application
  • See exact request trace to figure out issues in downstream services, slow DB queries, call to 3rd party services like payment gateways, etc
  • Filter traces by service name, operation, latency, error, tags/annotations.
  • Aggregate metrics on filtered traces. Eg, you can get error

1. Awesome Go

Github stars: 65.4k

You can call it the encyclopedia of Go programming language. Just bookmark it to come back to whenever you need something in Go. It is a massive curated list of awesome Go frameworks, libraries and software

GitHub logo avelino / awesome-go

A curated list of awesome Go frameworks, libraries and software

awesome-go Awesome Go

Build StatusAwesomeSlack WidgetNetlify Status

awesome-go - Curated list awesome Go frameworks, libraries and software | Product Hunt

Sponsorships

Digital Ocean

We have no monthly cost, but we have employees working hard to maintain the Awesome Go, with money raised we can repay the effort of each person involved! All billing and distribution will be open to the entire community.

A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.

Contributing

Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!

If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!

Contents





2. Standard Go Project Layout

Github stars: 24.6k

This repo contains a basic layout for Go application projects. Although it's not an official standard defined by the core Go dev team, it is a set of common historical and emerging project layout patterns in the Go ecosystem.

GitHub logo golang-standards / project-layout

Standard Go Project Layout

Standard Go Project Layout

Translations:

Overview

This is a basic layout for Go application projects. It's not an official standard defined by the core Go dev team; however, it is a set of common historical and emerging project layout patterns in the Go ecosystem. Some of these patterns are more popular than others. It also has a number of small enhancements along with several supporting directories common to any large enough real world application.

If you are trying to learn Go or if you are building a PoC or a simple project for yourself this project layout is an overkill. Start with something really simple instead (a single main.gofile andgo.mod is more than enough). As your project grows keep in mind that it'll be important to make sure your code is well structured

3. Go kit

Github stars: 20.5k

Go kit is a programming toolkit for building microservices in Go. Go kit solves common problems in distributed systems and application architecture so you can focus on delivering business value.

GitHub logo go-kit / kit

A standard library for microservices.

Go kit

GitHub Workflow StatusGoDevcodecovGo Report CardSourcegraph

Go kit is a programming toolkit for building microservices(or elegant monoliths) in Go. We solve common problems in distributedsystems and application architecture so you can focus on deliveringbusiness value.

Sponsors

Click on Sponsor, above, for more information on sponsorship.

Motivation

Go has emerged as the language of the server, but it remains underrepresentedin so-called "modern enterprise" companies like Facebook, Twitter, Netflix, andSoundCloud. Many of these organizations have turned to JVM-based stacks fortheir business logic, owing in large part to libraries and ecosystems thatdirectly support their microservice architectures.

To reach its next level of success, Go needs more than simple primitives andidioms. It needs a comprehensive toolkit, for coherent distributed programmingin the large. Go kit is a set of packages and best practices, which provide acomprehensive, robust, and

4. Go Design patterns

Github stars: 15.4k

This repo contains a curated collection of idiomatic design & application patterns for Go language. You can find patterns like: creational patterns, structural patterns, behavioral patterns, concurrency patterns, messaging patterns.

GitHub logo tmrts / go-patterns

Curated list of Go design patterns, recipes and idioms

Go Patterns
build-status awesome license

A curated collection of idiomatic design & application patterns for Go language.

Creational Patterns

PatternDescriptionStatus
Abstract FactoryProvides an interface for creating families of releated objects
BuilderBuilds a complex object using simple objects
Factory MethodDefers instantiation of an object to a specialized function for creating instances
Object PoolInstantiates and maintains a group of objects instances of the same type
SingletonRestricts instantiation of a type to one object

Structural Patterns

PatternDescriptionStatus
BridgeDecouples an interface from its implementation so that the two can vary independently
CompositeEncapsulates and provides access to a number of different objects
DecoratorAdds behavior to an object, statically or dynamically
FacadeUses one type as an API to a number of others
FlyweightReuses existing instances of objects with similar/identical state to minimize resource usage
Proxy

5. Learn Go with test-driven development

Github stars: 14.6k

Go is a good language for learning test-driven development as Go's standard library provides a built-in testing package. This repo has a list of Go fundamentals with examples of test-driven code implementations.

GitHub logo quii / learn-go-with-tests

Learn Go with test-driven development

Learn Go with Tests

Art by Denise

Build StatusGo Report Card

Formats

Translations

Support me

I am proud to offer this resource for free, but if you wish to give some appreciation:

Why

Table of contents

Go fundamentals

  1. Install Go - Set up environment for productivity.
  2. Hello, world - Declaring variables, constants, if/else statements, switch, write your first go program and write your first test. Sub-test syntax and closures.
  3. Integers - Further Explore function

6. The Ultimate Go Study Guide

Github stars: 14.3k

The Ultimate Go Study Guide is a collection of notes for students taking the Ultimate Go class. It is compiled of sample programs with line-by-line comments to help students follow the code better. You will find the link to the repo's content in readme.md file.

GitHub logo hoanhan101 / ultimate-go

The Ultimate Go Study Guide

The Ultimate Go Study Guide

This material has been acquired and actively maintained by Ardan Labs

Stargazers over time

Stargazers over time




7. 1000+ Hand-crafted Go examples, exercises and quizzes

Github stars: 9.8k

Inside this repository, you will find thousands of Go examples, exercises and quizzes.

GitHub logo inancgumus / learngo

1000+ Hand-Crafted Go Examples, Exercises, and Quizzes

A Huge Number of Go Examples, Exercises and Quizzes

Best way of learning is doing. Inside this repository, you will find thousands of Go examples, exercises and quizzes. I initially created this repository for my Go: Bootcamp Course. Later on, I added a lot of exercises, and I wanted every programmer who is not yet enrolled in the course to learn for free as well. So here it is. Enjoy.

Available in the following languages:

Help other fellow developers

Sharing is free but caring is priceless. and share this repository on Twitter.

Stay in touch

License

Whole materials are licensed

I hope you enjoyed this list. I will be coming up with more such amazing resources soon. So, stay tuned!


Original Link: https://dev.to/ankit01oss/7-github-projects-to-make-you-a-better-go-developer-2nmh

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To