tag go

標籤
貢獻245
439
05:15 PM · Oct 25 ,2025

@go / 博客 RSS 訂閱

sayornottt - Ent.中文文檔(持續更新~)

快速開始 簡介 ent 是一個簡單而強大的Go語言實體框架,它使得構建和維護大型數據模型的應用程序變得容易,同時ent遵循以下原則: 輕鬆地將數據庫模式建模為圖形結構 將模式定義為可編程的Go語言代碼 基於代碼生成的靜態類型 易於編寫的數據庫查詢和圖遍歷 簡單地擴展和使用Go模版進行自定義 設置Go環境 如果你的項目目錄在GOPATH之外,或者你不熟悉GOPATH,可通過如下的命令進

orm , 測試開發 , go

收藏 評論

歡樂的阿蘇 - kubernetes indexer源碼解析

kubernetes indexer源碼解析 kubernetes indexer是實現了多索引的本地緩存 1.背景 以db中學校學生表做本地緩存為例 type Student struct { ID uint32 Name string Class uint32 } // 本地緩存,id和學生的映射 var idCache = map[uint32]Student{}

kubernetes , 源碼學習 , 源碼分析 , go , 後端

收藏 評論

zaoying - 2023再談RESTful 和 GraphQL

前段時間組內搞代碼檢視,經常能看到一些 “掛着 RESTful 羊頭,賣的卻是 GraphQL 狗肉”的 API 設計。 舉個例子,假如後台有兩種資源用户 User 和 羣組 Group ,按照RESTful的規範,他們設計以下API端點: # 獲取用户列表 GET /users # 獲取指定用户 GET /user/{id} # 創建用户 POST /users # 修改用户 PUT /u

graphql , 數據庫 , restful , JAVA , go

收藏 評論

宇宙之一粟 - 如何在 Go 中驗證一個字符串是否是 URL?

