运算放大器
note

稍微庆祝一下我找到了失踪了两年的笔记本 🎉️,这篇笔记就是从我的这个笔记本上扒下来的。

这是一个运算放大器,它是一种模电的设备。VS+ 和 VS- 是运算放大器的电源接口,实际应用时会用到,但是在制作原理图时为了方便常常会省略画出。V+ 和 V- 之间是几乎绝缘的,运算放大器最直接的作用就是感知 V+ 和 V- 之间的电压差,然后放大。放得非常大: $$ V{OUT} = \begin{cases} a (V+ - V-), a(V+ - V_-) \lt V_S\\\\ VS, a(V+ - V_-) \geq V_S \end{cases} $$ 其中 a 就是放大倍数,我们常常只知道这是一个很大的数,它的数值可能是几百万,但我们常常不知道他的具体值。不同厂商生成的不同型号的运算放大器的放大倍数会有不同,甚至于同一个运算放大器的放大倍数也极其不稳定、易受温度影响。

那么如何减少运放受温度的影响并控制它的放大倍数呢?

(这里我们省略了电源接口,并假设电源可以提供足够高的电压。)

首先运算放大器会将 V+ 和 V- 之间的电压放大: $$ V{OUT} = a (V+ - V-) $$ 其中 V+ 就是 VIN。而 V- 接在 Rf 和 Rg 分压的 VOUT 和 GND 之间,所以: $$ V- = V_{OUT} \cdot \frac{R_g}{R_f + Rg} $$ 代入: $$ V{OUT} = a (V{IN} - \frac{V{OUT} \cdot R_g}{R_f + Rg}) $$ 左边是 VOUT,右边也有 VOUT,我们本能地变形一下式子: $$ V{OUT}(1 + \frac{a \cdot R_g}{R_f + Rg}) = a \cdot V{IN} $$

$$ V{OUT} = \frac{a \cdot V{IN}}{1 + \frac{a \cdot R_g}{R_f + R_g}} $$

Cloudflare 成功击毙了 Caddy server
blog

今天重启 caddy 时突然遇到这个状况,来来回回搞了一个半小时才解决。总之记录一下,顺便加些科普内容。

Caddy 是一个自动申请证书的 HTTPS 服务器软件。有点乱?没关系,我们捋一下。

写好一个网站后你需要怎么部署你的网站?你会租一台服务器,然后怎么做?

如果是一个静态网站,那么你可以直接将你网站的所有静态放在一个路径下,然后用一个软件监听这台服务器的 80 端口;如果有人访问你的域名指向的这台服务器的 IP,你就把那个路径下对应文件发给他。这样的一种软件叫做静态服务器软件,最简单的 python3 -m http.server 就是一个例子。

如果是一个动态的网站,也就是发送给访问者的内容是收到访问请求后每次动态生成的网站。要做这样的网站就可以写一些程序监听这台服务器的 80 端口,访问者将请求发给你写的程序,你写的程序生成各种文件后将文件发给访问者。这种网站就不需要使用一个静态服务器软件,你写的程序就是一个服务器软件。

但是很多情况下,我们还需要更多的功能。比如现在我想要给我的网站启用 HTTPS,这样我的用户和我网站之间发送的数据是加密的,不会被黑客窃取或篡改。要做到这个我是不是得给我的程序加上 TLS/SSL 的各种非对称加密算法?我想要在一台服务器上运行两个网站,但是 80 端口只有一个啊?我可以识别用户请求时发来的 HTTP header,这里面包含了用户到底请求的是那个网站,然后再把对应的网站通过 80 端口发给他,这样我就可以在一台服务器上运行多个网站了。这些程序逻辑总不会都要我自己写吧?

当然不是,我们可以让我们写的动态网站程序监听其他端口,然后用一个软件将用户的请求转发到这个端口上,你写的程序收到请求后返回的内容再由这个软件通过 80 端口转发给用户。相当于给你的程序套了个壳,在这个壳上可以做各种修饰:加入证书启用 TLS 并监听 443,我们与用户之间的连接就有加密了;同时让多个端口通过 80 端口转发,一台服务器上就可以运行好几个网站了;这种软件叫服务器软件。

