Web Development w/ Google's Go (golang) Programming Language (Udemy.com)

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

Created by: Todd McLeod

Produced in 2017

icon
What you will 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 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

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100

icon
Live Chat with CourseDuck's Co-Founder for Help

Need help deciding on a go course? Or looking for more detail on Todd McLeod's Web Development w/ Google's Go (golang) Programming Language? Feel free to chat below.
Join CourseDuck's Online Learning Discord Community

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

*Some courses are excluded from this sale. Coupon not working? If the link above doesn't drop prices, clear the cookies in your browser and then click this link here.
Also, you may need to apply the coupon code directly on the cart page to get the discount.

Coupon Code

icon
Instructor Details

Todd McLeod

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.

icon
Reviews

4.6

50 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

The course is well put together, Todd the instructor is doing a good job in explaining the concepts, there is quite a good amount of repetition and exercises to make the concepts stick. The selection of topics is good covering golang and specifically concepts of templates, webserver, router and handling functions, databases (sql & no-sql). The database section was a bit too long for my taste, also the mgo driver (go-lang mongo) is an outdated driver. Overall however this is a good course. I recommend it.

Actually this is not what I expected from this course. I was expecting a backend golang course, but what i got is a web app fundamentals, and it is really great.Now I am your secret fan haha

I bought this course years ago after I learned the basics of Go in another of Todd's wonderful courses but didn't find the time to start this course too. Meanwhile I've sucessfully used Go in production in several small web projects. But most of the time I used Go, with a bigger hobby project in mind, for prototyping on Windows, Linux and a Raspberry Pi.Now, I finally found the time to go through this course and I enjoyed it. As Go has involved there are a few topics that could be added. But, to be honest, everybody who completed this course, will be able to pickup the missing new pieces and add them to his knowledge himself.Even the topics in this course are not completely new to me, it was a pleasure to attend this course from A to Z. The unique thematic breath and depth in the touched subject areas provided a great resource for review and reflection.At the end the course I've been left with more questions then answers regaring my future project. But what I learned has lead to knew ideas that need some more research and on the other hand, it has provided confidence in areas where I felt uncertainty.Thank you Todd,Peter

grwat

McLeod is the man, best teacher I've learned from by far. His style is very conversational while being extremely thorough and informative. I've taken two of his courses so far and think his method for getting all this material in your head is so effective. The personality and personal anecdotes he throws into his courses not only keep the tone light and fun but also help solidify the concepts in a way that purely matter of fact courses don't.Highly recommend him as an instructor and this course as well.

Best instructor on Udemy so far.Thanks to Todd, I was able to move from 0 knowledge in Golang, to creating my own little MVC implementation of the HTCPCP protocol in Go, all using the concepts he teaches in the course.I definitely recommend this course.You can check my project on this link: https://github.com/pisces-period/coffeeonthego

This is everything I wanted in a thorough modern web course, and more. I am a bootcamp grad currently working at a Node.js shop in the telco sector and wanted to gain a deeper understanding of server programming and AWS. Coupled with the Linux admin skills I've gained on the job (which came in handy in this course - especially the AWS section and configuring systemd), I feel like my skills are growing rapidly. Todd is a fantastic instructor, and if you code every exercise and pay attention, you will learn far more in this course than just programming in Go. 10/10.

This course is good, specially if you are new for web development. I my case, I have 15 years of experience working with web development, so most things presented here was just a check for me to see how it is done in Go. Thanks for the course anyway!

I've purchased several of Todd's courses. I just like his delivery and presentation of whatever material he's teaching. You can definitely tell that he's a professional educator.

This course covered a few different fields, and I think I have learned the fundamentals that are enough for me to start coding somehing, thanks Todd!

Super fun and good course! Can't want to get started implementing what I now know ?

This course is for biggners, not in go, but at web development at all. I dont need know how work http, docker, git etc. I know it.