What Is Programming? And How To Get Started
January 28, 2025
Article
Recommended experience
Intermediate level
Ideal for developers and IT pros, this Go course covers REST microservices, security, unit testing, and modular code for scalable, secure apps.
Recommended experience
Intermediate level
Ideal for developers and IT pros, this Go course covers REST microservices, security, unit testing, and modular code for scalable, secure apps.
Create modular and reusable code with Go modules.
Analyze the integration of external packages into Go projects.
Implement refresh token functionality for secure authentication in Go.
Evaluate and optimize Go code for efficient microservices development.
Add to your LinkedIn profile
6 assignments
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
If you're eager to advance your programming skills, mastering Go is essential in today's tech environment. This course offers a deep dive into Go programming, focusing on building efficient and scalable microservices using REST-based APIs.
- You'll explore security best practices, including authentication, authorization, role-based access control, and JWT token generation. - You'll covers unit testing techniques, such as state-based testing, testing routes and services, and using mocks and stubs. - Additionally, you'll learn about logging and error handling, creating Go modules for better code organization. - You'll modularize your code with the banking-lib module, integrate it into your APIs, and understand Claims domain objects and refresh tokens for secure access. By the end, you'll be proficient in building secure, reliable Go applications and optimizing code organization. Ideal for developers, college students, and IT professionals, this course elevates your Go programming and microservices skills.
In this module, we will introduce the course and discuss its objectives, providing a roadmap for what you will learn. We will also cover the essential tools required for developing REST-based microservices APIs in Go, including setting up your development environment and understanding the tools that will be used throughout the course.
2 videos1 reading
In this module, we will cover the fundamentals of building and configuring an HTTP web server in Go, starting with a simple "Hello World" example. We'll delve into JSON and XML encoding, teaching you how to marshal data and handle headers. Additionally, we'll refactor our codebase for better organization with Go modules and explore the advanced routing features of the gorilla/mux library to enhance your API capabilities.
5 videos1 assignment
In this module, we will delve into advanced application development techniques in Go, starting with the principles of hexagonal architecture and practical implementation in a banking application. You'll learn to build a database adapter, handle errors effectively, and conduct structured logging with uber/zap. We will also cover the use of Sqlx for database interactions, managing application configuration with environment variables, and practical assignments to enhance API functionalities, such as creating new bank accounts and handling transactions.
18 videos1 assignment
In this module, we will focus on securing your Go application by implementing robust authentication and authorization mechanisms. We'll start with an overview of security strategies and best practices, followed by a deep dive into JWT tokens for managing user authentication. You will learn to build an authentication server with login and verification APIs, implement role-based access control, and use middleware for token verification to maintain the security and integrity of your APIs.
4 videos1 assignment
In this module, we will delve into the fundamentals of unit testing, starting with state-based testing to ensure the functionality of your code. You'll learn to differentiate between mocks and stubs, and how to use them effectively for testing routes. We will also cover unit testing for services, focusing on writing reliable tests and refactoring code to enhance readability and reliability. By the end of this module, you'll be equipped with the skills to write robust unit tests that shorten feedback loops and improve your development process.
3 videos1 assignment
In this module, we will delve into advanced topics essential for building robust and maintainable microservices in Go. We'll start with an overview of the concepts, followed by extracting reusable components from our banking project to create Go modules. You'll learn to integrate these modules into different APIs, refactor APIs for better maintainability, and understand the use of refresh tokens for enhanced security. By the end of this module, you'll be proficient in creating secure, efficient, and reusable components for your microservices architecture.
9 videos2 assignments
Packt helps tech professionals put software to work by distilling and sharing the working knowledge of their peers. Packt is an established global technical learning content provider, founded in Birmingham, UK, with over twenty years of experience delivering premium, rich content from groundbreaking authors on a wide range of emerging and popular technologies.
Coursera Project Network
Course
Course
Google Cloud
Course
Google Cloud
Course
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Earn a degree from world-class universities - 100% online
Upskill your employees to excel in the digital economy
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.
This course is one of a few offered on Coursera that are currently available only to learners who have paid or received financial aid, when available.
You will be eligible for a full refund until two weeks after your payment date, or (for courses that have just launched) until two weeks after the first session of the course begins, whichever is later. You cannot receive a refund once you’ve earned a Course Certificate, even if you complete the course within the two-week refund period. See our full refund policy.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work.
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
These cookies enable the website to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.