- 博客(83)
- 资源 (1)
- 问答 (4)
- 收藏
- 关注
原创 chrome扩展中文字符串乱码解决
如果在background,js中直接写中文乱码(console.log 或者界面菜单中),那么可以用 chrome.i18n.getMessage(key) ,如果可以的话,应该是编码问题,实测将文件编码修改为 utf-16 后完美解决。
2023-10-07 19:40:41
160
原创 【浅谈IDE宏指令录制】为加速chrome扩展国际化,我从vscode回归notepad++
安装vscode开源扩展:https://github.com/C10udburst/macros-vscode.git可开启类似于 notetepad 的宏录制与回放功能!可能需要新版本的 vscode 才能安装。如果不想切换,也可以专门下载个 cursor 编辑器,这是 openai 的vscode 分支,还能免费问gpt问题、缺点是,只能录制当前标签页,一切换就停止录制。
2023-10-07 18:51:37
631
原创 AHK c++ 禁用鼠标设备实现完美息屏(不是休眠)
如何实现完美息屏呢?虽然可以用ahk实现息屏,但桌子一晃,鼠标稍微偏移一下,竟然又亮了,导致息屏无效!现在提供一种AHk脚本结合c++代码的方法,实现完美息屏!
2023-09-24 16:37:21
99
原创 让 exoplayer2 支持播放 ftp ( 扩展 exoplayer 支持 ftp 协议 ) 的两种方式
exoplayer 是安卓开源播放器组件库,由谷歌开发维护。它提供了一个可高度扩展的音视频播放框架,支持许多媒体格式与高级媒体功能,比如 adaptive streaming,DRM,以及安卓 media session 集成。但是不支持 ftp ,有两种方式可以扩展 exoplayer 支持 ftp 协议。
2023-08-22 13:31:09
217
原创 ffmpeg 子进程从内存读取文件、提取图片到内存
除了网络、文件io,开启的ffmpeg子进程还支持pipe,可以从stdin读入数据,输出转化后的图像到stdout。无需编译 ffmpeg,直接调用 ffmpeg.exe。可用于服务端生成缩小的预览图,然后发给ftp客户端,传输较快。
2023-08-22 12:36:49
1418
原创 【KBrowser】基于 Kiwi/chromium 制作全新外壳,将 chromium 代码当作 webview 使用,实现可控核替换
chromium 其实只需几步巧妙的架构,就能拿来“换核”,甚至可以插件化,实现类似webview.apk 的效果。重新设计界面,不再是差不多的回声。而 Kiwi 基于 chrome 77 ,只有 50 MB。优势是兼容好、可安装扩展。
2023-07-30 11:37:56
342
原创 codemirror 5前端代码编辑器资料整理。
CodeMirror 是基于js的源代码编辑器组件,它支持javascript等多种高级语言,tampermonkey内置的代码编辑器就是基于它。它的按键组合方式兼容vim,emacs等,调用者还可自定义”自动完成“的列表窗口,自由度极高,相当成熟。但是这个库也是问题多多,很需要深度配置、改良优化。前排提示:由于信息闭塞,所以才研究了 codemirror 5。研究完才发现, codemirror 5官方基本处于弃坑状态 ……
2023-04-21 15:03:30
1569
1
原创 gradle mavenPublish 切换不同源码,根据不同的代码 flavor 生成并发布不同分支的 aar 库
本例定义了两个flavor:normal 、dragsort ,其维度为 "listpopup",意即…… 最后,需要告诉 maven Publish 插件:要用 components 指定打包内容 ……
2023-04-16 19:58:18
207
原创 Idea和Android Studio【插件】全局自动设置代码高亮级别为 Syntax
本文介绍一种使用插件完成类似目的的方法 —— 通过开发idea插件,将默认的 highlighting level 设为 Syntax,如需要重新 inspect all problem,则将鼠标移动至滚动条上方,等待弹出小型设置窗口,将 syntax 下拉菜单改成 all problem 即可(见视频中的操作)。不过这样设置对于已经打开的文件时无效的,不会触发重新分析,无法自动动态设置,只能用作默认值,在新开idea窗口、双击打开代码文件时起作用。网上已有一些全局设置的方法,比如inspect设置中,
2023-04-05 17:58:35
1290
原创 win10 设置侧载默认程序之借尸还魂 —— ahk 命令行转接脚本,ahk成为命令行拨号员
最近发现无法设置explorer的默认打开方式了,原来能设置成某一路径,使用绿色软件或者portable很方便,现在只能从安装好的程序中选择。干掉potplayer.exe,用run.exe替换,将run.exe重命名为potplayer.exe!写一个ahk脚本,功能是,接收命令行参数,并以相同参数启动自己的player.exe。其实可以利用ahk“借尸还魂”之法,将已安装的程序干掉,变成自己的程序。怎么办的,辛辛苦苦开发出来的媒体播放器,上传商店还要交700年费……将shk脚本编译成run.exe。
2023-03-29 22:08:31
344
1
原创 程序员的chatgpt —— cursor 编辑器
回答比较简单(and more),还需查文档:https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-win32_find_dataa。这个编辑器本身的功能还比较简单,比如无法设置主题色。请对fileArr中的字符串进行自定义排序,当遇到中文字符时,用拼音进行排序。尼玛给的链接根本就是404,hongwenjun却是真有其人,不知怎么的。不用 std::sort ,请对fileArr中的字符串进行自定义排序。
2023-03-28 13:52:54
2564
原创 DirectUI方腾文件管理器一:windows制作一个文件管理器最纯粹的办法
项目地址:https://github.com/KnIfER/FilesTen-Explorer通过这个项目,虽然不能让我的DirectUI分支腾飞,但能让里边的Listview成熟。“最纯粹”,指的是最直接,最简单的方法。比如缩略图通过shellapi获取,不过十几行代码。
2023-03-27 21:59:48
318
原创 Jvm invocation api 调试总论
Jvm invocation api 允许 c++ 程序内嵌虚拟机,运行 Java 代码。这一块的调试还是比较麻烦的。
2023-03-05 15:48:58
400
原创 【无限思维画布】制作思维导图第五步,节点创建与连接,拖拽对齐与双击缩放
正在为无限词典制作单词思维导图功能,实现无限单词导图,无限思维画布。目前制作到第五步,实现节点创建、节点连接、节点拖拽对齐:节点创建与连接,拖拽对齐。
2023-02-27 17:12:18
456
1
原创 【无限思维画布】制作思维导图第三步,节点移动与编辑
正在为无限词典制作单词思维导图功能,实现无限单词导图、无限思维画布。目前制作到第三步 —— 节点移动与编辑。
2023-02-26 20:06:07
416
原创 visual studio 调试增强,实现一行代码打印调用栈
VisualStudio 如何主动打印调用栈?如果不下断点,那么只能在崩溃的时候被动查看。快使用Backward-Cpp,只需在拖入一个头文件,就可以主动打印。但默认无法在 VisualStudio 的 output 窗口看到任何信息,且格式较为零散,下面分享一些强化的方法。
2023-02-01 19:13:05
649
原创 visual studio 必装插件,码c++等必备
分享一些vs插件。必装三件套,虽简单但是没有真的不行,然后用ahk来锦上添花篇 ,最后考察他山之石。
2023-01-27 13:01:08
7603
原创 Jitpack使用指南:maven-publish如虎,jitpack如翼 【安卓Java组件化模块化】【更多gradle技巧】
上文整理了三种多模块开发的方法。我的第一个开源项目就依次用过,如今更是如虎添翼。
2023-01-17 17:07:08
1070
原创 解决安卓刷新recyclerView时导致itemDecoration分栏标题绘制错乱(重叠和隔空现象)
安卓的 itemDecoration 装饰器是个好东西,可以与adapter适配器一样闪耀。但是刷新的时候有可能发生重叠或莫名隔空的BUG。关键是正确获取recyclerView子项视图位置,避免刻舟求剑。
2022-12-17 13:43:56
910
原创 【脚本资源】巧用 FFMEPG 为Android Studio制作提示音,用音乐舒缓压力
截取前两秒项目构建成功的提示音,是一种开放的感觉,open feeling,心胸开阔,开启无限可能。反转后作为构建失败的提示音,别有旋律,是一种幽然的警报声,紧张中带有诙谐感,开始无限调试。
2022-12-16 15:31:08
434
原创 将“万词王”离线转化为“文络之心“插件之一:复现 wantwords Python/Pytorch 开源项目
本文带你从零探索Wantwords.net,这是个开源的pytorch词典项目。其模型文件也是开放下载的。
2022-12-05 11:49:39
1082
原创 关于 Lucene 搜索语法与分词的浅显研究
上文我用icu分词器实现了简单的中文分词器,却发现不能直接在搜索之时使用,会打断一些lucene搜索语法的分析。比如,使用双引号进行全文搜索,我制作的自定义分词器却出现了冗余内容,反而查找不到任何有效内容……问号无法在双引号内使用。其实双引号之内,空格以及标点符号是被过滤掉的,匹配连续的关键词。
2022-12-04 15:57:36
381
原创 Android Studio / IDEA 调试金手指:live template自动打印方法名以及所有变量
需要用到groovyScript,参考第N篇博客至于学会了……
2022-11-29 17:45:07
751
原创 安卓Accessibility(Talkback无障碍读屏器)适配笔记
视图只要保证这两点,就可以被读屏器点读……有些按钮可能需要根据情况提供不同的读屏内容,建议用委托类实现,不用总是自定义视图。
2022-11-26 22:16:59
1323
原创 JS测试出最小支持字体,以及修复PDFJS的文本错误偏移
如果浏览器的文本缩放不是100%,而PDFJS没有检测这一点,导致文本排布发生偏移。PDFJS的文本层有时会有一个错误的整体偏移,导致文本处于错误位置,导致用户选择错误的文本。浏览器还有一个“最小支持字体”的限制,
2022-11-19 13:21:10
993
原创 再战sortablejs
这次重新捡起sortablejs,发现还有许多地方可以优化,甚至可以实现懒加载。sortable.js一共一百多kb。它使用插件式设计,其中MultiDrag……
2022-11-03 13:22:46
878
1
原创 js用普通DIV模拟A标签
当节点为A标签时(即anchor tag超链接元素),鼠标中键无法在其上触发自动滚动。比如浏览器再带的书签管理器,会在左右设计空白区域,只能在空白区域触发中键滚动,但如果没有这么多空间的话(比如扩展弹出窗口),就需要用DIV标签模拟A标签。
2022-10-31 11:45:17
615
原创 用原生JS实现虚表控件
在HTML/dom环境,纯JS“无限”滚动列表与众不同,和自绘制界面实现的ListView是不一样的,更加需要dom操作的技巧,讲究的要么是“左脚蹬右脚”循环覆盖,要么是滚动一点、增长一点。不过后者严格来说不是虚表,仅仅是懒加载而已。
2022-10-29 07:56:21
360
原创 Aardio 第一天:使用虚表和适配器+试融合Java
挺洋气的名字,乍看神似arduino的重新排序。不过这是一种国人开发的脚本编程语言,自带基于win32 api的界面框架,可以和其他编程语言沟通,比如调用java或者python代码。下载下来6.5MB的压缩包,解压后,打开集成开发环境,它还会远程下载组件,比如粘贴了vlist的示例代码后,点击硕大的运行按钮,会要求安装vlist组件,确认即可。也可以从网上下载 .aardio 文件,自己放到lib文件夹中,作为开源库使用。这对于开源很友好,也可以魔改、借此入门,aardio上层都是开源的。
2022-09-28 15:30:00
2672
1
原创 安卓在任意位置打开drawerLayout
其实可以把 drawerLayout 放到中,这样就可以在任意位置打开侧滑抽屉界面了,不必嵌套在主界面之内。缺点是这样的抽屉关闭后无法再滑动打开,只能通过点击菜单/按钮来打开,不过自从安卓出全面屏手势后,这个缺点也就不算缺点了。
2022-09-20 16:46:16
501
原创 Lucene 之又一奇葩设定:lengthNorm 导致文章越长,排名越后
上文中自定义了 WordBreakFilter,可以大幅地改善结果排序,更加精确地命中汉语词组。但最近又发现一个排序上的错误:以`开心`为关键词全文搜索《牛津英语词典》之时,词条“unrip”……
2022-09-10 00:13:19
177
原创 用不到一百行代码为Lucene实现优雅的中文分词
废话不多说直接上代码 WordBreakFilter.java:使用:测试案例代码见上文。原理:在自定义过滤器WordBreakFilter中调用icu4j的BreakIterator进行断词。这是一个萌新试图用乱拳打死smartcn、paoding等老师傅的故事……
2022-09-04 15:44:54
254
原创 古怪的Lucene中文分词方案 —— CJKAnalyzer
Lucene 4.7 的分词器中已经有CJKAnalyzer了,这个分词器支持中文、日文、韩文和朝鲜文。其过滤器CJKBigramFilter,既可以同时输出单字与双字切割,也可以选择只输出双字切割。可见,虽然CJKAnalyzer的分词方法较为简陋,但对于搜搜双字词语还是有帮助的,排序不会像 StandardAnalyzer 那样杂乱。同时输出单字与双字,还可搜索到更多结果。关键词搜索“人民”,使用 StandardAnalyzer 之时,词条“工人居民”居然排在了“人民银行”等词条的前面。
2022-09-03 13:12:32
417
原创 【安卓组件化 maven-publish】编译任意Library库至本地maven仓库,自动部署、分模块开发
本文基于Android Studio操作,借助Gradle插件 —— Maven Publish,实现在构建完安卓库或者纯Java库之后,自动将之部署aar或jar至maven仓库,使其成为一个公共模块,供其他项目引用。首先了解一下其他的多模块开发方法。第一种:在setting.gradle中定义子模块然后 api Project(':...')),直接引用 。第二种,部署至远程服务器,如 jitpack.io(傻瓜式操作,还支持gitee)第一种方法适合小库,优点是改动后可一键构建运行,缺点是
2022-04-06 15:23:13
3207
5
原创 编译Github Desktop
GithubDesktop 是个Electron + react 项目。它使用yarn构建。直接下载源码。… --depth=1 --recursive,一百多MB,与程序本身的体积差不多。然后进入目录,命令行yarn,让它配置各种依赖,完成会展开至八百多MB,也不知道都下载了些啥。需要Python3.9、与visual studio 的c++集成环境。这些之前编译vscode时已经做过了。yarn命令却返回错误,说什么dugite下载过程出错。勘察了一下不是GFW的原因,似乎是dugite的脚本有问
2022-04-05 21:46:06
466
原创 编译运行与使用安卓文字识别项目
Tesseract 用于从图片中提取文字,准确率不错。https://github.com/adaptech-cz/Tesseract4Android这个项目是直接用Android studio编译c++代码的。模型文件需要自己下载(https://github.com/tesseract-ocr/tessdata),比如英文的模型文件就是https://github.com/tesseract-ocr/tessdata/blob/4.0.0/eng.traineddata,很小,只有二十来兆。下载
2022-03-12 16:24:29
3535
原创 【css】border边框影响布局解决方案,鬼话连篇版本
问题的关键究竟为何? border边框影响布局之问题的发生,到底需要如何解决,这种事实对本人来说意义重大,相信对这个世界也是有一定意义的。 一般来说, 培根曾经提到过,深窥自己的心,而后发觉一切的奇迹在你自己。这不禁令我深思。 曾经看到过过一句富有哲理的话,有时候实践是一种巧妙地避开思考的方法。带着这句话,我们还要更加慎重的审视这个问题: 编程实践中,若border边框影响布局出现了,我们就不得不考虑它出现了的事实。 mark {background: yellow; } mark.current {
2022-03-11 19:04:58
3659
7
win10 c++ 关闭/启动设备驱动
2023-09-24
Idea插件:全局自动设置代码高亮级别为 Syntax
2023-04-05
【条码】【二维码】高性能扫码程序ScanZxing-HP.zip
2020-07-28
我在开发一个视频播放器,怎么实现复制图像到剪贴板呢
2023-01-31
win32 开发原生 c++ 项目调用 java ,如何打Log调试?
2023-01-13
HTML 页面鼠标中键按下后滚动了错误的元素?
2021-02-07
Android studio 每次启动怎么不记忆页面位置?
2021-01-27
For 循环中的局部变量为什么可以拿出来用?
2020-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人