TLWI Golang
thelastweekin.dev
Hello there, lovely readers!
Welcome to this week's edition of our fabulous newsletter. We have some exciting topics to dive into, so grab your favorite beverage and get ready for an adventure through the wonderful world of technology!
Have you ever wondered what makes a good JSON builder? Well, strap on your coding hats because we are about to explore the ins and outs of creating JSON structures like a pro. Whether you're a seasoned developer or just starting out, this is definitely a link you don't want to miss.
Now, let's talk about pointers in Golang (pun intended!). If you've been coding in Go (Golang), you're probably familiar with the concept of pointers. But have you truly mastered their power? Fear not, because with our helpful guide on pointers in Golang
Speaking of Go, we have a burning question for you: to point or not to point? Ah, the eternal dilemma. Luckily, we have a fantastic article that delves into the pros and cons of using pointers in Golang. Join us on this thought-provoking journey as we navigate the realm of pointers with our article Golang: to Point or not to Point!
Are you curious if it's possible to create a function that only receives structs with a specific type of fields? Well, wonder no more! Our geniuses have done it again, and they're here to spill the beans on this fascinating topic. Discover the secrets behind this coding wizardry in our enlightening feature on creating a function for specific struct fields
Last but not least, let's talk about the difference between two popular libraries in Golang: Godotenv and Viper. Both aim to simplify the configuration process, but they have their own unique features and use cases. Curiosity piqued? Dive into our in-depth exploration of Godotenv vs Viper in Golang
And that's a wrap for this week, folks! We hope you enjoy this exciting collection of articles and find them as captivating as we do. Happy coding, and stay tuned for more thrilling content in our future newsletters.
Until then, keep exploring, keep learning, and keep pushing the boundaries of technology!
Best regards,
Your fabulous newsletter team
Dennis
Our Article Picks
- DIWAKARKASHYAP: Pointers in Golang (go)
- Ege Aytın: Unveiling Permify ABAC: A New Dimension to Attribute-Based Access Control
- DIWAKARKASHYAP: Interfaces and Embedding in Golang (Go)
- DIWAKARKASHYAP: Concurrency in Go (Golang)
- DIWAKARKASHYAP: Packages and Import in Go (Golang)
- xuri: Excelize 2.8.0 Released - Powerful open-source library for spreadsheet (Excel) document
- Jack: Advanced Go Build Techniques
- Homayoon Alimohammadi: Golang: to Point or not to Point!
- DIWAKARKASHYAP: Complex Data Types in Golang (go)
- Benjamen Pyle: DynamoDB Streams EventBridge Pipes Enrichment
- Momchil Atanasov: Beware of Go interfaces
- Pedro Vallese: Rate Limiters: Why should we care about our 429s
- Abhishek Gupta: Simplifying your Kubernetes infrastructure with cdk8s
- Dsysd Dev: Building a Golang Project from Scratch - Zero to Hero - Part 1
- Tran Minh Tri: Go course reviewer
- Learn Repo: 207 Stories To Learn About Golang
- Daniel Puig Gerarde: A Comprehensive Guide to Building Kubernetes Operators with Kubebuilder
- Jution Candra Kirana: Difference between Godotenv vs Viper in Golang
- Learn Repo: 104 Stories To Learn About Go
- Laura Vuorenoja: My First Time at GopherCon
- Meet Rajesh Gor: Golang: Channels
- Georgios Kampitakis: Advent of Code: Investigating performance improvements in Go
- Alexey Shevelyov: Understanding the Versatility of Go's %v Format Specifier
- Pedro Bertao: Golang 1.21 is here (Part 2)
- 7samll7: I will recommend some Go toolkits that I frequently use in my work
- Frastyawan Nym: Secure File Transfer Made Easy: Connect to SFTP Servers with Golang
- arcade: Write APIs in Go using go-chi
- Geri Máté 🎬: How to Manage Identity & Authorization with Kratos
- drajatisme: Microservice menggunakan Go dan gRPC
- Marcelo Matz: Manipulando arquivos: um CRUD de arquivos em Go
- Ayoub Ali: How to build a Cambridge Dictionary API in GO
- Carlos Armando Marcano Vargas: Exploring Slog package: The new log library of The Go Programming Language
- pelurunyasar: Install Go (Golang) on a Linux
- Tim Bright: Distribute your Go CLI tools with GoReleaser and Homebrew
- Steven Sklar: How are Kubernetes VolumeAttachments Named?
- BarunW: Setting Up a Go http server
- Kaike Castro: Como criar um Filtro no Amazon SNS para enviar um evento específico para o Amazon SQS
- Marcelo Matz: Benchmark Go: Marshal x Encoder com requisição http
- Albert Colom: How to create your first Golang Lambda With Serverless Framework
- M.Hakim Amransyah: I am trying to merge all json data from paginated api responses with Go, this is how it looks like
Our Repo Picks
- binwiederhier/ntfy (Go): Send push notifications to your phone or desktop using PUT/POST
- IceWhaleTech/CasaOS (Go): CasaOS - A simple, easy-to-use, elegant open-source Personal Cloud system.
- acheong08/obi-sync (Go): Reverse engineering of the native Obsidian sync and publish server
- answerdev/answer (Go): A Q&A platform software for teams at any scales. Whether it’s a community forum, help center, or knowledge management platform, you can always count on Answer.
- 1Panel-dev/1Panel (Go): 🔥 🔥 🔥 现代化、开源的 Linux 服务器运维管理面板。
- hashicorp/terraform (Go): Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
- netbirdio/netbird (Go): Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls.
- rclone/rclone (Go): "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
- go-skynet/LocalAI (Go): 🤖 Self-hosted, community-driven, local OpenAI compatible API. Drop-in replacement for OpenAI running LLMs on consumer-grade hardware. Free Open Source OpenAI alternative. No GPU required. Runs ggml, gguf, GPTQ, onnx, TF compatible models: llama, llama2, gpt4all, rwkv, whisper, vicuna, koala, cerebras, falcon, dolly, starcoder, and many others
- klauspost/compress (Go): Optimized Go Compression Packages
- avast/retry-go (Go): Simple golang library for retry mechanism
- Narasimha1997/fake-sms (Go): A simple command line tool using which you can skip phone number based SMS verification by using a temporary phone number that acts like a proxy.
- jmorganca/ollama (Go): Get up and running with Llama 2 and other large language models locally
- senghoo/golang-design-pattern (Go): 设计模式 Golang 实现-《研磨设计模式》读书笔记
- moonD4rk/HackBrowserData (Go): Decrypt passwords/cookies/history/bookmarks from the browser. 一款可全平台运行的浏览器数据导出解密工具。
- ccfos/nightingale (Go): An enterprise-level cloud-native observability solution, which can be used as drop-in replacement of Prometheus for alerting and Grafana for visualization.
- apecloud/kubeblocks (Go): KubeBlocks helps developers and platform engineers manage database workloads (MySQL, PostgresSQL, Redis, MongoDB, Kafka and vector databases) on K8s inside your own cloud account. It supports multiple clouds, including AWS, Azure, GCP, and Alibaba Cloud.
- go-kit/kit (Go): A standard library for microservices.
- oauth2-proxy/oauth2-proxy (Go): A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.
- kopia/kopia (Go): Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.
- rocboss/paopao-ce (Go): 🔥An artistic "twitter like" community built on gin+zinc+vue+ts 清新文艺微社区
- cli/cli (Go): GitHub’s official command line tool
- platypusguy/jacobin (Go): A more than minimal JVM written in Go and capable of running Java 17 classes.
- kubernetes/client-go (Go): Go client for Kubernetes.
- traefik/traefik (Go): The Cloud Native Application Proxy
Forum Topics
- Excelize 2.8.0 Released - Powerful open-source library for spreadsheet (Excel) document
- Senior Golang Developer @ Porto, Portugal / London, UK - Teya
- Is it possible to create a function that only receives structs with a specific type of fields?
- What is a good json builder?
- CGO: void* pointer handling
- How to unmarshal data block from xml
- You need to change the recorded kernels to others
- Custom Error comparison fails
- GraphBLAS binding for Go
- AWS Lambda (Golang in docker) running slower than Python service
- Unprocessable entity error
- go server "multipart/form-data" works well for closed networks, but not for online networks.
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! 🦄