Web Development w/ Google’s Go (golang) Programming Language
What you'll learn
- Construct server-side applications using today's best practices
- Acquire an outstanding foundation in the fundamentals of web programming
- Learn from a University Professor in Computer Science with over 20 years of experience teaching individuals of all ability levels
- Achieve mastery in the understanding and application of web development
- Understand servers, routing, restful applications, JSON, templates, and file servers
- Understand cookies, state, UUIDs, HTTP methods, HTTP response codes, and sessions
- Create web applications using only the Go programming language's standard library
- Create web applications without using third-party frameworks
- Build performant distributed applications that dynamically scale
- Apply cutting-edge web development practices
- 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"
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:
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
The net/http package
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
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
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
how to use MySQL on AWS
how to connect a MySQL workbench to AWS
how to use MongoDB & Go
MVC (Model View Controller) Design Pattern
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
Web Dev Toolkit
json.Marhsal & json.Unmarshal
json.Encode & json.Decode
Hash message authentication code (HMAC)
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.
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.
Fun, Quick, & Easy
Learning can be fun, quick, and easy if you have the right teacher. I come from a family of teachers, I've taught at the college and university level for over 20 years, and I have been recognized as one of the top teachers in the California college system. I became a teacher because I love sharing knowledge and seeing how it transforms people's lives. Learning is the noblest of all endeavors. The more you learn, the more you improve your life.
Learn Quickly & Effectively
All of my courses include step-by-step tutorials and hands-on exercises. The tutorials show you what to do. The hands-on exercises allow you to practice what you have just seen. These hands-on exercises also come with all of the files you need and video solutions so that you can learn more quickly and effectively.
Great Courses for Beginners
I work with beginners all of the time. I understand how to take topics and make them easy to understand.
The Human Element
Students do better in classes where they enjoy the teacher. I am a bit goofy at times but this keeps my courses fun, interesting, and engaging. When you are learning with me, you are guaranteed to have a few laughs.
I am a tenured professor in California, an autodidact, and multidisciplinarian. I have taught at the graduate and undergraduate levels in business, information system, and computer science. I also have a lot of knowledge about mindfulness, meditation, psychology, and personal growth. I was born into a culture of mindfulness and meditation, and have been involved with mindfulness and meditation all of my life. I have authored 48 books and have experience with the publishing industry, literature, and film. As I said, I love learning and love sharing knowledge with others.
I look forward to seeing you in class!