收藏 / 列表

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

Golang相關測試框架   在 Go 語言裏,最常用的測試框架有:自帶的 testing 包、GoConvey 和 testify。 1、Go自帶的testing包   testing包是官方內置的,無需額外安裝,也是大多數項目的首選。   (1)單元測試 測試文件必須以 _test.go 結尾,例如:calc_test.go 測試函數必須以 Test 開頭(推薦寫成 T

go , 後端

王中陽背後的男人 - 微服務門檻高到勸退?其實 90% 的人都踩錯了第一步

你是否也曾陷入這樣的循環:對着《微服務架構設計模式》啃了半年理論,卻連一個完整的服務拆分案例都寫不出來;GitHub上star過幾十個微服務開源項目,下載後看着幾百個模塊的代碼樹,連啓動命令都找不到;好不容易搭起一套框架,一到高併發場景就各種報錯,排查三天發現是服務註冊中心的配置沒配對…… 微服務的門檻,從來不在知道名詞,而在落地能力。今天結合幾個主流開源項目的實戰體驗,聊聊從看懂代碼到做出能用的

微服務 , 後端

蘇琢玉 - 微信小程序開發全流程:從註冊到上線的完整指南

最近在刷小紅書時,看到不少人在分享自己的微信小程序如何靠廣告月入上萬,甚至更多。 這種説法不能説不真實,只能説肯定不是這麼簡單的事情。畢竟廣告收入的多少,歸根結底還是取決於用户量,不可能隨便做個小程序,就能吸引大量用户來看廣告。 不過,完全説不可能也不太準確,畢竟人活着總得有夢想。而且其實做一個簡單的小程序成本並不高,尤其得益於雲開發。小程序後期沒有域名、服務器等額外的軟成本,所有內容都可以部署在

微信小程序 , 微信開發

木子君_求贊 - 帶緩存的AdaRank c++實現

下面給出一份 可直接編譯運行 的「帶緩存 AdaRank」C++17 參考實現。 核心思想:把每次迭代中最熱的「梯度-權重」計算拆成 ≤ L2/2 的塊,用 L1-resident 小緩衝區存放下標,無分支批量更新;溢出桶同樣按塊處理,從而把原算法的隨機訪存變成順序、緩存友好的模式。 1 緩存設計總覽 原算法熱點 緩存改造 收益 隨機訪存

排序 , 排序學習 , c++

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

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

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

axiaoxin - JSON-LD 類型使用示例大全

本文是針對 JSON-LD 類型的使用示例及其簡要介紹與説明。每個類型的示例展示瞭如何在 JSON-LD 中進行標註,並附帶了簡要説明,希望對你有所幫助。 文章目錄 JSON-LD 的主要核心類型 Thing(事物) CreativeWork(創作作品) Event(事件) Intangible(非實體事物) Organization(組織) P

seo , 前端 , Javascript , Json

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

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

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

Java陳序員 - ZooKeeper 入門教程

0. 前言 文章已經收錄到 GitHub 個人博客項目,歡迎 Star: https://github.com/chenyl8848/chenyl8848.github.io 或者訪問網站,進行在線瀏覽: https://chenyl8848.github.io/ 1. ZooKeeper 簡介 ZooKeeper(動物園管理者)簡稱 ZK,一個分佈式的,開放源碼的分佈式應用程序協調服務,是 G

zookeeper , springboot , JAVA

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

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

go , 後端

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

煩惱的沙發 - 7個讓全棧開發效率起飛的 Bun 工作流

有沒有誰敲下 npm install 後,電腦風扇開始狂轉,好像隨時就要起飛了。 隨着 Bun 的出現,這種情況就好轉了,Bun 把運行時、包管理器、打包工具、測試工具全塞進了一個二進制文件裏,主打多快好省。 但光用上 Bun 還不夠,得用得巧。今天就分享7個Bun工作流,提升你的全棧開發效率,減少掉髮。 在開始之前,咱們先解決入門問題。要在電腦上裝 Bun 或者 Node.js,就得得跟 nv

web開發 , 後端 , 前端 , Javascript

codechen8848 - 集成多平台的直播神器!觀看多平台直播一站搞定!

大家好,我是 Java陳序員。 在日常生活中,我們常常會在工作之餘觀看直播,現在的主流直播平台如虎牙、鬥魚、嗶哩嗶哩、抖音等,為用户提供了豐富多樣的直播內容。 然而,用户在觀看不同平台的直播時,往往需要在多個應用之間切換,操作繁瑣,體驗不佳。 今天,給大家介紹一款集成多個平台的直播神器,一站搞定多平台直播觀看! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典

flutter

探索雲原生 - ArgoWorkflow教程(七)---高效的步驟間文件共享策略

之前我們分析了使用 artifact 實現步驟間文件共享,今天分享一下如何使用 PVC 實現高效的步驟間文件共享。 !--more-- 1. 概述 之前在 artifact 篇我們演示瞭如何使用 artifact 實現步驟間文件傳遞,今天介紹一種更為簡單的文件傳遞方式:PVC 共享。 artifact 畢竟是藉助 S3 實現中轉,效率上肯定是低於直接共享 PVC 的,而且 artifact 一般

devops , 雲原生 , cicd , jenkins

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