0%

在之前的博客中介绍了一个差分包工具 zstd(虽然说人家的专业是压缩软件,谁让它的差分能力那么出众呢)。

使用 Ztsd 代替 bsdiff/bspatch 差分还原文件

这货很能打,用起来也很爽。但是有个痛点就是制作差分包的时候有文件大小限制:不支持大于 2G 的文件。

但是在使用中经常遇到这种情况,为了彻底不再忍受 bsdiff 那蜗牛般的速度,遂决定通过修改 ztsd 源代码来支持对 2G 文件的支持。

阅读全文 »

最近想写点桌面小工具,语言已经确定了用 Go,于是把市面上常见的几个 UI 库简单对比了一下。

除了对比,也会记录一下我对它们的主观评价,便于下次使用的时候参考。

评价的目标是用于个人使用,会考虑性能、资源消耗、依赖以及上手难度等维度。性能数据只做浅度分析,场景是跑一个 Demo 用例,分析磁盘、内存、CPU的消耗情况。

阅读全文 »

Windows 上编译 GUNC/C++ 代码,需要用到 MinGW-w64 的编译环境。

MinGW-w64 的全称是 Minimalist GNU for Windows 64-bit,其主要目标是提供一个最小化的、可以运行 GNU 工具链的 Windows 环境。它包括了许多常见的 GNU 工具和库,如 GCC(GNU Compiler Collection,GNU 编译器集合)GDB(GNU Debugger,GNU 调试器) 等,以及一个 Windows 兼容的 POSIX API 实现。这些工具允许开发者在 Windows 上编写、编译和调试 C/C++ 等编程语言的代码,同时也能运行许多在 Unix 系统上编写的脚本和工具。

MinGW-w64MinGW 的升级版,MinGW 是一个 GNU 编译器链,它提供了 CC++ 编译器,以及一些其他工具,如 makegdb 等。MinGW-w64MinGW 的一个分支,它提供了与 MinGW 相同的功能,但同时支持 64 位32 位 的编译。

阅读全文 »

最近有个需求:有一个系统应用,在某个业务时执行了一些 shell 命令,操作系统中的网络接口。随着版本迭代需求演进,要把这些 shell 命令迁移到 framework 中执行。

想当然的认为没什么难度,但属实是踩了一坑。

阅读全文 »

Go 的模块默认从 GOPROXY 环境变量获取。这个变量默认指向 https://proxy.golang.org/

很遗憾正常情况国内是无法访问的。

好在国内和国外有一些镜像站,可以配置之后使用。

阅读全文 »

Git for WindowsGit 官方的 Windows 版本,它是基于 MSYS2-Mingw-w64 的,所以 Git for Windows 也是一个微型的 MSYS2

但是 Git for Windows 安装后却没有 MSYS2 的包管理器 pacman,可以考虑手动安装。

网上大部分博客的描述都已经过时,有的需要去外网下载依赖。折腾之后记录一种简易的安装方式。

阅读全文 »

Android SDK 当中原来有一个 Tools 工具包,全名 Android SDK Tools,其中的 DDMSuiautomatorviewer 是原来那个时代必不可少的工具。现在这些功能已经被 Android Studio 替代,导致工具没人维护,很有可能已经运行不起了来了。

有时候需要临时调试一下应用,搭 AndroidStudio 环境比较麻烦。可以考虑继续用工具包内的工具来调试。

阅读全文 »

最近由于需要远程进行开发联调,经常需要外发联调版本镜像。

这些镜像动辄数百兆,奈何网络质量堪忧,传输这些镜像成为整个流程最大的阻塞点。

为了减小镜像文件的大小,使用了 bsdiff 工具制作差分包,因为本身改动很小,可以实现将几百兆的文件差分为几兆的差分包,大大加速版本传输。

但使用 bsdiff 仍然有个痛点:生成差分包太慢了,几百兆的镜像需要十几分钟。

忍无可忍无需再忍,找到了它的替代工具:大名鼎鼎的 Zstd,它也能制作差分包,并且速度和质量直接秒杀 bsdiff

网上使用 bsdiff 的人多,使用 Zstd 的人少,写篇笔记记录一下用法。

阅读全文 »