惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V2EX - 技术
V2EX - 技术
L
LangChain Blog
IT之家
IT之家
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
U
Unit 42
B
Blog RSS Feed
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
T
Threatpost
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
The Register - Security
The Register - Security
Vercel News
Vercel News
S
Schneier on Security
Spread Privacy
Spread Privacy
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
雷峰网
雷峰网
博客园_首页
人人都是产品经理
人人都是产品经理
P
Palo Alto Networks Blog
The Hacker News
The Hacker News
T
Tor Project blog
L
Lohrmann on Cybersecurity
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy International News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tenable Blog
V
Vulnerabilities – Threatpost
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
V
V2EX
Security Latest
Security Latest
A
About on SuperTechFans
Cloudbric
Cloudbric
S
Security Affairs
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
TaoSecurity Blog
TaoSecurity Blog

for_the_zero的个人博客

ZapStartTab - 只是专注于打开网页的简陋新标签页 - for_the_zero的个人博客 将我的个人网站模板大改了一下 - for_the_zero的个人博客 小想法2——如何让AI拥有生命? - for_the_zero的个人博客 vAIbe - 用Vibe Coing做一个AI? - for_the_zero的个人博客 个人网站更新! - for_the_zero的个人博客 WebTooys第3.5弹更新 —— GPT/RSVP阅读器、抠图工具、QQ空间导出记录查看器、摄像头画面AI生成颜文字 - for_the_zero的个人博客 科技杂谈1:从系统到AI,从软件到互联网 - for_the_zero的个人博客 记录一下我的小想法 - for_the_zero的个人博客 教程:怎么在U盘上装一个便携版的MC? - for_the_zero的个人博客 整理一下域名 - for_the_zero的个人博客 WebTooys Quicktools 第三弹:AI记事本输入法、剪贴板图片保存、AI驱动的虚拟文章平台FakeNET…… - for_the_zero的个人博客 如何注册一个免费的.is-a.dev域名? - for_the_zero的个人博客 新的个人网站上线! - for_the_zero的个人博客 MapPinner: 在地图上留下自己旅行时走过之处的标记 - for_the_zero的个人博客 自制软件LMCanvas —— 让界面与模型交互 - for_the_zero的个人博客 asak - 一个适应速率限制的大模型api调用工具 - for_the_zero的个人博客 又是英语演讲 - for_the_zero的个人博客 往我自己做的简约表格加了一点AI - for_the_zero的个人博客 Free-LLM-Collection - 一个分享关于免费的大模型API的地方 - for_the_zero的个人博客 Quicktools第2.1弹 - 文本展示工具、UP主动态查看工具 - for_the_zero的个人博客 Quicktools第二弹 - 按键转写、音频转颜色、简约风表格工具 - for_the_zero的个人博客 分享一下我最近为英语演讲写的演讲搞(整活) - for_the_zero的个人博客 第一批Quicktools小工具来啦 - for_the_zero的个人博客 相机算法对比:vivo vs Google - for_the_zero的个人博客 国产大模型对比! - for_the_zero的个人博客 一个提取手机apk的玩意 - for_the_zero的个人博客 发现bug,连甩两层锅 - for_the_zero的个人博客 一个手机硬件状态监控的玩意 - for_the_zero的个人博客 AlanBecker视频列表:关注视频更新动态! - for_the_zero的个人博客 一段时间前做了一个DNA打结的东西 - for_the_zero的个人博客 做了个叫PinCopy的玩意 - for_the_zero的个人博客 记一下自己写tttpro - for_the_zero的个人博客 在scratch实现简单纯画笔排版 - for_the_zero的个人博客 如何在scratch简单实现拼音输入法 - for_the_zero的个人博客 Blog Post - for_the_zero的个人博客 一种迷宫的介绍 - for_the_zero的个人博客 DearPyGui笔记 - for_the_zero的个人博客
CapsTools - 一个利用大写锁定键触发的工具箱 - for_the_zero的个人博客
for_the_zero · 2024-08-30 · via for_the_zero的个人博客

Github

这个是我最近使用了二十多天的爆肝(辛勤劳动成果),写了一个小工具

介绍的话,README就有,所以这里就写开发的坑和感受之类的吧

