Web Development W/ Google’S Go (Golang) Programming Language
Last updated 5/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 13.51 GB | Duration: 19h 12m
Last updated 5/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 13.51 GB | Duration: 19h 12m
Learn Web Programming from a University Professor in Computer Science with over 20 years of teaching experience.
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
Requirements
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"
Description
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.
Overview
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.