go-patterns
service
go-patterns | service | |
---|---|---|
8 | 18 | |
24,114 | 3,376 | |
- | 1.1% | |
0.0 | 9.6 | |
7 months ago | 4 days ago | |
Go | Go | |
Apache License 2.0 | 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.
go-patterns
- Options Pattern em Go
-
Go pro! With these free Golang resources
3). GO Patterns
-
Software architecture in golang,
Re Go, there are a lot of lot of good patterns available available, but a lot of them aren’t OOP specific. In fact, both Go and Rust have been influenced by multiple paradigms, including OOP. Like the FAQ says,
- Boilerplate for experienced devs
-
Should I learn Golang or use Ansible to delveop the operators?
What's great is there are really great patterns to follow out there on github (both code patterns https://github.com/tmrts/go-patterns and examples https://github.com/avelino/awesome-go https://github.com/go-kit/kit and for the app itself, https://github.com/golang-standards/project-layout )... and for me a really naggy mentor who insists everything be "idiomatic go"
-
Why is this executing in this order?
So I am trying to write a simple generator based on this pattern and the results are a little counter-intuitive. My goal is to create a generator like the above that takes a net.IPNet object and ranges over all net.IP`'s contained in that network. When printing results, I am seeing the same values show up in subsequent executions of the loop and am not sure why. Code follows:
- Go is not an easy language
- Need suggestions for good tutorial on concurrency and design patterns in golang.
service
-
Should I take the Ardan Labs course? If yes, then which one?
Ultimate Service was useful for me. None of the "backend" concepts were new, but you get to see how Bill would layout/design an API-based service. If you're experienced you'll notice the opinionated choices he makes, and I found myself saying "Nah, I'm not sure I'd do it like that". I appreciated its use of Kubernetes and KIND as I'd never played with them before. How he uses Docker to spin up a DB instance for tests is pretty cool. There's a lot of copy & paste as you code along with him (you copy from the "finished project" and paste into your work in progress). The full example project is online at https://github.com/ardanlabs/service. You won't write all that code, and this version is newer than the one I did, but it gives you an idea of what you might learn.
-
If you could go back in time | What would you do different regarding go
So what can you do insted? For testing databases, setup a docker instance for tests (e.g. like in https://github.com/ardanlabs/service), or start an embedded-postgres daemon (see https://github.com/fergusstrange/embedded-postgres). For communication with external APIs, just pass the http.Client (either in context.Context or as a field on the struct). Then in tests, you can override the http.Client.Transport func.
- Where can I find well-written go code to learn from?
-
GO web sever - file structuring convention
Take a look at https://github.com/ardanlabs/service from Bill Kennedy. You can probably simplify the structure a bit since your project is minimal, but that repo is gold.
-
Say you're mentoring someone just getting comfortable with go. What do you think they should know?
Checkout https://github.com/ardanlabs/service for inporation. Tip: try to avoid creating a service package with all services, a domain package with all domain structs, etc.
-
Any resources on building a simple web app with Go without any frameworks?
Or go through this repo https://github.com/ardanlabs/service
-
GitHub - johnwarden/httperror: Golang package for returning errors instead of handling them directly.
I've seen this handler modification and wrapping pattern in Ardan Labs' service repository. https://github.com/ardanlabs/service/tree/master/foundation/web
-
REST API project structure
https://github.com/ardanlabs/service This is something which I really like and has taken into account a lot of engineering decisions.
- GitHub examples of Go that's written really well?
- Is "Let's go" and "Let's go further" worth it?
What are some alternatives?
handlers - A collection of useful middleware for Go HTTP services & web applications 🛃
golang-standards/project-layout - Standard Go Project Layout
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
go-starter - An opinionated production-ready SQL-/Swagger-first RESTful JSON API written in Go, highly integrated with VSCode DevContainers by allaboutapps.
go-kit - A standard library for microservices.
scaffold - Generate scaffold project layout for Go.
python - Official Python client library for kubernetes
pagoda - Rapid, easy full-stack web development starter kit in Go
crystal - The Crystal Programming Language
cookiecutter-golang - A Go project template
Grumpy - Grumpy is a Python to Go source code transcompiler and runtime.
modern-go-application - Modern Go Application example