收藏 / 列表

筱倩 - 《Go 單元測試從入門到覆蓋率提升》(一)

一、靜態代碼分析   靜態代碼分析是一種在不執行和運行程序的情況下檢查源代碼的方法。通過這種方法,自動化工具會掃描代碼查找潛在的問題,如bug、安全漏洞或與編碼標準的偏離。靜態代碼分析可以在執行或合併到main分支之前檢查源代碼中的問題。   動態代碼分析是在代碼被執行時,識別運行時的問題,例如性能瓶頸、內存泄露和邏輯缺陷。它輸出的內容是程序的實際運行時行為,包括日誌、跟蹤和性能指標。它在實際或

go , 後端

王中陽背後的男人 - 挑戰一週用 AI 開發商業化項目!4 大痛點反思 + 新手專屬提示詞分享

見字如面,我是陽哥,我的文章都首發在同名公眾號:王中陽,歡迎鏈接。 我最近在挑戰用AI編程工具,用一週時間開發一個商業化的項目,踩了不少坑: 從開發者思維--到產品經理思維的轉變 小問題AI為什麼反反覆覆改不好? token限額了怎麼辦? 有了AI編程,程序員的價值在哪裏? 這篇文章內容比較多,我會從以上幾個大家關心的話題分享。 先聊乾貨,再聊細節 有了AI編程,程序員的價值在哪

人工智能 , 後端

蘇琢玉 - 從零開始創建屬於自己的 Composer 庫

Composer 是 PHP 領域最流行的依賴管理工具,它使得管理項目依賴變得輕鬆簡單。然而,除了使用現有的包,我們也可以創建和發佈屬於自己的 Composer 包。 在這篇文章中,我將帶你一步一步完成從零開始創建併發佈一個自己的 Composer 包的流程。 創建項目 在你的工作目錄下創建一個新的文件夾作為你的包: mkdir project cd project 初始化 Composer

composer , php

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

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

排序 , 排序學習 , c++

axiaoxin - Ghostty 終端默認快捷鍵列表

文章目錄 Ghostty 終端默認快捷鍵列表 基本操作 分屏操作 光標和選擇操作 其他操作 物理按鍵綁定 特殊按鍵説明 注意事項 結語 Ghostty 提供了豐富的默認快捷鍵,用户可以通過這些快捷鍵快速執行各種操作。以下是 Ghostty 的默認快捷鍵列表,這些快捷鍵可以通過keybind配置進行自定義。 Ghostty 終端默認快捷

編輯器 , vim , 程序員 , 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陳序員 - 完全開源!一款基於 SpringBoot + Vue 構建的社區平台!

大家好,我是 Java陳序員。 在如今互聯網時代,擁有一個個人專屬的社區平台,用於技術交流或者興趣分享圈子,是一件很酷的事~ 今天,給大家介紹一款基於 SpringBoot + Vue 構建的社區平台,幫助你快速構建個人社區平台! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 OpenIsle —— 一個使用 SpringBo

vue.js , github , MySQL , springboot

XHunter - Golang基礎筆記十六之反射

本文首發於公眾號:Hunter後端 原文鏈接:Golang基礎筆記十六之反射 反射可以用於程序在運行時檢查、修改自身類型和值,主要通過 reflect 包實現。 首先,我們提出一個需求,要打印出一個結構體 struct 的各個字段及其對應的標籤數據,按照當前的筆記內容是無法解決該問題的,但是我們可以使用反射操作來完成。 以下是本篇筆記目錄: 變量的類型和值 修改變量的值 遍歷結構體

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 - POSIX兼容系統上read和write系統調用的行為總結

關於UNIX和Linux的宣傳語中,一切皆文件應該是最廣為人知的一句。 不管是普通文件,還是硬件設備、管道、網絡套接字,在Linux甚至還有信號和定時器都共享一套相似的api,大家可以用類似的代碼完成各種不同的任務,大大簡化了代碼複雜度和學習成本。 當然這只是理想中的情況,現實是普通文件和硬件設備是兩種完全不同的東西,普通文件和網絡套接字尤其是UDP協議的那種更是風馬牛不相及,強行把這些行為屬性完

