null
cuckoofilter
Our great sponsors
null | cuckoofilter | |
---|---|---|
5 | 1 | |
1,723 | 1,053 | |
- | - | |
5.6 | 0.0 | |
about 1 month ago | 7 months ago | |
Go | Go | |
BSD 2-clause "Simplified" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
null
-
JSON encoder/decoder supporting omitempty on structs
Use-case: working on PATCH requests, the body may or may not contain nullable values. I am using guregu/null and I can't use a pointer because if the json contains "null" as a value, the pointer will be set to nil in the struct, instead of a value representing the presence of null. In short I can't differentiate the absence of the field in the request from the presence of the field with a null value.
-
Nilable - finally a way to stop using pointers just to get the nil state
https://github.com/guregu/null is an awesome package implementing most SQL scanner Interfaces plus JSON
- Golang backend with lots of raw SQL queries
-
Gonion - Golang Client for querying Tor network data
Unfortunately in Go, switching to *bool makes the api a little more awkward to use since users that need to set true or false have to define a local variable then use a pointer to that. Another option would be something like null, but that adds a dependency to your currently-dependency-free project. If anyone has a better solution to this pattern, I'd love to hear it.
cuckoofilter
-
Looking for fast, space-efficient key-lookup
- a cuckoo filter for fast lookup. This has around a 3% false positive rate. There are other implementations however that have a much lower rate. You can store the filter in the database as well in a different bucket so you don't have to rebuild the filter on startup.
What are some alternatives?
hyperloglog - HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) brought to you by Axiom
golang-set - A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.
bloom - Bloom filters implemented in Go.
gods - GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more
gota - Gota: DataFrames and data wrangling in Go (Golang)
go-datastructures - A collection of useful, performant, and threadsafe Go datastructures.
conjungo - A small flexible merge library in go
merkletree - A Merkle Tree implementation written in Go.
ttlcache - An in-memory cache with item expiration and generics [Moved to: https://github.com/jellydator/ttlcache]
levenshtein - Go implementation to calculate Levenshtein Distance.
encoding - Integer Compression Libraries for Go
count-min-log - Go implementation of Count-Min-Log