Setup a web server in Go, connect a SQL database server, and serve an API to perform CRUD commands on database entries
What you will learn
Code and deploy a simple web server programmed in Google’s programming language Go (golang)
Connect the web server to an already prepared PostgreSQL database server (as a service running in a docker container)
Program the capabilities to perfom SQL statements and deploy a simple API accessable through buy GET/POST/PUT/DELETE
Perform CRUD (Create, Read/Retrieve, Update, Delete/Destroy) commands on database entries
Description
Join me on an advanced short trip as we experience the development of a real-life coding project with Google’s programming language Go (golang). Together we will setup a web server, connect it to a PostgreSQL database server, and let it serve an API to perform CRUD (Create, Read/Retrieve, Update, Delete/Destroy) commands on database entries – the whole thing we build from scratch of course.
As a developer of web applications, you can quickly find yourself in a situation on a train ride or a flight where you urgently and quickly need a reliable web server. It must be accessible via an API and be able to execute CRUD commands like Create, Read/Retrieve, Update, and Delete/Destroy database entries. Of course, it should be a reliable and handy solution, which is available on different operating systems (Linux, macOS, Windows), have short compilation and fast execution times.
With the Go programming language from Google, a simple tool is available for creating a development server. In this course you will learn to set up such a web server and put it into operation. Rather, I want to show how Google’s programming language can be used to achieve respectable results in the shortest possible time in a real world scenario.
The fun of “ease of programming” is in the foreground here! So enjoy it, it’s free!
Why did Google develop a new programming language?
In Google’s words, “Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either
- efficient compilation,
- efficient execution, or
- ease of programming;
all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java. Go is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multicore computing.
Finally, working with Go is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for.”
In my humble opinion, Go is the best programming language you can learn today. I’ve worked with a few programming languages since I was introduced to programming through BASIC in the mid-80s, and Go is by far the best-designed language I’ve ever used.
Now start your computer and let’s have some fun coding a real webserver in Go!
Content