收藏 / 列表

筱倩 - 從0到1構建一個穩定redis架構

從0到1搭建一個穩定的redis集羣 1、單機版redis   單機版的redis就是業務系統把他用作緩存使用,從mysql中查詢數據然後寫入到redis中,後面再查詢的時候就會優先查詢緩存。因為redis運行在內存中,所以速度很快。若業務體量不大,這樣似乎可以滿足需求了。但是隨着業務體量的擴大,redis中存儲的數據越來越多,此時業務對redis的依賴也越來越多。假設有一種情況,redis因為某

數據庫

王中陽背後的男人 - 給想轉Go或者Go進階同學的一些建議

前言 最近一直有小夥伴私信我學Go語言的問題: 有的小夥伴覺得客户端太捲了,想轉服務端,覺得Java也卷,想學Go語言; 有的小夥伴是想從PHP或者Java轉Go,做高併發編程,覺得Go更有前途。 聊的多了,發現這是一個共性問題,所以乾脆整理成文章,希望對更多的人有幫助。 這篇文章會結合我的經歷: 聊聊我認為客户端轉服務端開發最大的挑戰是什麼? 如何高效轉型做服務端開發?如何高效學完Go基礎? 在

go , 後端

蘇琢玉 - 收藏版:Phinx 數據庫遷移完全指南

最近在維護老項目時,又一次用到了 Phinx。 這個工具我已經用了很多年,幾乎每個項目都會用上它。它屬於那種平時不常用,但每個項目都離不開 的工具。 問題在於,它用得不頻繁,每次寫遷移腳本時總會忘記某個參數怎麼寫、某個字段該用什麼類型。 這些當然可以去查官方文檔,但 Phinx 的文檔雖然內容齊全,卻總讓我覺得信息分散、查起來不夠順手。 於是,我乾脆花點時間,把自己常用的命令、配置方式

MySQL , php , 數據庫

木子君_求贊 - 帶緩存的Timsort排序算法 c++示例

在原生 Timsort 基礎上,增加顯式緩存友好策略: 歸併緩衝區複用(對象池) 分段預取(software prefetch) 塊大小與 L2 容量對齊 實測 1e7 int 相比 std::stable_sort 再快 15~25%,內存峯值相同。 1 設計要點 緩存策略 實現方式 收益 緩衝區池

排序 , 排序學習 , c++

axiaoxin - Go 1.24 新特性一覽

Go 1.24震撼登場,帶來顯著性能提升與諸多新功能,如泛型類型別名、優化工具鏈及標準庫增強。可藉助os.Root實現安全文件系統操作,運用testing.B.Loop優化基準測試,利用runtime.AddCleanup完善資源管理,還有weak包優化內存、crypto包保障FIPS 140 - 3合規。速升級,提升Go應用效率與安全! 文章目錄 語言特性更新 泛

資訊 , 編程語言 , 程序員 , go

user_zsXbv7Bi - 如何在 Mac M1 Pro 上 debug Linux Kernel | 基於 Ubuntu 24 工具鏈和 QEMU

在 MacOS 上直接編譯 Linux Kernel 在我看來並不是一個很好的選擇: 我不喜歡 MacOS 的第三方包管理工具 brew 我不希望在沒有隔離的情況下安裝一堆我不瞭解的工具 或者説,在 Ubuntu 上調試 Linux Kernel 才是一個更誘人的選擇: apt 生態很好 基於 Ubuntu gcc 工具鏈編譯 Linux Kernel 社區討論更多,支持更完善 於

linux-kernel , qemu , gdb , macos , Linux

Java陳序員 - 滴滴開源!一套輕量安全的問卷調研系統!

大家好,我是 Java陳序員。 之前給大家介紹了兩款開源的問卷調查系統。 太捲了!這個考試系統不愧是“卷王”! 填鴨表單!開箱即用的開源問卷調查系統! 今天,再給大家安利一套輕量安全的問卷調研系統,由滴滴開源! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 xiaoju-survey —— 一套滴滴開源、輕量安全的問卷調研系統

vue.js , github , mongodb , next.js

XHunter - Golang筆記之Redis

本文首發於公眾號:Hunter後端 原文鏈接:Golang筆記之Redis 這一篇筆記主要介紹 Golang 連接和使用 Redis,以下是本篇筆記目錄: 目錄 1、安裝模塊 2、連接 Redis 3、字符串 1. 字符串寫入 2. 字符串讀取 4、哈希 1. 寫入 1) 單字段寫入

go , 後端

程序員新亮 - Go - 代碼生成工具

分享兩個常用的代碼生成工具: gormgen handlergen gormgen 基於 MySQL 數據表結構進行生成 3 個文件: 生成表的 struct 結構體 生成表的 Markdown 文檔 生成表的 CURD 方法 場景 在進行業務需求開發時,創建完數據表後,執行代碼生成工具,常用的 CURD 操作全部生成完畢,使用的時候只需要 . 後面的方法即可,這樣大大提高了業務

gorm , generator , go

apocelipes - Go 1.26 內置函數 new 新特性

