slices in Go 1.21
Go 1.21中新增的 slices包中提供了很多与切片相关的函数,适用于任意类型的切片。 本文内容来自官方文档 BinarySearch 函数签名如下: func BinarySearch[S ~[]E, E cmp.Ordered](x S, target E...
Why gRPC ?
gRPC(gRPC Remote Procedure Call)是由 Google 开发的开源 RPC 框架,它基于 HTTP/2 标准,使用 Protocol Buffers 作为接口定义语言(IDL)。gRPC 提供了一种高效、跨语言、跨平台的远程过程...
RPC连接btcd网络
1. btcd网络部署 btcd 提供了一个轻量级且高效的比特币全节点实现。这里以docker方式部署 btcd 网络,docker-compose.yml 文件如下: networks: btcd: services: btcd: build: . # image: mengb...
每日一库:pprof简介
## pprof简介 `pprof`是Go语言的一个性能分析库,它可以帮助开发者找出程序中的性能瓶颈。`pprof`提供了CPU分析、内存分析、阻塞分析等多种性能分析功能。 以下是`pprof`的主要特性: 1. **CPU...
每日一库:Prometheus
什么是 Prometheus Prometheus 是一个开源的系统监控和警报工具,最初由 SoundCloud 开发,并于 2012 年发布为开源项目。它是一个非常强大和灵活的工具,用于监控应用程序和系统的性能,并根据...
生成CSR和自签名证书
CSR,全称Certificate Signing Request(证书签发请求),是一种包含了公钥和与主题(通常是实体的信息,如个人或组织)相关的其他信息的数据结构。CSR通常用于向证书颁发机构(Certificate Aut...
Go 获取 IP 地址
1. 获取本地IP地址 使用 net 包可以获取本地机器的 IP 地址。以下是一个获取本地 IP 地址的简单示例: package main import ( "fmt" "net" ) func main() { // 获取所有网...
Fabric区块链浏览器(2)
本文是区块链浏览器系列的第四篇。 在[上一篇文章](https://mengbin.top/2023-08-13-blockBrowser/)介绍如何解析区块数据时,使用`session`对客户端上传的pb文件进行区分,到期后自动删除。 在...
protojson简介
`google.golang.org/protobuf/encoding/protojson` 是 Go 语言中的一个库,用于处理 Protocol Buffers(protobuf)和 JSON 之间的转换,遵循[https://protobuf.dev/programming-guides/pr