
This video provides an overview of the entire course.
In this video, we will look into GopherJS.
In this video, we will perform basic DOM Operations using GopherJS.
In this video, we will delve into the jsbuiltin Binding.
In this video, we will learn how to make an XHR Call in GopherJS.
In this video, we will understand how to render templates on the client-side.
In this video, we will learn how to encode data in the Gob format and send it over an XHR call.
In this video, we will learn how to use Websockets in Go.
What do we do when we don't have GopherJS bindings for a particular JavaScript library? The answer is that GopherJS is interoperable with Java and we can use functionality within the js.Global object to call JavaScript functionality.
Now that we've created the 3D scene in the web browser, how do we go about re-rendering the scene when the window dimensions change? We add an event handler.
A stationary 3D scene is dull. Let's make the scene livelier by having the camera pan around the 3D Gopher. Let's also add color to the 3D Gopher.
Did you know that the web browser comes with a built-in key/value database? It's called LocalStorage and we're going to show you how it works.
Now that we've been introduced to Local Storage, how do we make use of it in Go using GopherJS? We'll show you how by building a working demo from the ground up.
Issuing "go build" or "gopherjs build" commands can get tedious when we make a lot of changes to our code, and we want to see those changes reflected immediately upon refreshing the web browser. We can use Kick to provide instant kickstarts.
Currently, the GopherFace web application has to do a full page refresh as we move through the different sections. How can we remove the need for full page refreshes? The answer is to use Single Page Architecture.
Did you know that routes can be registered on the client side as well? This allows us to prevent a full page refresh when going from section to section.
Explore document generation capabilities with Dynamics 365 for all those redundant documents that you must prepare for completing a Sale.
Now that we know how to use TemplateSets, how do we use them with GopherFace to pursue a single page architecture?
How do we implement the functionality to allow the user edit their profile? We'll need to know how to implement a form to edit the profile.
How can we allow the user to upload their profile image and now have to perform a full page refresh?
How do we go about implementing the search feature for GopherFace?
Now that we are able to search for friends, how do we follow them, unfollow them, and display them in a list?
How can we display a set of posts on a given user's feed? Let's use the social media post object we made in the first video course.
Now that the GopherFace web application has reached its first milestone, what are the ways that we can extend its capabilities?
This video provides an overview of the entire course.
This video is intended to the user about the importance of web templates.
This video is intended to teach some basic programming concepts for viewers that are completely new to programming.
This video is for the viewer doesn’t know how to create a custom template for a given data object.
This video covers the model view controller software architectural pattern.
The viewer may not be aware of how to route requests using the Gorilla mix package.
This video covers Middleware in Go.
In this video we will cover the HTTP Request Context.
In this video, we will learn how to create a Rest API using Go.
In this video, we will learn how to build a web form.
In this video, we will learn how to extract data from a web form.
In this video, we will become aware of web form security and XSS attacks.
In this video, we will create a web form with a dropdown field.
In this video, we will learn about the items needed to implement file upload functionality.
In this video, we will learn how to upload an image file.
The viewer may not be aware of how to upload a video file.
In this video, we will learn about the MySQL Database.
In this video, we will learn to implement a MySQL datastore in Go.
In this video, we will get introduced to MongoDB.
In this video, we will learn how to implement a MongoDB datastore in Go.
In this video, we will get introduced to the Redis Database.
In this video, we will learn how to implement a Redis datastore in Go.
The viewer is unaware of how to run a TLS web server instance using Go.
In this video, we will learn how to verify the user’s login credentials.
In this video, we will learn how to create a secure cookie.
In this video, we will learn how to create a server-side, user session.
In this video, we will learn how to implement authentication middleware using Go.
In this video, we will learn how to implement an asynchronous task queue in Go.
In this video, we will learn how to perform image resizing tasks in an asynchronous manner.
This video provides an overview of the entire course.
This video is intended to teach some basic programming concepts for viewers that are completely new to programming.
This video shows the benefits of learning Go.
This video shows how to install Go on your computer.
The video shows how to setup your own Go development environment.
The viewer is in need of knowing Go basics, including performing variable declaration, knowing Go’s built-in types, and working with constants.
The viewer needs to know how to both import packages and create their own.
The viewer needs to learn what a function is, how to declare them in Go.
The viewer needs to know how to make use of Go’s control structures.
The viewer needs a practical example showcasing all the things that they learned in this section.
The viewer needs to know how to declare and work with Go’s array data structure.
The viewer needs to know how to declare and work with Go’s slice data structure.
The viewer needs to know how to declare and work with Go’s map data structure.
The viewer needs to know how to declare and work with Go's user defined types and interfaces.
The viewer needs to know how to create an instance of their own user defined type.
The viewer needs to know the difference between concurrency and parallelism.
The viewer needs to what a goroutine is and how to invoke a function as a goroutine.
The viewer needs to learn what a channel is, and how to use them.
The viewer needs to know how to range over channels.
The viewer needs to know how to use Go’s synchronization primitives.
The viewer needs a practical example of using concurrency to compute the value of Pi.
The viewer needs a walkthrough of the tools that come included with Go.
The viewer needs to know about Go’s documentation functionality.
The user needs to know how to how Go’s automated unit testing system works.
The viewer needs to know how to create a suite of unit tests to verify the functionality of a custom package.
The viewer needs a brief introduction to the most basic concepts of the hypertext transfer protocol (HTTP).
The viewer needs an introduction to Go’s net/http package.
The viewer needs to learn how to create their own web server instance using the net/http package.
In this video, we will review the road map of our course and take a look at what we are going to build.
Get started with Go.
Write a very simple Go application, and not something too complex, to get introduced to the language and tooling. A static file server is an 11-line Go program that actually does something.
To accept command-line arguments in our program.
Compile the code to a binary.
Render HTML templates.
Get started to handle HTTP requests, and extract data from them. Also you will be able to route HTTP requests.
Learn how to get connected to a database, read to it, and write from it.
Get started with writing tests in Go.
See the techniques that apply to write HTTP middleware.
To show how to capture analytics.
To learn how to handle errors in Go.
The user must be able to pass data between middleware.
You will need to know how to handle username/password combinations, specifically how to hash and salt passwords.
Get to know how to send a password reset e-mail.
To create a session and a corresponding session.
The three things that you can do to make your web applications more secure.
Learn how to handle JSON in Go.
To handle JSON streams.
To stream to a buffer before writing to a client.
Handle images over HTTP.
Introducing Go's concurrency model before writing a chat server.
Introduction to advanced concurrency concepts by writing a simple chat server.
To write a web-socket-based chat server.
Learn to use web sockets to implement real-time notifications.
Deploy any Go application in production.
Set up automated deployments for the Go app.
The aim of this video is to set up continuous integration for the Go projects.
9.1 Debugging
To debug the existing programs.
Understand how Go's reflection works.
Understand the pprof tool and the information it provides.
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:
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: