自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (1)
  • 问答 (4)
  • 收藏
  • 关注

原创 GODOT 4 不用scons编译cpp扩展的方法

terrain3d默认项目采用scons编译,但是是用visual studio驱动的,然而这里 visual 打了折扣,需要手动查看 vcxproj 项目文件,然后godot_cpp里的python脚本,结合才能理解具体编译过程。流程比较莫名其妙,编译速度也慢,全量编译后,再次读取配置都需要8秒。这是godot_cpp模块,所有插件应该是一样的。下载下来,先用scons编译一遍通过后,整个占用1GB,obj 文件都生成在源码旁边,够乱。其实c++项目编译起来从来就不慢,慢是因为项目大,增量编译应该很快的。

2024-11-04 16:31:13 994

原创 FLV 格式详解资料整理,关键帧格式解析写入库等等

理解一个格式,最好的方式就是用 Java 写个解析转换库。我将之转换为 Java ,添加写入关键帧索引的功能,一切竟然如此简单,宛若拨云见月。

2024-09-06 15:06:00 974

原创 【蛋疼c++】千万别用std::wifstream读取Unicode UTF16文件

这说明,程序里面 TCHAR* 字符串就是UTF16编码,不需要 std::wifstream 多此一举地解码,直接读取到内存即可。一些特殊表情符号直接空白(比如:🍓)。或许是,这个办法不支持UTF16的surrogate pair,四个字节的符号。ActiveX这玩意,导出文件,如果是UTF8导出,会出现莫名异常:写一半直接退出。在C++程序中,UTF8文件直接用 stf::ifstream 读进来就可以。

2024-08-10 11:56:54 566

原创 【前端逆向】最佳JS反编译利器,原来就是chrome!

Vscode 里面有一些反编译插件,某某Beautify等等。但这些插件看人品,运气不好搞的话,反编译出来都无法运行。此时就需要去反编译Javascript。如果嫌麻烦,还可以用VSCODE配合AHK制作成半自动反编译流程。要说对 Javascript 最了解的,那当然就是其源代码的维护者、开发者。现如今浏览器时代,Javascript 本家可以说就是 chrome。恰好 chrome 自带各种开发工具。有些把可选链断开了,有些格式化去掉了关键格式,导致出错。有时候需要反编译别人的 min.js。

2024-07-28 13:35:13 5247

原创 Duilib多标签选项卡拖拽效果:添加动画特效!

Direct是比较早的,他的技术比较老。和普通的win程序是一样的。然后他的控件大多是没有句柄的。那个是dx插特效,是不一样的,在播放dx特效之时,会有一个阻塞之类的,特效组合也不是很自由。在postSize的循环中,实时修改动画过程中控件的位置,不直接采用setPos 的值,从而实现布局动画,原理十分的简单。不然跑的太快,CPU飙升过于明显。和chrome浏览器不同的是他没有使用标准的拖拽事件,而是分别处理了点击触摸移动事件。我调查了一些小型界面库,包括imgui、lcui等,都没有内置这样的组件。

2024-06-08 19:34:22 944 1

原创 Intellij IDEA / Android studio 可持续开发笔记

Intellij 的Java/安卓工具链有着一种不可持续性,这种不可持续性体现在多个方面。首先是不可持续运行。IDEA 使用时间越长,内存占用越大,从不主动释放。运行时间越长,日志越多,从不主动清理。然后是不完整的开源,从源码编译时需要下载更多依赖。而研究更多依赖就要消耗更多的精力与资源……

2024-03-30 19:50:55 1545

原创 vscode 运行 java 项目之解决“Build failed, do you want to continue”的问题

安装好官方推荐的 java 扩展包后,就可以运行 java 代码了。功能 比 code runner 强,支持 gradle、maven、普通java项目,运行起来和真正的ide差不多,可以调试。需要整个项目编译起来,然后运行。因为vscode界面基于electron,而electron本质上就是chrome浏览器,而浏览器的界面外观都是可以更改的 —— 通过自定义用户脚本、用户样式的形式。与 eclipse 一样,支持部分代码出错的情况下运行其余完好的代码,于是就可以像脚本一样使用java了。

2024-03-15 19:38:31 1736 2

原创 chrome扩展中文字符串乱码解决

