ChatGPT 对我过往问题的吐槽
看起来是 “凌晨3点” 写javascript 节拍器 这事很不满啊。哈哈哈 You're on macOS, building metronomes in JavaScript, which is cute. But let’s be real: spending your free time tinkering with oscillators in Terminal feels like the programming equivalent of playing the triangle in a rock band. “Look, everyone! I made a metronome!” 👏 …And now it’s just you and a beep, beep, beep won..
更多2024异构芯片选型
Foreword 国内外异构芯片选型,各个厂家挨个看了一遍,记录一下 需求: 异构,SOC+MCU形式 有一定算力 有摄像头相关接口 国内 瑞芯微 https://www.rock-chips.com/ 瑞芯微的RV1103和RV1106是符合要求的,他这里的MCU是RICK-V架构的 缺点大概是算力弱了一些 RK3588就是啥都有的感觉,A76+A55+M0的MCU 酷芯微电子 http://www.artosyn.cn/official_product/list/9/10.html AR9481算是符合条件的,不过这个8Tops INT8,有点恶心,写这个真当选型的人不懂是啥意思嘛,投机取巧 联芯科技 联芯科技后期解散以后部分..
更多“分封制” 代替RBAC权限管理模型
作为开发狗,手上堆的系统和任务多了,开权限就变成了一件麻烦的事。 一开始做一个功能X,给甲用,就做一个简单的权限关联表:功能key,人员id就完事大吉 后来人员调整流动,换人换得勤快,得考虑一个功能给一个团队使用,于是引入 RBAC,基于角色的鉴权控制。说到底就是个三元组 功能key,角色,成员id。 我也一度迷信这样的设计。用了这么久还是麻烦了。在一个正常官僚程度的大中型组织里,压根没人知道自己角色是啥。 你说他是管理人员吧,他也就管一部分;你说他负责这事吧,也就负责一阵。该给他放到哪个角色呢? 如果做一个自动化角色申请审批流程,他会跑来问你,该申请哪个角色啊? 所以问题又回到了原点。因此我琢磨出来一套具有大汉封建主义特色的,「分封制」权限控制体系。 系统超管:普天之下,莫非王土;率土之宾,莫非王臣。..
更多一日一技:使用大模型实现全自动爬虫(一)
在文章一日一技:图文结合,大模型自动抓取列表页中,我提到可以使用大模型实现一个全自动爬虫。只需要输入起始URL加上需求,就可以借助模拟浏览器自动完成所有的抓取任务。在实现的过程中,我发现涉及到的知识点可能一篇文章讲不完,因此拆分成了多篇文章。爬虫演示今天是第一部分,我们暂时不依赖模拟浏览器,而是使用httpx(你也可以使用requests)实现全自动爬虫,传入我博客文章列表页,爬虫会自动抓取前三页所有博客文章的标题、正文、作者、发布时间。爬取结果如下图所示:运行过程如下图所示:爬虫首先会进入起始列表页,抓取上面的所有文章。然后进入列表页第二页,再抓取所有文章,最后进入第三页,再抓取所有文章。整个过程都是全自动的。不需要写任何XPath,也不需要告诉爬虫哪里是翻页按钮,文章的标题在哪里,发布时间在哪里,正文..
更多RTOS对比
Foreword 总结一下嵌入式的小型RTOS,对比一下异同和近年的发展情况 NuttX https://nuttx.apache.org/ 这里的Vela是小米基于NuttX的改进版本 NuttX的系统架构,从纵向看,NuttX和传统操作系统一样由调度子系统、文件子系统、网络子系统、图形子系统和驱动子系统组成。从横向看,NuttX向上给应用程序提供了POSIX和ANSI定义的标准C/C++接口。对于没有标准化的组件(比如各种外设),NuttX通常会提供兼容Linux的API。向下NuttX定义了Arch API、块设备驱动接口、网卡驱动接口、display驱动接口,以及各种总线和外设的lower half驱动接口,使得芯片厂商能够规范、快速地完成移植工作。上图中数量众多的蓝..
更多2024可用的V2ray配置
Foreword 好久没有折腾V2ray了,总结一下当前可用方式 协议 V2ray 目前来说vmess+ws+tls+nginx或者caddy,活不久,经常被封端口,如果是有企业背书另说,正规企业背书的节点完全不会管的 同理如果是裸奔vmess+ws+tls动态端口其实也不太稳定,经常需要换端口 但是目前看到别人用vmess+ws+一点点简单的伪装,竟然就可以特别稳定,协议使用如下的即可 { "inbounds": [ { "listen": "0.0.0.0", "port": 80, "protocol": "vmess", "settings": { ..
更多一日一技:图文结合,大模型自动抓取列表页
熟悉我的同学都知道,GNE可以自动化提取任意文章页面的正文,专业版GnePro的准确率更是在13万个网站中达到了90%。但GNE一直不支持列表页的自动抓取。这是因为列表页的列表位置很难定义。例如下面这张图片:对人来说,要找到文章列表很简单,红色方框框住的部分就是我们需要的文章列表。但如果让程序自动根据HTML格式相似的规律来寻找列表页,它可能会提取出蓝色方框的位置、绿色方框的位置、灰色方框的位置,甚至导航栏。之前我也试过使用ChatGPT来提取文章列表,但效果并不理想。因为传给大模型HTML以后,他也不能知道这里面某个元素在浏览器打开以后,会出现什么位置。因此它本质上还是通过HTML找元素相似的规律来提取列表项目。那么其实没有解决我的根本问题,上图中的蓝色、绿色、灰色位置还是经常会提取到。前两天使用GLM..
更多维护 Nginx 时,什么时候应该用 reload,什么时候应该用 restart?
本文是“攻玉计划”的一部分,翻译自 https://stackoverflow.com/questions/13525465/when-to-restart-and-not-reload-nginx/20215497问题描述使用 Nginx 时,什么情况下 reload 无法满足需求,而必须要使用 restart 命令呢?如果 Nginx 进程占用了过多内存,是不是应该用 restart 来重启?如果修改了 Nginx 的核心配置,或者某些插件的配置,是不是也需要使用 restart 命令?修改 Nginx 配置后,用户既可以使用 restart 也可以使用 reload 来使配置生效,见 Ubuntu 上 /etc/init.d/nginx -h 的输出。那么,哪种方案更优呢?回答 1reload 比 ..
更多Install mosh for macOS arm64 with Miniconda3
I always hate compiling and building. It's an error-prone path filled with riddles and unknowns. mosh is a great tool replacing ssh in many cases, sadly it does not provide an arm64 binary download or installer for M1/M2/M3 MacBooks. Moreover I dont like XCode and protected /usr/bin shit so I prefer isolated envs like miniconda3. Anyway, for such a detour..
更多javascript 节拍器
娃学琴,节奏感糊成一坨了。老师让抖腿打节拍,显然不work。码农特有的穷B气质让我舍不得买个实体的;去找个节拍器app,结果各大市场都是各种广告,怕给娃用不正经;甚至找了很多公众号版的,小程序版的,网页版的,普遍都是各种跳转诱导点击。 失望之余,想起来上次JS播放DTMF对 WebAudio 有点感觉,要不这次自己干脆再手搓一个。调研了一圈发现这玩意没那么容易,主要就是javascript在浏览器里 setInterval 是有时间抖动(jitter)的,不能保证节奏精确。如何才能做到精准采样打节拍呢?连续精心编排 AudioContext 时间轴! 搜了一圈发现一位叫 Grant James 已经写好放在 github 了。那还等什么直接拿来~~针对性的改进了: 无广告 去掉 .js .css 依赖,..
更多