LEARNING PATH: Go: Advancing into Web Development with Go

Harness the power of Go to level up your skillsets in web development and build web apps like a pro

3.80 (26 reviews)
Udemy
platform
English
language
Web Development
category
305
students
13 hours
content
Nov 2017
last update
$19.99
regular price

What you will learn

Perform DOM operations with GopherJS

Upload client-side image and client-side forms

Create a 3D scene in the web browser

Implement a single page application

Build a feature-rich social media website

Manage requests and responses

Create custom middleware

Build web forms with validation and security in mind

Create functionality to upload and process images and videos

Implement a custom datastore for a relational database, document database, and an in-memory database

Explore the fundamental Concepts of Go

Write a unit test in Golang

Create a simple web server instance for the GopherFace website

Description

Go is one of the most powerful, efficient, and highly-performant programming languages. Go has seen an increased rate of adoption mainly because it is lightweight, easy to use, and displays great robustness when performing in a variety of domains. Go is a modern language, created by a team of researchers from Google that is an ideal choice for all the levels of web development. Go is not only a powerful tool that can be utilized on the server-side but one that can be utilized on the client-side as well. If you're interested to imbibe the skills of Go programming language and become a full-stack web developer, then you should opt for this Learning Path.

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

The highlights of this Learning Path are:

  • Build a feature-rich social media website
  • Build functionality for user authentication and session management
  • Create a simple web server instance for the GopherFace website
  • Build your first real-time web application: a chat server

Let’s take a quick look at your learning journey. In this Learning Path, you will be provided deep insight into frontend web development using Go. It starts off by covering the fundamental mechanics of frontend web development such as performing common DOM operations, accessing native JavaScript functionality, making XHR calls, rendering templates on the client-side, transmitting Gob encoded data, and communicating over a WebSocket connection. You will then demonstrate how to create a single page application by implementing client-side routing and directly rendering templates in the web browser itself. Utilizing the valuable knowledge presented in this Learning Path, you will be able to build GopherFace, a fully functioning social media website with incredible features.

Further, you will learn backend web development using Go. You will go through essential concepts which include web templates, the model view controller pattern, managing requests and responses, and building web forms. You will also learn how to create real-world solutions such as uploading image/video files, implementing a datastore for a variety of databases (relational, document, and in-memory), creating secure cookies, implementing authentication middleware, and implementing an asynchronous task queue to perform long-running tasks in the background.

In addition to getting you up to speed with backend web development practices, this Learning Path will also provide you with helpful advice and techniques that will guide you on your way to becoming a successful Go programmer.

The projects also demonstrate the key features of Go in action, such as concurrency, and will start to explore the rich ecosystem of open source libraries and frameworks that are being continually developed for the language.

By the end of this Learning Path, you will learn the tricks to build robust, secure, and fully-featured applications for the web. You will have everything you need to go out into the wild with Go to build projects of your own and become a full-stack Go web developer.

Meet Your Experts:

We have combined the best works of the following esteemed authors to ensure that your learning journey is smooth:

  • Kamesh Balasubramanian is the founder and CEO of Wirecog, LLC. He is the inventor of Wireframe Cognition (Wirecog), an award-winning, patented technology that allows machines to understand wireframe designs and produce source code from them. Kamesh has over 20 years' software development experience and has implemented numerous solutions in the advertising, entertainment, media, publishing, hospitality, videogame, legal, and government sectors. He is an award-winning, professional member of the Association for Computing Machinery and an InfyMaker Award winner. He was recognized as a Maker of Change at the 2016 World Maker Faire in New York and, upon request, has demonstrated Wirecog at MIT.
  • Ben Tranter is a developer with nearly six years’ experience. He has worked with a variety of companies to build applications in Go, in the areas of data mining, web back ends, user authentication services, and developer tools, and is a contributor to a variety of open source Go projects.
  • Rostislav Dzinko is a software architect who has been working in the software development industry for more than six years. He was one of the first developers who started working with the Go language far earlier than the first official public release of Go 1.0 took place. Rostislav uses the Go language daily and has successfully used it in production for more than two years, building a broad range of software from high-load web applications to command-line utilities. He has a Master’s degree in Systems Engineering and has completed a PhD thesis.

Content

Front-End Web Development using Go

