Web Development w Googles Go golang Programming Language

Learn Web Programming from a University Professor in Computer Science with over 20 years of teaching experience.
Web Development w Googles Go golang Programming Language
File Size :
26.75 GB
Total length :
19h 12m



Todd McLeod


Last update




Web Development w Googles Go golang Programming Language

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

Web Development w Googles Go golang Programming Language


You must understand how to program with the Go programming language before taking this course. If you do not know how to program with Go, please take my course: “Learn How To Code: Google’s Go (golang) Programming Language”


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:Architecturenetworking architecturethe client / server architecturethe request / response patternthe RFC standards defined by the IETFthe format of requests from clients and responses from serversTemplatesthe role that templates play in server-side programminghow to work with templates from Go’s standard librarymodifying data structures to work well with templatesServersthe relationship between TCP and HTTPhow to build a TCP server which responds to HTTP requests how to create a TCP server which acts as an in-memory databasehow to create a restful TCP server that handles various routes and methodsthe difference between a web server, a servemux, a multiplexer, and a muxhow to use a third-party server such as julien schmidt’s routerthe importance of HTTP methods and status codesThe net/http packagestreamlining your web development with the net/http packagethe nuances of the net/http packagethe handler interfacehttp.ListenAndServecreating your own servemuxusing the default servemuxhttp.Handle & http.Handlerhttp.Handlefunc, func(ResponseWriter, *Request), & http.HandlerFunchttp.ServeContent, http.ServeFile, & http.FileServerhttp.StripPrefixhttp.NotFoundHandlerState & Sessionshow to create state: UUID’s, cookies, values in URL’s, securityhow to create sessions: login, permissions, logouthow to expire a sessionDeploymenthow to purchase a domainhow to deploy an application to Google CloudAmazon Web Serviceshow 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 machinehow to use secure copy (SCP) to transfer files to a virtual machinewhat load balancers are and how to use them on AWSMySQLhow to use MySQL on AWShow to connect a MySQL workbench to AWSMongoDBunderstanding CRUDhow to use MongoDB & GoMVC (Model View Controller) Design Patternunderstanding the MVC design patternusing the MVC design patternDockervirtual machines vs containersunderstanding the benefits of using DockerDocker images, Docker containers, and Docker registriesimplementing Docker and Godeploying Docker and GoGoogle CloudGoogle Cloud StorageGoogle Cloud no-sql datastoreGoogle Cloud memcacheGoogle Cloud PAAS App EngineWeb Dev ToolkitAJAXJSONjson.Marhsal & json.Unmarshal json.Encode & json.DecodeHash 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.


Section 1: Getting started

Lecture 1 Why choose Go ( golang ) for web development?

Lecture 2 Course outline

Lecture 3 Language review

Lecture 4 How to succeed

Lecture 5 Miscellaneous resources

Section 2: Templates

Lecture 6 Understanding templates

Lecture 7 Templating with concatenation

Lecture 8 Understanding package text/template: parsing & executing templates

Lecture 9 Passing data into templates

Lecture 10 Variables in templates

Lecture 11 Passing composite data structures into templates

Lecture 12 Functions in templates

Lecture 13 Pipelines in templates

Lecture 14 Predefined global functions in templates

Lecture 15 Nesting templates – modularizing your code

Lecture 16 Passing data into templates & composition

Lecture 17 Using methods in templates

Lecture 18 Hands-on exercises

Lecture 19 Using package html/template, character escaping, & cross-site scripting

Section 3: Creating your own server

Lecture 20 Understanding servers

Lecture 21 TCP server – write to connection

Lecture 22 TCP server – read from connection using bufio.Scanner

Lecture 23 TCP server – read from & write to connection

Lecture 24 TCP server – code a client

Lecture 25 TCP server – rot13 & in-memory database

Lecture 26 TCP server – HTTP request / response foundation hands-on exercise

Lecture 27 TCP server – HTTP method & URI retrieval hands-on exercise

Lecture 28 TCP server – HTTP multiplexer

Section 4: Understanding net/http package

Lecture 29 net/http package – an overview

Lecture 30 Understanding & using ListenAndServe

Lecture 31 Foundation of net/http: Handler, ListenAndServe, Request, ResponseWriter

Lecture 32 Retrieving form values – exploring *http.Request

Lecture 33 Retrieving other request values – exploring *http.Request

Lecture 34 Exploring http.ResponseWriter – writing headers to the response

Lecture 35 Review

Section 5: Understanding routing

Lecture 36 Understanding ServeMux

Lecture 37 Disambiguation: func(ResponseWriter, *Request) vs. HandlerFunc

Lecture 38 Third-party servemux – julien schmidt’s router

Lecture 39 Hands-on exercises

Lecture 40 Hands-on exercises – solutions #1

Lecture 41 Hands-on exercises – solutions #2

Section 6: Serving files

Lecture 42 Serving a file with io.Copy

Lecture 43 Serving a file with http.ServeContent & http.ServeFile

Lecture 44 Serving a file with http.FileServer

Lecture 45 Serving a file with http.FileServer & http.StripPrefix

Lecture 46 Creating a static file server with http.FileServer

Lecture 47 log.Fatal & http.Error

Lecture 48 Hands-on exercises

Lecture 49 Hands-on exercises – solutions

Lecture 50 The http.NotFoundHandler

Section 7: Deploying your site

Lecture 51 Buying a domain – google domains

Lecture 52 Deploying to google cloud

Section 8: Creating state

Lecture 53 State overview

Lecture 54 Passing values through the URL

Lecture 55 Passing values from forms

