melody go

Go每日一库之160:gvm(Go版本管理)

[**gvm **](https://github.com/moovweb/gvm)用于go版本的管理,主要的功能为go版本的查看,下载安装和切换。 ## 安装 ```bash $bash < <(curl -s -S -L https://raw.githubusercontent.com/moo ......
版本 160 gvm

Go每日一库之152:gomacro(终端运行go代码)

`[gomacro](https://github.com/cosmos72/gomacro)` 是一个近乎完整的 Go 解释器,用纯 Go 实现,它同时提供交互式 `REPL` 和脚本模式,并且在运行时不需要 Go 工具链(除了一些非常特殊的场景:在运行时导入第三方包)。它在 Go 标准库之外有两 ......
终端 gomacro 代码 152

Go每日一库之166:go-version(语义化版本)

今天给大家推荐的是一个版本比较工具。该工具基于语义化标准的版本号进行比较、约束以及校验。以下是go-version的基本情况: **安装** 通过go get进行安装: ``` go get github.com/hashicorp/go-version ``` **解析和比较版本号** ``` v ......
语义 go-version version 版本 166

Go每日一库之165:go-callvis(可视化调用链)

本文介绍一款工具 go-callvis,它能够将 Go 代码的调用关系可视化出来,并提供了可交互式的 web 服务。 ## go-callvis 使用 ##### 依赖 - Go 1.17+ - Graphviz (可选,当工具指定了 `-graphviz` 时需要) ##### 工具安装 ``` ......
go-callvis callvis 165 go

Go每日一库之149:PDF处理相关库

**PDF处理场景:** - pdf渲染 - pdf校验 - pdf加水印 - pdf获取页数 - pdf合并 - pdf拆分 - 修复受损pdf - pdf转png - 识别pdf中的字体 - pdf解密 ... ### 一、HTML页面渲染PDF 根据html页面渲染pdf,我使用过以下两种方案 ......
149 PDF

Go每日一库之151:aurora(终端输出上色)

## 背景介绍 今天跟大家推荐一款可以给终端输出上色的工具--[aurora](https://github.com/logrusorgru/aurora)。 ![](https://img-blog.csdnimg.cn/20200405145155570.png) ## 极速上手 ### 准备工 ......
终端 aurora 151

Go每日一库之164:uiprogress(终端进度条)

今天给大家推荐的是在终端(terminal)下能够显示进度条的工具:**uiprogress**。先看下使用该包的效果图: ![](https://mmbiz.qpic.cn/mmbiz_gif/l6hSQtEH258bia0icDuQkibfAuS9T2cvlsXExKzbGhAOhQVzWfeN ......
uiprogress 进度 终端 164

Go每日一库之158:termtables(表格形式数据输出)

## 简介 今天学个简单点的,`[termtables](https://github.com/scylladb/termtables)`处理表格形式数据的输出。适用于随时随地的输出一些状态或统计数据,便于观察和调试。是一个很小巧的工具库。我在学习`[dateparse](https://darju ......
termtables 表格 形式 数据 158

Go每日一库之147:goldmark(Markdown转html)

# 简介 使用 Markdown 书写结构化的文档和评论已经相当流行了,Web 服务需要将用户编写的 Markdown 文本转换为 html 以便浏览器渲染,还常常需要对 Markdown 语法进行自定义扩展以实现个性化的功能。 本期要介绍的 [**goldmark **](https://gith ......
goldmark Markdown html 147

Go每日一库之153:categraf (数据采集 Agent)

## 简介 Categraf 是夜莺监控的默认数据采集 Agent,主打开箱即用和all-in-one,同时支持对metrics、log、trace 的收集,由夜莺监控核心开发团队开发。 Categraf的代码托管在两个地方: - 中国计算学会确实开源平台: - [https://www.gitli ......
数据采集 categraf 数据 Agent 153

Go每日一库之159:bubbletea(控制台界面程序)

## 简介 `[bubbletea](https://github.com/charmbracelet/bubbletea)`是一个简单、小巧、可以非常方便地用来编写 TUI(terminal User Interface,控制台界面程序)程序的框架。内置简单的事件处理机制,可以对外部事件做出响应, ......
控制台 bubbletea 界面 程序 159

Go每日一库之157:tproxy (TCP连接代理与分析 )

## 你有同感吗? 当大家在开发服务端代码的时候,会不会经常有如下疑问? - 纳闷 MySQL 连接池到底有多少连接? - 每个连接的生命周期持续多久? - 连接异常断开的时候到底是服务端主动断的,还是客户端主动断的? - 当长时间没有请求的时候,底层库是否有 KeepAlive 请求? 复杂网络情 ......
tproxy 157 TCP

Go每日一库之148:base64Captcha(多种形式验证码)

[Base64captcha](https://github.com/mojocn/base64Captcha) 几行代码就可以定义自己内容的图形验证码库,支持任意unicode字符的内容. ## 1. 文档&Demo - [English](https://godoc.org/github.com ......
多种 形式 Captcha base 148

Go每日一库之161:grm(Redis Web管理工具)

[GRM ](https://github.com/gphper/grm)是基于 go+vue 的 web 版 redis 管理工具,部署简单便捷,支持 SSH 连接,用户校验,操作日志、命令行模式、LUA脚本执行等功能。 ### 介绍 基于go+vue的web版redis管理工具【Web redi ......
管理工具 工具 Redis 161 grm

Go每日一库之162:throttled(轻量级限流工具)

throttled 是一个非常轻量且易扩展的限流组件,我们可以将它轻松地集成到应用程序中,以实现限流和配额管理的能力。 ## **简介** throttled([https://github.com/throttled/throttled](https://github.com/throttled/ ......
轻量 轻量级 throttled 工具 162

Go每日一库之154:eCapture(无需CA证书抓包https)

# eCapture介绍 eCapture是一款基于eBPF技术实现的用户态数据捕获工具。不需要CA证书,即可捕获https/tls的通讯明文。 ![](https://mmbiz.qpic.cn/mmbiz_png/IjnZ9ic9bGHvLMdZhlKUpwdU8OuepAThuicIs2x12 ......
eCapture 证书 https 154

执行 go mod tidy 后卡住的解决方案

内容来自对 chatgpt 的咨询 原因 go mod tidy卡住可能有以下几个原因: 网络问题:go mod tidy时需要从网络下载依赖,如果网络不稳定或者因为某些原因访问某些资源地址很慢,可能导致此命令延迟或者卡住。可以尝试使用Go的官方代理或其他信赖的代理,例如设置环境变量 export ......
解决方案 方案 tidy mod go

golang 代码实现一个工具函数:用于合并两个go map

内容来自对 chatgpt 的咨询 初始化一个新 map,然后遍历两个旧 map,把每个元素都存到新 map 即可。 package main import "fmt" // MergeMaps 创建一个新的 map 用于保存合并后的值。返回新的 map。 func MergeMaps(destMa ......
函数 两个 代码 工具 golang

2023-09-30:用go语言,给你一个整数数组 nums 和一个整数 k 。 nums 仅包含 0 和 1, 每一次移动,你可以选择 相邻 两个数字并将它们交换。 请你返回使 nums 中包含 k

2023-09-30:用go语言,给你一个整数数组 nums 和一个整数 k 。 nums 仅包含 0 和 1, 每一次移动,你可以选择 相邻 两个数字并将它们交换。 请你返回使 nums 中包含 k 个 连续 1 的 最少 交换次数。 输入:nums = [1,0,0,1,0,1], k = 2。 ......
整数 nums 数组 两个 语言

Go - closure

package main import "fmt" func main() { for i := 0; i < 3; i++ { fmt.Println(outerFunc()()) } fmt.Println(" ") next := outerFunc() for i := 0; i < 3; ......
closure Go

Go - Logging to the System Log Service

Problem: You want to log in to the system log instead of your logfiles. Solution: Use the log/syslog package to write to syslog. Syslog is a standard ......
Logging Service System Log the

Go每日一库之171:go-qrcode

**使用Go语言编程时,生成任意内容的二维码是非常方便的,可以使用 go-qrcode 这个库快速生成二维码**。大家可以从 github 上(https://github.com/skip2/go-qrcode)下载并使用这个库。要是下载不下来的挂个代理就可。 上代码 ```go package ......
go-qrcode qrcode 171 go

Go每日一库之142:esc(嵌入静态文件)

与 [go-bindata](https://www.yuque.com/startisan/go-daily-lib/cxtq2d) 类似,[esc](https://github.com/mjibson/esc) 同样提供了将静态文件转换为go源码并暴露了类似于http.FileSystem的A ......
静态 文件 142 esc

Go每日一库之170:user-agent

## 一、User-Agent是什么 User-Agent叫做用户代理,是HTTP协议中请求头中的一个字段值。通过该字段值可以告诉网站服务器用户使用的什么产品发送的http请求。该信息一般发送请求的产品名称、操作系统、版本号等信息。大家熟知的浏览器其实就是所谓的一种用户代理。 通过谷歌的chrome ......
user-agent agent user 170

Go每日一库之175:goexpr (通用表达式引擎)

`goexpr`是一个`golang`实现的通用`表达式引擎(expression engine)`,支持自定义`操作数(operand)`,`操作符(operator)`以及`函数(function)`。 [体验地址](https://git.woa.com/goexpr/goexpr) ## 1 ......
表达式 引擎 goexpr 175

Go每日一库之185:SagooIOT(轻量级物联网平台)

# 一、开源项目简介 # Sagoo IOT SagooIOT是一个基于golang开发的轻量级的物联网平台。支持跨平台的物联网接入及管理方案,平台实现了物联网开发相关的基础功能,基于该功能可以快速的搭建起一整套的IOT相关的业务系统。 # 二、开源协议 使用Apache-2.0开源协议 # 三、界 ......
轻量 轻量级 SagooIOT 平台 185

Go每日一库之127:rk-boot(快速构建服务)

## rk-boot的介绍 通过 [rk-boot](https://github.com/rookie-ninja/rk-boot),用户可以通过yaml格式的配置文件启动gRPC、gin、echo、GoFrame、prometheus客户端或自定义入口服务。很容易易编译、运行和调试你的 grpc ......
rk-boot boot 127 rk

Go每日一库之147:goldmark(Markdown转html)

# 简介 使用 Markdown 书写结构化的文档和评论已经相当流行了,Web 服务需要将用户编写的 Markdown 文本转换为 html 以便浏览器渲染,还常常需要对 Markdown 语法进行自定义扩展以实现个性化的功能。 本期要介绍的 [**goldmark **](https://gith ......
goldmark Markdown html 147

Go每日一库之172:go-prompt

## 简介 受python提示工具包的启发,在Go中构建强大的交互式提示 ## 一、代码示例 ```go package main import ( "fmt" "github.com/c-bata/go-prompt" ) func completer(d prompt.Document) []p ......
go-prompt prompt 172 go

Go每日一库之174:delve (Go 调试工具)

## 简介 `Delve` 用来调试 `Go` 语言开发的程序,该工具的目标是为 `Go` 语言提供一个简单、功能齐全的调试工具。 ## 为什么不推荐 gdb - • gdb 对 Go 的调试支持是通过一个 python 脚本文件 `src/runtime/runtime-gdb.py` 扩展的,功 ......
工具 delve 174 Go