The Course Overview
Introduction to GopherJS
Basic DOM Operations
The jsbuiltin Binding
Making XHR Calls
Rendering Client-Side Templates
Sending Gob Encoded Data over XHR
Websocket Client
Rendering a 3D Gopher
Dynamically Resizing the 3D Gopher
Panning the Camera Around the 3D Gopher
Introduction to Local Storage
Reading and Writing to Local Storage
Instantly Kickstarting Go Projects
Introduction to Single Page Architecture
Implementing Client-Side Routing
Introduction to Template Sets
Implementing Client-Side Templates
The Profile
Profile Image Upload
Finding New Friends
Friends List
The Social Media Feed
Extending GopherFace
Front-End Web Development using Go

Back-End Web Development using Go

The Course Overview
Dressing up Your Web App with Templates
Templates in Go
Custom Template
Model View Controller
Request Routing with Gorilla Mux
Middleware
HTTP Request Context
Rest API
Building a Web Form
Extracting Web Form Data
Web Form Validation
Web Form Security
Social Media Post Form
Introduction to File Uploads
Image Upload
Video Upload
Introduction to MySQL
Implementing a MySQL Datastore
Introduction to MongoDB
Implementing a MongoDB Datastore
Introduction to Redis
Implementing a Redis Datastore
TLS Web Server Instance
Verifying User Credentials
Secure Cookie
User Session
Authentication Middleware
Implementing an Asynchronous Task Queue
Image Resizing as an Asynchronous Task
Back-End Web Development using Go

Go Essentials for Full Stack Web Development

The Course Overview
A Brief Introduction to Programming
The Gist of Go
Installing Go
Configuring Go
Basics - Variable Declaration, Built-in Types, Constants
Packages
Functions
Conditional and Loops
Command-line Program
Username Syntax Checker
Arrays
Slices
Maps
Types and Interfaces
Social Media Post
Concurrency Versus Parallelism
Goroutines
Channels
Range Over Channels
Mutexes and Wait Groups
Concurrent Pi Computation
The Go Tool Chain
Documentation in Go
Testing in Go
Unit Testing the Username Syntax Checker
An Introduction to HTTP
The net/http Package
A Go Web Server Instance
Go Essentials for Full Stack Web Development

Go Projects

Project Showcase
Installing Go
A Simple Static File Server
Accepting Command-line Arguments
Compiling to a Statically Linked Binary
Dynamic Content with Go
Handling GET and POST Requests
Connecting to a Database
Writing Tests in Go
Variadic Functions, Function Chaining, and Callbacks
Logging and Analytics
Error Handling
Advanced Middleware
Usernames and Passwords
The Password Reset E-mail
Sessions
Sessionless, Passwordless Authentication
Web Application Security
JSON in Go
Streams and JSON
Buffers
Image Handling
Concurrency
A Simple Chat Server
An Advanced Chat Server
Real-time Notifications
Deployment Options
Automated Deployments
Continuous Integration
Debugging
Reflection
Performance
Go Projects

Screenshots

LEARNING PATH: Go: Advancing into Web Development with Go - Screenshot_01LEARNING PATH: Go: Advancing into Web Development with Go - Screenshot_02LEARNING PATH: Go: Advancing into Web Development with Go - Screenshot_03LEARNING PATH: Go: Advancing into Web Development with Go - Screenshot_04

Reviews

Rajesh
April 21, 2021
This is an incomplete attempt to fool people. Udemy support cannot validate missing content, for them its a content creator problem. Packt support just comment, without understanding the issue. They are worst in support. Not Recommended to anyone at any level, even if its free.
Jayne
March 12, 2019
Kamesh is a very good teacher. I am hoping for the best. Taking this after taking another course for Full-Stack-Web-Development
Adnan
February 1, 2019
The course doesn't provide enough information for beginners to understand. The explanations given are very less descriptive.

Charts

Price

LEARNING PATH: Go: Advancing into Web Development with Go - Price chart

Rating

LEARNING PATH: Go: Advancing into Web Development with Go - Ratings chart

Enrollment distribution

LEARNING PATH: Go: Advancing into Web Development with Go - Distribution chart

Related Topics

1424184
udemy ID
11/7/2017
course created date
6/6/2020
course indexed date
Bot
course submited by