Lecture 56 Uploading a file, reading the file, creating a file on the server

Lecture 57 Enctype

Lecture 58 Redirects – overview

Lecture 59 Redirects – diagrams & documentation

Lecture 60 Redirects – in practice

Lecture 61 Cookies – overview

Lecture 62 Cookies – writing and reading

Lecture 63 Writing multiple cookies & hands-on exercise

Lecture 64 Hands-on exercise solution: creating a counter with cookies

Lecture 65 Deleting a cookie

Section 9: Creating sessions

Lecture 66 Sessions

Lecture 67 Universally unique identifier – UUID

Lecture 68 Your first session

Lecture 69 Sign-up

Lecture 70 Encrypt password with bcrypt

Lecture 71 Login

Lecture 72 Logout

Lecture 73 Permissions

Lecture 74 Expire session

Section 10: Amazon Web Services

Lecture 75 Overview

Lecture 76 Creating a virtual server instance on AWS EC2

Lecture 77 Hello World on AWS

Lecture 78 Persisting an application

Lecture 79 Hands-on Exercise

Lecture 80 Hands-on Solution

Lecture 81 Terminating AWS services

Section 11: Relational Databases

Lecture 82 Overview

Lecture 83 Installing MySQL – Locally

Lecture 84 Installing MySQL – AWS

Lecture 85 Connect Workbench to MySQL on AWS

Lecture 86 Go & SQL – Setup

Lecture 87 Go & SQL – In Practice

Section 12: Scaling On AWS

Lecture 88 Overview of Load Balancers

Lecture 89 Create EC2 Security Groups

Lecture 90 Create an ELB Load Balancer

Lecture 91 Implementing The Load Balancer

Lecture 92 Connecting To Your MySQL Server Using MySQL Workbench

Lecture 93 Hands-on Exercise

Lecture 94 Hands-on Solution

Lecture 95 Autoscaling & CloudFront

Section 13: Photo Blog

Lecture 96 Starting Files

Lecture 97 User Data

Lecture 98 Storing Multiple Values

Lecture 99 Uploading Pictures

Lecture 100 Displaying Pictures

Section 14: Web Dev Toolkit

Lecture 101 Keyed-Hash Message Authentication Code (HMAC)

Lecture 102 Base64 Encoding

Lecture 103 Web Storage

Lecture 104 Context

Lecture 105 TLS & HTTPS

Lecture 106 JSON – JavaScript Object Notation

Lecture 107 Go & JSON – Marshal & Encode

Lecture 108 Unmarshal JSON with Go

Lecture 109 Unmarshal JSON with Go using Tags

Lecture 110 Hands-On Exercise Solution

Lecture 111 AJAX Introduction

Lecture 112 AJAX Server Side

Section 15: Go & Mongodb

Lecture 113 Organizing Code Into Packages

Lecture 114 Create User & Delete User

Lecture 115 MVC Design Pattern – Model View Controller

Lecture 116 Install Mongodb

Lecture 117 Connect to Mongodb

Lecture 118 CRUD with Go & Mongodb

Lecture 119 Hands on Exercise & Solution

Lecture 120 Hands on Exercise & Solution

Lecture 121 Hands on Exercise & Solution

Section 16: Docker

Lecture 122 Introduction to Docker

Lecture 123 Virtual Machines & Containers

Lecture 124 Installing Docker

Lecture 125 Docker Whalesay Example

Lecture 126 Using a Dockerfile to Build An Image

Lecture 127 Launching a Container Running Curl

Lecture 128 Running a Go Web App In a Docker Container

Lecture 129 Pushing & Pulling To Docker Hub

Lecture 130 Go, Docker & Amazon Web Services (AWS)

Section 17: PostgreSQL

Lecture 131 Installing Postgres

Lecture 132 Create Database

Lecture 133 Create Table

Lecture 134 Insert Records

Lecture 135 Auto Increment Primary Key

Lecture 136 Hands-on Exercise

Lecture 137 Hands-on Exercise – Solution

Lecture 138 Relational Databases

Lecture 139 Query – Cross Join

Lecture 140 Query – Inner Join

Lecture 141 Query – Three Table Inner Join

Lecture 142 Query – Outer Joins

Lecture 143 Clauses

Lecture 144 Update a Record

Lecture 145 Delete a Record

Lecture 146 Users – Create, Grant, Alter, Remove

Lecture 147 Go & Postgres

Lecture 148 Select Query

Lecture 149 Web App

Lecture 150 Query Row

Lecture 151 Insert Record

Lecture 152 Update Record

Lecture 153 Delete Record

Lecture 154 Code Organization

Section 18: MongoDB

Lecture 155 NoSQL

Lecture 156 MongoDB

Lecture 157 Installing Mongo

Lecture 158 Database

Lecture 159 Collection

Lecture 160 Document

Lecture 161 Find (aka, query)

Lecture 162 Update

Lecture 163 Remove

Lecture 164 Projection

Lecture 165 Limit

Lecture 166 Sort

Lecture 167 Index

Lecture 168 Aggregation

Lecture 169 Users

Lecture 170 JSON

Lecture 171 Create Read Update Delete (CRUD)

Section 19: Farewell

Lecture 172 Congratulations

Lecture 173 Bonus lecture

This is a university level introduction to web programming course.,This course is for individuals who know how to use the Go programming language.,This course is perfect for programmers wanting a thorough introduction to web development using the Go programming language.,This course is perfect for developers wanting to fill in gaps in their knowledge.

Course Information:

Udemy | English | 19h 12m | 26.75 GB
Created by: Todd McLeod

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top