如何在跳板机背后的服务器上使用 VS Code Remote - Containers

zh

假设有如下网络拓扑:

LOCALSERVER J202.X.X.XSERVER B10.X.X.XJUSERBUSER

其中 Server J 是跳板机,Server B 是目标服务器。现在需要让 VSCode 经由 Server J 连接到 Server B,并在 Server B 上使用 Remote - Containers 插件开启一个容器。

READ MORE

Cohesive Digests for Ints and Floats

en

On developing sdxtra there comes a problem that is to calculate cohesive digests for numeric values, in a way agnostic to their types. This post discusses the problem and presents solutions in Go, though the ideas are applicable to other languages as well.

READ MORE

Rust 中的隐匿概念 —— Place(位置)

zh

在本文开始前,我们先看一个奇怪的问题。以下两个函数,为什么 reborrow_good 能通过编译,而 deref_bad 不能?

fn reborrow_good(p: *const i32) {
let _p = &raw const *p;
}

fn deref_bad(p: *const i32) {
let _v = *p;
}
READ MORE

美术馆

zh

三号和她逛了美术馆。

此前她已经来过一次,说这里面有好些标榜着“现代艺术”的新奇玩意儿,一个人逛完感觉要长脑子了。美术馆外的景观更是一绝,隔江远眺,对岸高楼参差,繁华尽收眼底,只可惜当时天气不好,灰蒙蒙的。但现在秋高气爽,天空湛蓝而清澈,再没比这更适合出游了。

READ MORE

一尺之槌,日取其半,1075日而竭

zh

今天的故事源自数月前我在 r/learnpython 上回答的一个问题。以下是对该问题的转述:

将 64 位浮点数 1.0 不断除以 2,多少次后恰好变为 0?

x, i = 1.0, 0
while x:
x /= 2.0
i += 1
print(i) # 1075
fn main() {
let mut x = 1.0f64;
let mut i = 0;
while x != 0. {
x /= 2.0;
i += 1;
}
println!("{}", i); // 1075
}
let x = 1,
i = 0
while (x) {
x /= 2
i++
}
console.log(i) // 1075

古语云:“一尺之槌,日取其半,万世不竭”。但很显然,此话不适用于这个问题。浮点数的精度是有限的,当 x / 2 足够小时,浮点数终无法表示,便会得到结果 0。如以上代码所示,循环将终结在第 1075 次。

1075 次。这表明 64 位浮点能表示的最小数在 $2^{-1075}$ 这个量级,再小的数超出了表示范围,也就归于零了。但 1075 这个数很奇怪,它离 1024 很近,但又多出来一些,有零有整的,这是为什么呢?

READ MORE

老生常谈:使用 Cloudflare 自选 IP 加速站点访问

zh

本站此前是依托 Github Pages 搭建的,即静态文件托管于 Github 上,再将自定义域名 i.hsfzxjy.site CNAME 到 hsfzxjy.github.io。这种方案免费是免费,但国内的访问速度不甚良好,有几个省甚至出现了超时的现象。为了优化访问,本站现将静态文件迁移至 Cloudflare Pages 上,并使用 Cloudflare 的自选 IP 加速访问。

READ MORE

辩义 State、Nation 与 Country

zh

State、Nation 与 Country,汉语皆常译为“国家”。事实上在当代英文的多数使用场景中,这三个词的的确确可互换表达相同的意思。但在某些场合中,表达者会斟酌其细微语义差别以突出重点,此时若再通译为“国家”,难免有些不准确,乃至引起不必要的误会。

READ MORE

将 Base64 编码的数据快速转换为 Uint8Array

zh

为了方便节省请求数,有时我们会将二进制数据以 Base64 编码的形式嵌入 HTML 或 JavaScript 中,再于运行时解码成 Uint8Array,进行后续运算。然而浏览器没有提供直接的 API 来完成这种解码转换,需要我们自己实现。本文介绍两种快速的解码方法。

READ MORE