TLWI Golang #86
Greetings, folks! It's time for our weekly dose of tech news and insights. This week, our picks include 🔥 a Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...), fancy stream processing made operationally mundane, a network-wide ads & trackers blocking DNS server, choosing between importing a c++ library or writing code instead, in an existing golang project and finally, experiences of using a Golang webservice in production.
Next up is fancy stream processing made operationally mundane. This is a rather exciting and groundbreaking development in stream processing, making it easy to integrate the functionality into your applications. With fancy stream processing, you can enjoy code that is both fun and functional.
Have you ever tried to access a website, only to be bombarded with ads and trackers? Well, now a network-wide ads & trackers blocking DNS server is here to save the day. It works seamlessly across devices and apps, filtering out unwanted ads and junk that slows down our internet experience. Bye, bye pesky ads!
Have you ever found yourself in a situation where you need to choose between importing a C++ library or writing your own code in an existing Go project? Well, worry no more, we've got you covered. With this practical guide, we delve into important considerations to keep in mind when making a choice between the two.
Last but not least, let's talk about experiences of using Golang webservice in production. We will be highlighting the challenges faced, design considerations and how the project was made scalable. This will be a great read for anyone planning on taking their project to the next level.
That's it for this week's newsletter! We hope you find our picks intriguing and can't wait to see how you will utilise these tools and resources. See you next week!
Hot Go Articles This Week On Reddit
Our Article Picks
- Camila Lenis: I graduated, now what? Camila Coded in 2022
- Farhan: Writing a simple in-memory key-value Database in Go
- Aarush Goyal: Git Hooks for your Golang project
- Matheus Mina: Automatizando tarefas com Go
- 42Atomys: ✨ How will Go Generics in Go 1.18 change your life? 💜
- Chris Noring: Go from the beginning - your first program
- Chris Noring: Go from the beginning - working with loops
- Jacob Kim: Watch Out for These Tricky Things in Go
- Ushakov Michael: String formatting in Golang
- Chris Noring: Go from the beginning - using variables
- Karan Pratap Singh: GraphQL subscriptions at scale with NATS
- Chris Noring: Go from the beginning - applying boolean logic
- Deepto: Semblance - Azure Trial Hackathon Submission
- Lucifer25x: Text Editor using Go(lang)
- Chris Noring: Go from the beginning - converting between types
- Will Velida: Setting up our Go Development Environment
- Senthil Raja Chermapandian: GitHub Actions workflow for Go Continuous Integration
- Marco A.: Install buffalo.io ( go) - part 1 (Requirements)
- Himali Kansara: Companies using Golang
- Colin Duggan: Compiling a Go Program
- Sahan: Building a gRPC Client in Go
- manuel: Shamazing
- たふみ: Migrate to discordgo v0.24.0 from v0.23.2
- Frédéric G. MARAND: CLI commands with google/subcommands
- LTV Co. Engineering: Implementing an Error Factory in Go
- Will Velida: Types in Go
- Pandademic: Printing Characters at a certain font size in go
- Anuraag Gupta: Introducing Golang Masking Tool To Mask Away your sensitive information
Our Repo Picks
- Arriven/db1000n (Go): undefined
- YaoApp/yao (Go): Yao A low code engine to create web services and dashboard.
- italiaremote/awesome-italia-remote (Go): A list of remote-friendly or full-remote companies that targets Italian talents.
- avelino/awesome-go (Go): A curated list of awesome Go frameworks, libraries and software
- gin-gonic/gin (Go): Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
- tharsis/evmos (Go): Evmos is the Ethereum Virtual Machine (EVM) Hub on the Cosmos Network. It is the flagship implementation of the Ethermint library that prioritizes interoperability and novel economics.
- kubernetes/kubernetes (Go): Production-Grade Container Scheduling and Management
- Xhofe/alist (Go): 🗂️A file list program that supports multiple storage, powered by Gin and React. / 一个支持多存储的文件列表程序，使用 Gin 和 React 。
- grpc-ecosystem/grpc-gateway (Go): gRPC to JSON proxy generator following the gRPC HTTP spec
- benthosdev/benthos (Go): Fancy stream processing made operationally mundane
- gogs/gogs (Go): Gogs is a painless self-hosted Git service
- hashicorp/raft (Go): Golang implementation of the Raft consensus protocol
- hashicorp/terraform (Go): Terraform enables you to safely and predictably create, change, and improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
- go-kratos/kratos (Go): Your ultimate Go microservices framework for the cloud-native era.
- gogf/gf (Go): GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang.
- quii/learn-go-with-tests (Go): Learn Go with test-driven development
- authelia/authelia (Go): The Single Sign-On Multi-Factor portal for web apps
- ethereum-optimism/optimism (Go): The Optimism monorepo
- photoprism/photoprism (Go): Photos App powered by Go and Google TensorFlow 🌈 ✨
- AdguardTeam/AdGuardHome (Go): Network-wide ads & trackers blocking DNS server
- aws/copilot-cli (Go): The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on AWS App Runner, Amazon ECS, and AWS Fargate.
- rancher/rancher (Go): Complete container management platform
- samber/lo (Go): 💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)
- projectdiscovery/subfinder (Go): Subfinder is a subdomain discovery tool that discovers valid subdomains for websites. Designed as a passive framework to be useful for bug bounties and safe for penetration testing.
- external-secrets/external-secrets (Go): External Secrets Operator reads information from a third-party service like AWS Secrets Manager and automatically injects the values as Kubernetes Secrets.
- jpeg.Decode fails on many images
- Order of Operations (OO)
- Multiple services from one server/ port
- Go Webservice in production
- -modfile flag usage
- Function by parameter, generic parameter type
- Avast detects Win64:Evo-gen virus infected goimports(a.out.exe)
- Trouble with unbuffered channel in Go
- Choosing between importing a c++ library or writing code instead, in an existin golang projectg
Gopher Gold is a weekly roundup for all things Go! If you have more suggestions for resources, submit them below! Follow me on Twitter for more projects @dennisokeeffe92.
Subscribe to my personal newsletter to get updates on TheLastWeekIn.Dev + more! 🦄