目前golang 1.26的各種新特性還在開發中,不過其中一個在開發完成之前就已經被官方拿到枱面上進行宣傳了——內置函數new功能擴展。 每個新特性其實都有它的背景故事,沒有需求的驅動也就不會有新特性的誕生。所以在介紹這個新特性之前我們先來了解下是什麼樣的場景催生了這個功能。 如果你經常瀏覽一些大型的go項目,尤其是那些需要頻繁和JSON、GRPC或者yaml打交道的項目,比如k8s,你會發現這些

go , 後端

碼農先森 - PHP轉Go系列 | ThinkPHP與Gin框架之打造基於WebSocket技術的消息推送中心

大家好,我是碼農先森。 在早些年前客户端想要實時獲取到最新消息,都是使用定時長輪詢的方式,不斷的從服務器上獲取數據,這種粗暴的騷操作實屬不雅。不過現如今我也還見有人還在一些場景下使用,比如在 PC 端掃描二維碼,然後使用長輪詢的方式從服務端獲取最新的掃碼信息,來判斷用户是否已經掃碼完成,諸如這種場景還有不少。其實大家都知道長輪詢的方式不好,那為什麼還有人使用呢? 我想最直接的原因就是「開發起來簡

php , gin , go , thinkphp

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

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

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

Ansurfen - Hulo 語言開發分享 —— 調試器是如何工作的?

書接上回,在《Hulo 編程語言開發 —— 解釋器》一文中,我們介紹了Hulo 編程語言的解釋器。今天,讓我們深入探討編譯流程中的第四個關鍵環節——調試器。 調試器是編程語言開發中不可或缺的工具,它允許開發者暫停程序執行、檢查變量狀態、單步執行代碼等。而它的核心是斷點機制,它允許程序在特定位置暫停執行,並查看環境情況。 斷點 斷點本質上就是一個位置標記: type Breakpoint struc

解釋器模式 , 教程 , 知識 , 程序員 , Git

darjun - Go 每日一庫之 termtables

簡介 今天學個簡單點的😀,termtables處理表格形式數據的輸出。適用於隨時隨地的輸出一些狀態或統計數據,便於觀察和調試。是一個很小巧的工具庫。我在學習dateparse庫時偶爾見遇到了這個庫。 快速使用 本文代碼使用 Go Modules。 創建目錄並初始化: $ mkdir termtables cd termtables $ go mod init github.com/darjun

terminal , go , HTML , Markdown

janrs_com - 基於Go/Grpc/kubernetes/Istio開發微服務的最佳實踐嘗試 - 2/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.com

grpc , kubernetes , microservice , istio , go

liuyuede - go-zero docker-compose 搭建課件服務(九):http統一返回和集成日誌服務

0、索引 go-zero docker-compose 搭建課件服務(九):http統一返回和集成日誌服務 0.1源碼地址 https://github.com/liuyuede123/go-zero-courseware 1、http統一返回 一般返回中會有code,message,data。當請求成功的時候code返回0或者200,message返回success,data為要獲取的數據;當請

kibana , go-zero , filebeat , elk

煩惱的沙發 - Gradle vs. Maven,Java 構建工具該用哪個?

Java構建工具的甜鹹粽子之爭,就是 Gradle 和 Maven 該用哪個? 隨心所欲的手動擋 vs. 穩如老狗的 自動擋 Maven用的是pom.xml。很多人一聽XML就頭大,覺得又臭又長。但換個角度想,XML的缺點正是它最大的優點:死板、規範、一目瞭然。一個新人,哪怕從來沒用過Maven,打開pom.xml,對着標籤也能猜出個七七八八。這種傻瓜式的直白,對團隊協作太重要了。 再看Gradl

maven , JAVA , gradle , 後端

codechen8848 - 一體化白板!一款開源的白板工具!

在日常工作中,我們常常需要使用到白板工具,用於作圖,生成思維導圖、流程圖等來輔助工作。 今天,給大家介紹一款開源的白板工具,支持多種類型圖! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 drawnix —— 一款開源的、基於 React 實現的白板工具(SaaS),實現一體化白板功能,包含自由畫、思維導圖、流程圖等。 功能

react , 前端

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

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

kubernetes , devops , 雲原生 , cicd , jenkins

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

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

challenge , go , 後端

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

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

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

Aonaufly - ETCD之動態擴容

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

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

浪遏飛舟 - JavaScript 內存泄漏

生活可能不像你想象的那麼好,但是也不會像你想象的那麼糟糕。人的脆弱和堅強都超乎了自己的想象,有時候可能脆弱的一句話就淚流滿面,有時候你發現自己咬着牙,已經走過了很長的路 如何避免 JavaScript 中的內存泄漏 像 C 語言這樣的底層語言一般都有底層的內存管理接口,比如 malloc()和free()。相反,JavaScript 是在創建變量(對象,字符串等)時自動進行了分配內存,並且在不使用

performance , observable , co , 內存泄漏 , memory

水冗水孚 - 手寫一個簡單的谷歌瀏覽器拓展插件(附github源碼)

前言 閲讀本文,可以自己寫一個簡單的瀏覽器插件 以及前端瀏覽器插件相關東西 附上github源碼:https://github.com/shuirongshuifu/browser-plugin 接下來學學這個不常用的知識點吧... 效果圖 我們先看一下,自己手寫的簡單插件的操作效果圖(點擊彈出時間) 拓展程序部分 或者地址欄輸入:chrome://extensions/ 回

chrome , 瀏覽器 , chrome-extension , 前端 , Javascript