微信支付API V3 簽名認證go版本
以 商户單號查詢轉賬單 為例演示 https://pay.weixin.qq.com/doc/v3/merchant/4012716437 package main import ( "crypto" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "encoding/pe
昵称 tim_xiao
贡献者91
粉丝0
以 商户單號查詢轉賬單 為例演示 https://pay.weixin.qq.com/doc/v3/merchant/4012716437 package main import ( "crypto" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "encoding/pe
昵称 tim_xiao
大家好,針對Go語言 net/http 標準庫,將梳理的相關知識點分享給大家~~ 圍繞 net/http 標準庫相關知識點還有許多章節,請大家多多關注。 文章中代碼案例只有關鍵片段,完整代碼請查看github倉庫:https://github.com/hltfaith/go-example/tree/main/net-http 本章節案例,請大家以 go1.16+ 版本以上進行參考。
昵称 帽兒山的槍手
本次更新: 此版本主要架構全面更新,發佈 v2.X.X,不再兼容 v1.X.X,升級需謹慎 架構全面升級,版本更新到 v2.X.X,不再兼容 v1.X.X 通過 go get -u -v github.com/goflyfox/gtoken/v2 獲取最新版本,升級需謹慎 獨立 Token、Codec、Cache 接口,方便擴展 採用 goframe 標準中間件方式認證,調用更加直觀
昵称 FLY的狐狸
本文首發於公眾號:Hunter後端 原文鏈接:LeetCode熱題一之兩數之和 題目 給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出和為目標值 target 的那兩個整數,並返回它們的數組下標。 你可以假設每種輸入只會對應一個答案,並且你不能使用兩次相同的元素。 你可以按任意順序返回答案。 題目來源 此題來源於 LeetCode 題庫序號 1。 L
昵称 Hunter
示例 輸入:head = [1,2,3,4,5] 輸出:[3,4,5] 解釋:鏈表只有一箇中間結點,值為 3 。 輸入:head = [1,2,3,4,5,6] 輸出:[4,5,6] 解釋:該鏈表有兩個中間結點,值分別為 3 和 4 ,返回第二個結點。 思路 數組 鏈表轉存數組,有順序下標,根據長度判斷中間點。 遍歷鏈表 新建數組 鏈表填充到數組中 返回數
昵称 要出家的扁豆
一、問題描述 RabbitMQ 版本:4.0.2,Erlang 版本:26.2.5.4。 RabbitMQ 頁面管理(rabbitmq_management)的 Overview Totals 是空: 二、原因分析 RabbitMQ 的配置: management_agent.disable_metrics_collector = true 導致。將 management_agent.disa
昵称 codists
隨着Go語言在開發領域的廣泛應用,越來越多的開發者選擇Beego框架來構建高效、靈活的Web應用。作為一款基於Go語言的MVC框架,Beego不僅提供了高性能的路由、ORM、會話管理等功能,還允許開發者自定義中間件來擴展框架的功能,提高應用的可維護性和靈活性。 中間件是Web應用中的核心組件之一,它能夠在請求處理的過程中對請求和響應進行攔截、處理、修改或記錄。通過使用中間件,開發者可以在不修改核
昵称 靦腆的拖把
基於代碼架構設計 + 第三方工具 -- 改善單測代碼質量 單元測試代碼難寫? 代碼架構設計不夠完善,從上到下的交互的邊界不夠清晰,可能在業務層存在調用第三方系統的地方 // bad package service func learnGo() { // ... // 針對業務代碼,認為第三方系統不穩定,輸出的結果不固定,系統內部的是穩定的 // 單元測試需要將不穩定的
昵称 smile
GO單元測試集成測試的 mock 方案 在單元測試或集成測試中,不希望依賴原始數據庫或者説給原始數據庫帶去髒數據,我們往往使用Mock的方式進行模擬, 當然單元測試和集成測試中的側重點同,下面會介紹 基於數據打樁、啓動模擬數據庫等解決方案。 我們通過下面這個案例來説明幾種mock方式的優劣勢和適用場景 案例: 需要mock 下面這個 數據庫操作接口 TestRepo // TestEntity
昵称 litao-2071
大傢伙,我是Mandy。 上一篇,我們分享了在Go中是如何實現面向對象,文章中對面向對象的三大特性中的繼承、封裝,做了一個理論和實踐的總結,這一篇繼續分享關於另外一個特性,那就是多態。 認識多態 老規矩,在代碼實踐之前,先對基礎知識做一個普及。 1、面向對象中的多態(Polymorphism)是指一個對象可以具有多種不同的形態或表現方式。簡單來説,就是同一個類型的對象,在不同的上下文中表現出不同的
昵称 7mandy7
大家好,我是Mandy。 前面一篇,分享了Go中的函數和方法之間有什麼區別、如何使用,今天來分享一篇關於面向對象的知識。 萬丈高樓平地起 在學習之前,我們來普及一下關於面向對象的基礎知識。 什麼是面向對象 面向對象(Object-Oriented)是一種計算機編程的方法和思想,它將程序中的數據(對象)和操作(方法)組織成一個個相互關聯和交互的對象。對象是現實世界中的事物或概念在計算機程序中的抽象表
昵称 7mandy7
轉載:原文鏈接 Golang是不支持繼承的,因此我們在使用的時候往往使用組合。那麼,組合與繼承有什麼區別呢?組合和繼承都是面向對象編程中重要的概念。繼承讓一個類獲得另一個類的屬性和方法,形成層級關係,子類可以重用父類的功能。而組合則是將一個類的對象作為另一個類的成員變量,實現代碼複用和模塊化。繼承建立的是"is-a"關係,表示一種類型的擴展;而組合則是"has-a"關係,表示對象之間的包含關係。相
昵称 宋子桓
剛從 PHP/Java 轉 Go 的同學,是不是會覺得Go 的標準庫是挺牛,啥都有,但真要搓個像樣的Web應用出來,好像又什麼都得自己手擼。路由、配置、ORM……結果項目還沒開始,人已經勸退了。 過來人告訴你,這思路不對。地道的Gopher,早就學會用使用工具了。今天,我就掏出我壓箱底的寶貝,聊聊那6個幾乎成了Go項目標配的神器。 坐穩了,發車! Gin: Web開發的事實標準 想用Go寫API?
昵称 煩惱的沙發
一、引言:為什麼需要可擴展的系統? 在軟件開發領域,需求變更如同家常便飯。一個缺乏擴展性的系統,往往在面對新功能需求或業務調整時,陷入“改一行代碼,崩整個系統”的困境。可擴展性設計的核心目標是:讓系統能夠以最小的修改成本,適應未來的變化。對於Go語言開發者而言,利用其接口、併發、組合等特性,可以高效構建出適應業務演進的系統。 本文將從架構設計原則、編碼實踐、架構實現模式、驗證指標到演進路線,系統講
昵称 得物技術
分享一個印象深刻的線上問題,希望能夠給 xdm 帶來一點思考 一個稀鬆平常的工作日,正準備下班的時候,不巧,突發線上緊急問題,心中一萬個不情願,可還是要硬着頭皮去定位問題 簡單的表象為微服務之間 gRPC通信的通道默認是用了默認值,並沒有按照實際業務去設置通道接受和發送的字節大小 用過 golang grpc 通信的 xdm 就知道,grpc 通道默認的發送和接收的消息大小為 4M,由於傳送的數據
昵称 阿兵雲原生
在微服務架構和高併發場景下,Go語言的性能優化直接決定了系統的吞吐量和資源利用率。本文基於大型互聯網公司的實踐經驗,提供可直接應用於生產環境的優化技巧和完整代碼實現。 1. 內存分配優化 1.1 對象池模式 (sync.Pool) 對象池是減少GC壓力的核心技術,特別適用於頻繁創建和銷燬的對象。 package main import ( "sync" "bytes" "
昵称 Seven
前言: 在計算機網絡通訊中有兩種傳輸方式。同步傳輸和異步傳輸。同步傳輸好比一座單行的高架橋, 異步傳輸好比一座雙通道的高架橋。同樣在程序代碼中也存在同步和異步的執行方式。先來了解一下程序的中幾個概念 進程和線程 線程與進程相比更輕量,而且線程之間是共享內存堆棧的,所以不同的線程之間交互非常容易實現。比如聊天室這樣的程序,客户端連接之間可以交互,比聊天室中的玩家可以任意的其他人發消息。用多線程
昵称 葉劍飛雪
Go 1.24震撼登場,帶來顯著性能提升與諸多新功能,如泛型類型別名、優化工具鏈及標準庫增強。可藉助os.Root實現安全文件系統操作,運用testing.B.Loop優化基準測試,利用runtime.AddCleanup完善資源管理,還有weak包優化內存、crypto包保障FIPS 140 - 3合規。速升級,提升Go應用效率與安全! 文章目錄 語言特性更新 泛
昵称 axiaoxin
本文將帶你從零開始,理解Go 泛型的概念、語法、使用方式,並配有示例代碼,幫助你快速上手。 文章目錄 什麼是泛型? 1. 泛型函數 示例:一個求長度的泛型函數 2. 泛型結構體 示例:一個通用的盒子 3. 泛型集合(Set) 示例:一個通用的集合 4. 泛型通道(Channel) 示例
昵称 axiaoxin
嘿,VBScript 愛好者們! 我最近在做一個編譯器/轉譯器項目,想要解決一些在 Windows 腳本開發中遇到的“老大難”問題。 你知道 VBScript 最令人頭疼的是什麼嗎? 就是那種 冗長的語法 和 有限的語言能力,一旦想實現稍微複雜一點的邏輯,就會陷入繁瑣的拼接和調試地獄。 於是我開始思考—— 有沒有可能用一種更現代、更清爽的語言來寫腳本,然後自動生成 VBScript?
昵称 Ansurfen
最近這一段時間忙着工作和開發Hulo編程語言,滿打滿算已經過了三個月多了。心血來潮,想梳理下Hulo編程語言的開發流程,也順帶以個人的視角解讀下編程語言是如何從零開始誕生的。希望通過這篇文章,能夠為對編程語言實現感興趣的開發者提供一個實踐性的參考,同時也記錄下這段充滿挑戰和收穫的開發歷程。 架構 Hulo語言的定位是批處理腳本的編譯器,最終經過編譯後的目標語言是Bash、Batch、VBS、Pow
昵称 Ansurfen
如果想監聽函數(方法)開始執行和執行結束,你需要設置兩個通道: chanStarted: 用於發送開始執行信號。 chanFinished: 用於發送執行結束信號。 同時,為了保證監聽方能實時得知“開始執行”或“執行結束”信號,需要在執行任務前開啓監聽。 以下為模擬監聽函數(方法)開始執行和執行結束的示例: package main import ( "context"
昵称 vistart
上篇我們分析了 hami-scheduler 工作流程,知道了 hami-webhook、hami-scheduler 是怎麼配合工作的。 本文為 HAMi 原理分析的第四篇,分析 hami-scheduler 在調度時是如何選擇節點的,即:Spread、Binpack 等高級調度策略是怎麼實現的。 !--more-- 這篇文章我們解決最後一個問題:_Spread、Binpack 等高級調度策略
昵称 探索雲原生
作者 | glstr 導讀 移動互聯網時代,長連接服務成為了提升應用實時性和互動性的基礎服務。本文主要介紹了百度系內基於golang實現的統一長連接服務。主要從統一長連接功能實現和性能優化等角度,描述了統一長連接服務在設計、開發和維護過程中面臨的問題和挑戰,重點介紹瞭解決相關問題和挑戰的解決方案和實踐經驗。 全文7631字,預計閲讀時間20分鐘。 01 摘要 移動互聯網時代,用户對服務的
昵称 百度Geek説