impl
whatgotdone
impl | whatgotdone | |
---|---|---|
3 | 5 | |
985 | 139 | |
- | - | |
3.4 | 7.6 | |
9 days ago | 13 days ago | |
Go | Go | |
MIT License | Apache License 2.0 |
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.
impl
-
Which Tools Do You use daily for Golang development?
impl generates method stubs for implementing an interface
-
[gopher.nvim] Plugin for golang development
What can do this plugin? - Modify struct tags. - Run go get, go mod & go generate commands inside of nvim. - Implement interface by impl. - Generate tests by gotests. - Install required tools for plugin working(by go install).
-
Back to basics: Writing an application using Go and PostgreSQL
Looks interesting! Reminds me impl[0], which comes bundled with `vscode-golang`.
[0]: https://github.com/josharian/impl
whatgotdone
- What Got Done
- How to monetize an open-source project?
- Any free database for new saas
-
Keep a Knowledge Log
I wrote a tool specifically for this, mostly inspired by the Snippets tool at Google. I've been publishing my weekly log in it every week for almost three years:
https://whatgotdone.com/michael/2021-12-03
The code is all open source if you're interested in playing around with it:
https://github.com/mtlynch/whatgotdone
-
Back to basics: Writing an application using Go and PostgreSQL
I had the same objection to SQLite, and then I heard about Litestream, and it won me over.[0]
Litestream watches your SQLite database and then streams changes to a cloud storage provider (e.g., S3, Backblaze). You get the performance and simplicity of writing SQLite to the local filesystem, but it's syncing to the cloud. And the cool part is that you don't have to change any of your application code to do it - as far as your app is concerned, it's writing to a local SQLite file.
I wrote a little log uploading utility for my business that uses Litestream, and it's been fantastic.[1] It essentially carries around its data with it, so I can deploy my app to Heroku, blow away the instance and then launch it on fly.io, and it pops up with the exact same data.[2]
I'm currently in the process of rewriting an open-source AppEngine app to use SQLite + Litestream instead of Google Firestore.[2] It's such a relief to get away from all the complexity of GCP and Firestore and get back to simple SQLite.
[0] https://litestream.io/
[1] https://mtlynch.io/litestream/
[2] https://asciinema.org/a/I2HcYheYayeh7aHj23QSY9Vyf/embed?size...
[3] https://github.com/mtlynch/whatgotdone/pull/639
What are some alternatives?
go-mockgen-tool - Go/Golang mock generation for interfaces via code generation
gotests - Automatically generate Go test boilerplate from your source code.
pgxtutorial - Example of how to build a web service using Go, PostgreSQL, and gRPC
litestream - Streaming replication for SQLite.
go - The Go programming language
go.nvim - A feature-rich Go development plugin, leveraging gopls, treesitter AST, Dap, and various Go tools to enhance the dev experience.
pgx - PostgreSQL driver and toolkit for Go
sqlc - Generate type-safe code from SQL
faunadb-js - Javascript driver for FaunaDB v4