
All Posts
Currently at page #2 in 3 pages
10 entries in this page
对 Rust 错误处理的思考和 anyerr
错误处理是 Rust 中核心的一部分,从标准库中的 Result<T, E> 和 Error 到社区的 anyhow、thiserror、color-eyre、snafu 等 crates,可见其重要地位。但是在我看来,这些仅仅 …
统一 Linux GUI 框架主题和外观
在 Linux 下,GUI 外观配置一直是一个复杂的话题。本文试图梳理 Qt 和 GTK 两种 GUI 框架的相关概念,并给出不同情况下的配置方案,实现外观的统一。 本文讨论的 Qt 包括 Qt 5 和 Qt 6,GTK 包括 GTK …
用 NixOS 部署 Minecraft 服务器
紧张的考试周过后,终于有时间和朋友玩 Minecraft 了。为了方便进行多人游戏,我和 @whitepaperdog 决定购买一台云主机作为服务器。鉴于 NixOS 强大的 reproducibility 以及我这半年使用 NixOS 的 …
体验 Helix 编辑器
最近发现了一个用 Rust 写的 Vim-like 编辑器 Helix,用有强大的性能和各种开箱即用的功能。经过短暂时间的体验,我认为 Helix 已经可以在大部分领域替代 Vim/Neovim/VS Code。 性能 作为一款用 Rust …
用 Rust 开发 Brainfuck 解释器
项目地址:https://github.com/StarryReverie/brainfuck-interpreter Brainfuck 是什么就不具体介绍了,可以看这里。以下简称 bf。 这个解释器实现总体上是比较简单的,但是相比其他的 …
Python 网络爬虫获取 SYZOJ AC 代码
写本文之前,我共有两百多道题目在校内 OJ 上通过,由于某些原因,想要保存这些代码,于是想到使用 Python 实现自动爬取代码。同时考虑到效率问题,决定使用 aiohttp 编写一个高性能异步爬虫。 实现目标分析 这个爬虫需要能够爬取所有 …
MultiGenerator 使用文档
概述 MultiGenerator 作为早年我的试验项目,已不再适合于实际使用。如果想要生成数据,请使用性能更高且更简单的 Rust 实现:data-gen-rs。 MultiGenerator 是一个为 OI 而生的多线程并行数据生成库, …
二分图匹配学习笔记
二分图 定义 如果一个图 G=(V,E)G=(V,E)G=(V,E) 中的结点可以被分为两个部分,且两个部分之内的点互相没有连边,则称这种图为二分图。如果每个结点的度数相等且都为 kkk,则称这种二分图为 kkk - 正则二分图。 判断 对 …
莫比乌斯反演学习笔记
莫比乌斯反演可以用于优化一类式子的计算。 莫比乌斯函数 定义 莫比乌斯函数的定义如下: μ(n)={0∃ p2∣n∧p>1(−1)kn=∏i=1kpi \mu(n)= \begin{cases} 0 & \exists\ …
同余方程学习笔记
解各种同余方程是同余问题的一个重要部分,本文介绍各种同余方程的求解方法。 二元线性不定方程 形式 不定方程的范围很广泛,只要没有确定的解的方程都可以叫不定方程。本文主要讨论数论中的不定方程。 ax+by=c (a,b,c,x,y∈Z) …