最近更新 | Last Updated
Prenote
NOTICE: This content is presented as
git diff.
更新记录(2026-06-25 04:27:54 +0000 | 42ef30c8)
Summary
- Generated at:
2026-06-25 04:27:54 +0000 - Base commit:
42ef30c8 - Diff source:
dbc7e51a341901d0f27baa9a9a3f062ba8cda3fe..42ef30c8fea50c0452594c4e15499249cbe0e96e - Changed files:
2 - Total lines:
+40 / -0
Index
- src/SUMMARY.md
+1 / -0 - src/阅读/每日一文/无名火起-希区柯克.md
+39 / -0
Diffs
src/SUMMARY.md
+1 / -0 Click to expand diff
diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index 1cde85bb..dd378c59 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -1118,6 +1118,7 @@
- [所有女生要知道](阅读/其他/书籍/所有女生要知道.md)
- [意象的帝国:诗的写作课](阅读/其他/书籍/意象的帝国:诗的写作课.md)
- [每日一文 | Daily Article](阅读/每日一文/每日一文.md)
+ - [无名火起 - 希区柯克](阅读/每日一文/无名火起-希区柯克.md)
- [报复 - 希区柯克](阅读/每日一文/报复-希区柯克.md)
- [遇到百分百女孩 - 村上春树](阅读/每日一文/遇到百分百女孩-村上春树.md)
- [生活 - 乌尔法特](阅读/每日一文/生活-乌尔法特.md)
src/阅读/每日一文/无名火起-希区柯克.md
+39 / -0 Click to expand diff
diff --git "a/src/\351\230\205\350\257\273/\346\257\217\346\227\245\344\270\200\346\226\207/\346\227\240\345\220\215\347\201\253\350\265\267-\345\270\214\345\214\272\346\237\257\345\205\213.md" "b/src/\351\230\205\350\257\273/\346\257\217\346\227\245\344\270\200\346\226\207/\346\227\240\345\220\215\347\201\253\350\265\267-\345\270\214\345\214\272\346\237\257\345\205\213.md"
new file mode 100644
index 00000000..61916983
--- /dev/null
+++ "b/src/\351\230\205\350\257\273/\346\257\217\346\227\245\344\270\200\346\226\207/\346\227\240\345\220\215\347\201\253\350\265\267-\345\270\214\345\214\272\346\237\257\345\205\213.md"
@@ -0,0 +1,39 @@
+# 无名火起
+
+*希区柯克*
+
+ “现在,亨利太太,请尽可能详细地告诉我们,是什么一连串的大事,导致了——嗯,促成了这个悲剧。”
+
+ “是,法官大人。我想第一件事开始于星期天晚上。那天我们正举行宴会,你知道,我们买了许多新出的、昂贵的唱片,准备听听音乐,跳跳舞,好好玩一通,可是宴会还没有开始,唱片机就出了毛病,好听的摇滚乐没有出来,却放出了许多难听的噪音。
+
+ “我丈夫立刻打电话找人,希望立刻过来看看,可是对方说要到星期一上午才能过来。于是宴会的气氛开始低落,我们准备的唯一的娱乐就是音乐,没有了音乐,客人纷纷离去。首先是我丈夫的老板夫妇,这使我们非常尴尬,因为他们俩是主要客人,而且唱片花了我们不少钱。
+
+ “然后,星期一上午,烤面包机也出了毛病,开始我没有注意到,一直到嗅到焦味,才发现。该自动跳出的面包没有跳出,我丈夫喜欢吃焦一点的面包,但不喜欢焦成那样的。所以我又试了两次,结果一样,根本没有跳出来。最后我只好算了,因为家里没有面包了。
+
+ “我难以想像我丈夫吃不上早餐的情形,所以,我比平时早些开车送他上班,送他到办公室附近的一家饭店吃早餐。
+
+ “嗯,在我开车回家的途中,才开了一会儿,发动机就开始出毛病,汽车冒烟,扑扑直响,差不多开不动了。最后,我送到一家修理厂,那里的一个修理工掀开车头盖,听听敲敲,最后说,汽车零件没有调和好,什么油箱里的浮漂堵住了,或爆裂了,我最好叫辆出租车回家,因为要到那天下午,或第二天,或第三天才能修好。
+
+ “然后,回到家,我才发现我把烤面包机忘在汽车里了,也忘了买条面包,因此,我去找邻居玛丽——在她那里吃了一顿午饭,同时和她聊聊一连串不如意的事,诸如唱片机出来的噪音,烤面包机的不自动跳出,汽车发动机的毛病,那人又说是什么浮漂爆裂或阻塞什么的。嗯,玛丽说她不知道汽车里有什么浮漂,她只知道钓鱼的时候有浮漂,也许潜水艇有,可是不明白汽车要浮漂做什么用,除非是装上它,免得汽车涉水时沉下去等等。她也不明白,为什么一个爆裂的浮漂,会使汽车扑扑响,还冒烟。
+
+ “她说,汽车修理厂和一般的修理工,总是骗我们女人,说出一些怪名词,让你听不懂,然后狠狠地敲一笔,有时候没有毛病的,他也说有毛病,弄来修,而真有毛病的,他却不修。有一次,她家冰箱有毛病,来了个修理工,他告诉她,毛病出在热圈上,她说,她觉得受了侮辱,因为她确信自己并不笨,知道冰箱里面没有热圈,因为冰箱是要保持低温,不是保持高温,不像炉子什么的,而且摸摸弄弄要收她八十八元五角,可能根本就没有修什么。就像有些医生,小毛病,却说成大毛病,好多收你的钱。就像有个医生,告诉他叔叔,说他患有严重的胆结石,非开刀不可,但刀一开,取出的石头,肉眼几乎看不见,收取的费用,可以买比那块石头大六倍的钻石。
+
+ “嗯,法官大人,可以想像我离开玛丽家时的心情。回到家,我打开电视机,要看我最喜欢的节目,我要看爱丽丝是不是流产,鲍比是不是发现自己的弟弟就是自己儿子的父亲,小彼得要变女孩或男孩,结果,打开电视,银幕跳跃——”
+
+ “跳跃?”
+
+ “是的,法官大人,我们家电视机是常有毛病,但这样猛跳倒是第一次,我坐在那里发呆,越想越生气,因为这一系列的修理,要花很多钱;会弄得我手头很紧张的。正在这时,有人敲门。原来是来修唱片机的人。
+
+ “他一看到电视机猛跳的样子,就走过去,扭了一下一个小钮。
+
+ 屏幕立刻清楚了。他告诉我,毛病出在垂直控制上。正像玛丽说的那样,修理工就想骗不懂机械的女人,为了多敲点钱。他就是那样的,而我不让他得逞,因为我懂得垂直是表示上下的,而他并没有做什么上下的事,只扭动了一个小钮。
+
+ “然后,他走到唱片机那儿,打开,听听,然后关掉,取出工具,递给我一把榔头,要我替他拿着,然后他开始拆唱片机,就像医生在进行大手术一样,为了多赚我一点钱。当他把东西全部拆下来后,他说这——那。”
+
+ “是的,亨利太太,请说下去。那人说什么?”
+
+ “你不会相信的,法官大人,他说我们家唱片机的低音大喇叭爆了,小喇叭的尖声线松了,然后——然后——”
+
+ “然后你就——”
+
+ “是的,法官大人,就在那个时候,我无名火起,举起他递给我让我帮他拿的那把榔头,狠狠地砸在他头上。”
\ No newline at end of file
更新记录(2026-06-24 04:22:24 +0000 | dbc7e51a)
Summary
- Generated at:
2026-06-24 04:22:24 +0000 - Base commit:
dbc7e51a - Diff source:
29408fe6aa4c5892929edf0f13a2f12ef69b3250..dbc7e51a341901d0f27baa9a9a3f062ba8cda3fe - Changed files:
2 - Total lines:
+60 / -0
Index
- src/SUMMARY.md
+1 / -0 - src/阅读/每日一文/报复-希区柯克.md
+59 / -0
Diffs
src/SUMMARY.md
+1 / -0 Click to expand diff
diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index 8943ea2b..1cde85bb 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -1118,6 +1118,7 @@
- [所有女生要知道](阅读/其他/书籍/所有女生要知道.md)
- [意象的帝国:诗的写作课](阅读/其他/书籍/意象的帝国:诗的写作课.md)
- [每日一文 | Daily Article](阅读/每日一文/每日一文.md)
+ - [报复 - 希区柯克](阅读/每日一文/报复-希区柯克.md)
- [遇到百分百女孩 - 村上春树](阅读/每日一文/遇到百分百女孩-村上春树.md)
- [生活 - 乌尔法特](阅读/每日一文/生活-乌尔法特.md)
- [饺子 - 梁实秋](阅读/每日一文/饺子-梁实秋.md)
src/阅读/每日一文/报复-希区柯克.md
+59 / -0 Click to expand diff
diff --git "a/src/\351\230\205\350\257\273/\346\257\217\346\227\245\344\270\200\346\226\207/\346\212\245\345\244\215-\345\270\214\345\214\272\346\237\257\345\205\213.md" "b/src/\351\230\205\350\257\273/\346\257\217\346\227\245\344\270\200\346\226\207/\346\212\245\345\244\215-\345\270\214\345\214\272\346\237\257\345\205\213.md"
new file mode 100644
index 00000000..e0af0179
--- /dev/null
+++ "b/src/\351\230\205\350\257\273/\346\257\217\346\227\245\344\270\200\346\226\207/\346\212\245\345\244\215-\345\270\214\345\214\272\346\237\257\345\205\213.md"
@@ -0,0 +1,59 @@
+# 报复
+
+*希区柯克*
+
+ 今晚我要报复。我已经等了二十五年,二十五年来,我心中充满憎恨。今天晚上,我要报复了。
+
+ 说实话,我不知道莱丽看中我什么,大概是我的幽默感吧。我长得不英俊,没什么钱,聪明是有点儿,但没有到可以炫耀的程度。
+
+ 我当过兵,到过欧洲和太平洋,但没有做过什么了不起的事。
+
+ 也许是我的幽默感,使我每个周末都能和漂亮妞儿约会。平常有空的时候,我身边也不缺乏伴侣。女孩子们说,我很有趣。
+
+ 我很喜欢笑,现在仍然如此。笑是全球语言,是连结各种族、各阶级、各宗教的链子,也是最好的医药。
+
+ 总之,也许我的笑吸引了莱丽。她本来可以随心所欲挑男人的。莱丽可真是漂亮,一头柔软的头发,披在她雪白的肩膀上,一张大理石般的脸,修长纤细的指头,指甲像珍珠一样美丽,她活脱脱就是个女神。
+
+ 我在一个舞会上认识她,当时我带着女伴,莱丽是和另一个男士来的。结果离开时,我是和莱丽一起走的。
+
+ 订婚三个月后,戴维森走进我们的生活。说得更确切些,他是“跛”进的。他的脚中了纳粹的霰弹,戴着紫星勋章,英俊整洁的脸上,蓄着八字胡。
+
+ 他聪明、狡黠。
+
+ 星期天上午在教堂,他第一次接近我们。牧师布完道,唱完诗歌后,他向我们做了自我介绍,说是新来此地,并且邀请我们第二天到他家吃晚饭。我立刻感觉不妙。但是,在教堂里,我能说什么呢?尤其是莱丽,表现得非常热情。
+
+ 第二天晚上,我们到他家,只有我们三个人,没有其他女孩。
+
+ 戴维森的意图非常明显。他长得很英俊,充满活力,对莱丽一见钟情。我想装出一副宽宏大度的样子,但是,没有用,事情的发展就像是我不在场一样。
+
+ 莱丽非常高兴。戴维森虽然不比我有钱,但是,他想办法在桌子上摆出我没有吃过的食物,和从没听说过的酒。恐惧和憎恨交织在我胸中,几乎把我闷死。我吃不下饭,而莱丽则吃得兴高采烈,完全忘记了我这个未婚夫。
+
+ 饭后不久,我们就告辞了,因为第二天我得上班,我说我需要早点休息。戴维森说,如果莱丽想多坐一会儿的话,回头他可以送她回家。她看看我,眼睛里很明显已经同意了。我很不高兴地说:“这不好。”拉着她离开了。
+
+ 两天后,她又和他一起吃晚饭,并没有邀请我,我的嫉妒开始变成憎恨。
+
+ 那个周末,莱丽借口说头疼,取消了和我的约会。晚些时候,我打电话给她,看看她头疼是否好些,结果发现她不在家。
+
+ 我说过,我喜欢开朗的大笑。几个星期后,他们一起来看我,莱丽还给我订婚戒指,并告诉我,她就要和戴维森结婚了,这时,我勉强大笑一声,告诉他们我毫不介意,并且与戴维森热烈握手,问他们要我做什么。
+
+ 戴维森说,他在这里人生地不熟,我是他唯一的朋友,所以能不能——我咽下心中的愤怒,接受了戴维森给我的“荣誉”。下一星期,当他和莱丽结婚时,我站在他身边,成为他的伴郎。结婚仪式上,我一直笑容可掬,给他递戒指,吻他的新娘,而实际上,我的心几乎要爆炸了。
+
+ 婚宴非常丰盛可口,那是戴维森亲自选择的菜。就在我看见莱丽咯咯笑着咬一口戴维森递给她的蛋糕时,我心中产生了一个念头,一个非常聪明的念头。
+
+ 我要报复,戴维森偷走她,偷走莱丽,我的莱丽,我要报复!
+
+ 当我向快乐的新婚夫妇扔米粒时,我的笑声是非常真诚的,我笑着看他们走下我们相逢时的教堂台阶,进入汽车,开走了。
+
+ 是的,我已经报复了,只是……
+
+ 今晚,就是今晚。
+
+ 多年来,我一直和他们交往,现在我是他们的朋友,他们家的常客。每当他们邀我吃饭时,我就带着蛋糕和巧克力,作为礼物。
+
+ 我很关心莱丽,鼓励她吃,眼看我报复的种子,发芽、成长、开花、结果。
+
+ 今晚,就是今晚,时机已经成熟了。
+
+ 我探过身,拍拍戴维森的肩膀,他抬起脸,满脸皱纹,一头白发。我指指坐在房间对面的莱丽。她现在身体圆乎乎的,有两百多磅重,皮肤软塌塌的,面孔又红又粗,双手粗糙,有许多裂缝……我放声大笑……然后,我轻声问:“你想不到她会变成一个汽油桶吧?”
+
+ 戴维森瞪着我,他又妒又恨又悔,他知道我太太娇小玲珑,年轻美艳。
\ No newline at end of file
更新记录(2026-06-22 14:21:21 +0000 | 65ecb503)
Summary
- Generated at:
2026-06-22 14:21:21 +0000 - Base commit:
65ecb503 - Diff source:
ccc2c986f02a4d16f8204ce908b9066a5eb070d4..65ecb5033ecb9a5ffe85c6e8209cd5d020813c8d - Changed files:
3 - Total lines:
+277 / -34
Index
- src/学习与进步/医学/内科学/第六部分:血液系统疾病/第六章:溶血性贫血.md
+43 / -33 - src/学习与进步/计算机/备忘录/使用Macmini当作家庭服务器的一系列问题.md
+233 / -0 - src/年度计划.md
+1 / -1
Diffs
src/学习与进步/医学/内科学/第六部分:血液系统疾病/第六章:溶血性贫血.md
+43 / -33 Click to expand diff
diff --git "a/src/\345\255\246\344\271\240\344\270\216\350\277\233\346\255\245/\345\214\273\345\255\246/\345\206\205\347\247\221\345\255\246/\347\254\254\345\205\255\351\203\250\345\210\206\357\274\232\350\241\200\346\266\262\347\263\273\347\273\237\347\226\276\347\227\205/\347\254\254\345\205\255\347\253\240\357\274\232\346\272\266\350\241\200\346\200\247\350\264\253\350\241\200.md" "b/src/\345\255\246\344\271\240\344\270\216\350\277\233\346\255\245/\345\214\273\345\255\246/\345\206\205\347\247\221\345\255\246/\347\254\254\345\205\255\351\203\250\345\210\206\357\274\232\350\241\200\346\266\262\347\263\273\347\273\237\347\226\276\347\227\205/\347\254\254\345\205\255\347\253\240\357\274\232\346\272\266\350\241\200\346\200\247\350\264\253\350\241\200.md"
index f9b1be8b..d16653dd 100644
--- "a/src/\345\255\246\344\271\240\344\270\216\350\277\233\346\255\245/\345\214\273\345\255\246/\345\206\205\347\247\221\345\255\246/\347\254\254\345\205\255\351\203\250\345\210\206\357\274\232\350\241\200\346\266\262\347\263\273\347\273\237\347\226\276\347\227\205/\347\254\254\345\205\255\347\253\240\357\274\232\346\272\266\350\241\200\346\200\247\350\264\253\350\241\200.md"
+++ "b/src/\345\255\246\344\271\240\344\270\216\350\277\233\346\255\245/\345\214\273\345\255\246/\345\206\205\347\247\221\345\255\246/\347\254\254\345\205\255\351\203\250\345\210\206\357\274\232\350\241\200\346\266\262\347\263\273\347\273\237\347\226\276\347\227\205/\347\254\254\345\205\255\347\253\240\357\274\232\346\272\266\350\241\200\346\200\247\350\264\253\350\241\200.md"
@@ -360,31 +360,28 @@
##### 地中海贫血
-1. 由于控制某个多肽链合成的基因突变,使相应肽链合成减少
-2. 可导致溶血性贫血
+1. 由于控制某个多肽链合成的基因突变,使珠蛋白肽链合成减少而导致溶血性贫血
3. 特点
- 1. 靶形 `RBC >10%`
- 2. 呈小细胞低色素性贫血
- 3. `RBC` 脆性降低
- 4. 属于血管外溶血
+ 1. 靶形 `RBC >10%`,呈小细胞低色素性贫血
+ 2. `RBC` 脆性降低
+ 3. 属于血管外溶血
5. 常有贫血、黄疸、肝脾肿大
-##### 异常Hb病
+##### 异常 Hb 病
-1. 由于控制某个多肽链的基因突变,引起珠蛋白肽链结构异常
-2. 属于溶血性疾病
+1. 由于控制某个多肽链的基因突变,引起珠蛋白肽链结构异常的溶血性疾病
3. 特点
- 常染色体显性遗传
- - 以发绀、血管阻塞为主要表现
+ - 以溶血、发绀、血管阻塞为主要表现
- 最常见的是不稳定 `Hb` 病和 `HbS` 病(镰状细胞综合征)
### 五)自身免疫性溶血性贫血
-#### 一)概述
+#### 概述
##### 定义
-- 自身免疫性溶血性贫血是由于免疫功能紊乱产生抗自身红细胞抗体
+- 由于免疫功能紊乱产生抗自身红细胞抗体
- 抗体与红细胞表面抗原结合并激活补体
- 使红细胞被破坏或被单核-巨噬细胞系统吞噬
- 从而导致溶血性贫血
@@ -392,58 +389,71 @@
##### 特点
1. 血常规有典型溶血改变
-2. 血涂片可见球形 `RBC` 增多
-3. `RBC` 可有自凝或被吞噬现象
-4. `Coombs` 试验阳性
-5. 血管内及血管外溶血均可存在
+2. 血涂片可见
+ - 球形 `RBC` 增多
+ - `RBC` 可有自凝或被吞噬现象
+
+3. `Coombs` 试验阳性
+4. 血管内及血管外溶血均可存在
-#### 二)分类
+#### 分类
- 按机体产生的抗自身 `RBC` 抗体类型及作用于 `RBC` 的最适温度分类
- 分为温抗体型和冷抗体型
-- 冷抗体型包括冷凝集素综合征(`CAS`)和阵发性冷性血红蛋白尿(`PCH`)
+ - 冷抗体型包括冷凝集素综合征(`CAS`)和阵发性冷性血红蛋白尿(`PCH`)
+ - 温抗体型可用抗人球蛋白试验(`Coombs`)检测
-| 类型 | 抗体最适温度 | 抗体类型 | 特征试验 | 在血中存在形式 | 主要溶血部位 |
-| --------------- | ------------ | ---------- | ---------------- | ----------------------------------- | -------------- |
-| 温抗体型 | `37℃` | 多为 `IgG` | `Coombs` 试验 | 多吸附于 `RBC` 表面,少量存在于血浆 | 血管外 |
-| 冷抗体型:`CAS` | 低温 | 冷凝集素 | 冷凝集素试验 | 多存在于血浆中 | 血管内及血管外 |
-| 冷抗体型:`PCH` | 低温 | 冷溶血素 | 【此处插入图案】 | 多存在于血浆中 | 以血管内为主 |
+- 
-#### 三)临床表现
+| 类型 | 发病率 | 年龄 | 抗体最适温度 | 抗体类型 | 特征试验 | 在血中存在形式 | 主要溶血部位 |
+| -------------------- | ----------- | ---------- | ------------ | ---------- | ------------- | ----------------------------------- | -------------- |
+| **温抗体型** | **80%-90%** | 成年女性 | `37℃` | 多为 `IgG` | `Coombs` 试验 | 多吸附于 `RBC` 表面,少量存在于血浆 | 血管外 |
+| **冷抗体型** :`CAS` | 10%-20% | 中老年女性 | 0-5℃ | 多为 `IgM` | 冷凝集素试验 | 多存在于血浆中 | 血管内及血管外 |
+| **冷抗体型** :`PCH` | 10%-20% | 青少年 | <20℃ | `IgG(D-L)` | 冷热溶血试验 | 多吸附于 `RBC` 表面 | 以血管内为主 |
+
+#### 临床表现
##### 温抗体型
-- 多有典型溶血症状和体征
+- 多有典型慢性血管外溶血的症状和体征
- 部分病人可伴血小板减少性紫癜,即 `Evens` 综合征
##### 冷抗体型
-1. `CAS`
- - 较温抗体型轻
- - 一般不明显影响日常活动
+1. 较温抗体型轻,一般不明显影响日常活动
+2. `CAS`
- 除贫血、黄疸外,寒冷季节可有一过性 `Hb` 尿发作
- 可有雷诺现象
-2. `PCH`
+3. `PCH`
- 罕见
- 经受寒冷数分钟至数小时后可发作
- 可出现腰背及下肢酸痛
- 可有高热、寒战
- 可出现 `Hb` 尿
+ - 伴贫血及黄疸
- 部分病人可伴脾肿大或含铁血黄素尿
-#### 四)治疗
+#### 治疗
##### 温抗体型
-1. 首选糖皮质激素
- - 有效率在 `80%` 以上
+1. **首选糖皮质激素**
+ - **有效率在 `80%` 以上**
2. 脾切除
- 适用于激素无效、激素需求量大或不耐受者
3. 利妥昔单抗
+ - 脾切无效可用
+
4. 免疫抑制剂
- - 适用于激素和脾切除无效者
+ - 适用于激素量大,或脾切除无效者,或脾切有禁忌证者
5. 输血
+##### 冷抗体型
+
+1. **保暖最重要**
+2. 激素欠佳,切牌无效
+3. 利妥昔单抗或免疫抑制剂可用
+
### 六)实战演练
#### 单题
src/学习与进步/计算机/备忘录/使用Macmini当作家庭服务器的一系列问题.md
+233 / -0 Click to expand diff
diff --git "a/src/\345\255\246\344\271\240\344\270\216\350\277\233\346\255\245/\350\256\241\347\256\227\346\234\272/\345\244\207\345\277\230\345\275\225/\344\275\277\347\224\250Macmini\345\275\223\344\275\234\345\256\266\345\272\255\346\234\215\345\212\241\345\231\250\347\232\204\344\270\200\347\263\273\345\210\227\351\227\256\351\242\230.md" "b/src/\345\255\246\344\271\240\344\270\216\350\277\233\346\255\245/\350\256\241\347\256\227\346\234\272/\345\244\207\345\277\230\345\275\225/\344\275\277\347\224\250Macmini\345\275\223\344\275\234\345\256\266\345\272\255\346\234\215\345\212\241\345\231\250\347\232\204\344\270\200\347\263\273\345\210\227\351\227\256\351\242\230.md"
index 5e30dbc6..2a3b07d6 100644
--- "a/src/\345\255\246\344\271\240\344\270\216\350\277\233\346\255\245/\350\256\241\347\256\227\346\234\272/\345\244\207\345\277\230\345\275\225/\344\275\277\347\224\250Macmini\345\275\223\344\275\234\345\256\266\345\272\255\346\234\215\345\212\241\345\231\250\347\232\204\344\270\200\347\263\273\345\210\227\351\227\256\351\242\230.md"
+++ "b/src/\345\255\246\344\271\240\344\270\216\350\277\233\346\255\245/\350\256\241\347\256\227\346\234\272/\345\244\207\345\277\230\345\275\225/\344\275\277\347\224\250Macmini\345\275\223\344\275\234\345\256\266\345\272\255\346\234\215\345\212\241\345\231\250\347\232\204\344\270\200\347\263\273\345\210\227\351\227\256\351\242\230.md"
@@ -162,6 +162,7 @@ services:
2. 注意一下挂载的数据卷 volumes 路径,我不确定是否可以往上爬路径,也没有测试是否可以连进服务器。还有下面的 environment 环境变量,这些玩意儿都是可以改的,改成自己需要的即可。
3. 但是听说 terraria 不支持原生的 ipv6,所以也许开了服务器也连不进去。我不知道。
4. **注意这儿拉的镜像是 arm64 的镜像。**
+5. 后续(2026.6.22):嗯,泰拉瑞亚原版服务器不支持 ipv6。
#### tmodloader 服务器
@@ -279,6 +280,238 @@ mv /app/mod/* /root/.local/share/Terraria/tModLoader/Mods/ # 复制 mod 文件
- Webhook URL:https://api.telegram.org/bot<bot_token>/sendMessage?chat_id=<chat_id>&text=DDNS%20Updated
- RequestBody 和 Headers 都可以不用填
+### Rust Desk
+
+- 按官方教程来的,直接拉的官方的 Docker 镜像,但因为是在 Macmini 上起的服务器,Mac 上的 Docker,宿主机和容器之间夹了一层 Linux VM,所以在 ports 和 network_mode 上面折腾了很久,不能用 network_mode: host,我不知道为什么,只能用 Bridge 桥接
+- docker-compose.yml 除了自定义的那些,关键的元素只能这么写……
+
+```yaml
+# =============================================================================
+# RustDesk 远程桌面服务器
+# =============================================================================
+# 包含两个容器:
+# hbbs - RustDesk ID/Rendezvous 服务器 (客户端发现 + NAT 类型检测)
+# hbbr - RustDesk Relay 服务器 (P2P 失败时的中继转发)
+#
+# 架构:
+# 客户端 → hbbs (ID 注册,获取对方地址,NAT 穿透)
+# 客户端 ↔ hbbr (P2P 失败时走中继转发流量)
+#
+# 访问: 客户端 ID 服务器/中继服务器均填写 <domain>
+#
+# 端口说明:
+# 21115/tcp - hbbs NAT 类型测试
+# 21116/tcp - hbbs TCP 打洞 + 连接
+# 21116/udp - hbbs ID 注册 + 心跳
+# 21117/tcp - hbbr 中继转发
+# 21118/tcp - hbbs WebSocket (Web 客户端支持)
+# 21119/tcp - hbbr WebSocket (Web 客户端支持)
+#
+# 数据: 持久化密钥和配置到 data/rustdesk/
+# =============================================================================
+services:
+ hbbs:
+ container_name: hbbs
+ image: rustdesk/rustdesk-server:latest
+ command: hbbs -r <domain>:21117
+ environment:
+ - ALWAYS_USE_RELAY=Y
+ volumes:
+ - ../../data/rustdesk:/root
+ ports:
+ - "21115:21115/tcp"
+ - "21116:21116/tcp"
+ - "21116:21116/udp"
+ - "21118:21118/tcp"
+ # network_mode: host
+ restart: unless-stopped
+ networks:
+ - homelab
+
+ hbbr:
+ container_name: hbbr
+ image: rustdesk/rustdesk-server:latest
+ command: hbbr
+ volumes:
+ - ../../data/rustdesk:/root
+ ports:
+ - "21117:21117/tcp"
+ - "21119:21119/tcp"
+ # network_mode: host
+ restart: unless-stopped
+ networks:
+ - homelab
+
+networks:
+ homelab:
+ external: true
+```
+
+- 然后,客户端上的设置,网络,ID 服务器设置为 `<domain>:<port>` 就行了,port 一般都是 21116
+- 中继服务器同样设置为 `<domain>:<port>`,port 一般是 21117
+- Key 的话,填 docker 起起来之后,挂载的 id_ed25519.pub 里面的公钥内容
+ - 务必要挂载数据卷,不然每次起服务器,都是一个新 Key,只有用旧 Key 的公私钥才能不用再配置客户端里面的 Key
+
+### Cloudflare Tunnel
+
+- 按照 Cloudflare 的 Dashboard 里面的 联网 -> Tunnels,新建一个一步步操作就行了
+- 建好之后,在路由里面添加新路由,subdomain 按照计划填就行了,路径可以不填,服务 url 因为我们是所有流量都经过 homelab 的 nginx 总代理,所以写 http://homelab-nginx:80 就行了
+ - 中间的域名就是 container_name,监听的端口 docker-compose 里面也有
+ - nginx 会自动帮我们把对应的流量转发到相应的路径
+ - 博客和图床都写的这个路径,只是 subdomain 不一样
+
+### 自建图床
+
+#### 概述
+
+- 其实本质上还是用的 Github 的仓库,但是有了个冗余备份
+- 博客所有图片链接全部换成了 https://img.tinysnow.cn,不再是 https://raw.githubusercontent.com/TinySnow/<repo_name>/main 了
+- 读者阅读博客时,页面会请求 https://img.tinysnow.cn
+ - 第一步,这个域名将会通过 Cloudflare DNS 解析到 Macmini 上
+ - 第二步,通过 Cloudflare Tunnel 访问内网服务,将这个流量转发到 Docker 容器的总 Nginx 网关
+ - 第三步,Nginx 网关会把流量转发到 image-sync 容器内
+ - 第四步,image-sync 会检查请求的路径(其实就是这个文件)存在不存在:如果不存在,会 fallback 到 github user content,返回重定向后的这个路径;存在就直接返回本地的资源了
+ - 用户直接访问 github user content 可能要比通过 cloudflare 解析到 macmini 花费的时间更长
+ - 第五步,每半个小时,image-sync 会主动 git pull 一次远程 repo,确保仓库是最新的
+- 这样 github 爆炸、被封号、仓库违反用户协议被删被屏蔽,本地都还有一个备份可用
+
+#### 步骤
+
+1. nginx 的 images.conf 文件
+
+```conf
+# =============================================================================
+# 图床配置
+# 本地优先,GitHub raw fallback
+#
+# 入口:
+# img.tinysnow.cn → Cloudflare Tunnel → homelab-nginx:80 (IPv4/HTTPS)
+# =============================================================================
+server {
+ listen 80;
+ server_name img.tinysnow.cn;
+
+ location / {
+ root /usr/share/nginx/html/images;
+ try_files $uri @github_fallback;
+ }
+
+ location @github_fallback {
+ proxy_pass https://raw.githubusercontent.com/TinySnow/GithubImageHosting/main$request_uri;
+ proxy_ssl_server_name on;
+ }
+}
+```
+
+2. 这样,就知道请求会往 /usr/share/nginx/html/images 走,然后,总 Nginx 网关的 docker-compose.yml 文件
+
+```yaml
+# =============================================================================
+# Nginx 反向代理 (Reverse Proxy)
+# =============================================================================
+# 统一入口: 所有 HTTP 请求通过此 nginx 实例路由
+# 监听:
+# 80 - 通用 HTTP 入口 (Portainer 代理, Blog/图床 静态文件)
+# 9264 - Blog IPv6 DynDNS 直连端口 (tinysnow.dynv6.net:9264)
+# 静态文件挂载:
+# TinySnowBlog → /usr/share/nginx/html/blog (博客)
+# data/images → /usr/share/nginx/html/images (图床)
+# 依赖: homelab 外部 Docker 网络 (需预先创建: docker network create homelab)
+# =============================================================================
+services:
+ nginx:
+ image: nginx:latest
+ container_name: homelab-nginx
+ ports:
+ - "80:80"
+ - "9264:9264"
+ volumes:
+ - ./nginx.conf:/etc/nginx/nginx.conf
+ - ./conf.d:/etc/nginx/conf.d
+ - ../../services/blog/TinySnowBlog:/usr/share/nginx/html/blog:ro
+ - ../../data/images:/usr/share/nginx/html/images:ro
+ restart: unless-stopped
+ networks:
+ - homelab
+
+networks:
+ homelab:
+ external: true
+```
+
+3. 这个文件把 /usr/share/nginx/html/images 映射到容器外的 data/images 目录,这个目录就是 git clone 下来的仓库
+
+4. 接下来是三个自定义 Docker 镜像相关的文件
+
+ - Dockerfile.poll
+
+ - ```dockerfile
+ # =============================================================================
+ # 图床轮询更新镜像 (Images Update Poller)
+ # =============================================================================
+ # 基于 Alpine,安装 git 和 openssh-client
+ # 每 30 分钟执行 sync-images.sh 检查并拉取图床仓库更新
+ # =============================================================================
+ FROM alpine:latest
+ RUN apk add --no-cache git openssh-client
+ COPY sync-images.sh /sync-images.sh
+ RUN chmod +x /sync-images.sh
+ RUN echo "*/30 * * * * /sync-images.sh >> /var/log/sync-images.log 2>&1" | crontab -
+ CMD ["crond", "-f", "-l", "2"]
+ ```
+
+ - docker-compose.yml
+
+ - ```yaml
+ # =============================================================================
+ # 图床自动同步服务 (Images Sync Poller)
+ # =============================================================================
+ # sync-images: 每小时 git pull 检查并更新图床仓库 (main 分支)
+ # 同步后 nginx 直接通过共享 volume 提供最新图片
+ # =============================================================================
+ services:
+ sync-images:
+ build:
+ context: .
+ dockerfile: Dockerfile.poll
+ container_name: sync-images
+ volumes:
+ - /Users/snow/homelab/data/images:/images
+ - /Users/snow/homelab/data/blog/logs/sync-images.log:/var/log/sync-images.log
+ restart: unless-stopped
+ networks:
+ - homelab
+
+ networks:
+ homelab:
+ external: true
+ ```
+
+ - sync-images.sh
+
+ - ```shell
+ #!/bin/sh
+ # =============================================================================
+ # 图床自动同步脚本
+ # cron 每 30 分钟触发一次
+ # 逻辑: 对比本地 HEAD 和远端 main 分支
+ # 有更新则 pull,否则跳过
+ # 日志: 输出到 /var/log/sync-images.log
+ # =============================================================================
+ cd /images
+ git fetch origin main 2>&1 || {
+ echo "$(date): fetch 失败,跳过"
+ exit 0
+ }
+ LOCAL=$(git rev-parse HEAD)
+ REMOTE=$(git rev-parse origin/main)
+ if [ "$LOCAL" != "$REMOTE" ]; then
+ git reset --hard origin/main
+ echo "$(date): 图床已更新 ($LOCAL -> $REMOTE)"
+ else
+ echo "$(date): 无更新,跳过"
+ fi
+ ```
## 感谢
src/年度计划.md
+1 / -1 Click to expand diff
diff --git "a/src/\345\271\264\345\272\246\350\256\241\345\210\222.md" "b/src/\345\271\264\345\272\246\350\256\241\345\210\222.md"
index b6e9c73b..4bca8f05 100644
--- "a/src/\345\271\264\345\272\246\350\256\241\345\210\222.md"
+++ "b/src/\345\271\264\345\272\246\350\256\241\345\210\222.md"
@@ -50,7 +50,7 @@
- [x] 第三章:缺铁性贫血(2026.6.17)
- [ ] 第四章:巨幼细胞贫血
- [x] 第五章:再生障碍性贫血(2026.6.18)
- - [ ] 第六章:溶血性贫血
+ - [x] 第六章:溶血性贫血(2026.6.22)
- [ ] 第七章:白细胞减少和粒细胞缺乏症
- [ ] 第八章:骨髓增生异常综合征
- [ ] 第九章:白血病