运用最广泛的两种服务器软件是 Apache httpd 和 Nginx。而 Caddy 与这两者最大的区别就是 Caddy 会自动申请证书。

夏日最终章
blog

本来在这篇 blog 之前还有一篇我打算在夏初写的 blog 叫 “夏日吟” (chant-of-summer) 的,但因为我一直没想好要写什么于是一直拖了四个多月。眼看就立秋了,想着再不留下点什么这个夏天就没有我的足迹了,所以就有了这篇 “夏日最终章”。

从哪里说起好呢?先说我对夏天的感觉吧。尽管很多人对夏天有着很特殊的情感、夏天也被赋予了各种各样的寓意。但可能是因为我在夏天出生的缘故,我对夏天是从来没有什么好印象的。我对夏天的感觉就是热,在烟熏火燎的一天天中,向来是很难看出什么诗意的。

相比之下我更喜欢冬天。尽管这意味着皲裂的嘴唇和疼痛的脸颊;意味着行动不便,有时拿起电烙铁和镊子都成为问题;意味着寒风,会从房门的缝隙钻入身上的每一个细胞。但有时候,低温可以衬托出人情的温暖。尽管很多时候,这是虚拟出来的——通红的脸颊、专注的注视。在这么多人聚集的教室里,本来是不会太冷的——就连这份寒冷都有点虚拟出来的意味了。

冬日的人对暖阳的渴望是很深沉的。但一旦暖阳真的到来,冬日就像一个容易醒来的梦,在暖阳的照耀下尽数消散。而在夏天,陷入梦境的人将长期在梦境中漂泊,即使醒来,也会感觉怅然若失。

而这,就是夏天对于我的意义:不甘。

不甘是一种微妙但并不美好的情感。它能让败北的敌军再度发起进攻,让已经分手的恋人重新走在一起,让人去一次次挑战已经被证伪的命题,去寻找不存在的可能性。

够了,真的够了。与其在这样的夏天中一直轮回下去,不如放下这个夏天,去寻找其他的出口。你是这么想的,并且也是这么做的。你摸到了一扇门,用力地拉着门把手,直到精疲力竭。

那个人还留在原地,他和你又一样的不甘,但他显然更加难过。“要过去吗?”你向自己提问。你再次做了不甘的奴隶。

林姆蒂克
blog

很久很久以前,雪山上居住着一个精灵,它的全身都由霜、雪构成。人类刚开始出现、炊烟第一次升起后,一朵朵水雾飘过当时世界上最高的雪山,于是便凝成了它。它整天坐在雪山顶上。它的听力十分灵敏,灵敏得可以听见人类的心声。每当人们遇到了困难,它就会小声地给出提示。雪山上的风很大,提示便随着风飘来飘去,有时候可以飘入遇困人的耳朵,有时则不能,有时甚至飘到了别人的耳朵里。

最早的语言出现后,有一批冒险者(现在应该称做科考队员)登上了这座雪山。正当他们愁于如何下山时,他们听到了它的指引,于是这批冒险者很顺利地下了山。这件事很快在他们的部落里传开了。人们把这个精灵叫做 “林姆蒂克”,这在当时的语言中就是 “灵感” 的意思。

时至今日,那门语言早就失传了,但 “林姆蒂克来了” 这个句式却流传至今。比如说,当你隔壁的苏珊阿姨想出了今天做什么菜时,她就会拍掌喊到:“啊!灵感来了!”

中世纪末期,有几个商人为了躲避仇人的追杀逃上了这座雪山。由于刚开始登不久他们就听到了林姆蒂克的指引,所以整个登山过程并没有多么艰难。登上后他们又按照提示在雪山上生了一簇火。火堆散发出大量的热量,很快林姆蒂克便被烤化了。林姆蒂克蒸腾开来,重新变为水雾,随风飘至各地,溶解在河流、江海之中。(也有一说是顺地下水进入河流)

所以当你遇到困难、难以解决时,最好喝一口水,没准林姆蒂克就来了呢。