summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-11-24 10:55:56 +0800
committerEltrac <hi@guhub.cn>2025-11-24 10:55:56 +0800
commit638902527b4e26b6d5ca3d5e7256d56323b0dad6 (patch)
tree491de7580003c6a15b3233cc1d0c6e97cef57b04 /content
parentcc2423b6d8c38fadf04ece5efce44fe562ebb779 (diff)
docs: post weekly and update draft
Former-commit-id: 7eef3531d7c8d949de255af5ed747d1870960214
Diffstat (limited to 'content')
-rw-r--r--content/_drafts/go-philosophy.md6
-rw-r--r--content/posts/weekly/56.md23
2 files changed, 20 insertions, 9 deletions
diff --git a/content/_drafts/go-philosophy.md b/content/_drafts/go-philosophy.md
index a9eedf3e..0a1e6f58 100644
--- a/content/_drafts/go-philosophy.md
+++ b/content/_drafts/go-philosophy.md
@@ -11,13 +11,13 @@ toc: true
从这个月 10 号,水逆期开始,我就开始减少出门,宅在家里读一读书,捡一捡法语学习,看看音乐剧,还找了些新东西来学,Go 语言就是其中一个。一开始只是抱着好奇心探索,并没有什么功利心,不过越学越发觉,Go 真的很适合用来写高并发高性能的 Web 应用(而且越学越讨厌 Java)。
-学任何一门编程语言我都更喜欢直接上手写代码,一边写一边学基础语法,遇到不知道怎么实现的需求时再查阅文档。不过,这次学 Go 的一开始我发现了 [Go Proverbs](https://go-proverbs.github.io/) 这个网站,便在实战之外还花了不少时间阅读和理解这里的「名言警句」。这些 Go 语言编程相关的谚语大多来自 Rob Pike 在 2015 年的[一场演讲](https://www.youtube.com/watch?v=PAAkCSZUG1c),每一条都很有启发性,这篇文章就来逐条阐述我对它们的理解,其中有不少也可以用在 Go 语言以外的编程下。<!--more-->
+学任何一门编程语言我都更喜欢「不自量力」地直接上手写代码,一边写一边学基础语法,遇到不知道怎么实现的需求时再查阅文档。不过,学 Go 的一开始我发现了 [Go Proverbs](https://go-proverbs.github.io/) 这个网站,便在实战之外还花了不少时间研读这里的「名言警句」。这些 Go 语言编程相关的谚语大多来自 Rob Pike 在 2015 年的[一场演讲](https://www.youtube.com/watch?v=PAAkCSZUG1c),每一条都很有启发性,这篇文章就来逐条阐述我对它们的理解,其中有不少也可以用在 Go 语言以外的编程中。<!--more-->
## Don't communicate by sharing memory, share memory by communicating.
-这句话直接翻译过来是:不要用共享内存的方式通信,用通信的方式共享内存。
+这句话直接翻译过来是:不要用共享内存的方式通信,要用通信的方式共享内存。
-这其实有些令人费解,需要一些上下文来理解。Go 是一门可以通过非常优雅的方式实现并发的编程语言,异步编程若是要在多个线程之间同步信息,往往需要加锁,这是为了避免线程同时操作内存,导致冲突、数据准确性(integrity)被破坏等无法预测的问题。加锁一般指的是互斥锁(mutual exclusion object,简写作 `mutex`),线程操作数据时需要先获取对应的锁,如果锁被其他线程持有,则需要等待,获取到锁的线程才能执行操作,这保证数据操作是互斥的。
+这需要一些上下文来理解。Go 是一门可以通过非常优雅的方式实现并发的编程语言,异步编程若是要在多个线程之间同步信息,往往需要加锁,这是为了避免线程同时操作内存,导致冲突、数据准确性(integrity)被破坏等无法预测的问题。加锁一般指的是互斥锁(mutual exclusion object,简写作 `mutex`),线程操作数据时需要先获取对应的锁,如果锁被其他线程持有,则需要等待,获取到锁的线程才能执行操作,这保证数据操作是互斥的。
加锁是异步编程中的常见做法[^1],但 Go 程序员认为「锁是痛苦的」,不仅要创建锁、管理锁,还要想办法避免死锁等运行时错误,这类错误没法被编译器察觉,程序员排查起来很困难。所以,为了保证程序的安全性和可读性,应当避免使用锁。使用互斥锁保证数据通信安全的方法,就是这句话的前半句「communicate by sharing memory」,因为共享了内存,所以必须加锁,不然就会出现问题,而锁又会带来更多难题。
diff --git a/content/posts/weekly/56.md b/content/posts/weekly/56.md
index 989fe969..63c1d26a 100644
--- a/content/posts/weekly/56.md
+++ b/content/posts/weekly/56.md
@@ -1,13 +1,21 @@
---
title: 稻草人周刊 Vol.56
-subtitle:
+subtitle: 半个互联网崩溃了 6 个小时
tags:
-date: 2025-11-23T16:31:00
+ - AI
+ - Web
+ - 计算机
+ - 健康
+ - 生活
+ - 人际交往
+date: 2025-11-24T10:55:00
categories: 稻草人周刊
-banner:
-draft: true
+banner: https://image.guhub.cn/uPic/2025/11/chonging-at-night.jpeg
+draft: false
toc: true
endnotes:
+ - 封面图自摄,设备为 iPhone 15 Pro
+ - 封面图是从鸿恩寺森林公园的某个小路上拍到的夜景
---
{{< music cover="https://image.guhub.cn/picgo2025/71MF91Y-bIL._SL1400_-69387600.jpg" title="Quel ennui" artist="Le Rouge et Le Noir" apple="https://music.apple.com/cn/album/quel-ennui/1599074186?i=1599074924" spotify="https://open.spotify.com/track/7IlLcPOdXsyC7rNyqcu1XS" netease="https://music.163.com/#/song?id=428649324" >}}
@@ -87,9 +95,9 @@ endnotes:
### 人体是个黑箱
-周二的早上爬不起来,错过了一节课,还被一个从来不点名的老师点到了。当天刚好降温,本以为是气温的关系,结果打开 Gentler Streak 一看,发现自己的深度睡眠时间只有 31 分钟——恢复性睡眠不足才是我起不来的罪魁祸首!我在过去一年的时间把自己的深度睡眠时间从半个小时调到了一个半小时(成年人的正常水平)[^2],当天睡眠质量急速下滑属实让我觉得猝不及防。
+周二的早上爬不起来,错过了一节课,还被一个从来不点名的老师点到了。当天刚好降温,本以为是气温的关系,结果打开 Gentler Streak 一看,发现深度睡眠时间只有 31 分钟——恢复性睡眠不足才是我起不来的罪魁祸首!我在过去一年的时间把深度睡眠时间从半个小时调到了一个半小时(成年人的正常水平)[^2],当天睡眠质量急速下滑属实让我觉得猝不及防。
-继续回顾睡眠数据,我发现自己当天的睡眠心率最高达到了 120 bpm,有很明显的峰值,这显然不正常。更令我害怕的是,这样的峰值在最近一周出现了四次。我开始回忆是什么导致了我睡眠心率飚升:
+继续回顾睡眠数据,我发现当天的睡眠心率最高达到了 120 bpm,有很明显的峰值,这显然不正常。更令我害怕的是,这样的峰值在最近一周出现了四次。我开始回忆是什么导致了我睡眠心率飚升:
1. 我最近一周开始在睡前喝蛋白粉喝肌酸,因为锻炼之后可能会忘记。查看配料表后,我发现这两款补剂中都含有「三氯蔗糖」,我怀疑是摄入甜味剂导致身体出现了反应,比如夜间胰岛素水平上升,ChatGPT 表示一些人的确有可能对人工甜味剂产生不良反应。
2. 我最近一周换上了更暖和的毛毯,但是晚上经常被热醒,醒的时候浑身都是汗,只不过半夜热醒的时候实在是太困了,很快就睡着了,第二天起来除了发现自己把被子翻了个面之外什么也记不起来了(翻面的原因大概是另一面绒毛没那么密集,透气性更好)。深度睡眠要求机体核心体温下降[^3],温度异常上升很容易影响深度睡眠,夜间体温上升的时间可能就是心率峰值出现的时间。第二天我换了更透气的被子,毛毯只盖下半身,深度睡眠恢复了;但是第三天,深度睡眠时间居然下降到了 22 分钟!床品的透气性显然不是唯一原因。
@@ -107,6 +115,9 @@ endnotes:
然而,星期天的时候我发现当天的深睡时间只有 48 分钟,而夜间心率很正常;再回顾几天前的数据,也有不少心率高,但深睡时长健康的样本。所以睡眠质量下降可能只是睡前进食或摄入甜味剂直接导致的,接下来的一周我会避免在睡前两小时内吃东西,并且持续收集样本,看看睡眠质量下降的原因究竟是什么。
+> [!note]
+> 2025.11.24(周一)补充:今天早上起来发现昨晚凌晨一点才睡,睡前还吃了黄油年糕、薯片这样的糖油混合物,深度睡眠竟然也达到了一个半小时以上,夜间进食似乎不是主要原因。我觉得最大的问题可能是健身补剂中的甜味剂。
+
### 本周看了什么?
打算丰富自己的文娱生活,于是想着每周可以看一到两部音乐剧。在周二的时候看完了《摇滚红与黑》,音乐剧删掉了原著里于连在贝藏松神学院学习的情节,大概是时长和经费不够(剧中的马匹和椅子等道具都是拿板子糊的,很难想象剧组穷成什么样子了),但整体而言我很喜欢。今年年初本来看到了《摇滚红与黑》要到成都巡演的消息,时间就是 11 月底,但错过了买票时机,没能去到现场,还是有些可惜的。周四看了上世纪八九十年代的《星幻》(Starmania),同样是一部法语的摇滚音乐剧,歌还不错,但剧情没有很感兴趣,所以没看完,之后可能会继续看。