在之前的博客中介绍了一个差分包工具 zstd
(虽然说人家的专业是压缩软件,谁让它的差分能力那么出众呢)。
这货很能打,用起来也很爽。但是有个痛点就是制作差分包的时候有文件大小限制:不支持大于 2G
的文件。
但是在使用中经常遇到这种情况,为了彻底不再忍受 bsdiff
那蜗牛般的速度,遂决定通过修改 ztsd
源代码来支持对 2G
文件的支持。
在之前的博客中介绍了一个差分包工具 zstd
(虽然说人家的专业是压缩软件,谁让它的差分能力那么出众呢)。
这货很能打,用起来也很爽。但是有个痛点就是制作差分包的时候有文件大小限制:不支持大于 2G
的文件。
但是在使用中经常遇到这种情况,为了彻底不再忍受 bsdiff
那蜗牛般的速度,遂决定通过修改 ztsd
源代码来支持对 2G
文件的支持。
Debian
的 apt
软件包仓库自带的 GoLang
版本太低了, 一般都是手动安装. 步骤比较简单, 记录一下.
最近想写点桌面小工具,语言已经确定了用 Go
,于是把市面上常见的几个 UI
库简单对比了一下。
除了对比,也会记录一下我对它们的主观评价,便于下次使用的时候参考。
评价的目标是用于个人使用,会考虑性能、资源消耗、依赖以及上手难度等维度。性能数据只做浅度分析,场景是跑一个 Demo
用例,分析磁盘、内存、CPU的消耗情况。
在 Windows
上编译 GUN
的 C/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-w64
是 MinGW
的升级版,MinGW
是一个 GNU
编译器链,它提供了 C
和 C++
编译器,以及一些其他工具,如 make
、gdb
等。MinGW-w64
是 MinGW
的一个分支,它提供了与 MinGW
相同的功能,但同时支持 64 位
和 32 位
的编译。
最近有个需求:有一个系统应用,在某个业务时执行了一些 shell
命令,操作系统中的网络接口。随着版本迭代需求演进,要把这些 shell
命令迁移到 framework
中执行。
想当然的认为没什么难度,但属实是踩了一坑。
Go
的模块默认从 GOPROXY
环境变量获取。这个变量默认指向 https://proxy.golang.org/
。
很遗憾正常情况国内是无法访问的。
好在国内和国外有一些镜像站,可以配置之后使用。
Git for Windows
是 Git
官方的 Windows
版本,它是基于 MSYS2-Mingw-w64
的,所以 Git for Windows
也是一个微型的 MSYS2
。
但是 Git for Windows
安装后却没有 MSYS2
的包管理器 pacman
,可以考虑手动安装。
网上大部分博客的描述都已经过时,有的需要去外网下载依赖。折腾之后记录一种简易的安装方式。
生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率。
Android SDK
当中原来有一个 Tools
工具包,全名 Android SDK Tools
,其中的 DDMS
、uiautomatorviewer
是原来那个时代必不可少的工具。现在这些功能已经被 Android Studio
替代,导致工具没人维护,很有可能已经运行不起了来了。
有时候需要临时调试一下应用,搭 AndroidStudio
环境比较麻烦。可以考虑继续用工具包内的工具来调试。
最近由于需要远程进行开发联调,经常需要外发联调版本镜像。
这些镜像动辄数百兆,奈何网络质量堪忧,传输这些镜像成为整个流程最大的阻塞点。
为了减小镜像文件的大小,使用了 bsdiff
工具制作差分包,因为本身改动很小,可以实现将几百兆的文件差分为几兆的差分包,大大加速版本传输。
但使用 bsdiff
仍然有个痛点:生成差分包太慢了,几百兆的镜像需要十几分钟。
忍无可忍无需再忍,找到了它的替代工具:大名鼎鼎的 Zstd
,它也能制作差分包,并且速度和质量直接秒杀 bsdiff
。
网上使用 bsdiff
的人多,使用 Zstd
的人少,写篇笔记记录一下用法。