In this course, you will learn :
- Install, configure and setup Go
- Analysis and design of REST microservices.
- Different architectures and patterns for implementing them in Go.
- Test as you Go. Ensure the quality of your work.
- Advanced concurrency patterns.
- Parallel execution on Multi-Core VMs.
- HTTP frameworks, comparison and appliance.
1. Package organization - Applying MVC
- Introduction to MVC
- Package organization
- Pushing our changes to Git and first PR
2. Testing in go
- Introduction to testing
- Unit tests
- How to structure Go artifacts and mock
3. Consuming external APIs
- HTTP Frameworks
- Analyzing our target APIs.
- Defining our domain structs
- REST Api Calls - Native HTTP client
- Testing: Mocking native REST Api calls.
- Putting all together
- Testing: Unit & Integration tests
4. From linear to concurrent
- Concurrency is NOT parallelism
- Implementation of concurrent API calls
- Testing concurrent models
- How to limit concurrency
- Calculate the shipping box
- How to use Mutex
5. Logging system
- Introduction to logging systems
- Log library - logrus
- Log library - zap
6. Final chapter
- Infrastructure design for your microservices
- Creating an OAuth authentication microservice
- Mocking entire layers of the application