Webapps in Go
Free!
Minimum price
$9.00
Suggested price
Last updated on 2018-06-09
About the Book
The book teaches you how to write web applications in Go without using a framework. It is possible to write a webapp without using any framework in Go. Each new concept will be explained via a valid code example. The book is based of a todo list manager I wrote in Go, and at any point in time, you can check the source code of the todo list manager.
This book is Open source at github
Table of Contents
-
Installation
- System requirements
- Install the Go tools
-
Tools
- The toolchain
-
Hello, Go
- Why Go?
-
Variables & Data structures
- Variables
- Underlying data structures
- Important points
- array, slice, map
-
Control statements and Functions
- Control statement
- Functions
-
Struct
- Basics of Struct
-
Object-oriented
- methods
-
Interface
- Interface
- Concurrency
-
Managing the Workspace
- Packages
- Internal deployment
-
Web Programming Basics
- HTTP Methods
- What is a template?
- Static Files
-
Basic web application
- Handling URLs
- Serving static files
- Homework
-
Designing our web app
- The Design
- Homework
-
Using databases in Go
- Creating and configuring database
- Installing sqlite driver
-
Accessing the database
- Importing driver
-
Retrieving Result Sets
- Fetching Data from the Database
- How Scan() Works
- Preparing Queries
- Single-Row Queries
-
Modifying Data and Using Transactions
- Statements that Modify Data
- Working with Transactions
-
Using Prepared Statements
- Prepared Statements And Connections
- Avoiding Prepared Statements
- Prepared Statements in Transactions
- Parameter Placeholder Syntax
-
Handling Errors
- Errors From Iterating Resultsets
- Errors From Closing Resultsets
- Errors From QueryRow()
- Identifying Specific Database Errors
- Handling Connection Errors
- Working with NULLs
- Working with Unknown Columns
- The connection pool
-
Surprises, Antipatterns and Limitations
- Resource Exhaustion
- Large uint64 Values
- Connection State Mismatch
- Database-Specific Syntax
- Multiple Result Sets
- Invoking Stored Procedures
- Multiple Statement Support
- Database Encapsulation
-
An Example
- Homework
-
Working with Forms
- CSRF
- Input Validation
- Uploading files
-
Templates
- Sub templating
- Homework
-
Authentication
- Cookies
- Sessions
- Users
- Files
- Routing
-
Middlewares
- Example
-
Building an API
- JWT
- Making an API call
- Formatting a JSON document
- Testing API
-
Writing an client
- Getting the token
- Error handling
- Example
- Advanced Usage
- Unit Testing
-
Version Control Basics
- Using git
- Branching
- Remote
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...