tag gin

標籤
貢獻9
72
10:11 PM · Oct 26 ,2025

@gin / 博客 RSS 訂閱

gvison - Go Web 開發利器:如何讓你的 Gin 服務擁有 Nginx 般的靜態文件處理能力?

前言 做過 Go Web 開發的朋友都知道,Gin 框架雖然在 API 路由處理上性能彪悍,但原生的 Static() 靜態文件服務功能相對基礎。在很多生產場景下,我們通常會習慣性地在 Go 服務前面擋一層 Nginx,專門用來處理靜態資源(JS/CSS/HTML)和緩存控制。 但有些場景下(比如內部工具、單體應用、或者不想維護複雜的 Sidecar 容器),我們希望 Go 服務本身就能像 Ngi

Nginx , gin , go , 後端

收藏 評論

gvison - 如何在 Go (Gin) 中實現類似 Nginx 的反向代理功能?

前言 作為後端開發者,我們對 Nginx 肯定不陌生。它是反向代理和負載均衡的絕對霸主。但你是否遇到過這樣的場景:你的業務處於快速迭代期,後端服務節點頻繁變動,或者需要做灰度發佈。每次調整上游(Upstream)服務器,都得去改 nginx.conf,然後小心翼翼地執行 nginx -s reload。 雖然 Nginx 性能強悍,但它的配置管理在某些動態場景下顯得略微“重”了一些(雖然 Ngin

reverse-proxy , Nginx , gin , go

收藏 評論

Hunter - Gin筆記二之gin.Engine和路由設置

本文首發於公眾號:Hunter後端 原文鏈接:Gin筆記二之gin.Engine和路由設置 這一篇筆記主要介紹 gin.Engine,設置路由等操作,以下是本篇筆記目錄: gin.Default() 和 gin.New() HTTP 方法 路由分組與中間件 1、gin.Default() 和 gin.New() 前面第一篇筆記介紹,創建一個 gin 的路由引擎使用的函數是 gin

gin , go , 後端

收藏 評論

Hunter - Gin筆記一之項目建立與運行

本文首發於公眾號:Hunter後端 原文鏈接:Gin筆記一之項目建立與運行 本篇筆記開始介紹 Golang 的 web 框架 Gin 的相關內容。 本系列筆記預計通過四到五篇筆記內容介紹 Gin 框架的核心內容,然後通過一個簡單的示例介紹一個 Gin 項目的目錄結構,然後介紹如何將一個 Gin 項目使用 Docker 打包部署。 此外,還將介紹在 Gin 項目裏連接使用 Redis、Mon

gin , go , 後端

收藏 評論

gvison - Sponge:一個重構Go開發體驗的框架,幫助你在開發項目中"開掛"

前言 Go 語言簡潔、高效、併發性能超神,簡直是後端開發的一股清流。喜歡它的純粹,愛它那 “less is more” 的哲學。但説實在的,這份“純粹”有時候也意味着咱得“白手起家”,從零開始搭輪子。 每天寫着相似的 “樣板代碼”(Boilerplate Code),一遍又一遍地處理着數據庫的增刪改查(CRUD),為 HTTP 和 gRPC 服務手寫着數據綁定和服務註冊...... 是不是感覺身體

框架 , grpc , 開發工具 , gin , go

收藏 評論

碼農先森 - PHP轉Go系列 | ThinkPHP與Gin框架之Redis延時消息隊列技術實踐

大家好,我是碼農先森。 我們在某寶或某多多上搶購商品時,如果只是下了訂單但沒有進行實際的支付,那在訂單頁面會有一個支付倒計時,要是過了這個時間點那麼訂單便會自動取消。在這樣的業務場景中,一般情況下就會使用到延時隊列。 通常在客户下單之後,就會將訂單數據推送到延時隊列中並且會對該消息設置一個延時時長,比如設置五分鐘、十分鐘、或十五分鐘等,具體的時長應該還是要結合當前的業務進行衡量,然後消費端會在指定

php , gin , go , thinkphp

收藏 評論

碼農先森 - PHP轉Go系列 | ThinkPHP與Gin框架之打造基於WebSocket技術的消息推送中心

大家好,我是碼農先森。 在早些年前客户端想要實時獲取到最新消息,都是使用定時長輪詢的方式,不斷的從服務器上獲取數據,這種粗暴的騷操作實屬不雅。不過現如今我也還見有人還在一些場景下使用,比如在 PC 端掃描二維碼,然後使用長輪詢的方式從服務端獲取最新的掃碼信息,來判斷用户是否已經掃碼完成,諸如這種場景還有不少。其實大家都知道長輪詢的方式不好,那為什麼還有人使用呢? 我想最直接的原因就是「開發起來簡

php , gin , go , thinkphp

收藏 評論

碼農先森 - PHP轉Go系列 | ThinkPHP與Gin框架之OpenApi授權設計實踐

大家好,我是碼農先森。 我之前待過一個做 ToB 業務的公司,主要是研發以會員為中心的 SaaS 平台,其中涉及的子系統有會員系統、積分系統、營銷系統等。在這個 SaaS 平台中有一個重要的角色「租户」,這個租户可以擁有一個或多個子系統的使用權限,此外租户還可以使用平台所提供的開放 API 「即 OpenApi」來獲取相關係統的數據。有了 OpenApi 租户可以更便捷的與租户自有系統進行打通,提

php , gin , go , thinkphp

收藏 評論

碼農先森 - PHP轉Go系列 | ThinkPHP與Gin框架之API接口簽名設計實踐

大家好,我是碼農先森。 回想起以前用模版渲染數據的歲月,那時都沒有 API 接口開發的概念。PHP 服務端和前端 HTML、CSS、JS 代碼混合式開發,也不分前端、後端程序員,大家都是全乾工程師。隨着前後端分離、移動端開發的興起,用後端渲染數據的開發方式效率低下,已經不能滿足業務對需求快速上線的要求了。於是為了前後端的高效協同開發引入了 API 接口,只要在開發需求之前約定好數據傳參,之後便可以

php , gin , go , thinkphp

收藏 評論

程序員新亮 - 如何基於 Gin 封裝出屬於自己 Web 框架?

思路 在基於 Gin 封裝出屬於自己的 Web 框架前,你需要先了解 Gin 的基本用法和設計理念。 然後,你可以通過以下步驟來封裝自己的 Web 框架: 封裝路由:Gin 的路由是通過 HTTP 方法和 URL 路徑進行匹配的,你可以根據自己的需求,封裝出符合應用的業務需求的路由。你可以考慮將路由進行分類,例如公共路由、私有路由等,以方便管理。 封裝中間件:Gin 提供了很多中間件,例如日

框架 , gin , go , 後端 , Web

收藏 評論

微笑的小刀 - 51CTO-寬哥【雲原生開發】Go和Gin入門到腳手架項目實戰

在雲原生技術浪潮席捲全球的當下,企業級應用開發對開發者的技術棧提出了更高要求。👇🏻ke🍊:xingkeit點top/9707/Go語言憑藉其卓越的併發性能與輕量化特性,結合Gin框架的高效路由機制,已成為構建微服務架構的核心工具鏈。51CTO平台推出的《Go+Gin零基礎到雲原生腳手架實戰》課程,通過系統化的知識體系與實戰案例,幫助開發者規避常見陷阱,快速掌握雲原生開發的核心能力。 一、雲原

項目實戰 , 入門教程 , gin , go

收藏 評論

人情世故 - go-scaffold 一個基於 kratos 和 wire 依賴注入框架的腳手架

介紹 架構圖 生命週期 目錄結構 如何運行 go build 或 go run make docker-compose 熱重啓 運行子命令或腳本 依賴注入 配置 配置模型 遠程配置 監聽配置變更 日誌 錯誤處理 轉換為 HTTP 狀態碼 將 GRPC 錯誤轉換為

框架 , grpc , 依賴注入 , gin , go

收藏 評論

程序員新亮 - Gin 實現自動生成接口文檔

自動生成接口文檔的好處 説之前,先説一下自動生成接口文檔有哪些好處? 1)節省時間和工作量:手動編寫接口文檔是一項耗時且繁瑣的任務。通過自動生成接口文檔,可以大大減少編寫文檔的時間和工作量,提高開發效率。 2)保持文檔與代碼同步:代碼和文檔往往是不同步的,當代碼發生變更時,手動更新文檔可能容易出現遺漏或錯誤。自動生成接口文檔可以保持文檔與代碼的同步,確保文檔的準確性和實時性。 3)提供一致的文檔格

