收藏 / 列表

筱倩 - Golang從手工編譯到CI/CD自動化部署

一、DevOps是什麼   DevOps = Development(開發) + Operations(運維)。讓開發人員(Dev)和運維人員(Ops)能夠高效協作,通過自動化手段讓軟件更快、更穩定地交付上線。 階段 沒有 DevOps 有 DevOps 後 提交代碼

軟件工程

王中陽背後的男人 - Docker磁盤滿了?這樣清理高效又安全

大家好,我是地鼠哥,最近在帶着大家做項目的時候碰到了一個印象很深的問題,和大家總結分享一下:明明代碼邏輯沒問題,部署時卻頻頻報錯,排查半天發現是服務器磁盤被佔滿了? 今天把解決思路整理出來,不僅能幫你快速釋放磁盤空間,也想順便安利下我們的項目課程(https://mp.weixin.qq.com/s/ACzEHtvGh2YsU_4fxo83fQ),裏面還包含了更多部署運維的實戰技巧哦~ 📌 問題

Docker , 後端

蘇琢玉 - 我寫了個腳本,統計了我自己寫了多少行代碼(純圖一樂)

為什麼要做這件事? 老實説,我平時不太在意自己到底寫了多少行代碼。 一方面是因為這東西真沒啥太大參考價值,想刷行數的話,複製粘貼個幾千行都不是事;另一方面也是因為誰都知道:代碼質量和行數沒什麼關係。 但有時候,好奇心就是擋不住。 就像你聽到別人講“十萬小時定律”的時候,會突然想: “哎,那我到底練習了多久?” 我寫代碼已經很多年了,也做了不少項目,大部分都丟在 GitHub 上沒怎麼管過。突

教程 , 知識 , shell

木子君_求贊 - 帶緩存的RankNet C++實現

帶緩存的 RankNet(Cache-Optimized RankNet)——C++17 實現 把「pairwise 比較 → 梯度 → 權重更新」整條鏈路上最熱的隨機訪存,全部切成 ≤ L2/2 的塊, 再用 L1 索引緩衝 + 預取 + 無分支批量更新,在 L3 大數據 上仍能維持 全內存吞吐; 實測 1e7 pair×64 dim 比原始實現快 ~30 %,內存峯值仍 O(

排序 , 排序學習 , c++

axiaoxin - Go 語言泛型用法詳解

本文將帶你從零開始,理解Go 泛型的概念、語法、使用方式,並配有示例代碼,幫助你快速上手。 文章目錄 什麼是泛型? 1. 泛型函數 示例:一個求長度的泛型函數 2. 泛型結構體 示例:一個通用的盒子 3. 泛型集合(Set) 示例:一個通用的集合 4. 泛型通道(Channel) 示例

編程語言 , 泛型 , go , 後端

user_zsXbv7Bi - 理解 Golang 中的最大/最小堆、`heap` 與優先隊列

最大堆、最小堆、 heap 、 優先隊列在數據結構算法題目裏都是一個東西。這裏討論 container/heap 的使用。 參考: https://pkg.go.dev/container/heap https://github.com/EndlessCheng/codeforces-go/blob/master/copypasta/heap.go 靈佬筆記,非常有用 在算法題目中,我們經

數據結構 , 數據結構和算法 , go

Java陳序員 - 一個支持多家雲存儲驅動的公有云文件系統!

大家好,我是 Java陳序員。 在日常生活中,我們會記錄很多精彩的瞬間,或圖片或視頻,並存放在網盤中。 然而,很多商業網盤下載速度慢,而且不能很好地保護隱私。 今天,給大家介紹一個支持多家雲存儲驅動的公有云文件系統,適合搭建私有化網盤服務! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 Cloudreve —— 一個基於 Go

react , github , MySQL , sqlite , go

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

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

go , 後端

後廠村村長 - 二叉樹力扣專題備忘

先把二叉樹的四種遍歷模式和結果記錄下來,然後倒推各種解法,如下圖所示: 4種遍歷模式的順序 前序遍歷:根、左、右 中序遍歷:左、根、右 後序遍歷:左、右、根 層次遍歷:一層一層遍歷 4種遍歷模式及結果如下 前序遍歷:1 2 4 5 7 8 3 6 中序遍歷:4 2 7 5 8 1 3 6 後序遍歷:4 7 8 5 2 6 3 1 層次遍歷:1 2 3 4 5 6 7

二叉樹

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

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

框架 , gin , go , 後端 , Web

apocelipes - atomic不是免費午餐

很多初級甚至中級開發會濫用atomic,因為在他們的世界觀裏atomic比mutex輕量,性能總是優於鎖的。 這話不能算錯,但有個很重要的前提,那就是原子操作競爭不激烈的時候。 “競爭激烈”是指什麼呢,指的是有很多線程在同一個資源上大量執行原子操作的情況。 落在這種情況下原子操作反而會成為性能拖油瓶。我們來看一個經典的原子計數器: func AddAtomic() uint64 { var co

go , 後端

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

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

php , gin , go , thinkphp

vistart - 完整Git版本管理策略

策略概述 本文檔提供了一套全面的Git版本管理策略,旨在處理多個併發版本,同時保持代碼質量和團隊生產力。 重要提示:本策略作為框架和建議集合而非嚴格規則。團隊應根據以下因素調整這些指導原則: 項目規模和複雜性 團隊規模和經驗水平 業務需求和約束 技術棧和生態系統慣例 組織政策和合規要求 本策略特別適合: 需要長期維護多個版本的項目 同時開發應用程序和框架/庫軟件的團隊 需要在

建議 , 版本 , 合作 , 管理 , Git

Ansurfen - 耗時一週,我的編程語言 Hulo 新增 Bash 轉譯和包管理工具

嘿,腳本開發者們! 還記得上週我介紹的那個能編譯成 VBScript 的現代編程語言 Hulo 嗎?這周它又有了重大更新! 🚀 本週重磅更新 1. Bash 轉譯器正式上線! 是的,你沒看錯!Hulo 現在不僅支持 VBScript,還支持 Bash 了! 這意味着你可以用同一套現代語法,同時生成 Windows 和 Linux/macOS 的腳本: // main.hl class User

vbs , bash , 編程語言 , 編譯器 , go

fizz - go語言orm之gorose全新版本2.0低調發布

號稱go語言版本的laravel's eloquent, 發佈了久違了2.0版本, 新版本做了很大的改進和升級, 下面我們一起來看一下新版本的特性. 架構調整 gorose 2.0版本做了徹底的重構, 擁有全新的架構. 架構如圖: gorose 2.0 採用模塊化架構, 通過interface的api通信,嚴格的上層依賴下層.每一個模塊都可以拆卸, 甚至可以自定義為自己喜歡的樣子.

orm , laravel , 數據庫 , eloquent , go

darjun - Go中調用外部命令的幾種姿勢

引子 在工作中,我時不時地會需要在Go中調用外部命令。前段時間我做了一個工具,在釘釘羣中添加了一個機器人,@這個機器人可以讓它執行一些寫好的腳本程序完成指定的任務。機器人倒是不難,照着釘釘開發者文檔添加好機器人,然後@這個機器人就會向一個你指定的服務器發送一個POST請求,請求中會附帶文本消息。所以我要做的就是搭一個Web服務器,可以用go原生的net/http包,也可以用gin/fasthttp

cmd , godailylib , 思否技術徵文 , go

janrs_com - 基於Go/Grpc/kubernetes/Istio開發微服務的最佳實踐嘗試 - 3/3

基於Go/Grpc/kubernetes/Istio開發微服務的最佳實踐嘗試 - 1/3 基於Go/Grpc/kubernetes/Istio開發微服務的最佳實踐嘗試 - 2/3 基於Go/Grpc/kubernetes/Istio開發微服務的最佳實踐嘗試 - 3/3 項目地址:https://github.com/janrs-io/Jgrpc 轉載請註明來源: https://janrs.co

grpc , kubernetes , microservice , istio , go

liuyuede - golang的內存管理

0.1、索引 https://blog.waterflow.link/articles/1663406367769 1、內存管理 內存管理是管理計算機內存的過程,在主存和磁盤之間移動進程以提高系統的整體性能。內存管理的基本要求是提供方法來根據程序的請求動態的將部分內存分配給程序,並在不需要時釋放它以供重用。 程序通過將他們的內存劃分為執行特定任務的不同部分來管理他們。棧和堆就是這部分中的倆個,他們

內存管理 , 垃圾回收

煩惱的沙發 - Redis到底什麼,該怎麼用

大家有沒有發現一個問題,新項目剛上線時跑得可快了,自己點點還挺得意。可時間一長,用户一多,網頁就開始轉圈,查個數據庫比綠皮火車還慢。 這時候,可別急着把鍋都甩給數據庫。這是因為架構裏少了一個提速的好幫手,那就是Redis。 Redis到底是什麼 官方文檔會跟你扯一堆“基於內存的非關係型數據庫”,字分開都認識,合在一起就看不懂了。 打個比方,把主數據庫(比如MySQL)當成一個巨大的倉庫。這時候你

觀點 , redis , nosql , 數據庫

codechen8848 - 社區新體驗!一款基於 Golang + Vue 的開源社區系統!

大家好,我是 Java陳序員。 在數字化時代,擁有一個屬於自己的社區論壇是許多開發者、創業者或興趣愛好者的需求。無論是技術交流、興趣分享還是垂直領域討論,一個穩定、高效且易於擴展的社區論壇系統都至關重要。 今天,給大家介紹一款基於 Golang + Vue 的開源社區系統! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 bbs

後端

探索雲原生 - ArgoWorkflow教程(二)---快速構建流水線:Workflow & Template 概念

上一篇我們部署了 ArgoWorkflow,並創建了一個簡單的流水線做了個 Demo。本篇主要分析 ArgoWorkflow 中流水線相關的概念,瞭解概念後才能更好使用 ArgoWorkflow。 !--more-- 本文主要分析以下問題: 1)如何創建流水線? Workflow 中各參數含義 2)WorkflowTemplate 流水線模版如何使用, 3)Workflow、Workfl

devops , 雲原生 , cicd , jenkins

kevinwan - 負載均衡原理分析與源碼解讀

上一篇文章一起學習了Resolver的原理和源碼分析,本篇繼續和大家一起學習下和Resolver關係密切的Balancer的相關內容。這裏説的負載均衡主要指數據中心內的負載均衡,即RPC間的負載均衡。 傳送門 服務發現原理分析與源碼解讀 基於go-zero v1.3.5 和 grpc-go v1.47.0 負載均衡 每一個被調用服務都會有多個實例,那麼服務的調用方應該將請求,發向被調用服務的哪一個

grpc , 微服務 , go-zero , web開發 , go

陳明勇 - 一文了解 Go 接口

接口 在 Go 語言中,接口是一種抽象的類型,是一組方法的集合。接口存在的目的是定義規範,而規範的細節由其他對象去實現。我們來看一個例子: import "fmt" type Person struct { Name string } func main() { person := Person{Name: "cmy"} fmt.Println(person) // {

challenge , go , 後端

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

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

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