Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Limit search to available items
Results Page:  Previous Next
Author Labouardy, Mohamed.

Title Building distributed applications in Gin : a hands-on guide for go developers to build and deploy distributed web apps with the Gin framework / Mohamed Labouardy. [O'Reilly electronic resource]

Imprint Birmingham : Packt Publishing, 2021.
QR Code
Description 1 online resource
Contents Cover -- Title Page -- Copyright and Credits -- Dedication -- Contributors -- Table of Contents -- Preface -- Section 1: Inside the Gin Framework -- Chapter 1: Getting Started with Gin -- Technical requirements -- What is Gin? -- Setting up the Go environment -- Linux/FreeBSD -- Windows -- MacOS -- Integrated development environment -- Installing Go tools -- Installing and configuring Gin -- Dependency management in Golang -- Writing a custom HTTP handler -- Summary -- Questions -- Further reading -- Section 2: Distributed Microservices -- Chapter 2: Setting Up API Endpoints
Technical requirements -- Exploring API functionality -- Defining the data model -- HTTP endpoints -- Implementing HTTP routes -- POST /recipes -- GET /recipes -- PUT /recipes/{id} -- DELETE /recipes/{id} -- GET /recipes/search -- Writing the OpenAPI Specification -- Installing Go Swagger -- Swagger metadata -- Summary -- Questions -- Further reading -- Chapter 3: Managing Data Persistence with MongoDB -- Technical requirements -- Running a MongoDB Server -- Installing Docker CE -- Running a MongoDB container -- Configuring Go's MongoDB driver -- Exploring MongoDB queries
The InsertMany operation -- The Find operation -- The InsertOne operation -- The UpdateOne operation -- Designing the project's layout -- Caching an API with Redis -- Running Redis in Docker -- Optimizing MongoDB queries -- Performance benchmark -- Summary -- Questions -- Further reading -- Chapter 4: Building API Authentication -- Technical requirements -- Exploring authentication -- Using API keys -- Introducing JWTs -- Sign-in HTTP handler -- Renewing a JWT -- Hashing and salting passwords -- Persisting client sessions and cookies -- Authenticating with Auth0 -- Building an HTTPS server
Self-signed certificates -- Summary -- Questions -- Further reading -- Chapter 5: Serving Static HTML in Gin -- Technical requirements -- Serving static files -- Rendering HTML templates -- Creating the view templates -- Creating reusable templates -- Building a self-contained web application -- Bundling static files -- Building a SPA -- Getting started with React -- Exploring React components -- Resolving cross-origin requests -- Summary -- Questions -- Further reading -- Chapter 6: Scaling a Gin Application -- Technical requirements -- Scaling workloads with a message broker
Deploying RabbitMQ with Docker -- Exploring the Producer/Consumer pattern -- Scaling horizontally with Docker replicas -- Using Docker multi-stage builds -- Scaling services with Docker Compose -- Using the NGINX reverse proxy -- Caching assets with HTTP cache headers -- Setting HTTP caching headers -- Summary -- Further reading -- Section 3: Beyond the Basics -- Chapter 7: Testing Gin HTTP Routes -- Technical requirements -- Testing Gin HTTP handlers -- Generating code coverage reports -- Performing integration tests with Docker -- Discovering security vulnerabilities -- Gosec
Summary An effective guide to learning how to build a large-scale distributed application using the wide range of functionalities in Gin Key Features Explore the commonly used functionalities of Gin to build web applications Become well-versed with rendering HTML templates with the Gin engine Solve commonly occurring challenges such as scaling, caching, and deployment Book DescriptionGin is a high-performance HTTP web framework used to build web applications and microservices in Go. This book is designed to teach you the ins and outs of the Gin framework with the help of practical examples. You'll start by exploring the basics of the Gin framework, before progressing to build a real-world RESTful API. Along the way, you'll learn how to write custom middleware and understand the routing mechanism, as well as how to bind user data and validate incoming HTTP requests. The book also demonstrates how to store and retrieve data at scale with a NoSQL database such as MongoDB, and how to implement a caching layer with Redis. Next, you'll understand how to secure and test your API endpoints with authentication protocols such as OAuth 2 and JWT. Later chapters will guide you through rendering HTML templates on the server-side and building a frontend application with the React web framework to consume API responses. Finally, you'll deploy your application on Amazon Web Services (AWS) and learn how to automate the deployment process with a continuous integration and continuous delivery (CI/CD) pipeline. By the end of this Gin book, you will be able to design, build, and deploy a production-ready distributed application from scratch using the Gin framework. What you will learn Build a production-ready REST API with the Gin framework Scale web applications with event-driven architecture Use NoSQL databases for data persistence Set up authentication middleware with JWT and Auth0 Deploy a Gin-based RESTful API on AWS with Docker and Kubernetes Implement a CI/CD workflow for Gin web apps Who this book is for This book is for Go developers who are comfortable with the Go language and seeking to learn REST API design and development with the Gin framework. Beginner-level knowledge of the Go programming language is required to make the most of this book.
Subject Distributed operating systems (Computers) -- Design.
Go (Computer program language)
Go (Langage de programmation)
Go (Computer program language)
Other Form: Print version: 1801074852 9781801074858 (OCoLC)1252050135
ISBN 9781801079556 (electronic bk.)
1801079552 (electronic bk.)
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information