4 practical principles of high-quality database integration tests in Go
Did you ever hear about a project where changes were tested on customers that you don’t like or countries that are not profitable? Or even worse – did you work on such project? It’s not enough to say that it’s just not fair and not professional. It’s also hard to develop anything new because you are afraid to make any change in your codebase.
The Repository pattern in Go: a painless way to simplify your service logic
I’ve seen a lot of complicated code in my life. Pretty often, the reason of that complexity was application logic coupled with database logic. Keeping logic of your application along with your database logic makes your application much more complex, hard to test, and maintain. There is already a proven and simple pattern that solves these issues. The pattern that allows you to separate your application logic from database logic.
Popular
- The Go libraries that never failed us: 22 libraries you need to know
- Safer Enums in Go
- Common Anti-Patterns in Go Web Applications
- How to implement Clean Architecture in Go (Golang)
- The Repository pattern in Go: a painless way to simplify your service logic
- Introduction to DDD Lite: When microservices in Go are not enough
Tags
- golang
- go
- watermill
- ddd
- domain-driven design
- events
- web-applications
- anti-patterns
- clean architecture
- ci
- firestore
- cloudrun
- gcloud
- googlecloud
- serverless
- testing
- advanced
- databases
- devops
- event-driven
- firebase
- gitlab
- microservices
- reactive
- repository
- architecture
- basics
- building-business-applications
- cqrs
- kafka
- mysql
- nats
- pipelines
- scalability
- transactions
- amqp
- authentication
- backend
- bounded-context
- c4
- cicd
- design-patterns
- diagrams
- docker
- dry
- e-book
- enums
- event-storming
- frameworks
- gamedev
- generics
- google-cloud
- grpc
- htmx
- intermediate
- javascript
- libraries
- maintainability
- metrics
- monolith
- openapi
- parallelism
- prometheus
- python
- rabbitmq
- security
- software-architecture
- sql
- sse
- strategic-ddd
- swagger
- terraform
- tips
- versioning