这是我第一次使用node.js开发js程序,也是我第一次使用electron开发程序,是一次非常宝贵的经验

前期(七月底)

绝区零真好玩

很快速写了一个Tray和全屏的面板主界面,轻轻松松

其中我给面板写了一个无用的css(已经被注释掉了),原本想着是提示快捷键的,后来懒得搞快捷键功能了

翻译方案

很草率,也很后悔

js用三目运算符,isChinese ? '中文' : 'English'

html用data-entext属性存储英文文本,js直接替换

html这里由于ipc有延迟导致英语用户可以看到一瞬间中文,而且mdui组件库部分逐渐一下子还没有反应过来

截屏

首先,我问了AI,一个个推荐我用electron自带的录屏的缩略图,那玩意糊到没法看,又问了几下,说没有库,直接把我带偏了

然后我就开始写Python实现截图,但我不满意,打包之后实在太大了

结果突然发现robot.js,这不就对了嘛

安装提示我要c++,装vs就行了,这个sb网络环境搞了我好久

运行又提示node版本不符合,要不是我上网搜索了我就重装了,其实是和electron版本不符合,要用electron-rebuild

运行又提示我说什么忘了,内存相关,找了一下发现是因为electron21+加入新的管理机制导致这个库的截屏用不了,退回<21的版本就行

(没一会发现nut.js替代,算了不搞了,还是用robot.js吧)

结果这b玩意保存不了,最后是Claude3.5告诉我把buffer转png再转成buffer,确实行了,然后这个库发神经不是rgba二十bgra,我tm服了

OCR

你这程序也没有ocr功能啊,为什么要讲这个

其实一开始是有的,但是……

首先我的想法就是py->exe,使用paddleocr

结果太大了,上传不了github,而且隐藏控制台的话electron获取不到输出

算了用js

不喜欢esm(不能直接用裸标识符,懒得打爆),用的全是cjs,转cjs了之后一堆bug,反手就是上百条webgl上下文丢失,服了搞不定,运行还巨卡,算了

换用tesseract,结果要在主进程开worker,不想这么干

最后,放弃了

你可以在提交历史中看到一句*你妈

翻译

一开始用<iframe>,但是deepl不让用,转向<webview>

bing翻译的url查询一直没搞懂,传入文本没问题,但是找不到翻译语言相关的

剪贴板

由于调用electron和mdui的上下文菜单比较麻烦,反手改成了dialog+menu

一开始我是把剪贴板的整个图片放进去的,截了两个图就很卡了,于是就限制了高度,压缩成缩略图,好多了

自定义图标

其实没什么难的,主要就在于要写不少,最复杂的是pwa的图标(其实都差不多)

先设置成默认的

如果是使用网页favicon,调用api获取它的链接

如果是svg的字符串,套用

如果是文件(后端进行检测)、url(前端进行检测),访问并获取可用性,还要分情况为svg和ico/png,svg直接往html加,ico/png用<img>

字体

一开始我其实用了Google Sans(Product Sans),我以前写的很多程序都用过它作为英文字体,很好看,结果发现不能让我们用,只能删掉了

Noto Sans显示的字母好丑,又找不到能够与Google Sans媲美的免费可商用字体,不爽

打包

使用的是electron-builder打包

首先就是asar的问题,不用asar直接给我报错

按我的需求来又不知道怎么配置,我的需求是有几个文件既要在程序根目录又要在asar中,有几个文件只要在程序根目录

总有几个文件访问不了,后来试配置试了好久,最后用了比较妥协的办法,部分文件滞留在asar了,改代码(导致开发环境已经不能运行了)把src/icon.png改成了resource/app.asar.unpacked/src/icon.png,因为不知道如何让asarUnpack解压在根目录

剪贴板又出了问题,懒得改了,一个是无缘无故出现一个空值剪贴板记录,完全是空的,卡了bug导致操作不了它,另一个是图片的问题,提示的是转dataURL的时候被转的是null,关于这个对象,是获取剪贴板图片->nativeImage修改大小->转dataURL,我怀疑问题在第一步

完成

原神5.0更新了,好玩

写完这个blog已经是第二天,视频是昨天晚上发的,现在下午播放量伪53,点赞1,我他妈……