Modern Golang Programming
4.0 (10 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
180 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Modern Golang Programming to your Wishlist.

Add to Wishlist

Modern Golang Programming

Learn how to use the Go language open source third party ecosystem to build sophisticated production applications
4.0 (10 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
180 students enrolled
Created by Packt Publishing
Last updated 7/2017
English
Current price: $10 Original price: $125 Discount: 92% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 14.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Get a practical overview of the Go language
  • Explore popular SQL databases such as MySQL, PostgreSQL and SQLite
  • Learn about the GORM ORM layer
  • Build Go applications that can work with Mongodb
  • Learn the concepts of time series databases with InfluxDB
  • Learn protocol buffers version 2 and 3
  • Explore gRPC support in Go
  • Dive into the Gorilla web toolkit, REST APIs, Gorilla websockets, and Gorilla cookies
  • Understand the Hero templating engine
View Curriculum
Requirements
  • Knowledge of Go language.
Description

Go is the language of the Internet age, because it was built from the ground up to support modern distributed web software. Go is also cross-platform as it compiles to numerous operating systems and CPU architectures via simple commands. It compiles to native binaries, it doesn't use a VM, and is garbage-collected, which makes it a breeze to deploy in production environments.

Throughout the course, we will use modern open source third party packages in Go to build a distributed application that will support several databases, establish efficient serial communications techniques, and construct an advanced web layer with templates, cookies, and websockets support.

We will start with a refresher on Go's primary building blocks. From there, we will explore numerous open source packages that allow working with a variety of databases in a production environment as well as an ORM layer. We will then explore building reliable and robust microservices that communicate efficiently with each other via fast serialization and RPC techniques. Finally, we will develop knowledge on powerful third party templating engines and web toolkits, to construct a modern web layer with a RESTful API.

About the Author

Mina Andrawos is an experienced engineer who has developed a lot of experience in Go from using it personally and professionally. He regularly authors articles and tutorials about the language, and also shares Go open source projects. He wrote numerous Go applications with varying degrees of complexity. He is the Author of the Mastering Go Programming course for Packt, which has gathered great feedback from reviewers.

Other than Go, Mina has skills in C#, Java, Python, and C++. He has worked with various databases and software architectures. He also has skills with the agile methodology in software development. Besides software development; he has worked in scrum mastering, sales engineering, and software product management.

Who is the target audience?
  • Intermediate-level Go developers
Students Who Viewed This Course Also Viewed
Curriculum For This Course
42 Lectures
14:36:47
+
Eloquent Go
13 Lectures 03:43:55

This video provides an overview of the entire course.

Preview 06:49

The aim of this video is to learn about the basic building blocks of Go language.

Go Building Blocks
29:35

The aim of this video is to learn about the advanced data structures in Go.

Advanced Data Structures - Arrays and Slices
18:21

This video will take you further in learning the building blocks of Go language.

Maps and Structs
10:09

This video will take a deeper look into references, pointers, panics and recovers.

References, Defers, Panics, and Recovers
11:21

The aim of this video is to learn about concurrency in Go.

Concurrency: Goroutines and Channels
16:53

With this video, understand a detailed explanation on Concurrency.

Concurrency: Buffered Channels and Select
15:46

This video gives a practical overview of methods and interfaces in Go language.

Methods and Interfaces
30:16

The aim of this video is to learn about io and fmt packages in Go.

A Tour into Go's Packages
20:28

The aim of this video is to learn about http and net packages in Go.

A Further Tour into Go's Packages
17:13

The aim of this video is to cover important concepts regarding Microservices.

MicroServices Architecture
09:58

The aim of this video is to review some concepts on building a microservice.

Project Dino: Building Go Services
13:28

In this video, take a step ahead in creating the Project Dino.

Project Dino: Running the Microservice
23:38
+
Go with Databases in the Wild
14 Lectures 05:25:16

The aim of this video is to learn how to build Go applications around MySQL.

Preview 18:55

In this video, learn to build your own code with SQL database.

Building Go Code in MySQL
22:39

The aim of this video is to learn how PostgreSQL is able to interact with the Go language.

PostgreSQL
16:21

In this video, learn to build your own code with PostgreSQL.

Building Go Code in PostgreSQL
38:56

The aim of this video is to learn about a popular SQL database which is the SQLite.

SQLite
25:42

The aim of this video is to learn about ORMs when working with databases.

ORM: GORM I
20:00

The aim of this video is to explore ORM layers in the Go language.

ORM: GORM II
25:08

The aim of this videos is to focus on MongoDB, which is NoSQL technology.

Go with NoSQL: MongoDB I
20:57

The aim of this video is to read and write data to and from MongoDB via GO applications.

Go with NoSQL: MongoDB II
23:29

The aim of this video is to discuss about InfluxDB.

Introduction to Influxdb
13:23

The aim of this video is to write Go applications for Influxdb.

Writing Go Applications for Influxdb
05:46

The aim of this video it to write a Go application to read data from Influxdb.

Reading Data from Influxdb
42:41

The aim of this video it to write a Go application to write data to Influxdb.

Writing Data to Influxdb
11:41

The aim of this video is to build the Dino database layer. 

Dino Database Layer
39:38
+
Communicating in the Wild
7 Lectures 02:30:30

The aim of this video is to define protocol buffers and explore the implementation of protocol buffer.

Preview 22:16

The aim of this video is to build and run some test applications.

Writing a Protocol Buffer 2 Application
28:37

The aim of this video is to discuss about the Protocol version 3.

Introduction to Protocol Buffer v3
19:59

The aim of this video is to build and run some test application that work with protocol version 3.

Writing a Protocol Buffer 3 Application
16:23

The aim of the video is to discuss about gRPC, which is rapidly becoming popular in production Microservices architecture.

Introduction to gRPC
25:31

The aim of this video is to implement the gRPC server.

Implementing a gRPC Server in Go
11:42

The aim of this video is to implement the gRPC client.

Implementing a gRPC Client in Go
26:02
+
Production Web Applications
8 Lectures 02:57:06

The aim of this video is to learn how to use a powerful third party toolkit to build flexible restful API server

Preview 30:16

Now that you know how to Build a RESTful API, get started building one of your own.

Building Restful API for Your Project
32:19

The aim of this video is to build a Front End UI for your Project.

Building a Front End
32:49

The aim of this video is to explore the code behind data shown in the project.

Dino Front End: Template Loops
15:08

We would need to create a backend to show the data on our web portal

Dino Project: Backend
14:19

The aim of this video is to write a client side code for Websockets

Websockets: Client Side
13:18

In this video learn to do server side implementation of the matrix webpage.

Websockets: Server Side
16:16

The aim of this video is to implement a secure access sign in page for the web portal.

Cookies
22:41
About the Instructor
Packt Publishing
3.9 Average rating
8,175 Reviews
58,770 Students
686 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.