如果在background,js中直接写中文乱码(console.log 或者界面菜单中),那么可以用 chrome.i18n.getMessage(key) ,如果可以的话,应该是编码问题,实测将文件编码修改为 utf-16 后完美解决。

2023-10-07 19:40:41 1956

原创 【浅谈IDE宏指令录制】为加速chrome扩展国际化,我从vscode回归notepad++

安装vscode开源扩展:https://github.com/C10udburst/macros-vscode.git可开启类似于 notetepad 的宏录制与回放功能!可能需要新版本的 vscode 才能安装。如果不想切换,也可以专门下载个 cursor 编辑器,这是 openai 的vscode 分支,还能免费问gpt问题、缺点是,只能录制当前标签页,一切换就停止录制。

2023-10-07 18:51:37 1033

原创 AHK c++ 禁用鼠标设备实现完美息屏(不是休眠)

如何实现完美息屏呢?虽然可以用ahk实现息屏,但桌子一晃,鼠标稍微偏移一下,竟然又亮了,导致息屏无效!现在提供一种AHk脚本结合c++代码的方法,实现完美息屏!

2023-09-24 16:37:21 654

原创 让 exoplayer2 支持播放 ftp ( 扩展 exoplayer 支持 ftp 协议 ) 的两种方式

exoplayer 是安卓开源播放器组件库,由谷歌开发维护。它提供了一个可高度扩展的音视频播放框架,支持许多媒体格式与高级媒体功能,比如 adaptive streaming,DRM,以及安卓 media session 集成。但是不支持 ftp ,有两种方式可以扩展 exoplayer 支持 ftp 协议。

2023-08-22 13:31:09 888

原创 ffmpeg 子进程从内存读取文件、提取图片到内存

除了网络、文件io,开启的ffmpeg子进程还支持pipe,可以从stdin读入数据,输出转化后的图像到stdout。无需编译 ffmpeg,直接调用 ffmpeg.exe。可用于服务端生成缩小的预览图,然后发给ftp客户端,传输较快。

2023-08-22 12:36:49 2011 1

原创 【KBrowser】基于 Kiwi/chromium 制作全新外壳,将 chromium 代码当作 webview 使用,实现可控核替换

chromium 其实只需几步巧妙的架构,就能拿来“换核”,甚至可以插件化,实现类似webview.apk 的效果。重新设计界面,不再是差不多的回声。而 Kiwi 基于 chrome 77 ,只有 50 MB。优势是兼容好、可安装扩展。

2023-07-30 11:37:56 1286

原创 codemirror 5前端代码编辑器资料整理。

CodeMirror 是基于js的源代码编辑器组件,它支持javascript等多种高级语言,tampermonkey内置的代码编辑器就是基于它。它的按键组合方式兼容vim,emacs等,调用者还可自定义”自动完成“的列表窗口,自由度极高,相当成熟。但是这个库也是问题多多,很需要深度配置、改良优化。前排提示:由于信息闭塞,所以才研究了 codemirror 5。研究完才发现, codemirror 5官方基本处于弃坑状态 ……

2023-04-21 15:03:30 4508

原创 gradle mavenPublish 切换不同源码,根据不同的代码 flavor 生成并发布不同分支的 aar 库

本例定义了两个flavor:normal 、dragsort ,其维度为 "listpopup",意即…… 最后,需要告诉 maven Publish 插件:要用 components 指定打包内容 ……

2023-04-16 19:58:18 471

原创 Idea和Android Studio【插件】全局自动设置代码高亮级别为 Syntax

本文介绍一种使用插件完成类似目的的方法 —— 通过开发idea插件,将默认的 highlighting level 设为 Syntax,如需要重新 inspect all problem,则将鼠标移动至滚动条上方,等待弹出小型设置窗口,将 syntax 下拉菜单改成 all problem 即可(见视频中的操作)。不过这样设置对于已经打开的文件时无效的,不会触发重新分析,无法自动动态设置,只能用作默认值,在新开idea窗口、双击打开代码文件时起作用。网上已有一些全局设置的方法,比如inspect设置中,

2023-04-05 17:58:35 3187

原创 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 533 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 3055

原创 DirectUI方腾文件管理器一:windows制作一个文件管理器最纯粹的办法

