lyda

joined 1 year ago
 

A template project for creating OpenAPI document driven API servers in Go.

[–] lyda@programming.dev 3 points 11 months ago

ls /usr/share/man/man?/* will show you all the man pages on your system. I used to pick ones at random.

Originally there were a number of manuals. Manual 1 had user commands. Manual 2 had system calls. Etc. You can type man NUMBER intro to read about that manual. You can also use man -k or appropos but I've also just used grep. These days they're compressed so zgrep.

[–] lyda@programming.dev 2 points 11 months ago

Good answers. I like these. I like the more than one command in a file, that will work. And yes, should have read the source!

 

Say I have go:generate directives in two files: one in the foo/ directory and one in the mock/ directory. The generated mock code will need data structures from the generated code in the foo module. Will go generate ./... reliably generate code in the correct order? What do I need to do to make that happen?

[–] lyda@programming.dev 1 points 11 months ago (4 children)

Well, nix would be an entire operating system. This is just for a build system to specify the versions of the tools to use.

 

Wonder if anyone here has been using bingo for reproducible builds. I've found it to be really good and wish I could find similar tooling for things like python for tools like yamllint.

[–] lyda@programming.dev 2 points 11 months ago

I suppose I should be clearer on the features I want. I'd want to be able to store my cache in memcached or redis and I want the cached data to expire. So for one call, I might want to keep it for five minutes, but another one can stick around for 24 hours.

The memorize package falls down there.

 

I'm curious what people are doing for memoization in #golang. I've looked around and haven't found great libraries for this which makes me wonder if I'm pursuing the wrong solution to a problem.

Caching the return values of functions based on the params has been useful to reduce load on downstream services, make things a bit faster on average and even add some level of consistency in functions that can be highly variable (which is an odd use case but nonethelass useful). But maybe there's a different pattern/idiom that's used in the Go ecosystem?