Dev
Array and slice in Go
· ☕ 2 min read · ✍️ t1
Arrays are used when the number of elements is known and constant. Slices are preferred when you need a sequence with a dynamic size or when you need to take advantage of Go's built-in functions for handling collections.

Close Channel in Go
· ☕ 1 min read · ✍️ t1
Closing a channel can be a good practice to prevent unnecessary blocking or resource leaks, but it's not mandatory.

Channels and mutexes in Go
· ☕ 7 min read · ✍️ t1
Channels and mutexes in Go serve as tools for managing concurrency but are suited for different scenarios based on the nature of the problem you're solving. Choosing between them depends on what you aim to achieve in terms of synchronization, communication, and the architectural patterns you prefer in your concurrent applications.

Repository
· ☕ 10 min read · ✍️ t1
The repository design pattern is a way to abstract the data access logic of an application, allowing the business logic to depend on a simple interface for storing and retrieving data without having to worry about the details of the underlying storage technology. It promotes separation of concerns and can make the code more reusable and testable.

Concurrency and parallelism in Go
· ☕ 3 min read · ✍️ t1
Concurrency and parallelism are two related concepts that are used to describe the ability of a program to perform multiple tasks at the same time.

Singleton pattern
· ☕ 1 min read · ✍️ t1
The singleton pattern ensures that a class has only one instance and provides a global access point to it.

Hexagonal in Rust
· ☕ 2 min read · ✍️ t1
The hexagonal architecture, also known as the ports and adapters architecture, separates the business logic of an application from the infrastructure concerns, allowing the application to be tested and deployed in different environments.

Decorate pattern
· ☕ 2 min read · ✍️ t1
The decorator pattern dynamically adds behavior to an object by wrapping it in a decorator object.

Factory pattern
· ☕ 3 min read · ✍️ t1
The factory pattern defines an interface for creating objects in a super class, but allows subclasses to alter the objects that will be created.

Builder pattern
· ☕ 2 min read · ✍️ t1
The builder pattern separates the construction of a complex object from its representation, allowing the same construction process to create different representations.

DDD
· ☕ 2 min read · ✍️ t1
Domain-Driven Design is a software development approach that focuses on modeling the business domain in order to better understand the problem being solved and create a more effective solution.

Best Practices
· ☕ 3 min read · ✍️ t1
Best practices are a set of guidelines, principles, and recommendations that are based on the collective experience and knowledge of the software development community.

Design Patterns
· ☕ 2 min read · ✍️ t1
Design patterns are reusable solutions to common problems in software engineering. They are a way of capturing and documenting the best practices and experiences of software developers, and providing a common vocabulary and framework for discussing and solving design problems.