项目地址:https://github.com/KnIfER/FilesTen-Explorer通过这个项目,虽然不能让我的DirectUI分支腾飞,但能让里边的Listview成熟。“最纯粹”,指的是最直接,最简单的方法。比如缩略图通过shellapi获取,不过十几行代码。

2023-03-27 21:59:48 423

原创 Jvm invocation api 调试总论

Jvm invocation api 允许 c++ 程序内嵌虚拟机,运行 Java 代码。这一块的调试还是比较麻烦的。

2023-03-05 15:48:58 499

原创 【无限思维画布】制作思维导图第五步,节点创建与连接,拖拽对齐与双击缩放

正在为无限词典制作单词思维导图功能,实现无限单词导图,无限思维画布。目前制作到第五步,实现节点创建、节点连接、节点拖拽对齐:节点创建与连接,拖拽对齐。

2023-02-27 17:12:18 726 1

原创 【无限思维画布】制作思维导图第三步,节点移动与编辑

正在为无限词典制作单词思维导图功能,实现无限单词导图、无限思维画布。目前制作到第三步 —— 节点移动与编辑。

2023-02-26 20:06:07 786

原创 visual studio 调试增强,实现一行代码打印调用栈

VisualStudio 如何主动打印调用栈?如果不下断点,那么只能在崩溃的时候被动查看。快使用Backward-Cpp,只需在拖入一个头文件,就可以主动打印。但默认无法在 VisualStudio 的 output 窗口看到任何信息,且格式较为零散,下面分享一些强化的方法。

2023-02-01 19:13:05 1041

原创 visual studio 必装插件,码c++等必备

分享一些vs插件。必装三件套,虽简单但是没有真的不行,然后用ahk来锦上添花篇 ,最后考察他山之石。

2023-01-27 13:01:08 10995

原创 Jitpack使用指南:maven-publish如虎,jitpack如翼 【安卓Java组件化模块化】【更多gradle技巧】

上文整理了三种多模块开发的方法。我的第一个开源项目就依次用过,如今更是如虎添翼。

2023-01-17 17:07:08 2450

原创 解决安卓刷新recyclerView时导致itemDecoration分栏标题绘制错乱(重叠和隔空现象)

安卓的 itemDecoration 装饰器是个好东西,可以与adapter适配器一样闪耀。但是刷新的时候有可能发生重叠或莫名隔空的BUG。关键是正确获取recyclerView子项视图位置,避免刻舟求剑。

2022-12-17 13:43:56 1690

原创 【脚本资源】巧用 FFMEPG 为Android Studio制作提示音,用音乐舒缓压力

截取前两秒项目构建成功的提示音,是一种开放的感觉,open feeling,心胸开阔,开启无限可能。反转后作为构建失败的提示音,别有旋律,是一种幽然的警报声,紧张中带有诙谐感,开始无限调试。

2022-12-16 15:31:08 540

原创 将“万词王”离线转化为“文络之心“插件之一:复现 wantwords Python/Pytorch 开源项目

本文带你从零探索Wantwords.net,这是个开源的pytorch词典项目。其模型文件也是开放下载的。

2022-12-05 11:49:39 1407

原创 关于 Lucene 搜索语法与分词的浅显研究

上文我用icu分词器实现了简单的中文分词器,却发现不能直接在搜索之时使用,会打断一些lucene搜索语法的分析。比如,使用双引号进行全文搜索,我制作的自定义分词器却出现了冗余内容,反而查找不到任何有效内容……问号无法在双引号内使用。其实双引号之内,空格以及标点符号是被过滤掉的,匹配连续的关键词。

2022-12-04 15:57:36 514

原创 Android Studio / IDEA 调试金手指:live template自动打印方法名以及所有变量

需要用到groovyScript,参考第N篇博客至于学会了……

2022-11-29 17:45:07 931

原创 安卓Accessibility(Talkback无障碍读屏器)适配笔记

视图只要保证这两点,就可以被读屏器点读……有些按钮可能需要根据情况提供不同的读屏内容,建议用委托类实现,不用总是自定义视图。

2022-11-26 22:16:59 2423

原创 JS 繁简转换优化

前已有博客,可优化,以充实转换表、优化查找比对效率。

2022-11-26 14:54:43 895

原创 JS测试出最小支持字体,以及修复PDFJS的文本错误偏移

