大象笔记
Material Design 3
## 官方文档
https://m3.material.io
具体每个组件的代码示例,在 github 上:
https://github.com/material-components/material-compon
微信小程序显示蓝牙信号强弱
## 需求背景
蓝牙控制板放到控制柜里之后,就会有 20% 的概率出现蓝牙通信丢失的情况。
不确定是信号干扰的问题,还是放到控制柜之后,受隔音棉的影响信号变弱所致。
所以需要能够实时打印当前的蓝牙信号强度,来排除信号减弱的问题。
微信小程序切换到后台时,取消蓝牙监听
## 需求背景
蓝牙设备一直在给微信小程序发送数据,例如一秒一次。
但是切到后台之后,再切回来,例如,间隔了5分钟,再切回来会收到大量的蓝牙数据。
看起来是微信帮小程序做了缓存队列,然后疯狂地传给小程序。
造成的影响就是,用户会
gofmt, golint, gopls, govet 的区别
ALEInfo 显示,目前用 NeoVim 打开 go 代码文件时,默认启用了 4 个 linter:
> Enabled Linters: ['gofmt', 'golint', 'gopls', 'govet']
其引起的不
go warnning: composite literal uses unkeyed fields
在启用了 NeoVim ALE 语法检测插件之后,我发现自己的代码到处都是各种警告,无论是 JS 还是 Go。
而 Go 代码中经常出现的警告信息就是 composite literal uses unkeyed fields。
例
腾讯云 MQTT 由服务器生成长期的设备密码
## 密码过期问题
登录腾讯云管理后台,物联网通信,设备调试。可以看到提示:
> 以下MQTT三元组仅用于调试,将于2022-09-05 12:00:00后失效,正式设备请按算法生成
```
Client ID xxx
M
js reduce 计算最大值、最小值
## 示例代码
```
const maxWidth = imgs.reduce((m, x) => Math.max(m, x.width), 0);
```
其功能是计算一组图片的最大宽度。
但是看起来很难理解。
go build tag 实现开发环境与生产环境采用不同的 embed.FS 策略
[通过 go embed.FS 将 gin 模板及静态资源文件打包进二进制程序](/gin-embed-fs-compile-static-template-files-into-binaries)
确实非常方便在服务器上部署、更新程序,
用手抠破耳朵,流脓,有异味
最近耳朵痒,就用手抠,越抠越痒,就挠破了。
持续了两个周,开始流脓,结痂;
结痂之后,又痒,手贱,如此反复。
直到流脓开始有异味,感觉大事不妙。
就搜索了一下,大概是外耳道被感染。
于是晚上赶紧去楼下买了
Go build tag 实现条件编译
今天遇到了需要使用条件编译的场景,于是查了一下 golang 是如何支持条件编译的。
## 条件编译简介
go 文档里称之为,Build Constraints,即,编译限制。
也称为 build tag。
//