Building microservices API in Go. (Packt Publishing, 2023)
If you are looking to take your programming skills to the next level, Go programming is a must-know language in today's tech landscape. This powerful language has gained widespread popularity due to its simplicity, performance, and scalability. In this comprehensive course, you will dive deep into Go programming and learn how to build efficient and scalable microservices using REST-based APIs. In this course, you will start with an in-depth exploration of security, covering best practices for securing your applications. You will learn about authentication and authorization strategies, how to implement role-based access control, and generate JWT tokens for secure user management. Next, you will delve into unit testing techniques for writing reliable and robust code. You will understand state-based testing, testing routes, and services, and learn the difference between mocks and stubs. You will also explore how to generate mocks and rewire applications for effective unit testing. In addition, this course covers logging and error handling, critical aspects of building robust applications. You will learn how to extract logger and AppError packages from your project to create a Go module for better code organization and reusability. You will also discover how to modularize your code with the banking-lib module, integrating it into your banking API and banking-auth API. You will refactor your code to use Claims domain objects for parsing JWT tokens and understand the concept of refresh tokens for maintaining secure access to your applications. By the end, you will gain the skills needed to build secure and reliable Go applications, optimize code organization, and elevate your coding expertise. What You Will Learn Learn to build REST-based microservices APIs using Go Implement logging and error handling in Go applications Create modular and reusable code with Go modules Understand how to integrate external packages into Go projects Implement refresh token functionality for secure authentication in Go Refactor and optimize Go code for efficient microservices development Audience This course is for developers looking to level up their skills in Go programming and learn about REST-based microservices API development. It's also suitable for college students learning Golang and experienced developers new to Go and microservices. Whether you are a software developer, web developer, or IT professional, this course provides the knowledge, examples, and best practices to excel in your career. About The Author Ashish Juyal: Ashish Juyal is a passionate all-round IT consultant with nearly two decades of experience in IT, specializing in cloud computing, continuous delivery, and DevOps. As a principal architect, Ashish has successfully translated technical and organizational challenges into solutions for multiple enterprise customers. He is well-versed in agile team methodologies, XP engineering practices, and has contributed to design, coding, code optimization, testing strategies, and integration techniques. Ashish has a strong drive for gaining and sharing knowledge and has coached development teams ranging from small start-ups to enterprise-sized companies. He has in-depth expertise in design patterns, domain-driven design, application integration, distributed application architecture, and object-oriented modeling and design.