GO (golang): Develop Modern, Fast & Secure Web Applications
What you'll learn
- How to build modern, fast, and secure web applications in Google's GO programming language
- How to code your programs in the GO (golang) programming language
- How to organize your application in GO while developing correctly
- Integrate 3rd party packages with GO Modules
- Write plain JavaScript without depending on something like jQuery
- Creating HTML pages using HTML5
- Creation and usage of Cascading Style Sheets (CSS)
- How to write tests in GO
- Brief insight in creating Entity Relationship Diagrams
- Using "migrations" (and FIZZ) to build a develpoing environment for a PostgreSQL database
- How to setup and connect to a PostgreSQL database (server) in GO
- Managing sessions in GO
- Learn best practices for security in web applications
- Create and use of middleware in GO
- Implementation of secure user authentication in GO
- Deployment of a GO web application to a real server
- Setup of Caddy 2 as Reverse Proxy with HTTPS
- Many other competencies a full-stack developer should have
Requirements
- No previous programming experience is required to participate in this course (but highly recommended!). This course starts by teaching very basic skills and guides you step by step to create modern web applications in Go.
- Basic experience of coding GO and a working GO IDE (Integrated Developing Environment) is helpful but not mandatory.
- Knowledge of HTML5, JavaScript, CSS, SQL, Linux, general understanding of processes in computers help and will also be covered in the course.
- Willingness to learn and a fair amount of curiosity to figure out how things work!
Description
You are invited on an exciting journey where you will learn, with guidance, to use Google's GO programming language to develop modern web applications that are highly scalable in both depth and scope. You'll take advantage of the extraordinary capabilities GO holds for full-stack developers to build all sorts of server/client-based applications.
This course is intended as a rich resource for learning programming basics as well as concepts in general and developing modern and fast web application with Google's GO (golang) programming language in particular - a comprehensive learning experience.
The easiest way to learn new programming techniques and modern concepts in software design is to apply them using real-life examples. In this course you will learn how to plan, implement, test, debug and finally install a modern web application - a homepage for renting out bungalows as vacation homes - on a web server.
You will learn about the advantages of the GO programming language and, on the way to a working application, how to integrate other elements such as SQL/PostgreSQL databases, JavaScript (client-side and server-side), AJAX techniques, HTML, CSS and how to use essential tools for full-stack developers.
Besides programming in GO, this course also deals with
HTML5 / CSS / DOM
JavaScript (Vanilla, without jQuery dependence)
SQL / PostgreSQL
Migrations / FIZZ
JSON
Routes, Handlers, Models
Tests, Error Handling
Linux (bash), Windows (Command Line), macOS (bash)
git / github
Installation on a webserver
and much more
While suitable for beginners with basic programming experience, it is designed to be a resource for fairly advanced developers. It's filled with examples, explanations, and clarifications of concepts needed to develop modern, fast and secure web applications, and comes with a code repository on Github and a detailed course outline as PDF, which serves as part of the course.
Included external packages an dependencies:
go-chi | Router
scs | Sessions
nosurf | CSRF-Token
govalidator | Validator (server-sided)
pgx/v5 | PostgreSQL Driver & Toolkit
go-simple-mail | Golang package for sending e-mail
Caddy 2 | a powerful, enterprise-ready, open source web server with automatic HTTPS written in GO
Also playing a part:
bootstrap | Bootstrap - HTML, CSS, and JavaScript framework (no jQuery)
RoyalUI-Free-Bootstrap-Admin-Template | Free Bootstrap 4 Admin Template
Simple-DataTables | DataTables but in TypeScript transpiled to Vanilla JS
postgres | PostgreSQL Server (mirror only)
pop | Soda/Migrations - standardization of database tasks
dbeaver | Dbeaver - free multi-platform database tool
vanillajs-datepicker | Vanilla JavaScript datepicker
notie | unobtrusive notifications - clean and simple JavaScript
SweetAlert2 | so many options for JavaScript popups
MailHog | Web and API based SMTP testing
Foundation for Emails 2 | Quickly create responsive HTML e-mails that work
Cobra | A Framework for Modern CLI Apps in GO
GoDotEnv | A GO port of Ruby's dotenv library
When you sign up for this course, you have lifetime access to the course. You can learn at your own pace and return to content at any time for deeper insights or to learn additional concepts when you are ready.
This course also comes with a 100% money back guarantee.
I think this is one of the most comprehensive courses in English for developing modern, fast, and secure web applications from scratch.
And if for some reason the course doesn't work for you, you can get a full refund within the first 14 days*.
Enroll now!
You can get great value from this course and, more importantly, you'll have a great time learning one of the best programming languages ever - the GO programming language, the fastest growing programming language with the highest paid programmers in the US within the last years.
GO is an open-source programming language that makes it easy to develop simple, reliable, and efficient software.
GO was developed by computer science luminaries at one of the best, if not the best, software development companies ever - Google. The design and implementations are by Robert Griesemer, Rob Pike and Ken Thompson.
GO is a very good choice for learning a programming language because it was developed by some of the same people who created the C programming language, Unix, and UTF-8 - some of the most influential contributions to computer science. With GO Robert Griesemer, Rob Pike, and Ken Thompson created a modern programming language that can easily run on multiple processors in parallel, works smoothly in different environments, and makes it easy for programmers to write programs with a very streamlined and user-friendly syntax.
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."
Learn with me the advantages in web programming of one of the best programming languages ever developed. You will get knowledge, ideas, concepts, inspiration and code examples to design software and applications yourself according to your wishes.
* Check Udemy's Terms and Conditions for details.
Who this course is for:
- Advanced developers as well as beginners who want to learn to write programs (especially web applications) professionally
- Experienced full-stack web developers who are interested in learning the GO programming language
- People with an attitude like Colonel John 'Hannibal' Smith from the A-Team who "love it when a plan comes together!"
Instructor
CLA & CLE – C Language Certified Associate Programmer & Entry-Level Programmer
Harvard/edX CS50x Introduction to Computer Science
LPIC-2 & 1 Linux Engineer & Admin
CBSA & CBBF - BTA Certified Blockchain Solution Architect & Blockchain Business Foundations
CompTIA Linux+
Digital History:
Atari 2600, Commodore VIC-20, Commodore C64, Dragon 32, Dragon 64, Apple II, Amiga, x286, x386, x486, Pentium, Pentium II-4, Apple Mac G3, G4, G5, MacMini, MacBook, RasPi, workstations from i3-i7 und all places you can open a shell to! :-)