遥控和香氛按钮接入米家失败
Foreword 记录一下接入米家失败的几个案例 遥控器接入米家 遥控倒是挺好拆的,经过测试接入按钮是物理的,成功的概率应该很大了 接下来就翻车了,反复测试了好几次发现,直接把按钮接入地或者电源,都不能正常触发按键,被控对象有反应,但是不能正常工作。 仔细查了一下主控芯片:TLSR8366ET24 它实际可以当作GPIO的引脚其实不多,但是结合遥控器,要控的除了13个按键,其实还有5个led灯,不可能接18个GPIO去做独立按键控制的,所以他其实这里用了矩阵键盘,逆向了电路以后,发现他的按键两端IO确实都是接入了主控芯片,而不是地 实际遇到的情况: 由于使用了矩阵键盘,这里又想保留原本的键盘、又想接入米家就无法做到了,除非米家模块支持Bypass模式,在输入的时候可以进行闭合/..
更多一日一技:如何实现高性能自动补全?
我们知道,在写Python时,使用IDE的自动补全功能,可以大大提高代码的开发效率。使用类型标注功能,可以让IDE知道应该怎么做自动补全。当我们没有类型标注时,IDE并不知道函数的某个参数是什么东西,没有办法做补全,如下图所示。但当我们把类型标注加上以后,IDE就能正常补全了,如下图所示:这样做,需要从另一个文件中,把这个参数对应的类导入到当前文件里面,然后把类作为类型填写到函数参数后面。咋看起来没有什么问题,并且我,还有很多看文章的同学,应该经常这样写类型标注的代码,从而提高代码的开发效率。但如果你的项目规模大起来以后,你就会遇到几个比较麻烦的问题:导入链过长:例如上面截图中的代码,我从model.py中导入了Detail这个类。如果我在model.py文件的开头,还有from aaa import b..
更多gRPC
Foreword 总结一下常用的RPC RPC RPC,远程过程调用,落到具体代码里其实是非常简单的,就是你掉了一个远程函数,这个函数的执行是其实不是本机,而是在远端,执行完成以后通过各种渠道返回结果信息。 对于接口或者函数使用者来说,相当于屏蔽了后面的细节,就当成普通函数用就行了。 对于RPC的基建来说,那可就复杂了,走了一个类似这样的流程 早期RPC可能是仅仅局限于网络传输,其实到了后期RPC在各种介质或者渠道上都有可能进行传输 RPC对于使用者来说似乎是简单了,同时也对平台或者基建层有一些要求,导致有些小平台上可能无法使用 gRPC https://github.com/grpc/grpc https://grpc.io/ gRPC由Google开发。 协议基础..
更多白嫖百度网盘“单次转存数”500限制
找了个资源,点击保存,居然提示充SVIP。看了下免费用户每次最多保存500份文件。本来找资源就白嫖,让我充钱? 研究了一会儿,发现可以搞。 首先你去你网盘里建立个目录 0000-0500,准备存文件。这么起名字是因为你在自己网盘里多选也是最多选500个,所以每次存一个目录用来对照数量 分享链接里文件列表默认只展示前100条,是惰性加载,所以请用鼠标一直反复向下滚,务必拉到底,然后点击「名称」排序。这样方便对比有没有漏掉 F12打开 console 并粘贴下面的js。如果这一步看不懂建议直接放弃 Array.prototype.slice.apply(document.querySelectorAll( '.share-list dd.open-enable>span' ..
更多一日一技:如何正确修复有异常的JSON?
当我们使用大模型生成JSON,或者爬虫抓取数据时,可能会遇到一些有异常的JSON,例如:括号不闭合1{"profile": {"name": "xx", "age": 20}没有引号1{name: 青南, age: 20, salary: "99999999, }反斜杠异常1{"name": "青南", "age": 20, "salary: "\"very big\\""}Python的json模块解析这些有问题的JSON时就会报错。这个时候,可以使用一个叫做json-repair的第三方库来解决问题。使用pip就可以安装json-repair。导入以后,就可以像json.loads一样使用了,运行效果如下图所示:对于双引号异常和反斜杠异常,也能正常解析:字符串型的Python字典,也能正常解析,如下图..
更多Plane项目管理部署和试用
Foreword 部署试用Plane,在其他几个开源不给力以后,希望都寄托到了Plane身上了 Plane拥有30K的星,对比其他开源确实有一些独到之处,整体设计也很现代化,响应式布局 部署 https://github.com/makeplane/plane 官方有提供一键部署脚本,直接跑就行了 curl -fsSL https://prime.plane.so/install/ | sh - 这个脚本必须试用域名,如果只是本地测试使用,还是用社区版本 社区版 创建文件夹 mkdir plane-selfhost cd plane-selfhost 拉取稳定版 curl -fsSL -o setup.sh https://raw.githubusercontent..
更多部署试用OpenProject
Foreword 部署试用OpenProject,还是发现了一些问题 部署 https://www.openproject.org/docs/installation-and-operations/installation/docker/#all-in-one-container 部署参考官方文档,但是还是有问题 docker run -it -p 8080:80 \ -e OPENPROJECT_SECRET_KEY_BASE=secret \ -e OPENPROJECT_HOST__NAME=localhost:8080 \ -e OPENPROJECT_HTTPS=false \ -e OPENPROJECT_DEFAULT__LANGUAGE=en \ op..
更多部署试用Orangescrum
Foreword 部署试用Orangescrum,还是发现了一些问题 部署 https://hub.docker.com/r/orangescrum/orangescrum-app docker在github中没有给对应的文档或者安装说明,在dockerhub中倒是有官方镜像,但是镜像已经非常老了,体验了一下跟云端版本相差甚远 docker run -d -p 3306:3306 --name=osdb orangescrum/orangescrum-db docker run -d -p 80:80 --name=osapp --link=osdb orangescrum/orangescrum-app 部署老版本倒是不困难,两条命令启动完就能进去了 但是这个老版本任务不支持..
更多使用 VisualVM 监控应用 GC
我们知道,使用 VisualVM 可以监控 Java 应用的各种运行时信息,包括资源占用、正在运行的线程等等。本文将简单介绍如何使用 VisualVM 的插件 Visual GC 来监控 Java 应用的垃圾回收情况。 安装 Visual GC 插件因为 Visual GC 插件并不是随 VisualVM 附带的,需要到插件商店下载。 点击 Tools–>Plugins 打开插件管理窗口,进入 Available Plugins,在左侧窗格中勾选 Visual GC,点击 Install,同意许可协议后,稍等片刻即可完成安装。安装完成之后无需重启 VisualVM。 监控垃圾回收安装完成后,在 VisualVM 的 Applications 窗格中双击要监控的应用,然后在右侧窗格中进入 Vis..
更多从 umami v1 迁移到 v2
昨天收到 Vercel 发的报警邮件,说我自己部署的分析平台 umami 部署失败。检查之后发现是 umami 有个大版本升级,而升级脚本失败导致新版本部署失败了。那既然报错了,就修呗。 虽然不是什么复杂的问题,但还是记录一下好了,也当是水一篇文。 问题的根源一开始发现自动迁移不成功,那么按照官方的迁移文档,我手动运行了迁移脚本,但是得到了这样的错误信息:db error: ERROR: must be owner of table _prisma_migrations。看起来是表的权限问题,_prisma_migrations 这个表的 owner 必须是我用来执行脚本的用户。 搜了一下,PostgreSQL 里面每个表都有一个所有者,而我一开始是用 postgres 这个用户初始化的数据库,所以这..
更多