Codeforces 1324B: Yet Another Palindrome Problem
Codeforces 1324B Rust 二解.
Codeforces 363B C++/Rust 一解, 以及 Rust 在竞赛中的一些事项.
本文主要探讨如何使用 Android 项目包含的 gradlew
命令行程序签名 APK 文件. 这同时适用于 Debug 和 Release 等多个 variants. 以下以 Linux/OS X 环境为例.
笔者编译环境为 Gradle 8.0+ 和 Kotlin Gradle Settings, 对于 Groovy Gradle Settings 可能无等效方案.
“WAV” 全名 “Waveform Audio File Format”, 是一种常见的存储音频信息的文件格式标准, 从其名称上即可看出其存储的是音频的波形信息. 一般 WAV 存储的音频是未压缩的, 且遵循 RIFF 标准来构建文件内容, 相较于其他音频格式省去了解压缩等处理, 复杂度较低. 本文将通过一个真实的 WAV 格式文件示例, 一一说明 WAV 文件格式中各个数据块的含义和位置, 并提供简单地读写 WAV 文件的代码实现, 并最终尝试生成自定义波形的 WAV 文件. 本文除涉及 WAV 格式最重要的文件头和数据块之外, 还将讲解 LIST-INFO 元信息格式在 WAV 中的应用.
本文将覆盖 TiddlyWiki Node.JS 版本在 Arch Linux 上的安装, 并涉及配置 TiddlyWiki 服务, 添加自定义插件, 在 Cloudflare 代理 DNS 的情形下设置 Caddy 反向代理的内容.
笔者在 ASUS Zenbook S 13 OLED (UM5302TA) 上安装 Arch Linux 时, 发现仅使用 Arch Linux 官方提供的 linux 或 AUR 上的 linux-mainline 等系统 packages 无法修复一些影响使用体验的问题. 其中一些问题已经得到了有效的解决方法, 乃至被添加入 Linux 源码中; 一些问题的 patch 尚未被纳入 Linux 源码库; 还有一些问题仍无解决方案.
修复这些问题的主要方式是在 Linux 内核源码中添加 patch, 或者是使用其他的方式 (例如修改 Bootloader 的行为) 来 “动态” 添加部分系统功能. 这些问题的大部分 patch 已经有了更为自动化的解决方案.
值得注意的是, 本文提及的各种 patch 理论上可以应用于其他发行版.
本文将主要利用 GNU Privacy Guard (简称 “GnuPG” 或 “GPG”) 完成信息的加密, 解密和验证任务. 本文不会对 GPG 的工作原理以及 OpenPGP 的规范 (参见 RFC 4880) 做过多的解读. 仅针对完成上述的任务而言, 只需要对其了解大体的情况即可.