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