Course Overview
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.
FAQ
FAQ area empty
Course curriculum
-
Understanding templates
207 Xem trước -
Templating with concatenation
385 Xem trước -
Understanding package text/template: parsing & executing templates
1012 Xem trước -
Passing data into templates
237 Xem trước -
Variables in templates
148 Xem trước -
Passing composite data structures into templates
897 Xem trước -
Functions in templates
911 Xem trước -
Pipelines in templates
593 Xem trước -
Predefined global functions in templates
370 Xem trước -
Nesting templates - modularizing your code
471 Xem trước -
Passing data into templates & composition
338 Xem trước -
Using methods in templates
217 Xem trước -
Hands-on exercises
118 Xem trước -
Using package html/template, character escaping, & cross-site scripting
216 Xem trước
-
Understanding servers
608 Xem trước -
TCP server - write to connection
415 Xem trước -
TCP server - read from connection using bufio.Scanner
610 Xem trước -
TCP server - read from & write to connection
265 Xem trước -
TCP server - code a client
287 Xem trước -
TCP server - rot13 & in-memory database
596 Xem trước -
TCP server - HTTP request / response foundation hands-on exercise
416 Xem trước -
TCP server - HTTP method & URI retrieval hands-on exercise
165 Xem trước -
TCP server - HTTP multiplexer
303 Xem trước
-
Net/http package - an overview
561 Xem trước -
Understanding & using ListenAndServe
321 Xem trước -
Foundation of net/http: Handler, ListenAndServe, Request, ResponseWriter
321 Xem trước -
Retrieving form values - exploring *http.Request
907 Xem trước -
Retrieving other request values - exploring *http.Request
490 Xem trước -
Exploring http.ResponseWriter - writing headers to the response
455 Xem trước -
Review
433 Xem trước
-
Understanding ServeMux
986 Xem trước -
Disambiguation: func(ResponseWriter, *Request) vs. HandlerFunc
482 Xem trước -
Third-party servemux - julien schmidt’s router
526 Xem trước -
Hands-on exercises
74 Xem trước -
Hands-on exercises - solutions #1
260 Xem trước -
Hands-on exercises - solutions #2
1196 Xem trước
-
Serving a file with io.Copy
302 Xem trước -
Serving a file with http.ServeContent & http.ServeFile
233 Xem trước -
Serving a file with http.FileServer
229 Xem trước -
Serving a file with http.FileServer & http.StripPrefix
360 Xem trước -
Creating a static file server with http.FileServer
190 Xem trước -
Log.Fatal & http.Error
240 Xem trước -
Hands-on exercises
59 Xem trước -
Hands-on exercises - solutions
321 Xem trước -
The http.NotFoundHandler
347 Xem trước
-
State overview
79 Xem trước -
Passing values through the URL
382 Xem trước -
Passing values from forms
329 Xem trước -
Uploading a file, reading the file, creating a file on the server
640 Xem trước -
Enctype
720 Xem trước -
Redirects - overview
392 Xem trước -
Redirects - diagrams & documentation
475 Xem trước -
Redirects - in practice
463 Xem trước -
Cookies - overview
211 Xem trước -
Cookies - writing and reading
319 Xem trước -
Writing multiple cookies & hands-on exercise
131 Xem trước -
Hands-on exercise solution: creating a counter with cookies
199 Xem trước -
Deleting a cookie
397 Xem trước
-
Overview of Load Balancers
200 Xem trước -
Create EC2 Security Groups
391 Xem trước -
Create an ELB Load Balancer
479 Xem trước -
Implementing The Load Balancer
828 Xem trước -
Connecting To Your MySQL Server Using MySQL Workbench
311 Xem trước -
Hands-on Exercise
65 Xem trước -
Hands-on Solution
1131 Xem trước -
Autoscaling & CloudFront
762 Xem trước
-
Keyed-Hash Message Authentication Code (HMAC)
268 Xem trước -
Base64 Encoding
186 Xem trước -
Web Storage
330 Xem trước -
Context
798 Xem trước -
TLS & HTTPS
585 Xem trước -
JSON - JavaScript Object Notation
566 Xem trước -
Go & JSON - Marshal & Encode
587 Xem trước -
Unmarshal JSON with Go
627 Xem trước -
Unmarshal JSON with Go using Tags
600 Xem trước -
Hands-On Exercise Solution
128 Xem trước -
AJAX Introduction
709 Xem trước -
AJAX Server Side
732 Xem trước
-
Organizing Code Into Packages
612 Xem trước -
Create User & Delete User
268 Xem trước -
MVC Design Pattern - Model View Controller
396 Xem trước -
Install Mongodb
297 Xem trước -
Connect to Mongodb
328 Xem trước -
CRUD with Go & Mongodb
531 Xem trước -
Hands on Exercise & Solution
323 Xem trước -
Hands on Exercise & Solution
379 Xem trước -
Hands on Exercise & Solution
158 Xem trước
-
Introduction to Docker
159 Xem trước -
Virtual Machines & Containers
603 Xem trước -
Installing Docker
318 Xem trước -
Docker Whalesay Example
484 Xem trước -
Using a Dockerfile to Build An Image
767 Xem trước -
Launching a Container Running Curl
289 Xem trước -
Running a Go Web App In a Docker Container
322 Xem trước -
Pushing & Pulling To Docker Hub
535 Xem trước -
Go, Docker & Amazon Web Services (AWS)
454 Xem trước
-
Installing Postgres
452 Xem trước -
Create Database
385 Xem trước -
Create Table
316 Xem trước -
Insert Records
334 Xem trước -
Auto Increment Primary Key
202 Xem trước -
Hands-on Exercise
48 Xem trước -
Hands-on Exercise - Solution
151 Xem trước -
Relational Databases
342 Xem trước -
Query - Cross Join
426 Xem trước -
Query - Inner Join
388 Xem trước -
Query - Three Table Inner Join
337 Xem trước -
Query - Outer Joins
596 Xem trước -
Clauses
232 Xem trước -
Update a Record
67 Xem trước -
Delete a Record
42 Xem trước -
Users - Create, Grant, Alter, Remove
285 Xem trước -
Go & Postgres
457 Xem trước -
Select Query
538 Xem trước -
Web App
306 Xem trước -
Query Row
295 Xem trước -
Insert Record
448 Xem trước -
Update Record
245 Xem trước -
Delete Record
89 Xem trước -
Code Organization
683 Xem trước
-
NoSQL
692 Xem trước -
MongoDB
567 Xem trước -
Installing Mongo
652 Xem trước -
Database
417 Xem trước -
Collection
232 Xem trước -
Document
229 Xem trước -
Find (aka, query)
384 Xem trước -
Update
418 Xem trước -
Remove
119 Xem trước -
Projection
164 Xem trước -
Limit
64 Xem trước -
Sort
171 Xem trước -
Index
83 Xem trước -
Aggregation
272 Xem trước -
Users
559 Xem trước -
JSON
280 Xem trước -
Create Read Update Delete (CRUD)
1018 Xem trước
Requirment
-
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"
Outcomes
-
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
0 Student
2 Courses
0 review