如果浏览器的文本缩放不是100%,而PDFJS没有检测这一点,导致文本排布发生偏移。PDFJS的文本层有时会有一个错误的整体偏移,导致文本处于错误位置,导致用户选择错误的文本。浏览器还有一个“最小支持字体”的限制,

2022-11-19 13:21:10 1490

原创 终于把下载安装更新的功能整出来了,记录关键点

我的第一个安卓应用终于也有了APP内安装更新的功能(赶上末班车了吗),记录一些关键点,方方面面的。

2022-11-17 20:41:35 638

原创 再战sortablejs

这次重新捡起sortablejs,发现还有许多地方可以优化,甚至可以实现懒加载。sortable.js一共一百多kb。它使用插件式设计,其中MultiDrag……

2022-11-03 13:22:46 1369 3

原创 js用普通DIV模拟A标签

当节点为A标签时(即anchor tag超链接元素),鼠标中键无法在其上触发自动滚动。比如浏览器再带的书签管理器,会在左右设计空白区域,只能在空白区域触发中键滚动,但如果没有这么多空间的话(比如扩展弹出窗口),就需要用DIV标签模拟A标签。

2022-10-31 11:45:17 861

原创 用原生JS实现虚表控件

在HTML/dom环境,纯JS“无限”滚动列表与众不同,和自绘制界面实现的ListView是不一样的,更加需要dom操作的技巧,讲究的要么是“左脚蹬右脚”循环覆盖,要么是滚动一点、增长一点。不过后者严格来说不是虚表,仅仅是懒加载而已。

2022-10-29 07:56:21 510

原创 Aardio 第一天:使用虚表和适配器+试融合Java

挺洋气的名字,乍看神似arduino的重新排序。不过这是一种国人开发的脚本编程语言,自带基于win32 api的界面框架,可以和其他编程语言沟通,比如调用java或者python代码。下载下来6.5MB的压缩包,解压后,打开集成开发环境,它还会远程下载组件,比如粘贴了vlist的示例代码后,点击硕大的运行按钮,会要求安装vlist组件,确认即可。也可以从网上下载 .aardio 文件,自己放到lib文件夹中,作为开源库使用。这对于开源很友好,也可以魔改、借此入门,aardio上层都是开源的。

2022-09-28 15:30:00 3231 1

原创 安卓在任意位置打开drawerLayout

其实可以把 drawerLayout 放到中,这样就可以在任意位置打开侧滑抽屉界面了,不必嵌套在主界面之内。缺点是这样的抽屉关闭后无法再滑动打开,只能通过点击菜单/按钮来打开,不过自从安卓出全面屏手势后,这个缺点也就不算缺点了。

2022-09-20 16:46:16 638

原创 安卓高级编程之实现类似三星系统的设置界面,并用lucene建立搜索系统

安卓的默认设置实现略显杂乱无章,且无法搜索。需要亿点美化与扩展。

2022-09-14 12:22:52 898

win10 c++ 关闭/启动设备驱动

命令行工具,用于关闭鼠标等设备驱动,需要提供设备id,方法见博客。 调用参数 : DeviceSuppressor.exe disable=USB\VID_123&XXX enable=USB\VID_123&XXX 改进 https://gist.github.com/3735943886/f47c355738e3dd7975fe0aa1abd67445

2023-09-24

Idea插件:全局自动设置代码高亮级别为 Syntax

Idea和Android Studio【插件】全局自动设置代码高亮级别为 Syntax 设置全局 highlighting level 为 Syntax 提升性能,更好地编辑代码! https://blog.youkuaiyun.com/sinat_27171121/article/details/129973447

2023-04-05

【条码】【二维码】高性能扫码程序ScanZxing-HP.zip

zxing-demo 纯正精简版。 保留所有功能,添加闪光、曝光的设置位置,支持暂停和快速恢复。 支持三种聚焦模式:连续聚焦、循环聚焦、传感器聚焦。 当屏幕朝向、窗口大小的变化时,可动态调整摄像机分辨率和预览尺寸,无需重建Activity。 已进行性能优化、流程优化,关键部分添加注释。在此demo的基础上开发,相信可秒杀一切二维码扫码Activity。 关于“精简”:原工程一两百行就新建一个Java类,累积近二十个类,平白增加理解难度。 本人根据内部的逻辑关联剔除、归并、整合了全部代码,现只剩6个核心源文件,且最大不超过550行。

2020-07-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除