Embrace the Future of Web Development with Google's Go (Golang) programming language, engineered to handle performant web applications at an unrivaled scale. Launched by Google and open-sourced in 2009, Go has rapidly become the top choice for developing web applications, APIs, microservices, and beyond. Outpacing competitors like Ruby on Rails, Python, and PHP, Go is the powerful, performant, and scalable solution for modern web development.
Why Choose This Course?
Gain a solid foundation in web development with this comprehensive course. Here's a glimpse of what you'll master:
Architecture
- Networking architecture
- Client/server architecture
- Request/response pattern
- Understanding RFC standards by the IETF
- Format of client requests and server responses
Templates
- The role of templates in server-side programming
- Working with templates from Go’s standard library
- Modifying data structures for templates compatibility
Servers
- The relationship between TCP and HTTP
- Building a TCP server for HTTP requests
- Creating an in-memory database using TCP servers
- Designing RESTful TCP servers for routes and methods
- Understanding web server variations: servemux, multiplexer, mux
- Utilizing third-party servers like Julien Schmidt's router
- Importance of HTTP methods and status codes
The net/http Package
- Streamline development with the net/http package
- Explore nuances of the net/http package
- Understanding the handler interface
- Using http.ListenAndServe
- Creating and using a custom servemux
- Understanding http.Handle, http.Handler, and related functions
- Using http.ServeContent, http.ServeFile, and http.FileServer
- Working with http.StripPrefix and http.NotFoundHandler
State & Sessions
- Creating secure state with UUIDs, cookies, and URLs
- Implementing session management: login, permissions, logout
- Managing session expiration
Deployment
- Purchasing a domain for your web applications
- Deploying applications to Google Cloud
Amazon Web Services
- Utilizing AWS for cloud services
- Setting up a virtual Linux machine on AWS EC2
- Managing virtual machines with SSH
- Transferring files using SCP
- Understanding and implementing load balancers on AWS
Database Management
MySQL
- Integrating MySQL with AWS
- Connecting MySQL Workbench to AWS
MongoDB
- Understanding CRUD operations
- Using MongoDB with Go
MVC Design Pattern
- Mastering the MVC design pattern
- Applying MVC in your projects
Docker
- Comparing virtual machines and containers
- Leveraging Docker's benefits
- Implementing Docker containers and registries
- Deploying Docker with Go
Google Cloud Tools
- Using Google Cloud Storage and no-SQL datastore
- Implementing Google Cloud Memcache and App Engine
Web Development Toolkit
- Handling AJAX and JSON in web applications
- JSON in Go with json.Marshal and json.Unmarshal
- Securing web applications with HMAC and Base64 encoding
- Utilizing web storage and managing context
- Implementing TLS & HTTPS
Build and Deploy Applications
- Create a photo blog
- Develop a Twitter clone
By the end of this course, you will have mastered the fundamentals of web development, equipped with the skills to become an outstanding web developer.
Meet Your Instructor
I'm Todd McLeod, tenured faculty in Computer Information Technology at Fresno City College and adjunct faculty in Computer Science at California State University Fresno. With over 20 years of experience, I am confident this course will transform you into a top-rated web developer.
Who Should Enroll?
- This course serves as a university-level introduction to web programming.
- Ideal for those with a foundational understanding of the Go programming language.
- Perfect for programmers seeking a thorough introduction to web development with Go.
- An excellent choice for developers looking to fill knowledge gaps.
Ready to advance your career? Join this course and open doors to a bright future. Learn the best practices in web development and gain the hottest skills in today's marketplace.