omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc
https://github.com/jf-tech/omniparser
GitHub
GitHub - jf-tech/omniparser: omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text…
omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc. - jf-tech/omniparser
Go library for printing human readable, relative time differences 🕰️
https://github.com/mergestat/timediff
GitHub
GitHub - mergestat/timediff: Go library for printing human readable, relative time differences 🕰️
Go library for printing human readable, relative time differences 🕰️ - mergestat/timediff
Programming languages have their build tools. Java has Maven, Scala has SBT, and Javascript has NPM beside many web build tools. Newcomers to Golang wonder about the build tool for Go. Starting is easy, the go compiler is easier to use than comparable alternatives, to start no build tool is necessary
https://www.inkmi.com/blog/go-build-tools-make-bazel-just-xc-taskfile-mage
Inkmi
Build Tools for Go
After go build, what next? There are many great build tools for Golang
An easy to learn toolkit for creating graphical apps for desktop, mobile and web.
Code once and build native apps for all platforms and stores
https://fyne.io
This post discusses Golang strings: their design, and how runes and bytes fit into the picture
https://scribe.rip/@andreiboar/demystifying-golang-strings-05981b84f1a7
Docker’s flexibility and robustness as a containerization tool come with a complexity that can be daunting. Multiple methods are available to accomplish similar tasks, and users must understand the pros and cons of the available options to choose the best approach for their projects
https://www.docker.com/blog/docker-best-practices-choosing-between-run-cmd-and-entrypoint/
Docker
Docker Best Practices: Choosing Between RUN, CMD, and ENTRYPOINT | Docker
Learn how to optimize Docker command use with our best practices guide on RUN, CMD, and ENTRYPOINT Dockerfile instructions.
Building software is an ever-shifting challenge. To navigate this complexity, developers rely on proven design principles to craft code that's robust, adaptable, and easy to manage. One such set of principles is SOLID (first introduced by Robert C. Martin).
SOLID stands for: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion. Each principle plays a vital role in fostering maintainability, scalability, and testability in your programs
https://packagemain.tech/p/mastering-solid-principles-with-go
packagemain.tech
Mastering SOLID Principles with Go Examples
The SOLID principles are a set of design guidelines that help developers write more maintainable, scalable, and testable code.
Profiling is an underrated skill among software-engineers and it’s often overlooked by even very skilled developers
https://nyadgar.com/posts/go-profiling-like-a-pro/
🎦 Give your Go app superpowers with an Embedded NATS Server
https://redirect.invidious.io/watch?v=cdTrl8UfcBo
Mat Ryer has been writing HTTP services in Go for more than 13 years. Needless to say, he’s learned a lot along the way. Today, Johnny & Ian sit down with Mat to ask him all about it
https://changelog.com/gotime/322
Changelog
How Mat writes HTTP services in Go (Go Time #322)
Mat Ryer has been writing HTTP services in Go for more than 13 years. Needless to say, he's learned a lot along the way. Today, Johnny & Ian sit down with Mat to ask him all about it.
This month, high-performance language Rust jumped from position #17 to position #13 in the TIOBE index. This is an all time high for Rust. Gaining 4 positions might seem a small change, but Rust has been "the talk of the town" the last couple of years without making much progress in the TIOBE index
https://www.tiobe.com/tiobe-index/
Recently, I've been looking at cache friendly algorithm for common data structures like trees, tries, ... One such algorithm kept coming up to mind and that's why I decided to implement it in Go. You can find the paper describing the algorithm here
https://clement-jean.github.io/simd_binary_search_tree/
ACM Conferences
FAST | Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
What are range iterators?
I don't know about you, but I found the explanation and examples from the experiment documentation very confusing. But the release notes for 1.23 do a much better job summarizing the feature (although not of providing examples)
https://www.dolthub.com/blog/2024-07-12-golang-range-iters-demystified/
tip.golang.org
Go Wiki: Rangefunc Experiment - The Go Programming Language
A new Go mocking library designed for testing code that relies on time
https://coder.com/blog/introducing-quartz
Coder
Introducing Quartz: A Deterministic Time Testing Library for Go - Blog - Coder
Quartz shares the high level design of a Clock interface that closely resembles the functions in the time standard library, and a "real" clock passes through to the standard library in production, while a mock clock gives precise control in testing.
Your ultimate Go microservices framework for the cloud-native era
https://github.com/go-kratos/kratos
GitHub
GitHub - go-kratos/kratos: Your ultimate Go microservices framework for the cloud-native era.
Your ultimate Go microservices framework for the cloud-native era. - go-kratos/kratos
An open-source, cloud native, horizontally scalable, distributed time-series database
https://lindb.io/oss/lindb
Govulncheck reports known vulnerabilities that affect Go code. It uses static analysis of source code or a binary's symbol table to narrow down reports to only those that could affect the application
https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck
pkg.go.dev
govulncheck command - golang.org/x/vuln/cmd/govulncheck - Go Packages
Govulncheck reports known vulnerabilities that affect Go code.