Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Hands-On Full Stack Development with Go
  • Toc
  • feedback
Hands-On Full Stack Development with Go

Hands-On Full Stack Development with Go

By : Mina Andrawos
2.3 (4)
close
Hands-On Full Stack Development with Go

Hands-On Full Stack Development with Go

2.3 (4)
By: Mina Andrawos

Overview of this book

The Go programming language has been rapidly adopted by developers for building web applications. With its impressive performance and ease of development, Go enjoys the support of a wide variety of open source frameworks, for building scalable and high-performant web services and apps. Hands-On Full Stack Development with Go is a comprehensive guide that covers all aspects of full stack development with Go. This clearly written, example-rich book begins with a practical exposure to Go development and moves on to build a frontend with the popular React framework. From there, you will build RESTful web APIs utilizing the Gin framework. After that, we will dive deeper into important software backend concepts, such as connecting to the database via an ORM, designing routes for your services, securing your services, and even charging credit cards via the popular Stripe API. We will also cover how to test, and benchmark your applications efficiently in a production environment. In the concluding chapters, we will cover isomorphic developments in pure Go by learning about GopherJS. As you progress through the book, you'll gradually build a musical instrument online store application from scratch. By the end of the book, you will be confident in taking on full stack web applications in Go.
Table of Contents (15 chapters)
close
Free Chapter
1
Section 1: The Go Language
5
Section 2: The Frontend
8
Section 3: Web APIs and Middleware in Go

Benchmarking

Another key topic in the world of testing software is benchmarking. Benchmarking is the practice of measuring the performance of your code. The Go testing package offers you the ability to perform strong benchmarking on your code.

Let's start by targeting a piece of code and showcase how to benchmark it using Go. A good function to benchmark is the hashpassword() function, which is utilized by our database layer. This function can be found in the backend/src/dblayer/orm.go file. It takes a reference to a string as an argument, and then it uses a bcrypt hash to hash the string. Here is the code:

func hashPassword(s *string) error {
if s == nil {
return errors.New("Reference provided for hashing password is nil")
}
//converd password string to byte slice
sBytes := []byte(*s)
//Obtain hashed password
hashedBytes, err := bcrypt.GenerateFromPassword...
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete