Udemy

Web Development w/ Google’s Go (golang) Programming Language

Enroll Now
  • 60,114 Students
  • Updated 3/2025
4.7
(7,743 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
19 Hour(s) 12 Minute(s)
Language
English
Taught by
Todd McLeod
Rating
4.7
(7,743 Ratings)
2 views

Course Overview

Web Development w/ Google’s Go (golang) Programming Language

Learn Web Programming from a University Professor in Computer Science with over 20 years of teaching experience.

This course requires you to download the Go programming language from the official website of the Go programming language. Additionally, this course may require the use of other software, such as PostgreSQL, Docker, and other tools. If you are a Udemy Business user, please check with your employer before downloading software.

The Go programming language was created by Google to do what Google does: performant web applications at scale.

Open-sourced in 2009 and reaching version one in 2012, the Go programming language is the best choice for web development programming today. Go is the most powerful, performant, and scalable programming language today for creating web applications, web API’s, microservices, and other distributed services.

In this course, you will gain a solid foundation in web development.

You will learn all of the following and more:

Architecture

  • networking architecture

  • the client / server architecture

  • the request / response pattern

  • the RFC standards defined by the IETF

  • the format of requests from clients and responses from servers

Templates

  • the role that templates play in server-side programming

  • how to work with templates from Go’s standard library

  • modifying data structures to work well with templates

Servers

  • the relationship between TCP and HTTP

  • how to build a TCP server which responds to HTTP requests

  • how to create a TCP server which acts as an in-memory database

  • how to create a restful TCP server that handles various routes and methods

  • the difference between a web server, a servemux, a multiplexer, and a mux

  • how to use a third-party server such as julien schmidt’s router

  • the importance of HTTP methods and status codes

The net/http package

  • streamlining your web development with the net/http package

  • the nuances of the net/http package

    • the handler interface

    • http.ListenAndServe

    • creating your own servemux

    • using the default servemux

    • http.Handle & http.Handler

    • http.Handlefunc, func(ResponseWriter, *Request), & http.HandlerFunc

    • http.ServeContent, http.ServeFile, & http.FileServer

    • http.StripPrefix

    • http.NotFoundHandler

State & Sessions

  • how to create state: UUID’s, cookies, values in URL’s, security

  • how to create sessions: login, permissions, logout

  • how to expire a session

Deployment

  • how to purchase a domain

  • how to deploy an application to Google Cloud

Amazon Web Services

  • how to use Amazon Web Services (AWS)

  • how to create a virtual linux machine on AWS EC2 (Elastic Cloud Compute)

  • how to use secure shell (SSH) to manage a virtual machine

  • how to use secure copy (SCP) to transfer files to a virtual machine

  • what load balancers are and how to use them on AWS

MySQL

  • how to use MySQL on AWS

  • how to connect a MySQL workbench to AWS

MongoDB

  • understanding CRUD

  • how to use MongoDB & Go

MVC (Model View Controller) Design Pattern

  • understanding the MVC design pattern

  • using the MVC design pattern

Docker

  • virtual machines vs containers

  • understanding the benefits of using Docker

  • Docker images, Docker containers, and Docker registries

  • implementing Docker and Go

  • deploying Docker and Go

Google Cloud

  • Google Cloud Storage

  • Google Cloud no-sql datastore

  • Google Cloud memcache

  • Google Cloud PAAS App Engine

Web Dev Toolkit

  • AJAX

  • JSON

  • json.Marhsal & json.Unmarshal

  • json.Encode & json.Decode

  • Hash message authentication code (HMAC)

  • Base64 encoding

  • Web storage

  • Context

  • TLS & HTTPS

  • JSON with Go using Tags

By the end of this course, you will have mastered the fundamentals of web development.

My name is Todd McLeod. I am tenured faculty in Computer Information Technology at Fresno City College and adjunct faculty in Computer Science at California State University Fresno. I have taught enough students over 22 years to know that by the end of this course, you will be an outstanding web developer.

You will have the best skills available today.

You will know the best way to do web development today.

You will have the most demanded and highest paid skills in the marketplace.

Join me in this outstanding course. Come learn best practices for web development.

Sign up for this course now and open doors to a great future.

Course Content

  • 10 section(s)
  • 173 lecture(s)
  • Section 1 Getting started
  • Section 2 Templates
  • Section 3 Creating your own server
  • Section 4 Understanding net/http package
  • Section 5 Understanding routing
  • Section 6 Serving files
  • Section 7 Deploying your site
  • Section 8 Creating state
  • Section 9 Creating sessions
  • Section 10 Amazon Web Services

What You’ll Learn

  • Construct server-side applications using today's best practices
  • Acquire an outstanding foundation in the fundamentals of web programming
  • Learn from a University Professor in Computer Science with over 20 years of experience teaching individuals of all ability levels
  • Achieve mastery in the understanding and application of web development
  • Understand servers, routing, restful applications, JSON, templates, and file servers
  • Understand cookies, state, UUIDs, HTTP methods, HTTP response codes, and sessions
  • Create web applications using only the Go programming language's standard library
  • Create web applications without using third-party frameworks
  • Build performant distributed applications that dynamically scale
  • Apply cutting-edge web development practices

Reviews

  • G
    Geodor Ruales
    3.5

    It's good but could be better. Good foundation I think. For the code given I do have my own opinions on how things are organized... I have noticed that it is much simpler to follow the code to separate functions into chunks in the same package but with different go files and only ever make a new folder to organize non go files like images, templates, etc. There are also some parts that need updating, now you can do 'go mod init', 'go mod tidy' and 'go run .' to make our lives a lot easier. Maybe introducing a framework to use in the end would be nice too.

  • P
    Patrick Ferguson
    5.0

    This is a very good course and listening and learning is very great!

  • A
    Amaraboina Rajeshwari
    3.5

    nice

  • E
    Ellalan H
    5.0

    I learnt AWS! how to developer and deploy. Really Thank you soooo much Man!

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed