URL 縮短器是簡單工具如何產生巨大影響的經典範例。無論您是在社交媒體上分享鏈接還是以文字形式發送鏈接,較短的 URL 都更易於管理並且看起來更乾淨。
在這篇文章中,我將帶您了解這兩個輕量級且創建速度非常快的URL 縮短器項目,它們都是內建Go:一個使用Gin 框架,另一個使用Gin 框架使用
Gorilla Mux。
每種方法都帶來了獨特的方法,我將重點放在它們的特徵和差異。
~ 原始碼:在這裡找到帶有 GUI 的 URL 縮短器:功能豐富且直觀 讓我們從第一個專案開始—一個超越簡單 API 的 URL 縮短器。它包括 REST API 後端 和 桌面 GUI 應用程式,使開發人員和非技術用戶都可以使用它。本項目使用 Gin 框架 作為後端,使用
Fyne
REST API 後端
桌面 GUI
安全與隨機金鑰
雙重存取
入門
git clone https://github.com/SirTingling/cloudprojects.git cd url-shortener go get -u github.com/gin-gonic/gin go get -u fyne.io/fyne/v2
go run server.go
go run gui.go
GUI 的包含使其比典型的僅後端應用程式更通用。
第二個項目非常簡單。它使用 Gorilla Mux 構建,專注於提供基本但實用的 URL 縮短器。如果您正在尋找能夠完成工作的輕量級解決方案,我的朋友們,這就是您的最佳選擇。
Gorilla Mux 是一個強大的 Go 路由器,這裡用它來處理所有 HTTP 端點。
縮短的 URL 是使用原始 URL 的 MD5 雜湊值建立的。是的,我確實同意,它不如隨機生成那麼安全,但是,它有效並確保確定性結果。
縮短器使用簡單的記憶體映射來儲存 URL。這使得它速度很快,儘管它對於生產規模的應用程式來說並不理想。
僅使用 Gorilla Mux 作為外部依賴項,專案很容易設定和部署。
git clone https://github.com/SirTingling/cloudprojects.git cd url-shortener go get -u github.com/gin-gonic/gin go get -u fyne.io/fyne/v2
go run server.go
伺服器將在 http://localhost:8080 運作。
go run gui.go
git clone <repository-url> cd url-shortener go get -u github.com/gorilla/mux
go run main.go
這將重定向到原始 URL。
老實說,它實施起來很快,並且作為學習專案或小規模用例運作良好。我喜歡它作為一個快速的迷你項目。
以下是差異的快速細分:
Feature | URL Shortener with GUI (Gin) | URL Shortener V2 (Mux) |
---|---|---|
Framework | Gin | Gorilla Mux |
Frontend | Desktop GUI (Fyne) | None |
URL Key Generation | Secure Random Values | MD5 Hash |
Storage | Not Specified | In-Memory |
Complexity | Moderate | Simple |
在我個人看來,使用這兩種方法都很簡單,我希望你們都嘗試一下,因為它們都可以在 URL 縮短之外的許多不同場景中使用。
基於 Gin 的解決方案非常適合想要具有使用者介面的一體化工具的人,而基於 Mux 的版本非常適合輕量級、僅 API 用例。
感謝您再次收聽我使用 Go(以及更多語言和工具)進行的迷你專案冒險。我會在下一篇中抓住你們!乾杯! ! ?
以上是Go 中的 URL 縮短器的詳細內容。更多資訊請關注PHP中文網其他相關文章!