TLWI Golang #99
thelastweekin.dev
Welcome back, readers! 🎉 This week we have a varied selection of articles that we just can't wait to share with you. From programming guides to cloud storage to financial applications, we've got you covered. Let's dive in!
Are you a fan of Go? Then you won't want to miss out on Writing An Interpreter In Go In TypeScript. This article walks you through the process of writing an interpreter in Go, translated into TypeScript. It's a great way to expand your skill set and learn more about these two powerful programming languages.
For all our finance buffs out there, we have a fascinating read on Handling Account Balances in Financial Applications
Do you use multiple cloud storage providers? Then you'll definitely want to check out the article on rsync for cloud storage
If you're looking for a self-hosted file management and sharing system that supports multiple storage providers, take a look at this cloud system
Finally, we have an article that answers the question on everyone's mind: Why go does not panic?
That's all for this week. Be sure to click on the links above and give these articles a read. As always, thanks for being a part of our community and we'll see you next week!
Dennis
Our Article Picks
- kuldeep_singh: Golang GUI Calculator
- Marvin Zhang: Golang in Action: How to implement a simple distributed system
- &y H. Golang (he/him): Intro to Bubble Tea in Go
- Raymond Yan: Build A K-pop Radio in Go!
- Lorain: High-performance Go HTTP framework tasting
- Raymond Yan: SQLC — A different approach to working with databases in Go
- Andrew Pillar: A simple CRUD library for PostgreSQL with generics in Go
- &y H. Golang (he/him): Processing user input in Bubble Tea with a menu component
- kuldeep_singh: Golang Tutorial: Upload Bulk Files to aws S3 Using Golang
- Answer.dev: Answer.dev launch! An Open Source Q&A Community Software
- femolacaster: True love is not hard to find with RedisJSON
- Elton Minetto: Creating an API using Go and sqlc
- kuldeep_singh: Golang Developer
- Meet Rajesh Gor: Golang: File Reading
- jonasbn: Challenges, Solutions and more Challenges and more Solutions
- LanLanceYuan: Implementation of the core structure of the high-performance Go HTTP framework Hertz for beginners
- &y H. Golang (he/him): Mocks in Go tests with Testify Mock
- Feng Lei: 【一 Go 到底】第一天---初识 Goooooooooooooooooooooooo
- Maxime Guilbert: GoLang - How to use maps
- Matt Angelosanto: Comparing Elixir with Rust and Go
- Benjamin DeCoste: Running an HTTP Server with AWS Nitro Enclaves
- &y H. Golang (he/him): Using Testify Mock in web clients
- Demola Malomo: How to build a One-Time-Password(OTP) Verification API with Go and Twilio
- Toul: Ultimate GoLang Beginner's Cheat Sheet
- Eternal Dev: 5 ways to concatenate string in Golang with reasons
- Maxime Guilbert: GoLang - Comment utiliser des maps
- Jitendra: A spinner (aka loading animation) for terminal in Go
- Daniel Benzie: Handling Account Balances in Financial Applications
- Dominik Zarsky: Introducing ingoreinit - A CLI tool for creating gitignores
- hamza72x: [Grind 169] 4. Best Time to Buy and Sell Stock
- hamza72x: [Grind 169] 8. Binary Search
- Kamesh Sampath: Simplify Golang Multi Architecture Container Builds
- eliphosif: Auth0 with Go - Gin backend with JWT middleware
- chama-chomo: How to Debug Golang app running in K8S (Okteto) using Neovim
- Pedro Chaparro: Web Scraping y Concurrencia - GO
- Eugene Mikhalev: Solving problems with Binary Search algorithm
- Sebastian Roy: Sending an Image as POST Request with Swift 5 to Go 1.19 Server
- Ivan Starkov: JS defer or how to free resources at the end of code block (fun way).
- hamza72x: [Grind 169] 5. Valid Palindrome
- hamza72x: [Grind 169] 3. Merge Two Sorted Lists
- Hirotaka Tagawa / wafuwafu13: Writing "Writing An Interpreter In Go" In TypeScript
- Benjamin Bryant: October Gophers: The Rundown
- Traci Kamp: Terraform Provider Validation
- hamza72x: [Grind 169] 1. Two Sum
- Pratik Singh: Kubernetes Controllers
- Arthur Christoph: Go Series: Functions
- hamza72x: [Grind 169] 2. Valid Parentheses
- hamza72x: [Grind 169] 7. Valid Anagram
- hamza72x: [Grind 169] 6. Invert Binary Tree
Our Repo Picks
- halfrost/LeetCode-Go (Go): ✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解
- Dreamacro/clash (Go): A rule-based tunnel in Go.
- go-gorm/gorm (Go): The fantastic ORM library for Golang, aims to be developer friendly
- HyNetwork/hysteria (Go): Hysteria is a feature-packed proxy & relay tool optimized for lossy, unstable connections (e.g. satellite networks, congested public Wi-Fi, connecting to foreign servers from China)
- XTLS/Xray-core (Go): Xray, Penetrates Everything. Also the best v2ray-core, with XTLS support. Fully compatible configuration.
- moonD4rk/HackBrowserData (Go): Decrypt passwords/cookies/history/bookmarks from the browser. 一款可全平台运行的浏览器数据导出解密工具。
- gravitational/teleport (Go): The easiest, most secure way to access infrastructure.
- gogs/gogs (Go): Gogs is a painless self-hosted Git service
- v2fly/v2ray-core (Go): A platform for building proxies to bypass network restrictions.
- ethereum-optimism/optimism (Go): Optimism is Ethereum, scaled.
- cloudwego/hertz (Go): A high-performance and strong-extensibility Go HTTP framework that helps developers build microservices.
- crossplane/crossplane (Go): Cloud Native Control Planes
- alist-org/alist (Go): 🗂️A file list program that supports multiple storage, powered by Gin and Solidjs. / 一个支持多存储的文件列表程序,使用 Gin 和 Solidjs。
- gofiber/fiber (Go): ⚡️ Express inspired web framework written in Go
- cloudreve/Cloudreve (Go): 🌩 支持多家云存储的云盘系统 (Self-hosted file management and sharing system, supports multiple storage providers)
- go-gitea/gitea (Go): Git with a cup of tea, painless self-hosted git service
- kubernetes/kubernetes (Go): Production-Grade Container Scheduling and Management
- ehang-io/nps (Go): 一款轻量级、高性能、功能强大的内网穿透代理服务器。支持 tcp、udp、socks5、http 等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh 访问、远程桌面,内网 dns 解析、内网 socks5 代理等等……,并带有功能强大的 web 管理端。a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.
- fatedier/frp (Go): A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
- rclone/rclone (Go): "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
- go-redis/redis (Go): Type-safe Redis client for Golang
- stretchr/testify (Go): A toolkit with common assertions and mocks that plays nicely with the standard library
- tenable/terrascan (Go): Detect compliance and security violations across Infrastructure as Code to mitigate risk before provisioning cloud native infrastructure.
- containerd/containerd (Go): An open and reliable container runtime
- lima-vm/lima (Go): Linux virtual machines, typically on macOS, for running containerd
Forum Topics
- A Simple SQLite CLI Tool
- Simplify existing libraries to fetch LLDP information
- Shortening the code - "switch" case
- Error run code "BUILDING AN APPLICATION WITH GO AND SQLITE"
- Which database best choice for rest api in gin framework?
- Maps mutexes and goRoutines
- Variables' range
- Looking For Go Dev (up to 3 years of Experience)
- Passing dependency container struct by value or reference
- Delete all files with the same name but different extensions
- Site Reliability Engineer (f/m/d) - Defense Products @ United Internet in Germany
- How can I call async API using Go http
- Structured logging
- Calling go function from c#
- Calling a function whose name is contained in a variable
- Good places to use anonymous functions that aren't just for concurrency
- Constructor returns copy but methods are pointer receivers, good or bad?
- Why go does not panic?
- Best GoLang Course
- Nil inconsistency? solved (kind of)
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! 🦄