Learn Web Programming from a University Professor in Computer Science with over 15 years of teaching experience.
Created by: Todd McLeod
Produced in 2017
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
Overall Score : 92 / 100
Live Chat with CourseDuck's Co-Founder for Help
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:
- 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
- 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
- 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
- streamlining your web development with the net/http package
- the nuances of the net/http package
- the handler interface
- 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
- how to create state: UUID's, cookies, values in URL's, security
- how to create sessions: login, permissions, logout
- how to expire a session
- how to purchase a domain
- how to deploy an application to Google Cloud
- 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
- how to use MySQL on AWS
- how to connect a MySQL workbench to AWS
- understanding CRUD
- how to use MongoDB & Go
- understanding the MVC design pattern
- using the MVC design pattern
- 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 Storage
- Google Cloud no-sql datastore
- Google Cloud memcache
- Google Cloud PAAS App Engine
- json.Marhsal & json.Unmarshal
- json.Encode & json.Decode
- Hash message authentication code (HMAC)
- Base64 encoding
- Web storage
- TLS & HTTPS
- JSON with Go using Tags
- a photo blog
- a twitter clone
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.
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.