大象笔记

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。 //