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

  • Course provided by Udemy
  • Study type: Online
  • Starts: Anytime
  • Price: See latest price on Udemy
Udemy

Course 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.

Ruby on Rails, Python, Django, Node.js, PHP, and ASP all fall short.

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

Building Applications

  • a photo blog

  • a twitter clone

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 17 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 hottest, 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.

Who this course is for:

  • 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.

Instructor

Tenured College Professor
  • 4.5 Instructor Rating
  • 49,683 Reviews
  • 335,742 Students
  • 19 Courses

I am a tenured professor in California. I have taught at both the college and university level. I have also taught in multiple disciplines including business, information systems, computer science, and online education. In 1997, I was one of the first professors at the university to teach online. I did post-graduate work in online education at UC San Diego. I co-founded and taught in the “Online Teacher’s Training Program” which trained professors how to teach online. In 2008, I was selected as one of the best instructors in the entire California Community College system. Currently, when measured by the number of students served, I am the world’s leading trainer in Google’s new programming language which is one of the fastest growing, highest paying programming languages in America. In addition, I have started three businesses (two of them profitable, so far). My background in business, information systems, computer science, online education, and real-world entrepreneurship has prepared me to teach all of these courses. I look forward to helping you learn great skills to improve your life. Better skills, better life.

Expected Outcomes

  1. 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 15 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, AJAX, templates, file servers, cookies, state, UUIDs, HTTP methods, HTTP response codes, sessions, Amazon Web Services, MySQL, MongoDB, load balancers, HTTPS & TLS, Docker, Containers, Virtual Machines, Google Cloud, and App Engine 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 Curated for the Udemy Business collection Course content 18 sections • 171 lectures • 19h 13m total length Expand all sections Getting started 5 lectures • 38min Why choose Go ( golang ) for web development? Preview 07:39 Course prerequisites Preview 01:35 Course resources 02:32 Language review Preview 18:30 How to succeed 08:12 Templates 14 lectures • 1hr 42min Understanding templates 03:27 Templating with concatenation 06:25 Understanding package text/template: parsing & executing templates 16:52 Passing data into templates 03:57 Variables in templates 02:28 Passing composite data structures into templates 14:57 Functions in templates 15:11 Pipelines in templates 09:53 Predefined global functions in templates 06:10 Nesting templates - modularizing your code 07:51 Passing data into templates & composition 05:38 Using methods in templates 03:37 Hands-on exercises 01:58 Using package html/template, character escaping, & cross-site scripting 03:36 Creating your own server 9 lectures • 1hr 1min Understanding servers 10:08 TCP server - write to connection 06:55 TCP server - read from connection using bufio.Scanner 10:33 TCP server - read from & write to connection 04:25 TCP server - code a client 04:47 TCP server - rot13 & in-memory database 09:56 TCP server - HTTP request / response foundation hands-on exercise 06:56 TCP server - HTTP method & URI retrieval hands-on exercise 02:45 TCP server - HTTP multiplexer 05:03 Understanding net/http package 7 lectures • 1hr 1min net/http package - an overview 09:21 Understanding & using ListenAndServe 05:21 Foundation of net/http: Handler, ListenAndServe, Request, ResponseWriter 08:26 Retrieving form values - exploring *http.Request 15:07 Retrieving other request values - exploring *http.Request 08:10 Exploring http.ResponseWriter - writing headers to the response 07:35 Review 07:13 Understanding routing 6 lectures • 59min Understanding ServeMux 16:26 Disambiguation: func(ResponseWriter, *Request) vs. HandlerFunc 08:02 Third-party servemux - julien schmidt’s router 08:46 Hands-on exercises 01:14 Hands-on exercises - solutions #1 04:20 Hands-on exercises - solutions #2 19:56 Serving files 9 lectures • 39min Serving a file with io.Copy 05:02 Serving a file with http.ServeContent & http.ServeFile 03:53 Serving a file with http.FileServer 03:49 Serving a file with http.FileServer & http.StripPrefix 06:00 Creating a static file server with http.FileServer 03:10 log.Fatal & http.Error 04:00 Hands-on exercises 00:59 Hands-on exercises - solutions 05:51 The http.NotFoundHandler 05:47 Deploying your site 2 lectures • 10min Buying a domain - google domains 02:16 Deploying to google cloud 07:52 Creating state 13 lectures • 1hr 20min State overview 01:19 Passing values through the URL 06:22 Passing values from forms 05:29 Uploading a file, reading the file, creating a file on the server 11:54 Enctype 12:00 Redirects - overview 06:32 Redirects - diagrams & documentation 07:55 Redirects - in practice 07:43 Cookies - overview 03:31 Cookies - writing and reading 05:19 Writing multiple cookies & hands-on exercise 02:11 Hands-on exercise solution: creating a counter with cookies 03:19 Deleting a cookie 06:37 Creating sessions 9 lectures • 1hr 3min Sessions 07:26 Universally unique identifier - UUID 08:31 Your first session 11:59 Sign-up 06:00 Encrypt password with bcrypt 05:20 Login 07:07 Logout 04:04 Permissions 03:42 Expire session 08:25 Amazon Web Services 7 lectures • 55min Overview 07:20 Creating a virtual server instance on AWS EC2 10:50 Hello World on AWS 12:01 Persisting an application 04:42 Hands-on Exercise 02:13 Hands-on Solution 15:59 Terminating AWS services 01:31 8 more sections 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. Ruby on Rails, Python, Django, Node.js, PHP, and ASP all fall short. 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 Building Applications a photo blog a twitter clone 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 17 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 hottest, 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. Who this course is for: 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. Show more Show less Featured review Anton Yurchenko 14 courses 9 reviews Rating: 5.0 out of 5 a year ago I have that strange need to downvote every single course I have taken here, as this one is definitely raising the bar. Todd McLeod is by far the best instructor I have encountered on Udemy! Just to explain the joy, I have asked for a refund on other courses here to take some more from Todd McLeod. Breathtaking! Good Job Todd! You got a new follower ;-) Show more Show less Instructor Todd McLeod Tenured College Professor 4.5 Instructor Rating 49,683 Reviews 335,742 Students 19 Courses I am a tenured professor in California. I have taught at both the college and university level. I have also taught in multiple disciplines including business, information systems, computer science, and online education. In 1997, I was one of the first professors at the university to teach online. I did post-graduate work in online education at UC San Diego. I co-founded and taught in the “Online Teacher’s Training Program” which trained professors how to teach online. In 2008, I was selected as one of the best instructors in the entire California Community College system. Currently, when measured by the number of students served, I am the world’s leading trainer in Google’s new programming language which is one of the fastest growing, highest paying programming languages in America. In addition, I have started three businesses (two of them profitable, so far). My background in business, information systems, computer science, online education, and real-world entrepreneurship has prepared me to teach all of these courses. I look forward to helping you learn great skills to improve your life. Better skills, better life. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6776ff5b08304256',m:'402cb311278f9b4cca32648e97979f63c1b8f102-1627736300-1800-Acd/My469R6utC7SE53xnaYOPMycd0pYA8LL8nlSYZljU1ZJ5Bc9ZNdXMGRZY1viPE3t7GLXRVMDzXpl3bdTo7MInrkhn2BDbkeU/G3vxuZPdM/naGMHJZ9dzdYck3e5rcd9DxRcRlti5ULxOFE9tTQ9tu8iLF85DvIxLQqsO3Gr',s:[0x5ce755a56b,0xec4aaf5261],}})();
  2. Acquire an outstanding foundation in the fundamentals of web programming Learn from a University Professor in Computer Science with over 15 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, AJAX, templates, file servers, cookies, state, UUIDs, HTTP methods, HTTP response codes, sessions, Amazon Web Services, MySQL, MongoDB, load balancers, HTTPS & TLS, Docker, Containers, Virtual Machines, Google Cloud, and App Engine 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 Curated for the Udemy Business collection Course content 18 sections • 171 lectures • 19h 13m total length Expand all sections Getting started 5 lectures • 38min Why choose Go ( golang ) for web development? Preview 07:39 Course prerequisites Preview 01:35 Course resources 02:32 Language review Preview 18:30 How to succeed 08:12 Templates 14 lectures • 1hr 42min Understanding templates 03:27 Templating with concatenation 06:25 Understanding package text/template: parsing & executing templates 16:52 Passing data into templates 03:57 Variables in templates 02:28 Passing composite data structures into templates 14:57 Functions in templates 15:11 Pipelines in templates 09:53 Predefined global functions in templates 06:10 Nesting templates - modularizing your code 07:51 Passing data into templates & composition 05:38 Using methods in templates 03:37 Hands-on exercises 01:58 Using package html/template, character escaping, & cross-site scripting 03:36 Creating your own server 9 lectures • 1hr 1min Understanding servers 10:08 TCP server - write to connection 06:55 TCP server - read from connection using bufio.Scanner 10:33 TCP server - read from & write to connection 04:25 TCP server - code a client 04:47 TCP server - rot13 & in-memory database 09:56 TCP server - HTTP request / response foundation hands-on exercise 06:56 TCP server - HTTP method & URI retrieval hands-on exercise 02:45 TCP server - HTTP multiplexer 05:03 Understanding net/http package 7 lectures • 1hr 1min net/http package - an overview 09:21 Understanding & using ListenAndServe 05:21 Foundation of net/http: Handler, ListenAndServe, Request, ResponseWriter 08:26 Retrieving form values - exploring *http.Request 15:07 Retrieving other request values - exploring *http.Request 08:10 Exploring http.ResponseWriter - writing headers to the response 07:35 Review 07:13 Understanding routing 6 lectures • 59min Understanding ServeMux 16:26 Disambiguation: func(ResponseWriter, *Request) vs. HandlerFunc 08:02 Third-party servemux - julien schmidt’s router 08:46 Hands-on exercises 01:14 Hands-on exercises - solutions #1 04:20 Hands-on exercises - solutions #2 19:56 Serving files 9 lectures • 39min Serving a file with io.Copy 05:02 Serving a file with http.ServeContent & http.ServeFile 03:53 Serving a file with http.FileServer 03:49 Serving a file with http.FileServer & http.StripPrefix 06:00 Creating a static file server with http.FileServer 03:10 log.Fatal & http.Error 04:00 Hands-on exercises 00:59 Hands-on exercises - solutions 05:51 The http.NotFoundHandler 05:47 Deploying your site 2 lectures • 10min Buying a domain - google domains 02:16 Deploying to google cloud 07:52 Creating state 13 lectures • 1hr 20min State overview 01:19 Passing values through the URL 06:22 Passing values from forms 05:29 Uploading a file, reading the file, creating a file on the server 11:54 Enctype 12:00 Redirects - overview 06:32 Redirects - diagrams & documentation 07:55 Redirects - in practice 07:43 Cookies - overview 03:31 Cookies - writing and reading 05:19 Writing multiple cookies & hands-on exercise 02:11 Hands-on exercise solution: creating a counter with cookies 03:19 Deleting a cookie 06:37 Creating sessions 9 lectures • 1hr 3min Sessions 07:26 Universally unique identifier - UUID 08:31 Your first session 11:59 Sign-up 06:00 Encrypt password with bcrypt 05:20 Login 07:07 Logout 04:04 Permissions 03:42 Expire session 08:25 Amazon Web Services 7 lectures • 55min Overview 07:20 Creating a virtual server instance on AWS EC2 10:50 Hello World on AWS 12:01 Persisting an application 04:42 Hands-on Exercise 02:13 Hands-on Solution 15:59 Terminating AWS services 01:31 8 more sections 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. Ruby on Rails, Python, Django, Node.js, PHP, and ASP all fall short. 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 Building Applications a photo blog a twitter clone 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 17 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 hottest, 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. Who this course is for: 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. Show more Show less Featured review Anton Yurchenko 14 courses 9 reviews Rating: 5.0 out of 5 a year ago I have that strange need to downvote every single course I have taken here, as this one is definitely raising the bar. Todd McLeod is by far the best instructor I have encountered on Udemy! Just to explain the joy, I have asked for a refund on other courses here to take some more from Todd McLeod. Breathtaking! Good Job Todd! You got a new follower ;-) Show more Show less Instructor Todd McLeod Tenured College Professor 4.5 Instructor Rating 49,683 Reviews 335,742 Students 19 Courses I am a tenured professor in California. I have taught at both the college and university level. I have also taught in multiple disciplines including business, information systems, computer science, and online education. In 1997, I was one of the first professors at the university to teach online. I did post-graduate work in online education at UC San Diego. I co-founded and taught in the “Online Teacher’s Training Program” which trained professors how to teach online. In 2008, I was selected as one of the best instructors in the entire California Community College system. Currently, when measured by the number of students served, I am the world’s leading trainer in Google’s new programming language which is one of the fastest growing, highest paying programming languages in America. In addition, I have started three businesses (two of them profitable, so far). My background in business, information systems, computer science, online education, and real-world entrepreneurship has prepared me to teach all of these courses. I look forward to helping you learn great skills to improve your life. Better skills, better life. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6776ff5b08304256',m:'402cb311278f9b4cca32648e97979f63c1b8f102-1627736300-1800-Acd/My469R6utC7SE53xnaYOPMycd0pYA8LL8nlSYZljU1ZJ5Bc9ZNdXMGRZY1viPE3t7GLXRVMDzXpl3bdTo7MInrkhn2BDbkeU/G3vxuZPdM/naGMHJZ9dzdYck3e5rcd9DxRcRlti5ULxOFE9tTQ9tu8iLF85DvIxLQqsO3Gr',s:[0x5ce755a56b,0xec4aaf5261],}})();
  3. Learn from a University Professor in Computer Science with over 15 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, AJAX, templates, file servers, cookies, state, UUIDs, HTTP methods, HTTP response codes, sessions, Amazon Web Services, MySQL, MongoDB, load balancers, HTTPS & TLS, Docker, Containers, Virtual Machines, Google Cloud, and App Engine 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 Curated for the Udemy Business collection Course content 18 sections • 171 lectures • 19h 13m total length Expand all sections Getting started 5 lectures • 38min Why choose Go ( golang ) for web development? Preview 07:39 Course prerequisites Preview 01:35 Course resources 02:32 Language review Preview 18:30 How to succeed 08:12 Templates 14 lectures • 1hr 42min Understanding templates 03:27 Templating with concatenation 06:25 Understanding package text/template: parsing & executing templates 16:52 Passing data into templates 03:57 Variables in templates 02:28 Passing composite data structures into templates 14:57 Functions in templates 15:11 Pipelines in templates 09:53 Predefined global functions in templates 06:10 Nesting templates - modularizing your code 07:51 Passing data into templates & composition 05:38 Using methods in templates 03:37 Hands-on exercises 01:58 Using package html/template, character escaping, & cross-site scripting 03:36 Creating your own server 9 lectures • 1hr 1min Understanding servers 10:08 TCP server - write to connection 06:55 TCP server - read from connection using bufio.Scanner 10:33 TCP server - read from & write to connection 04:25 TCP server - code a client 04:47 TCP server - rot13 & in-memory database 09:56 TCP server - HTTP request / response foundation hands-on exercise 06:56 TCP server - HTTP method & URI retrieval hands-on exercise 02:45 TCP server - HTTP multiplexer 05:03 Understanding net/http package 7 lectures • 1hr 1min net/http package - an overview 09:21 Understanding & using ListenAndServe 05:21 Foundation of net/http: Handler, ListenAndServe, Request, ResponseWriter 08:26 Retrieving form values - exploring *http.Request 15:07 Retrieving other request values - exploring *http.Request 08:10 Exploring http.ResponseWriter - writing headers to the response 07:35 Review 07:13 Understanding routing 6 lectures • 59min Understanding ServeMux 16:26 Disambiguation: func(ResponseWriter, *Request) vs. HandlerFunc 08:02 Third-party servemux - julien schmidt’s router 08:46 Hands-on exercises 01:14 Hands-on exercises - solutions #1 04:20 Hands-on exercises - solutions #2 19:56 Serving files 9 lectures • 39min Serving a file with io.Copy 05:02 Serving a file with http.ServeContent & http.ServeFile 03:53 Serving a file with http.FileServer 03:49 Serving a file with http.FileServer & http.StripPrefix 06:00 Creating a static file server with http.FileServer 03:10 log.Fatal & http.Error 04:00 Hands-on exercises 00:59 Hands-on exercises - solutions 05:51 The http.NotFoundHandler 05:47 Deploying your site 2 lectures • 10min Buying a domain - google domains 02:16 Deploying to google cloud 07:52 Creating state 13 lectures • 1hr 20min State overview 01:19 Passing values through the URL 06:22 Passing values from forms 05:29 Uploading a file, reading the file, creating a file on the server 11:54 Enctype 12:00 Redirects - overview 06:32 Redirects - diagrams & documentation 07:55 Redirects - in practice 07:43 Cookies - overview 03:31 Cookies - writing and reading 05:19 Writing multiple cookies & hands-on exercise 02:11 Hands-on exercise solution: creating a counter with cookies 03:19 Deleting a cookie 06:37 Creating sessions 9 lectures • 1hr 3min Sessions 07:26 Universally unique identifier - UUID 08:31 Your first session 11:59 Sign-up 06:00 Encrypt password with bcrypt 05:20 Login 07:07 Logout 04:04 Permissions 03:42 Expire session 08:25 Amazon Web Services 7 lectures • 55min Overview 07:20 Creating a virtual server instance on AWS EC2 10:50 Hello World on AWS 12:01 Persisting an application 04:42 Hands-on Exercise 02:13 Hands-on Solution 15:59 Terminating AWS services 01:31 8 more sections 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. Ruby on Rails, Python, Django, Node.js, PHP, and ASP all fall short. 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 Building Applications a photo blog a twitter clone 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 17 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 hottest, 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. Who this course is for: 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. Show more Show less Featured review Anton Yurchenko 14 courses 9 reviews Rating: 5.0 out of 5 a year ago I have that strange need to downvote every single course I have taken here, as this one is definitely raising the bar. Todd McLeod is by far the best instructor I have encountered on Udemy! Just to explain the joy, I have asked for a refund on other courses here to take some more from Todd McLeod. Breathtaking! Good Job Todd! You got a new follower ;-) Show more Show less Instructor Todd McLeod Tenured College Professor 4.5 Instructor Rating 49,683 Reviews 335,742 Students 19 Courses I am a tenured professor in California. I have taught at both the college and university level. I have also taught in multiple disciplines including business, information systems, computer science, and online education. In 1997, I was one of the first professors at the university to teach online. I did post-graduate work in online education at UC San Diego. I co-founded and taught in the “Online Teacher’s Training Program” which trained professors how to teach online. In 2008, I was selected as one of the best instructors in the entire California Community College system. Currently, when measured by the number of students served, I am the world’s leading trainer in Google’s new programming language which is one of the fastest growing, highest paying programming languages in America. In addition, I have started three businesses (two of them profitable, so far). My background in business, information systems, computer science, online education, and real-world entrepreneurship has prepared me to teach all of these courses. I look forward to helping you learn great skills to improve your life. Better skills, better life. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6776ff5b08304256',m:'402cb311278f9b4cca32648e97979f63c1b8f102-1627736300-1800-Acd/My469R6utC7SE53xnaYOPMycd0pYA8LL8nlSYZljU1ZJ5Bc9ZNdXMGRZY1viPE3t7GLXRVMDzXpl3bdTo7MInrkhn2BDbkeU/G3vxuZPdM/naGMHJZ9dzdYck3e5rcd9DxRcRlti5ULxOFE9tTQ9tu8iLF85DvIxLQqsO3Gr',s:[0x5ce755a56b,0xec4aaf5261],}})();
  4. Achieve mastery in the understanding and application of web development Understand servers, routing, restful applications, JSON, AJAX, templates, file servers, cookies, state, UUIDs, HTTP methods, HTTP response codes, sessions, Amazon Web Services, MySQL, MongoDB, load balancers, HTTPS & TLS, Docker, Containers, Virtual Machines, Google Cloud, and App Engine 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 Curated for the Udemy Business collection Course content 18 sections • 171 lectures • 19h 13m total length Expand all sections Getting started 5 lectures • 38min Why choose Go ( golang ) for web development? Preview 07:39 Course prerequisites Preview 01:35 Course resources 02:32 Language review Preview 18:30 How to succeed 08:12 Templates 14 lectures • 1hr 42min Understanding templates 03:27 Templating with concatenation 06:25 Understanding package text/template: parsing & executing templates 16:52 Passing data into templates 03:57 Variables in templates 02:28 Passing composite data structures into templates 14:57 Functions in templates 15:11 Pipelines in templates 09:53 Predefined global functions in templates 06:10 Nesting templates - modularizing your code 07:51 Passing data into templates & composition 05:38 Using methods in templates 03:37 Hands-on exercises 01:58 Using package html/template, character escaping, & cross-site scripting 03:36 Creating your own server 9 lectures • 1hr 1min Understanding servers 10:08 TCP server - write to connection 06:55 TCP server - read from connection using bufio.Scanner 10:33 TCP server - read from & write to connection 04:25 TCP server - code a client 04:47 TCP server - rot13 & in-memory database 09:56 TCP server - HTTP request / response foundation hands-on exercise 06:56 TCP server - HTTP method & URI retrieval hands-on exercise 02:45 TCP server - HTTP multiplexer 05:03 Understanding net/http package 7 lectures • 1hr 1min net/http package - an overview 09:21 Understanding & using ListenAndServe 05:21 Foundation of net/http: Handler, ListenAndServe, Request, ResponseWriter 08:26 Retrieving form values - exploring *http.Request 15:07 Retrieving other request values - exploring *http.Request 08:10 Exploring http.ResponseWriter - writing headers to the response 07:35 Review 07:13 Understanding routing 6 lectures • 59min Understanding ServeMux 16:26 Disambiguation: func(ResponseWriter, *Request) vs. HandlerFunc 08:02 Third-party servemux - julien schmidt’s router 08:46 Hands-on exercises 01:14 Hands-on exercises - solutions #1 04:20 Hands-on exercises - solutions #2 19:56 Serving files 9 lectures • 39min Serving a file with io.Copy 05:02 Serving a file with http.ServeContent & http.ServeFile 03:53 Serving a file with http.FileServer 03:49 Serving a file with http.FileServer & http.StripPrefix 06:00 Creating a static file server with http.FileServer 03:10 log.Fatal & http.Error 04:00 Hands-on exercises 00:59 Hands-on exercises - solutions 05:51 The http.NotFoundHandler 05:47 Deploying your site 2 lectures • 10min Buying a domain - google domains 02:16 Deploying to google cloud 07:52 Creating state 13 lectures • 1hr 20min State overview 01:19 Passing values through the URL 06:22 Passing values from forms 05:29 Uploading a file, reading the file, creating a file on the server 11:54 Enctype 12:00 Redirects - overview 06:32 Redirects - diagrams & documentation 07:55 Redirects - in practice 07:43 Cookies - overview 03:31 Cookies - writing and reading 05:19 Writing multiple cookies & hands-on exercise 02:11 Hands-on exercise solution: creating a counter with cookies 03:19 Deleting a cookie 06:37 Creating sessions 9 lectures • 1hr 3min Sessions 07:26 Universally unique identifier - UUID 08:31 Your first session 11:59 Sign-up 06:00 Encrypt password with bcrypt 05:20 Login 07:07 Logout 04:04 Permissions 03:42 Expire session 08:25 Amazon Web Services 7 lectures • 55min Overview 07:20 Creating a virtual server instance on AWS EC2 10:50 Hello World on AWS 12:01 Persisting an application 04:42 Hands-on Exercise 02:13 Hands-on Solution 15:59 Terminating AWS services 01:31 8 more sections 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. Ruby on Rails, Python, Django, Node.js, PHP, and ASP all fall short. 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 Building Applications a photo blog a twitter clone 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 17 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 hottest, 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. Who this course is for: 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. Show more Show less Featured review Anton Yurchenko 14 courses 9 reviews Rating: 5.0 out of 5 a year ago I have that strange need to downvote every single course I have taken here, as this one is definitely raising the bar. Todd McLeod is by far the best instructor I have encountered on Udemy! Just to explain the joy, I have asked for a refund on other courses here to take some more from Todd McLeod. Breathtaking! Good Job Todd! You got a new follower ;-) Show more Show less Instructor Todd McLeod Tenured College Professor 4.5 Instructor Rating 49,683 Reviews 335,742 Students 19 Courses I am a tenured professor in California. I have taught at both the college and university level. I have also taught in multiple disciplines including business, information systems, computer science, and online education. In 1997, I was one of the first professors at the university to teach online. I did post-graduate work in online education at UC San Diego. I co-founded and taught in the “Online Teacher’s Training Program” which trained professors how to teach online. In 2008, I was selected as one of the best instructors in the entire California Community College system. Currently, when measured by the number of students served, I am the world’s leading trainer in Google’s new programming language which is one of the fastest growing, highest paying programming languages in America. In addition, I have started three businesses (two of them profitable, so far). My background in business, information systems, computer science, online education, and real-world entrepreneurship has prepared me to teach all of these courses. I look forward to helping you learn great skills to improve your life. Better skills, better life. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6776ff5b08304256',m:'402cb311278f9b4cca32648e97979f63c1b8f102-1627736300-1800-Acd/My469R6utC7SE53xnaYOPMycd0pYA8LL8nlSYZljU1ZJ5Bc9ZNdXMGRZY1viPE3t7GLXRVMDzXpl3bdTo7MInrkhn2BDbkeU/G3vxuZPdM/naGMHJZ9dzdYck3e5rcd9DxRcRlti5ULxOFE9tTQ9tu8iLF85DvIxLQqsO3Gr',s:[0x5ce755a56b,0xec4aaf5261],}})();
  5. Understand servers, routing, restful applications, JSON, AJAX, templates, file servers, cookies, state, UUIDs, HTTP methods, HTTP response codes, sessions, Amazon Web Services, MySQL, MongoDB, load balancers, HTTPS & TLS, Docker, Containers, Virtual Machines, Google Cloud, and App Engine 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 Curated for the Udemy Business collection Course content 18 sections • 171 lectures • 19h 13m total length Expand all sections Getting started 5 lectures • 38min Why choose Go ( golang ) for web development? Preview 07:39 Course prerequisites Preview 01:35 Course resources 02:32 Language review Preview 18:30 How to succeed 08:12 Templates 14 lectures • 1hr 42min Understanding templates 03:27 Templating with concatenation 06:25 Understanding package text/template: parsing & executing templates 16:52 Passing data into templates 03:57 Variables in templates 02:28 Passing composite data structures into templates 14:57 Functions in templates 15:11 Pipelines in templates 09:53 Predefined global functions in templates 06:10 Nesting templates - modularizing your code 07:51 Passing data into templates & composition 05:38 Using methods in templates 03:37 Hands-on exercises 01:58 Using package html/template, character escaping, & cross-site scripting 03:36 Creating your own server 9 lectures • 1hr 1min Understanding servers 10:08 TCP server - write to connection 06:55 TCP server - read from connection using bufio.Scanner 10:33 TCP server - read from & write to connection 04:25 TCP server - code a client 04:47 TCP server - rot13 & in-memory database 09:56 TCP server - HTTP request / response foundation hands-on exercise 06:56 TCP server - HTTP method & URI retrieval hands-on exercise 02:45 TCP server - HTTP multiplexer 05:03 Understanding net/http package 7 lectures • 1hr 1min net/http package - an overview 09:21 Understanding & using ListenAndServe 05:21 Foundation of net/http: Handler, ListenAndServe, Request, ResponseWriter 08:26 Retrieving form values - exploring *http.Request 15:07 Retrieving other request values - exploring *http.Request 08:10 Exploring http.ResponseWriter - writing headers to the response 07:35 Review 07:13 Understanding routing 6 lectures • 59min Understanding ServeMux 16:26 Disambiguation: func(ResponseWriter, *Request) vs. HandlerFunc 08:02 Third-party servemux - julien schmidt’s router 08:46 Hands-on exercises 01:14 Hands-on exercises - solutions #1 04:20 Hands-on exercises - solutions #2 19:56 Serving files 9 lectures • 39min Serving a file with io.Copy 05:02 Serving a file with http.ServeContent & http.ServeFile 03:53 Serving a file with http.FileServer 03:49 Serving a file with http.FileServer & http.StripPrefix 06:00 Creating a static file server with http.FileServer 03:10 log.Fatal & http.Error 04:00 Hands-on exercises 00:59 Hands-on exercises - solutions 05:51 The http.NotFoundHandler 05:47 Deploying your site 2 lectures • 10min Buying a domain - google domains 02:16 Deploying to google cloud 07:52 Creating state 13 lectures • 1hr 20min State overview 01:19 Passing values through the URL 06:22 Passing values from forms 05:29 Uploading a file, reading the file, creating a file on the server 11:54 Enctype 12:00 Redirects - overview 06:32 Redirects - diagrams & documentation 07:55 Redirects - in practice 07:43 Cookies - overview 03:31 Cookies - writing and reading 05:19 Writing multiple cookies & hands-on exercise 02:11 Hands-on exercise solution: creating a counter with cookies 03:19 Deleting a cookie 06:37 Creating sessions 9 lectures • 1hr 3min Sessions 07:26 Universally unique identifier - UUID 08:31 Your first session 11:59 Sign-up 06:00 Encrypt password with bcrypt 05:20 Login 07:07 Logout 04:04 Permissions 03:42 Expire session 08:25 Amazon Web Services 7 lectures • 55min Overview 07:20 Creating a virtual server instance on AWS EC2 10:50 Hello World on AWS 12:01 Persisting an application 04:42 Hands-on Exercise 02:13 Hands-on Solution 15:59 Terminating AWS services 01:31 8 more sections 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. Ruby on Rails, Python, Django, Node.js, PHP, and ASP all fall short. 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 Building Applications a photo blog a twitter clone 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 17 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 hottest, 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. Who this course is for: 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. Show more Show less Featured review Anton Yurchenko 14 courses 9 reviews Rating: 5.0 out of 5 a year ago I have that strange need to downvote every single course I have taken here, as this one is definitely raising the bar. Todd McLeod is by far the best instructor I have encountered on Udemy! Just to explain the joy, I have asked for a refund on other courses here to take some more from Todd McLeod. Breathtaking! Good Job Todd! You got a new follower ;-) Show more Show less Instructor Todd McLeod Tenured College Professor 4.5 Instructor Rating 49,683 Reviews 335,742 Students 19 Courses I am a tenured professor in California. I have taught at both the college and university level. I have also taught in multiple disciplines including business, information systems, computer science, and online education. In 1997, I was one of the first professors at the university to teach online. I did post-graduate work in online education at UC San Diego. I co-founded and taught in the “Online Teacher’s Training Program” which trained professors how to teach online. In 2008, I was selected as one of the best instructors in the entire California Community College system. Currently, when measured by the number of students served, I am the world’s leading trainer in Google’s new programming language which is one of the fastest growing, highest paying programming languages in America. In addition, I have started three businesses (two of them profitable, so far). My background in business, information systems, computer science, online education, and real-world entrepreneurship has prepared me to teach all of these courses. I look forward to helping you learn great skills to improve your life. Better skills, better life. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6776ff5b08304256',m:'402cb311278f9b4cca32648e97979f63c1b8f102-1627736300-1800-Acd/My469R6utC7SE53xnaYOPMycd0pYA8LL8nlSYZljU1ZJ5Bc9ZNdXMGRZY1viPE3t7GLXRVMDzXpl3bdTo7MInrkhn2BDbkeU/G3vxuZPdM/naGMHJZ9dzdYck3e5rcd9DxRcRlti5ULxOFE9tTQ9tu8iLF85DvIxLQqsO3Gr',s:[0x5ce755a56b,0xec4aaf5261],}})();
  6. 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 Curated for the Udemy Business collection Course content 18 sections • 171 lectures • 19h 13m total length Expand all sections Getting started 5 lectures • 38min Why choose Go ( golang ) for web development? Preview 07:39 Course prerequisites Preview 01:35 Course resources 02:32 Language review Preview 18:30 How to succeed 08:12 Templates 14 lectures • 1hr 42min Understanding templates 03:27 Templating with concatenation 06:25 Understanding package text/template: parsing & executing templates 16:52 Passing data into templates 03:57 Variables in templates 02:28 Passing composite data structures into templates 14:57 Functions in templates 15:11 Pipelines in templates 09:53 Predefined global functions in templates 06:10 Nesting templates - modularizing your code 07:51 Passing data into templates & composition 05:38 Using methods in templates 03:37 Hands-on exercises 01:58 Using package html/template, character escaping, & cross-site scripting 03:36 Creating your own server 9 lectures • 1hr 1min Understanding servers 10:08 TCP server - write to connection 06:55 TCP server - read from connection using bufio.Scanner 10:33 TCP server - read from & write to connection 04:25 TCP server - code a client 04:47 TCP server - rot13 & in-memory database 09:56 TCP server - HTTP request / response foundation hands-on exercise 06:56 TCP server - HTTP method & URI retrieval hands-on exercise 02:45 TCP server - HTTP multiplexer 05:03 Understanding net/http package 7 lectures • 1hr 1min net/http package - an overview 09:21 Understanding & using ListenAndServe 05:21 Foundation of net/http: Handler, ListenAndServe, Request, ResponseWriter 08:26 Retrieving form values - exploring *http.Request 15:07 Retrieving other request values - exploring *http.Request 08:10 Exploring http.ResponseWriter - writing headers to the response 07:35 Review 07:13 Understanding routing 6 lectures • 59min Understanding ServeMux 16:26 Disambiguation: func(ResponseWriter, *Request) vs. HandlerFunc 08:02 Third-party servemux - julien schmidt’s router 08:46 Hands-on exercises 01:14 Hands-on exercises - solutions #1 04:20 Hands-on exercises - solutions #2 19:56 Serving files 9 lectures • 39min Serving a file with io.Copy 05:02 Serving a file with http.ServeContent & http.ServeFile 03:53 Serving a file with http.FileServer 03:49 Serving a file with http.FileServer & http.StripPrefix 06:00 Creating a static file server with http.FileServer 03:10 log.Fatal & http.Error 04:00 Hands-on exercises 00:59 Hands-on exercises - solutions 05:51 The http.NotFoundHandler 05:47 Deploying your site 2 lectures • 10min Buying a domain - google domains 02:16 Deploying to google cloud 07:52 Creating state 13 lectures • 1hr 20min State overview 01:19 Passing values through the URL 06:22 Passing values from forms 05:29 Uploading a file, reading the file, creating a file on the server 11:54 Enctype 12:00 Redirects - overview 06:32 Redirects - diagrams & documentation 07:55 Redirects - in practice 07:43 Cookies - overview 03:31 Cookies - writing and reading 05:19 Writing multiple cookies & hands-on exercise 02:11 Hands-on exercise solution: creating a counter with cookies 03:19 Deleting a cookie 06:37 Creating sessions 9 lectures • 1hr 3min Sessions 07:26 Universally unique identifier - UUID 08:31 Your first session 11:59 Sign-up 06:00 Encrypt password with bcrypt 05:20 Login 07:07 Logout 04:04 Permissions 03:42 Expire session 08:25 Amazon Web Services 7 lectures • 55min Overview 07:20 Creating a virtual server instance on AWS EC2 10:50 Hello World on AWS 12:01 Persisting an application 04:42 Hands-on Exercise 02:13 Hands-on Solution 15:59 Terminating AWS services 01:31 8 more sections 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 : p