大象笔记
使用 swaggo 及 gin-swagger 生成 API 文档
好久没有给别人写接口了,正好遇到一个前后端合作的项目,是时候尝试一下 golang swagger 的 API 文档生成工具了。
注意:尝试了 swaggo 之后,感觉很不好(注释规范口味太重,与三方库有冲突),我觉得再试试 [go-
golang 实现蓝牙体征监测设备数据上报及存储的频率控制
## 需求背景
蓝牙体征检测设备的初始上报频率非常高,单台每秒 370 个数据包。
需要通过通过服务器向蓝牙网关下发禁止波形数据的指令,禁用掉无用数据的上报。
有两个禁用策略:
- 定时下发禁用指令。例如每十秒
- 收到波
夜幕降临,第三次 php 网站被黑
没想到这个被黑系列这么快就要更新第三期 。。。
距离[第二次被入侵](https://www.sunzhongwei.com/second-php-website-was-hacked)才过两天,前公司网站再次被攻陷。
歹徒可能
第二次 php 网站被黑的经历
昨晚九点被拉回前公司,解决一个 php 网站被黑的问题。
## 现象
网站首页被篡改成了澳门特色网站。
从代码看,只有 index.php 文件被修改。确切地说是被完全覆盖了。
而且触发的时机也非常有趣,都是下午 5:31
PyTorch 学习计划及相关学习资料
之前用 OpenCV 实现的一个小麦图像识别的 Android APP,但是做到第二版时,
想增加功能,发现大部分类似项目都是用 PyTorch 实现的,所以不得不换技术方案。
可是断断续续看了一个多月的 PyTorch,发现自学效果不
Windows 11 安装 PyTorch
## 安装 conda
从介绍来看 conda 是一个比 pip 更强大的包管理工具,除了支持 python 的包管理也支持其他语言。
https://conda.io/projects/conda/en/latest/user-g
Ant Design dateTimeRange 组件 UTC 时间的时区问题
后台用 InfluxDB 存储的时序数据,查询时需要使用 UTC 时间。
为了偷懒,我的后台 go 接口没有对时间字段做处理,想直接使用前端传过来的 UTC 时间格式。
于是出现了一个低级的前端 Bug。
## 功能异常的
升级 gopls 到最新版本
写了一段单元测试的代码,在 vim 中提示错误
```
func TestGenSlug(t *testing.T) {
assert.Equal(t, "hello-world", genSlug("Hello World")
蓝牙网关 MQTT 的多设备接入及多型号兼容
## 多设备接入需求
- 多个设备接入 MQTT
- 多种设备型号的兼容。考虑到蓝牙网关/体征监测设备商可能停产,或升级。造成蓝牙协议变化。
## MQTT Client ID 规范
- 终端类型
- 整机设备标识 Dev
通过蓝牙网关下发指令,过滤掉蓝牙设备高频率的波形数据
## 问题
蓝牙设备默认会以每秒钟 350 次的频率向蓝牙网关发送实时波形数据(心电波形、血氧波形、呼吸波形),
然后蓝牙网关再将这些数据转发到服务器。
- 这些波形数据是没有记录价值的
- 蓝牙设备数量不可控,在数量多时,对服