swagger , gin , go , 後端

收藏 評論

vincent - golang gin 添加swagger文檔教程

前置準備 安裝 # 安裝 go get "github.com/swaggo/files" go get "github.com/swaggo/gin-swagger" go install github.com/swaggo/swag/cmd/swag@latest 給swagger配置路由 import swaggerFiles "github.com/swaggo/files"

接口文檔 , swagger , gin , go

收藏 評論

gvison - 看了很多常見的 Go 框架,這個才是我的“夢中情框”?

使用Go開發時,誰沒在 HTTP(標準庫)、Gin、Echo、Iris、Fiber、Beego、GoFrame、gRPC、Go-Micro、Go-Zero、Kratos 等這些框架裏"閲人無數"過?個個都説自己性能好、功能強,但用起來總有那麼一些"不香"的瞬間,對吧? 就像談戀愛,一開始可能覺得個個都好,但時間久了,各種小摩擦、小痛點就出來了。今天,我就和大家嘮嘮,在"閲盡千帆"之後,我是如何找到

grpc , microservice , gin , go

收藏 評論

epeppanda - Golang Gin 實戰(十三)| 中間件詳解看這一篇就夠了

中間件是 Web 應用開發中常見的功能模塊,Gin 框架支持自定義和使用內置的中間件,讓你在請求到達路由處理函數前進行一系列預處理操作。這篇博客將涵蓋中間件的概念、內置中間件的用法、如何編寫自定義中間件,以及在實際應用中的一些最佳實踐。 文章目錄 1. 什麼是中間件? 1.1 中間件的概念 1

