× Want to read this newsletter every week?! × 👋  Join FAUN
 
 
🌐 View in your browser.   |  ✍️ Publish on FAUN   |  🦄 Become a sponsor
 
GoLang best tutorials, news and libraries from last week!
GoPa
 
Golang Weekly Newsletter, Gopa. Curated Golang news, tutorials, tools and more!
 
 
⭐ Patrons
 
goteleport.com goteleport.com
 
Teleport Kubernetes Access
 
 
Consolidate identity-based access to Kubernetes clusters across all environments, meet compliance requirements, and have complete visibility into access and behavior:

👉 Easily secure your Kubernetes clusters using security best practices
👉 Meet compliance requirements (SOC 2, FedRAMP, HIPAA, ISO 27001, PCI and more)
👉 Complete visibility into access and behavior
👉 Secure access that doesn't get in the way
👉 Give an identity to all your microservices, CI/CD automation, and service accounts
👉 Works with everything you have (X.509 certificates, HTTPS, SAML, OpenID connect and others)
👉 Easy to get started

Get started for free.
 
 

👉 Spread the word and help developers find you by promoting your projects on FAUN. Get in touch for more information.

 
🔗 Stories, Tutorials & Articles
 
medium.com medium.com
 
Composite design pattern in GoLang
 
 
This article discusses the Composite design pattern in software design, which is used to allow a composite type and the type that the composite type is composed of (also known as a singular type) to expose the same method interface to the caller.

An example of this pattern is a directory in a file system, where a directory is composed of multiple other directories (composite type) and files (singular type), and both types have the same method interface for create, view, and delete actions. The article also provides code examples in Go to demonstrate how to implement the Composite design pattern using an interface and a list of components.
 
 
www.lremes.com www.lremes.com
 
Golang is almost Perfect
 
 
This article discusses the author's experiences using the Go programming language for building cloud-native software, distributed systems, and concurrent and parallel systems.

The author argues that Go is well-suited for these tasks due to its strong developer toolchain, good documentation, built-in fuzz testing support, and language features such as native concurrency and parallelism, fast compile times, and the ability to easily exchange data between threads.

The article also discusses some of the challenges that the author has encountered while using Go, including a steep learning curve and the lack of some features that are commonly found in other programming languages.

Overall, the author has a positive view of Go and believes that it is a powerful and expressive language for building concurrent and distributed systems.
 
 
withinboredom.info withinboredom.info
 
Golang is evil on shitty networks   ✅
 
 
This article discusses issues with the performance of the Git Large File Storage (LFS) system when used over a wireless network with the Go programming language.

The author experienced extremely slow upload speeds and high levels of packet loss and duplication when using Git LFS over a wireless network, leading to the conclusion that the default setting for the Nagle's algorithm in the Go programming language may not be optimal for use over poor quality networks.

The article suggests that explicitly setting the TCP_NODELAY option in the Go programming language may improve the performance of Git LFS and other programs when used over poor quality networks.
 
 
medium.com medium.com
 
Implement Redis in Go with a Simple Example
 
 
This tutorial is about using the go-redis library to interact with a Redis server from a Go application.

Specifically, it will cover how to install the go-redis library and use it to set and get keys in a Redis database. The tutorial assumes that you already have some basic knowledge of Redis and are familiar with the concept of in-memory data structures.
 
 
kalkicode.com kalkicode.com
 
1500 most common data structures and algorithms solutions
 
 
The article provides 1500 examples of programming problems that are commonly asked in interviews and offers a tool for converting code between different programming languages.
 
 
 
🎦 Videos, Talks & Presentations
 
www.youtube.com www.youtube.com
 
Declarative schema migrations with Atlas: An introduction
 
 
This video is about Atlas, an open-source database schema management tool. It discusses a workflow called "declarative schema migrations" which allows users to manage their database schemas in a way that is similar to the experience of using Terraform, a popular infrastructure as code tool. The video describes how this workflow works and how it can be used to make it easier to manage database schemas in a declarative manner.
 
 
 
📚 Book picks
 
www.amazon.com www.amazon.com
 
Concurrency in Go: Tools and Techniques for Developers
 
 
Author Katherine Cox-Buday takes you step-by-step through the process. You'll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems. Learn the skills and tooling you need to confidently write and implement concurrent systems of any size.
  • Understand how Go addresses fundamental problems that make concurrency difficult to do correctly
  • Learn the key differences between concurrency and parallelism
  • Dig into the syntax of Goâ s memory synchronization primitives
  • Form patterns with these primitives to write maintainable concurrent code
  • Compose patterns into a series of practices that enable you to write large, distributed systems that scale
  • Learn the sophistication behind goroutines and how Goâ s runtime stitches everything together
 
 
 
⚙️ Tools, Apps & Software
 
github.com github.com
 
cloudcmds/tamarin
 
 
An embedded scripting language for Go projects
 
 
github.com github.com
 
swaggo/swag
 
 
Automatically generate RESTful API documentation with Swagger 2.0 for Go.
 
 
github.com github.com
 
alecthomas/chroma
 
 
A general purpose syntax highlighter in pure Go
 
 
github.com github.com
 
vektra/mockery
 
 
A mock code autogenerator for Golang
 
 
github.com github.com
 
turbot/steampipe
 
 
Use SQL to instantly query your cloud services (AWS, Azure, GCP and more). Open source CLI. No DB required.
 
 
github.com github.com
 
Dreamacro/clash
 
 
A rule-based tunnel in Go.
 
 
github.com github.com
 
psanford/sqlite3vfshttp
 
 
Go sqlite3 http vfs: query sqlite databases over http with range headers
 
 

👉 Spread the word and help developers find and follow your Open Source project by promoting it on FAUN. Get in touch for more information.

 
🤔 Did you know?
 
 
ENIAC (Electronic Numerical Integrator and Computer) was the first programmable, electronic, general-purpose digital computer, completed in 1945.
 
 
😂 Meme of the week
 
 
source
 
 
❤️ Thanks for reading
 
 
👉 Never miss an issue
Join FAUN Developer Community and subscribe to our newsletter here.

👋 Keep in touch and follow us on social media:
- 💼LinkedIn
- 📝Medium
- 🐦Twitter
- 👥Facebook
- 📰Reddit
- 📸Instagram

👌 Was this newsletter helpful?
We'd really appreciate it if you could share it with your friends! You can also donate to help us keep this newsletter going.

ℹ️ Have a question or feedback?
Feel free to reach out to us at community@faun.dev. We'd love to hear from you!

🤩 Want to sponsor our newsletter?
Reach out to us at sponsors@faun.dev and we'll get back to you as soon as possible.