前言 在實際開發過程中,有時候會遇到 URL 的校驗問題,其實我也是直接調用了第三方庫,但是也引發了一個思考,Go 語言中有哪些方法去驗證一個字符串是否滿足 URL 格式呢? URL 代表唯一資源定位符,是 URI 的子類型(儘管許多人可以互換使用這兩個術語)。URL 是對網絡資源的引用,通常被視為網址(例如 https://golang.org)。 下面你可以看到一個 URL 的結構,它符合 U

正則表達式 , go , url

收藏 評論

7mandy7 - Go中的面向對象2 我算是徹底玩明白了

大傢伙,我是Mandy。 上一篇,我們分享了在Go中是如何實現面向對象,文章中對面向對象的三大特性中的繼承、封裝,做了一個理論和實踐的總結,這一篇繼續分享關於另外一個特性,那就是多態。 認識多態 老規矩,在代碼實踐之前,先對基礎知識做一個普及。 1、面向對象中的多態(Polymorphism)是指一個對象可以具有多種不同的形態或表現方式。簡單來説,就是同一個類型的對象,在不同的上下文中表現出不同的

oop , 面向對象設計模式 , go

收藏 評論

7mandy7 - Go中的面向對象1 我算是徹底玩明白了

大家好,我是Mandy。 前面一篇,分享了Go中的函數和方法之間有什麼區別、如何使用,今天來分享一篇關於面向對象的知識。 萬丈高樓平地起 在學習之前,我們來普及一下關於面向對象的基礎知識。 什麼是面向對象 面向對象(Object-Oriented)是一種計算機編程的方法和思想,它將程序中的數據(對象)和操作(方法)組織成一個個相互關聯和交互的對象。對象是現實世界中的事物或概念在計算機程序中的抽象表

oop , 面向對象設計模式 , go

收藏 評論

牙小木木 - go的defer和閉包(例子説明,非內部實現)

用幾個例子説明golang的閉包函數,結合defer使用,配合對應代碼及文末總結。 函數 説明 輸出 e1 defer調用,相當於是拿到了當前err變量的快照,即註冊defer函數的時候,將當下err的值塞入到defer中 start err1 e2 defer 調用,但是一個閉包函數,且閉包函數有傳參,閉

閉包 , go

收藏 評論

alwaysbeta - 微服務架構|go-zero 的自適應熔斷器

原文鏈接: go-zero 的自適應熔斷器 上篇文章我們介紹了微服務的限流,詳細分析了計數器限流和令牌桶限流算法,這篇文章來説説熔斷。 熔斷和限流還不太一樣,限流是控制請求速率,只要還能承受,那麼都會處理,但熔斷不是。 在一條調用鏈上,如果發現某個服務異常,比如響應超時。那麼調用者為了避免過多請求導致資源消耗過大,最終引發系統雪崩,會直接返回錯誤,而不是瘋狂調用這個服務。 本篇文章會介紹主流熔斷器

源碼學習 , 微服務 , 源碼 , 源碼分析 , go

收藏 評論

阿兵雲原生 - 坑爹,線上同步近 3w 個用户導致鏈路阻塞引入發的線上問題,你經歷過嗎?

分享一個印象深刻的線上問題,希望能夠給 xdm 帶來一點思考 一個稀鬆平常的工作日,正準備下班的時候,不巧,突發線上緊急問題,心中一萬個不情願,可還是要硬着頭皮去定位問題 簡單的表象為微服務之間 gRPC通信的通道默認是用了默認值,並沒有按照實際業務去設置通道接受和發送的字節大小 用過 golang grpc 通信的 xdm 就知道,grpc 通道默認的發送和接收的消息大小為 4M,由於傳送的數據

性能 , 分佈式 , go

收藏 評論

星闌科技 - 評估DSPM解決方案時要考慮的五大問題

隨着企業越來越意識到數據安全的重要性,DSPM市場正在迅速擴大。Gartner在其最新的“數據安全炒作週期”報告中,將術語“數據安全態勢管理”解釋為新興的解決方案類別。在該定義中,Gartner 強調 DSPM 解決方案使您的企業能夠: 清點、分類和保護其數據 防止數據泄露; 確保遵守法規。 但是,當您要設置 DSPM 解決方案時,您必須能夠區分供應商。隨着供應商數量的不斷增加,

編輯器 , go , sublime-text , Git

收藏 評論

da_miao_zi - redigo連接池的源碼分析

redigo連接池的源碼分析 今天我們來看一看redigo(https://github.com/gomodule/redigo)是如何實現連接池的。 概述 連接池部分的代碼在redis/pool.go中,相關結構體和接口的UML圖如下圖所示 Pool結構體定義了連接池的屬性和行為,包括以下主要參數: Dial func() (Conn, error):指向用於新建連接的函數,由redigo

redis , 源碼學習 , 源碼分析 , 連接池 , go

收藏 評論

葉劍飛雪 - 程序的同步與異步

前言: 在計算機網絡通訊中有兩種傳輸方式。同步傳輸和異步傳輸。同步傳輸好比一座單行的高架橋, 異步傳輸好比一座雙通道的高架橋。同樣在程序代碼中也存在同步和異步的執行方式。先來了解一下程序的中幾個概念 進程和線程 線程與進程相比更輕量,而且線程之間是共享內存堆棧的,所以不同的線程之間交互非常容易實現。比如聊天室這樣的程序,客户端連接之間可以交互,比聊天室中的玩家可以任意的其他人發消息。用多線程

php , 異步編程 , go , 後端 , Python

收藏 評論

註銷 - pm2 工具在 Node.js 開發和部署中的重要作用

引言 在Node.js開發和部署體系中,pm2 (Process Manager 2) 是一個備受歡迎的工具,用於簡化應用程序的管理、監控和部署。pm2不僅僅是一個進程管理器,還提供了許多功能,包括負載均衡、日誌管理、自動重啓等,使得在生產環境中運行Node.js應用更為可靠和高效。 1. 安裝和基本用法 首先,通過以下命令安裝pm2: npm install -g pm2 使用pm2啓動一個No

express , php , JAVA , go , 後端

收藏 評論

amc - 騰訊 tRPC-Go 教學——(1)搭建服務

2023 年底騰訊統一的 RPC 框架 tRPC 正式開源。遍觀全網,似乎大部份是對 tRPC 概念上的宣傳、架構上的設計,而如何開發、如何部署的文章鳳毛麟角。於是筆者小試牛刀撰此文,或許會成為一系列,希望能拋磚引玉。 系列文章 騰訊 tRPC-Go 教學——(1)搭建服務 騰訊 tRPC-Go 教學——(2)trpc HTTP 能力 騰訊 tRPC-Go 教學——(3)微服務間調用 騰

grpc , 騰訊 , HTTP , rpc , go

收藏 評論

amc - 騰訊 tRPC-Go 教學——(2)trpc HTTP 能力

上一篇文章 中我們快速搭建了一個 http API 服務,並且我們可以看到,對外提供了 URL query 和 application/json 兩種服務模式。那麼實際上,我們到底實現了什麼、並且能夠做些什麼?讀者可能還是沒有直觀的感受,因此必要先來簡單 review 一下。就讓我們先放下敲代碼的小手,一起看看剛剛寫出來的都是些什麼玩意兒吧。 系列文章 騰訊 tRPC-Go 教學——(1)搭建

騰訊 , HTTP , rpc , go

收藏 評論

宋子桓 - Go繼承和組合

轉載:原文鏈接 Golang是不支持繼承的,因此我們在使用的時候往往使用組合。那麼,組合與繼承有什麼區別呢?組合和繼承都是面向對象編程中重要的概念。繼承讓一個類獲得另一個類的屬性和方法,形成層級關係,子類可以重用父類的功能。而組合則是將一個類的對象作為另一個類的成員變量,實現代碼複用和模塊化。繼承建立的是"is-a"關係,表示一種類型的擴展;而組合則是"has-a"關係,表示對象之間的包含關係。相

oop , go

收藏 評論

潤雨冰雪 - 一次容器裏的殭屍進程排查

背景 “大棟老師”的一個應用,經常會有殭屍進程產生。程序的調用邏輯大概如下: 主進程A產生多個B類進程B1,B2,B3等,每一個B類進程又產生了若干個C類進程,C1,C2,C3,現象就是容器中會出現部分C進程的殭屍進程。 經過簡單的分析發現是一些B類進程先結束,導致一些C類進程成為殭屍進程。但是這個不符合常規的邏輯,因為正常情況下父進程如果結束,子進程會成為孤兒進程,從而被內核的1號進

bash , Docker , go

收藏 評論

後廠村村長 - go 通道-channel、協程-routine、sync

go 通道-channel、協程-routine、sync golang 裏不需要學習如何創建維護進程池/線程池,也不需要分析什麼情況使用多線程,什麼情況使用多進程,因為你沒得選。 當然,也不需要選。 go原生的 goroutine(協程)已足夠優秀,能自動幫你處理好所有事情,而你要做的只是執行它,so easy... goroutine 也是go天生支持高併發的底氣。 g

channel , sync , 協程 , go

收藏 評論

百度Geek説 - 千萬級高性能長連接Go服務架構實踐

作者 | glstr 導讀 移動互聯網時代,長連接服務成為了提升應用實時性和互動性的基礎服務。本文主要介紹了百度系內基於golang實現的統一長連接服務。主要從統一長連接功能實現和性能優化等角度,描述了統一長連接服務在設計、開發和維護過程中面臨的問題和挑戰,重點介紹瞭解決相關問題和挑戰的解決方案和實踐經驗。 全文7631字,預計閲讀時間20分鐘。 01 摘要 移動互聯網時代,用户對服務的

長連接 , 高併發 , 架構 , go

收藏 評論

潤雨冰雪 - 一次容器裏的殭屍進程排查2

前序 上次的排查,我們發現在容器裏golang進程作為1號進程的時候不具備等待孤兒進程退出狀態的能力,但是bash就可以,帶着這個問題,我們進一步研究。 尋找思路 我們再次看下維基百科對於殭屍進程的定義。 殭屍進程定義 對於裏面的內容,我們不逐字逐句分析,其中有一句話 子進程死後,系統會發送SIGCHLD信號給父進程,父進程對其默認處理是忽略。如果想響應這個消息,父進程通常在信號事件處理程序中,使

bash , Docker , go

收藏 評論

amc - 騰訊 tRPC-Go 教學——(3)微服務間調用

前兩篇文章(1、2),我構建了一個簡單的 HTTP 服務。 HTTP 服務是前後端分離架構中,後端最靠近前端的業務服務。不過純後台 RPC 之間,出於效率、性能、韻味等等考慮,HTTP 不是我們的首選。本文我們就來看看騰訊是怎麼使用 tRPG-Go 構建後台微服務集羣的。 本文我們將開始涉及 tRPC 的核心關鍵點之一: tRPC 服務之間如何互相調用 系列文章 騰訊 tRPC-Go 教

騰訊 , HTTP , rpc , go

收藏 評論

vistart - Golang 使用通道實現流程的暫停與繼續

Golang 中主流程要控制某個協程的暫停與繼續,需要兩個通道分別接收來自主流程的通知,並在協程中始終監聽這兩個通知。例如: package main import ( "fmt" "time" ) func main() { // 創建一個通道 chPause := make(chan struct{}) chResume := make(chan s

channel , 異步 , go

收藏 評論

vistart - Golang 如何監聽某個函數(方法)開始執行和執行結束

如果想監聽函數(方法)開始執行和執行結束,你需要設置兩個通道: chanStarted: 用於發送開始執行信號。 chanFinished: 用於發送執行結束信號。 同時,為了保證監聽方能實時得知“開始執行”或“執行結束”信號,需要在執行任務前開啓監聽。 以下為模擬監聽函數(方法)開始執行和執行結束的示例: package main import ( "context"

函數 , channel , 狀態 , 監聽 , go

收藏 評論

amc - 騰訊 tRPC-Go 教學——(4)tRPC 組件生態和使用

之前我花了三篇文章來介紹 tRPC 怎麼用。而 tRPC 給開發者帶來的便利, 在整整三篇文章中,我也只是介紹了它可以方便服務在 HTTP、trpc、grpc 三種協議之間靈活切換。誠然, tRPC 作為能夠統一騰訊內開發框架的一個生態級產品,它的能力顯然不止這些。這一篇文章,咱們來一起初窺 tRPC 的周邊生態有哪些, 以及其中的第三方組件使用方法。 系列文章 騰訊 tRPC-Go 教學—

騰訊 , HTTP , rpc , go

收藏 評論