後端

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

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

php , gin , go , thinkphp

vistart - 現代編譯器條件賦值優化:跨架構彙編分析

引言 在現代C/C++開發中,開發者經常面臨一個問題:if-else條件賦值與三元運算符在性能上是否存在差異?本文深入分析了最新版Clang和GCC編譯器在不同架構平台上的優化行為,通過彙編代碼對比揭示編譯器優化的本質。 驗證結果解讀 預期的彙編輸出 ARM64平台 (Apple Silicon) 優化前 (-O0) - 包含分支跳轉: conditional_assignment_if_else

asm , 編譯器 , 條件表達式 , 優化 , cpu

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

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

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

fizz - gorose, 最像 laravel's eloquent 的go數據庫操作orm, 風騷的鏈式調用, 讓你深深陷入不能自拔

簡介 gorose(go orm), 一個小巧強悍的go語言數據庫操作orm, 靈感來源於laravel的數據庫操作orm, 也就是eloquent, php、python、ruby開發者, 都會喜歡上這個orm的操作方式, 主要是鏈式操作比較風騷 github https://github.com/gohouse/gorose 先睹為快 db.Table("tablename").Firs

orm , eloquent , go

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

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

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

janrs_com - Golang 協程/線程/進程 區別以及 GMP 詳解

Golang 協程/線程/進程 區別詳解 轉載請註明來源:https://janrs.com/mffp 概念 進程 每個進程都有自己的獨立內存空間,擁有自己獨立的地址空間、獨立的堆和棧,既不共享堆,亦不共享棧。一個程序至少有一個進程,一個進程至少有一個線程。進程切換隻發生在內核態。 線程 線程擁有自己獨立的棧和共享的堆,共享堆,不共享棧,是由操作系統調度,是操作系統調度(CPU調度)執行的最小單

goroutine

liuyuede - golang的內存管理

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

內存管理 , 垃圾回收

煩惱的沙發 - Qwen Code v0.0.8 重磅發佈:深度集成 VS Code

上週,阿里通義千問團隊 Qwen Code 發佈了 v0.0.8 版本,這次更新的王牌特性,就是與我們日常用的 VS Code 實現了前所未有的深度集成。 如果能在編輯器裏直接獲得與代碼上下文完美匹配的建議和實時差異對比,是不是感覺編碼體驗即將迎來質變? 不過,強大的新功能也帶來了一個小小的門檻:Qwen Code v0.0.8 要求環境必須是 Node.js 20 或更高版本。本文將為你介紹一

通義千問 , 開發工具 , ai開發 , 教程 , 人工智能

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

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

後端

探索雲原生 - ArgoWorkflow教程(三)---使用 Artifacts 實現步驟間文件共享

上一篇我們分析了 Workflow、WorkflowTemplate、template 之間的關係。本篇主要分析如何在 argo-workflow 中使用 S3 存儲 artifact 實現步驟之間的文件共享。 !--more-- 本文主要解決兩個問題: 1)artifact-repository 如何配置 2)Workflow 中如何使用 1. artifact-repository

kubernetes , devops , 雲原生 , cicd , jenkins

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

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

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

陳明勇 - 一文了解 Go time 包的時間常用操作

前言 在日常開發中,我們避免不了時間的使用,我們可能需要獲取當前時間,然後格式化保存,也可能需要在時間類型與字符串類型之間相互轉換等。本文將會對 Go time 包裏面的常用函數和方法進行介紹。 Now():獲取當前本地的時間 import ( "fmt" "time" ) func main() { now := time.Now() fmt.Println(n

challenge , go , 後端

7mandy7 - 基於 JIT 技術的開源全場景高性能 JSON 庫

大家好,我是Mandy,上一節我們對Go中的切片數據類型進行了深度的剖析,今天給大家分享一個字節跳動自研開源的JSON數據解析包。一個速度奇快的 JSON 序列化/反序列化庫,由 JIT (即時編譯)和 SIMD (單指令流多數據流)加速。 sonic 是字節跳動開源的一款 Golang JSON 庫,基於即時編譯(Just-In-Time Compilation)與向量化編程(Single In

goroutine , go