golang
(158)go-swagger 生成 API 文档,及与 swaggo 的对比
## go-swagger 与 swaggo 对比
最终没有选择 go-swagger,还是回归了 [swaggo](https://www.sunzhongwei.com/use-swaggo-and-gin-swagger-to-ge
使用 swaggo 及 gin-swagger 生成 API 文档
好久没有给别人写接口了,正好遇到一个前后端合作的项目,是时候尝试一下 golang swagger 的 API 文档生成工具了。
注意:尝试了 swaggo 之后,感觉很不好(注释规范口味太重,与三方库有冲突),我觉得再试试 [go-
golang 实现蓝牙体征监测设备数据上报及存储的频率控制
## 需求背景
蓝牙体征检测设备的初始上报频率非常高,单台每秒 370 个数据包。
需要通过通过服务器向蓝牙网关下发禁止波形数据的指令,禁用掉无用数据的上报。
有两个禁用策略:
- 定时下发禁用指令。例如每十秒
- 收到波
调用百度翻译接口自动为文章标题生成网址 slug
## TODO
- [X] 中文: 调用翻译接口
- [X] 英文: 无需处理,参考 php 里的处理,拼接,去掉指定词
- [X] 权限控制:仅限 admin 后台调用
- [X] 翻译 api
- [X] slug api:
升级 gopls 到最新版本
写了一段单元测试的代码,在 vim 中提示错误
```
func TestGenSlug(t *testing.T) {
assert.Equal(t, "hello-world", genSlug("Hello World")
golang 解析 byte slice 类型的 MQTT 消息 payload
## MQTT Message payload 的类型
可以看到 payload 函数返回 byte slice 类型。
```
var f mqtt.MessageHandler = func(client mqtt.Clien
订阅 MQTT 主题后,防止 go 程序退出 main
for 循环会彪 CPU,不好。找了一个 channel 的实现有效解决了这一问题。
## 实现代码
```
import (
"os"
"os/signal"
"syscall"
)
f
MQTT go 客户端发布消息
为了方便客户端测试,搭建好 [EMQX 服务](/mqtt-broker-open-source-implementation-emqx)之后,需要用 golang 写一个发布消息的测试程序。
用于向指定主题推送消息,这样客户端可以提前测
gin 服务线上没有 systemd 日志的问题
## 原配置
```
StandardOutput=append:/some_path/log/access.log
StandardError=append:/some_path/log/err.log
```
我确认了目录
gofmt, golint, gopls, govet 的区别
ALEInfo 显示,目前用 NeoVim 打开 go 代码文件时,默认启用了 4 个 linter:
> Enabled Linters: ['gofmt', 'golint', 'gopls', 'govet']
其引起的不