2022-02-12_星期六

Rust 权威指南

针(pointer)是一个通用概念,它指代那些包含内存地址的变量。这个地址被用于索引,或者说用于“指向”内存中的其他数据。

智能指针(smart pointer)是一些数据结构,它们的行为类似于指针但拥有额外的元数据和附加功能

Deref / Drop

  • Deref trait 使得智能指针结构体的实例拥有与引用一致的行为,它使你可以编写出能够同时用于引用和智能指针的代码。
  • Drop trait 则使你可以自定义智能指针离开作用域时运行的代码

标准库中常见的智能指针:

  • Box<T>,可用于在堆上分配值。
  • Rc<T>,允许多重所有权的引用计数类型。
  • Ref<T>RefMut<T>,可以通过 RefCell<T>访问,是一种可以在运行时而不是编译时执行借用规则的类型。

Box<T> (装箱)使我们可以将数据存储在堆上,并在栈中保留一个指向堆数据的指针。

装箱常常被用于下面的场景中:

  • 当你拥有一个无法在编译时确定大小的类型,但又想要在一个要求固定尺寸的上下文环境中使用这个类型的值时。
  • 当你需要传递大量数据的所有权,但又不希望产生大量数据的复制行为时。
  • 当你希望拥有一个实现了指定 trait 的类型值,但又不关心具体的类型时。

读库2201

笺纸,即形制华美的信纸,因纸上多印有花鸟、山水、古物等淡雅图案,又叫花笺。这样精美的笺纸,文人雅士常用来题诗唱和;若日常拿来写信,叙事言情中平添几分诗意,因此笺纸也被称为诗笺。将一时一地的笺纸编辑成册,即为笺谱。

传统笺纸上的雅致图案,多为梨杜版木雕刻,在宣纸上累次套印而成,笺纸艺术也成为中国古典版画的一个重要分支。

在物理上,基于信念而得出的结论叫做定律。我们没有办法证明定律,因为它们是建立在信念上的。基于定律进一步推导出来的结论就叫定理。

哲学与科学最大的不同就在于,哲学只研究定性问题,不研究定量问题,只有当哲学与数学结合,定性于定量结合后,才意味着科学诞生了。

所以的科学理论都有一个非常重要的特征:它是有适用范围的,任何一个科学理论只能说在某个适用范围内是正确的。

当我们推翻了一个现有的理论时,其实并不是说现有理论错了,而只是将现有理论的适用范围框定在了某个精度之下。

我们为什么睡觉

成年人的熬夜性或早起性,即睡眠类型(chronotype),是有基因决定的。

对此我持有怀疑态度,并不是怀疑作者,怀疑的是那些说自己是夜猫子的人,有些纯粹是想晚睡而和基因无关。

褪黑素的作用就像一个强有力的扩音器,向大脑和身体大声喊出一个明确的信息:“天黑啦!”这时,我们就收到了一份进入夜间的通知,也就是一个着手安排睡眠时间的生物命令。

褪黑素的作用是提供正式的指令开始睡眠,但不参与睡眠竞赛本身。

退黑激素药物存在着很显著的睡眠安慰剂效应。

安慰剂效应在整个药理学中有最可靠的效果。

时差反应:你在新时区的白天中会感到疲乏困倦,因为你的生物钟和相关的生命活动仍然“以为”是晚上。而晚上,你常常无法入睡,是因为你的生物节律仍然认为是白天。

当向东旅行时,要适应新的时区比向西旅行要困难的多。原因有两个:

  1. 向东的方向要求你比平时更早入睡
  2. 我们的自然昼夜节律会比一天稍长一些——24 小时 15 分钟

与睡眠压力不同,你的昼夜节律从来不关心你是否睡着了还是醒着。它缓慢而有节奏地严格按照昼夜变化来下降和上升。不管你的大脑中有多少由腺苷带来的睡眠压力存在,24 小时昼夜节律的周期仍会像平常一样循环,无视你继续缺乏睡眠的实时。

这就是我们一夜没睡第二天白天也能不困的原因。原文中用的是保持清醒,我觉得并不是清醒,顶多算不困,整个人都昏昏沉沉的。

updatedupdated2022-03-092022-03-09