golang , 中間件 , 自定義 , Css , 前端開發 , gin , HTML

收藏 評論

gvison - Gin + Gorm 實戰: 一小時完成一個簡單的問答社區後端服務

問答社區是一種常見的社交化應用,允許用户發佈問題、回答問題並相互交流。隨着互聯網的發展,問答社區已經成為人們獲取知識和分享經驗的重要平台。 本文將介紹如何使用 Gin 和 Gorm 構建一個簡單的問答社區。本社區包含以下功能: 用户註冊和登錄 問題發佈和回答 問題列表和詳情 答案列表和詳情 用户信息和回答列表 數據庫設計 一共有users、questions、answers三

rest-api , gorm , crud , gin , go

收藏 評論

gvison - sponge:一個簡單易用又且大幅提高項目開發效率的go開發框架

在當今快節奏的軟件開發環境中,提高效率至關重要。開發人員持續尋求工具和技術,以縮短開發時間併產出更高質量的應用程序。本文將介紹一款創新性的開發神器,它可以將開發項目效率可以提高 5 倍以上,並支持多種常用的數據庫。 如果開發只有簡單CRUD api接口的web或微服務,不需要編寫任何go代碼就可以編譯並部署到linux服務器、docker、k8s上,只需要連接到數據庫(mysql、mongodb、

grpc , 微服務 , gin , go , Web

收藏 評論

gvison - 一個強大的golang生產力工具,golang也可以"低代碼開發"

sponge 是一個集成了自動生成代碼、web和微服務框架、基礎開發框架的golang生產力工具。sponge擁有豐富的生成代碼命令,生成不同的功能代碼可以組合成完整的服務(類似人為打散的海綿細胞可以自動重組成一個新的海綿)。代碼解耦模塊化設計,很容易構建出從開發到部署的完整工程項目,讓你開發web或微服務項目輕而易舉、事半功倍,golang也可以"低代碼開發"。 如果開發只有簡單CRUD api

grpc , 代碼生成 , gin , go

收藏 評論

gvison - 一個企業級高質量開發框架 sponge,幫助你大幅提高開發效率和降低開發難度

在當今快節奏的軟件開發環境中,提高效率至關重要。開發人員持續尋求工具和技術,以縮短開發時間併產出更高質量的應用程序。本文將介紹一款創新性的開發框架,它可以大幅提高開發項目效率同時降低開發難度,並支持多種常用的數據庫。 如果開發只有簡單CRUD api接口的web或微服務,不需要編寫任何go代碼就可以編譯並部署到linux服務器、docker、k8s上,只需要連接到數據庫(mysql、mongodb

gorm , grpc , 微服務 , gin , go

收藏 評論

gvison - 一鍵生成 HTTP + gRPC 混合架構微服務代碼:更簡單、更靈活、更兼容的微服務系統構建方式

在現代微服務架構中,單純依賴 gRPC 並不能覆蓋所有的應用場景,因此結合 HTTP 協議可以提供更加全面的服務支持。本文將介紹如何通過一鍵生成 HTTP + gRPC 通用混合架構的微服務代碼,以構建更靈活、更兼容的微服務系統。 為什麼選擇 HTTP + gRPC 服務? 兼容性更強 瀏覽器支持: HTTP 是 Web 應用的基礎,允許瀏覽器直接訪問,而 gRPC 需要額外

grpc , 微服務 , HTTP , gin , go

收藏 評論

gvison - 手寫CRUD的時代結束了!低代碼框架Sponge重新定義Go開發效率極限

作為Go開發者,愛它的簡潔,愛它的併發,愛它的性能。但説句心裏話,你有沒有被實現一個簡單API到底要寫多少代碼這個問題困擾過? 從定義struct,到寫handler,再到service、repository,最後註冊路由、處理錯誤、寫文檔……一套流程下來,真正的核心業務邏輯可能就幾行,剩下的全是在寫"膠水代碼"和"八股文"。 我們總開玩笑説自己是"面向CV編程工程師",但夜深人靜的時候,你有沒有

grpc , 低代碼 , gin , go , 後端

收藏 評論

Aonaufly - Go之Gin框架(基礎)

文檔地址:https://www.kancloud.cn/shuangdeyu/gin_book/949411 一,請求類型 GET / POST package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { r := gin.Default() r.

基礎 , 遊戲開發 , gin , go

收藏 評論