收藏 / 列表

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

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

go , 後端

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

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

人工智能 , 後端

蘇琢玉 - 用裝飾器模式實現多層緩存:讓PHP應用更快更穩

為什麼要做多層緩存? 想象這樣一個場景:你的PHP應用每次訪問數據庫都要花1秒鐘,用户抱怨頁面加載太慢。這時候你會想到加緩存——但只用一層緩存夠嗎? 比如: 內存緩存雖然快,但重啓服務數據就沒了 Redis緩存能持久化,但網絡請求也有開銷 文件緩存最可靠,但磁盤讀寫速度有限 多層緩存的思路很簡單: 把最快的緩存放在最前面,就像快遞櫃一樣—— 優先從內存取(速度最快) 內存沒有

高併發 , php , 緩存 , 緩存設計

木子君_求贊 - 緩存排序算法

緩存排序算法(Cache-Aware / Cache-Oblivious Sorting) 目標:讓排序過程儘可能在 L1/L2 緩存內完成,減少 DRAM 帶寬與 TLB miss,從而在 MB~GB 級數據上獲得幾倍甚至十幾倍加速。 分為兩條路線: Cache-Aware(需手動指定緩存大小) Cache-Oblivious(無需參數,理論最優) 1 性能瓶頸

排序 , c++

Ansurfen - Hulo語言架構:從源代碼到目標代碼的完整流程

最近這一段時間忙着工作和開發Hulo編程語言,滿打滿算已經過了三個月多了。心血來潮,想梳理下Hulo編程語言的開發流程,也順帶以個人的視角解讀下編程語言是如何從零開始誕生的。希望通過這篇文章,能夠為對編程語言實現感興趣的開發者提供一個實踐性的參考,同時也記錄下這段充滿挑戰和收穫的開發歷程。 架構 Hulo語言的定位是批處理腳本的編譯器,最終經過編譯後的目標語言是Bash、Batch、VBS、Pow

批處理 , 教程 , 知識 , 編程語言 , go

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

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

編輯器 , vim , 程序員 , go , 前端

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

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

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

Java陳序員 - 數據處理神器!一款強大的數據處理命令行工具!

大家好,我是 Java陳序員。 我們在日常開發中,經常會操作使用一些 JSON、YAML、XML 等格式的數據,對數據進行增刪改查和轉換操作。 今天,給大家分享一款強大的數據處理命令行工具,一行命令搞定數據操作! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 dasel —— 一款用於處理和操作多種數據格式的命令行工具,支持對

github , yaml , go , Json

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

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

go , 後端

apocelipes - 下劃線字段在golang結構體中的應用

最近公司裏的新人問了我一個問題:這段代碼是啥意思。這個問題很普通也很常見,我還是個新人的時候也經常問,當然,現在我不是新人了但我也經常發出類似的提問。 代碼是長這樣的: type BussinessObject struct { _ [0]func() ID uint64 FieldA string FieldB *int64 ... }

go , 後端

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

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

php , gin , go , thinkphp

vistart - Golang 中使用通道構建協程間的依賴關係(工作流)

假設有一組任務有前後依賴關係,我們可以使用Go的通道特性,將前一個任務的執行結果(或結束信號)送入下一個任務,已達到自動化依次執行工作流的每個任務的目的。 為了模擬這一工作流,我們假設有五個通道和四個協程,每個協程監聽前一個通道的數據,並將接收到的數據送入下一個通道中。 當任務執行結束後,最好能夠主動回收通道,已達到節省內存開銷的目的。與執行工作流類似的是,應當能做到關閉首個通道後,按照依賴關係連

channel , 協程 , 工作流 , go

煩惱的沙發 - PyCharm vs. VSCode 到底哪個更好用

在 Python 開發者中,關於 PyCharm 和 VSCode 的討論從未停止。一個是功能齊備的集成開發環境(IDE),另一個是輕快靈活的代碼編輯器。它們代表了兩種不同的開發哲學,選擇哪個,往往取決於你的項目需求、個人習慣,甚至是對順手二字的理解。 到底選哪個?每個人都有不同的看法,但今天,我們想探討一個更深層次的問題:無論選擇了哪把神兵利器,你是否為它準備了一個能發揮其最大威力的戰場? P

visual-studio-code , pycharm , Python

codechen8848 - 網頁版微信來了!無需下載安裝客户端!

大家好,我是 Java陳序員。 你是否遇到過:在公共電腦上想臨時用微信卻擔心賬號安全,服務器或 Linux 系統上找不到合適的微信客户端,或者想在多個設備上便捷訪問微信卻受限於安裝環境? 今天,給大家介紹一個超實用的開源項目,讓你通過瀏覽器就能輕鬆使用微信,無需在本地安裝客户端! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹

操作系統

探索雲原生 - 基於 Admission Webhook 實現 Pod DNSConfig 自動注入

本文主要分享如何使用 基於 Admission Webhook 實現自動修改 Pod DNSConfig,使其優先使用 NodeLocalDNS 。 !--more-- 1.背景 上一篇部署好 NodeLocal DNSCache,但是還差了很重要的一步,配置 pod 使用 NodeLocal DNSCache 作為優先的 DNS 服務器。 有以下幾種方式: 方式一:修改 kubele

kubernetes , dns , 雲原生 , go

soroqer - Rust 和 Go 在多線程的對比

1. Go 的 Goroutine:輕量且高效 Goroutine 是 Go 中非常核心的併發單元。它是 用户級線程,由 Go 的運行時調度器管理,而不是由操作系統的內核調度。 輕量性: 內存佔用:每個 goroutine 的棧內存只有 2KB 左右,遠小於傳統線程的棧大小(一般為幾 MB)。這使得你可以輕鬆地創建成千上萬的 goroutines,而不會造成明顯的內存壓力。

rust , 多線程 , go

Aonaufly - ETCD之動態擴容

一, 準備我的5號機(Ubuntu) ip: 192.168.59.132 etcd名稱:etcd4 二,要求 保證1~3號機(節點)正常運行(不關閉)的情況下,加入一個新的節點(5號機), 目前有3個節點正常運行: 三,操作(擴容) 1, 將1號機上的etcd組件包發送到5號機(新機)上【1號機上執行】

Go語言 , 刪除 , etcd , 擴容 , 後端開發 , 集羣 , Ubuntu