From d4d86a44cca659a546878115fda05345c1c0a41d Mon Sep 17 00:00:00 2001 From: i-shm Date: Mon, 24 Aug 2026 16:50:43 +0000 Subject: deploy: acecd7d643abfcaabe164cdf627993376ce30496 --- search.xml | 434 +++++++++++++++++++++++++++++++------------------------------ 1 file changed, 220 insertions(+), 214 deletions(-) (limited to 'search.xml') diff --git a/search.xml b/search.xml index daa0a480..c209a553 100644 --- a/search.xml +++ b/search.xml @@ -2219,28 +2219,6 @@ A relation table (also sometimes called a JOIN, link or pi

现在生成的 TypeScript 文件将会从 Js.shim.ts import 类型:

import type {Json_t as Js_Json_t} from '../../src/model/Js.shim.ts';
-]]> - - Technique - - - - Rust NewType 模式 - /2023/05/03/Rust-NewType-%E6%A8%A1%E5%BC%8F/ - New Type模式是一种软件设计模式,用于在已有类型的基础上创建一个新的类型。在Rust中,这通常是通过定义一个结构体,其中只包含一个单一成员。这个结构体(New Type)对外提供了一个新的、独立的类型,用于对原始类型增加额外的语义或限制。

-

加强类型安全

-
struct Meters(f64);
struct Feet(f64);

let length_in_meters = Meters(100.0);
let length_in_feet = Feet(328.084);

// 编译器会防止以下代码执行,因为类型不匹配
// let wrong_length = Meters(length_in_feet); // 编译错误

// 正确的构造
fn add_lengths(length1: Meters, length2: Meters) -> Meters {
Meters(length1.0 + length2.0)
}
-

这个例子使用 newtype 模式避免将原始类型f64用于不同的量度,从而增强了类型的安全性。

-

实现特定 trait

-
struct Kilometers(f64);

impl Kilometers {
fn to_miles(&self) -> f64 {
self.0 * 0.621371
}
}

let distance = Kilometers(10.0);
println!("The distance in miles is {}", distance.to_miles());
-

这里,Kilometers有一个方法to_miles,该方法是不会影响其他f64数据的。如果我们有另一个表示温度的f64类型,就不会意外调用到与距离相关的方法。

-

New Type模式同样适用于对Box<dyn SomeTrait>类型的包装,这可以在需要动态分派(动态调用实现了某个接口的不同类型的对象的方法)的时候提供便利。通过创建一个New Type来包装这样的Box<dyn SomeTrait>类型,可以提供自定义的方法或实现更多的trait,同时也可以让API更加清晰和易于使用。

-

零成本抽象

-

在Rust中,New Type模式不仅是类型安全的,还是一种零成本抽象。这是因为Rust编译器在编译时期会进行足够的优化,以确保New Type的使用没有运行时开销。 Rust的零成本抽象原则确保了抽象不会引入额外的运行时成本。例如,当你使用Meters这样的New Type时,Rust确保:

-
    -
  1. 无额外内存开销:Meters只包含一个f64,在内存中的表现和单独的f64是一样的。
  2. -
  3. 无额外运行时开销:使用Meters时,性能和直接使用f64完全相同。编译器会移除任何关于New Type的包装和解包的代码。
  4. -
]]>
Technique @@ -2315,6 +2293,28 @@ A relation table (also sometimes called a JOIN, link or pi
  1. Vtable format to support dyn upcasting coercion https://rust-lang.github.io/dyn-upcasting-coercion-initiative/design-discussions/vtable-layout.*html*
+]]> + + Technique + +
+ + Rust NewType 模式 + /2023/05/03/Rust-NewType-%E6%A8%A1%E5%BC%8F/ + New Type模式是一种软件设计模式,用于在已有类型的基础上创建一个新的类型。在Rust中,这通常是通过定义一个结构体,其中只包含一个单一成员。这个结构体(New Type)对外提供了一个新的、独立的类型,用于对原始类型增加额外的语义或限制。

+

加强类型安全

+
struct Meters(f64);
struct Feet(f64);

let length_in_meters = Meters(100.0);
let length_in_feet = Feet(328.084);

// 编译器会防止以下代码执行,因为类型不匹配
// let wrong_length = Meters(length_in_feet); // 编译错误

// 正确的构造
fn add_lengths(length1: Meters, length2: Meters) -> Meters {
Meters(length1.0 + length2.0)
}
+

这个例子使用 newtype 模式避免将原始类型f64用于不同的量度,从而增强了类型的安全性。

+

实现特定 trait

+
struct Kilometers(f64);

impl Kilometers {
fn to_miles(&self) -> f64 {
self.0 * 0.621371
}
}

let distance = Kilometers(10.0);
println!("The distance in miles is {}", distance.to_miles());
+

这里,Kilometers有一个方法to_miles,该方法是不会影响其他f64数据的。如果我们有另一个表示温度的f64类型,就不会意外调用到与距离相关的方法。

+

New Type模式同样适用于对Box<dyn SomeTrait>类型的包装,这可以在需要动态分派(动态调用实现了某个接口的不同类型的对象的方法)的时候提供便利。通过创建一个New Type来包装这样的Box<dyn SomeTrait>类型,可以提供自定义的方法或实现更多的trait,同时也可以让API更加清晰和易于使用。

+

零成本抽象

+

在Rust中,New Type模式不仅是类型安全的,还是一种零成本抽象。这是因为Rust编译器在编译时期会进行足够的优化,以确保New Type的使用没有运行时开销。 Rust的零成本抽象原则确保了抽象不会引入额外的运行时成本。例如,当你使用Meters这样的New Type时,Rust确保:

+
    +
  1. 无额外内存开销:Meters只包含一个f64,在内存中的表现和单独的f64是一样的。
  2. +
  3. 无额外运行时开销:使用Meters时,性能和直接使用f64完全相同。编译器会移除任何关于New Type的包装和解包的代码。
  4. +
]]>
Technique @@ -2961,6 +2961,25 @@ A relation table (also sometimes called a JOIN, link or pi Technique
+ + DADGAD 定弦 + /2025/07/08/dadgad/ + 模态定弦的空弦音不直接构成传统意义上的大调或小调和弦,而是形成一种听感上更为空灵、悬浮的“挂留和弦”(Suspended Chord)效果。

+

DADGAD (发音为 “dad-gad”): 这是凯尔特音乐(Celtic Music)中最具代表性的定弦。它的空弦音给人一种既非大调也非小调的模糊感,充满了神秘和悠远的色彩,非常适合营造氛围音乐和复杂的指弹旋律。

+

挂留和弦(Suspended Chord),通常简写为 “sus”,是一种在传统和弦结构上进行了巧妙“修改”的和弦。它的核心特点是:用一个非三度的音,去“替代”或“悬挂”了原本决定和弦大/小调色彩的三度音,从而创造出一种独特的声音效果。

+

想象一个标准的大三和弦或小三和弦,它由根音、三度音和五度音构成。其中,三度音是决定这个和弦听起来是明亮、开心的“大调”,还是忧郁、伤感的“小调”的关键。

+

而挂留和弦,就是把这个关键的“三度音”暂时拿掉,换上别的音。最常见的替代者有两个:
+一是 纯四度音 (Perfect 4th) ,二是 大二度音 (Major 2nd) 。

+

sus4 和弦 (挂四和弦) 由 根音 (1) + 纯四度音 (4) + 纯五度音 (5) 构成,即用四度音替代了原本的三度音。听感上,这是最常见的挂留和弦。它创造出一种强烈而悬浮的张力感,声音既不属于大调也不属于小调,听起来非常“开阔”。例如,一个 Csus4 和弦,就是由 C、F、G 三个音构成,取代了标准C大调和弦(C-E-G)中的 E 音。

+

sus2 和弦 (挂二和弦) 由 根音 (1) + 大二度音 (2) + 纯五度音 (5) 构成,特点是用二度音替代了原本的三度音。听感上,sus2和弦的声音比sus4更柔和、更明亮一些。它同样具有开放、模糊的色彩,但张力感稍弱,听起来更像是一种平静、梦幻的色彩和弦。例如,一个 Csus2 和弦,就是由 C、D、G 三个音构成,取代了标准C大调和弦(C-E-G)中的 E 音。

+

而 DADGAD 定弦方式的空弦音,其核心就是一个挂留和弦,具体来说是一个 Dsus4 和弦。当你弹响 DADGAD 的所有空弦时,你实际上听到的就是 D、G、A 这三个音在不同八度上的叠加和共鸣。这三个音不多不少,正好构成了 Dsus4 和弦。

+

DADGAD 定弦的精髓,就在于它将整个吉他的开放状态变成了一个巨大的、共鸣丰富的 Dsus4 挂留和弦。

+

这正是为什么它能产生那种“既非大调也非小调的模糊感”和“空灵、悬浮”的听感。因为三度音(F# 或 F)的缺失,和弦的“身份”被悬挂了起来,没有明确地告诉你它是快乐的(大调)还是悲伤的(小调),而是创造出一种充满想象空间、广阔而悠远的音景。

+]]>
+ + Life + +
caml_release_runtime_system导致的死锁问题 /2023/06/28/caml-release-runtime-system%E5%AF%BC%E8%87%B4%E7%9A%84%E6%AD%BB%E9%94%81%E9%97%AE%E9%A2%98/ @@ -2983,25 +3002,6 @@ A relation table (also sometimes called a JOIN, link or pi Technique - - DADGAD 定弦 - /2025/07/08/dadgad/ - 模态定弦的空弦音不直接构成传统意义上的大调或小调和弦,而是形成一种听感上更为空灵、悬浮的“挂留和弦”(Suspended Chord)效果。

-

DADGAD (发音为 “dad-gad”): 这是凯尔特音乐(Celtic Music)中最具代表性的定弦。它的空弦音给人一种既非大调也非小调的模糊感,充满了神秘和悠远的色彩,非常适合营造氛围音乐和复杂的指弹旋律。

-

挂留和弦(Suspended Chord),通常简写为 “sus”,是一种在传统和弦结构上进行了巧妙“修改”的和弦。它的核心特点是:用一个非三度的音,去“替代”或“悬挂”了原本决定和弦大/小调色彩的三度音,从而创造出一种独特的声音效果。

-

想象一个标准的大三和弦或小三和弦,它由根音、三度音和五度音构成。其中,三度音是决定这个和弦听起来是明亮、开心的“大调”,还是忧郁、伤感的“小调”的关键。

-

而挂留和弦,就是把这个关键的“三度音”暂时拿掉,换上别的音。最常见的替代者有两个:
-一是 纯四度音 (Perfect 4th) ,二是 大二度音 (Major 2nd) 。

-

sus4 和弦 (挂四和弦) 由 根音 (1) + 纯四度音 (4) + 纯五度音 (5) 构成,即用四度音替代了原本的三度音。听感上,这是最常见的挂留和弦。它创造出一种强烈而悬浮的张力感,声音既不属于大调也不属于小调,听起来非常“开阔”。例如,一个 Csus4 和弦,就是由 C、F、G 三个音构成,取代了标准C大调和弦(C-E-G)中的 E 音。

-

sus2 和弦 (挂二和弦) 由 根音 (1) + 大二度音 (2) + 纯五度音 (5) 构成,特点是用二度音替代了原本的三度音。听感上,sus2和弦的声音比sus4更柔和、更明亮一些。它同样具有开放、模糊的色彩,但张力感稍弱,听起来更像是一种平静、梦幻的色彩和弦。例如,一个 Csus2 和弦,就是由 C、D、G 三个音构成,取代了标准C大调和弦(C-E-G)中的 E 音。

-

而 DADGAD 定弦方式的空弦音,其核心就是一个挂留和弦,具体来说是一个 Dsus4 和弦。当你弹响 DADGAD 的所有空弦时,你实际上听到的就是 D、G、A 这三个音在不同八度上的叠加和共鸣。这三个音不多不少,正好构成了 Dsus4 和弦。

-

DADGAD 定弦的精髓,就在于它将整个吉他的开放状态变成了一个巨大的、共鸣丰富的 Dsus4 挂留和弦。

-

这正是为什么它能产生那种“既非大调也非小调的模糊感”和“空灵、悬浮”的听感。因为三度音(F# 或 F)的缺失,和弦的“身份”被悬挂了起来,没有明确地告诉你它是快乐的(大调)还是悲伤的(小调),而是创造出一种充满想象空间、广阔而悠远的音景。

-]]>
- - Life - -
在临床医疗领域中的数据库外键设计取舍 /2025/09/09/database-fk-design-in-clinical-medicine/ @@ -3369,6 +3369,20 @@ A relation table (also sometimes called a JOIN, link or pi
  • @IsBoolean 守门:在自定义转换完成后,@IsBoolean() 装饰器会进行最后的验证,确保存入 DTO 的最终值必须是 true 或 false。这保证了在业务逻辑中,该属性的类型是绝对安全的。
  • 好用,爱用。

    +]]> + + Technique + +
    + + 使用 [@poll error] 实现线程安全的数据结构 + /2023/08/15/poll-error-attribute-in-OCaml/ + OCaml的标准库提供了许多mutable的数据结构,比如Hashtbl, Queue, Stack之类的,但是这些数据结构都不是线程安全的。在 OCaml 4 和 OCaml 5 中,单个Domain中一次只能运行一个线程。换句话说,单个Domain中的线程仍然不会并行运行,除非在不同所的Domain中。

    +

    而在单个Domain中 OCaml 的 runtime 是通过在safe point期间半抢占式的切换线程。也就是说,线程切换只会发生在safe point期间。例如内存分配就是是safe point。这意味着在没有safe point的代码块内,可以在Domain内原子性地进行多次读写或访问操作,因为线程没被切换。

    +

    OCaml 编译器提供了一个名为 [@poll error] 的annotation,可以在函数中使用它来确保该函数不包含safe point。

    +

    所以通过使用 [@poll error] 就可以创建在Domain内原子性执行的函数,也就是说,基于此特性可以实现单个Domain内线程安全的数据结构,例如 thread-table 便是使用这个特性实现的 Hash Table。可以看看它的 add 函数的实现:

    +
    let[@poll error] add_atomically t buckets n i before after =
    t.rehash = 0 && buckets == t.buckets
    && before == Array.unsafe_get buckets i
    && begin
    Array.unsafe_set buckets i after;
    let length = t.length + 1 in
    t.length <- length;
    if n < length && n < max_buckets_div_2 then t.rehash <- n * 2;
    true
    end

    let rec add t k' v' =
    let h = Mix.int k' in
    maybe_rehash t;
    let buckets = t.buckets in
    let n = Array.length buckets in
    let i = h land (n - 1) in
    let before = Array.unsafe_get buckets i in
    let after = Cons (k', v', before) in
    if not (add_atomically t buckets n i before after) then add t k' v'
    +

    相比使用 Stdlib.Mutex,这种无锁实现会有更好的性能(特别是对于只读操作),并且还允许例如信号处理之类的上下文操作。

    ]]>
    Technique @@ -3425,20 +3439,6 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的
  • What does ‘extended’ mean in express 4.0? - Stack Overflow
  • Express 5.0 - API Reference (app.set)
  • -]]> - - Technique - -
    - - 使用 [@poll error] 实现线程安全的数据结构 - /2023/08/15/poll-error-attribute-in-OCaml/ - OCaml的标准库提供了许多mutable的数据结构,比如Hashtbl, Queue, Stack之类的,但是这些数据结构都不是线程安全的。在 OCaml 4 和 OCaml 5 中,单个Domain中一次只能运行一个线程。换句话说,单个Domain中的线程仍然不会并行运行,除非在不同所的Domain中。

    -

    而在单个Domain中 OCaml 的 runtime 是通过在safe point期间半抢占式的切换线程。也就是说,线程切换只会发生在safe point期间。例如内存分配就是是safe point。这意味着在没有safe point的代码块内,可以在Domain内原子性地进行多次读写或访问操作,因为线程没被切换。

    -

    OCaml 编译器提供了一个名为 [@poll error] 的annotation,可以在函数中使用它来确保该函数不包含safe point。

    -

    所以通过使用 [@poll error] 就可以创建在Domain内原子性执行的函数,也就是说,基于此特性可以实现单个Domain内线程安全的数据结构,例如 thread-table 便是使用这个特性实现的 Hash Table。可以看看它的 add 函数的实现:

    -
    let[@poll error] add_atomically t buckets n i before after =
    t.rehash = 0 && buckets == t.buckets
    && before == Array.unsafe_get buckets i
    && begin
    Array.unsafe_set buckets i after;
    let length = t.length + 1 in
    t.length <- length;
    if n < length && n < max_buckets_div_2 then t.rehash <- n * 2;
    true
    end

    let rec add t k' v' =
    let h = Mix.int k' in
    maybe_rehash t;
    let buckets = t.buckets in
    let n = Array.length buckets in
    let i = h land (n - 1) in
    let before = Array.unsafe_get buckets i in
    let after = Cons (k', v', before) in
    if not (add_atomically t buckets n i before after) then add t k' v'
    -

    相比使用 Stdlib.Mutex,这种无锁实现会有更好的性能(特别是对于只读操作),并且还允许例如信号处理之类的上下文操作。

    ]]>
    Technique @@ -3657,6 +3657,20 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的 Technique
    + + 中老年人沉迷手机的问题 + /2024/09/08/%E4%B8%AD%E8%80%81%E5%B9%B4%E4%BA%BA%E6%B2%89%E8%BF%B7%E6%89%8B%E6%9C%BA%E7%9A%84%E9%97%AE%E9%A2%98/ + 沉迷于手机的老年人,其实很多都是因为儿女不在身边,他们只能把这份孤独转嫁到手机上。

    +

    如果减少了这份孤独感和寂寞感,才能真正让他们从手机里解放出来。

    +

    其实不是不让他们看手机,而是一定要控制好量和度。

    +

    一味的打击,反对,也许只会将两代人之间的关系越推越远。

    +

    唯一的办法,是看见。

    +

    看见他们的孤独,看见他们对生命流逝的恐惧,看见他们在尊重和陪伴之中折射出来的爱。

    +]]>
    + + Life + +
    Vertical slicing 在开发中的实践探索 /2025/05/27/vertical-slicing-practice/ @@ -3703,20 +3717,6 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的 Technique - - 中老年人沉迷手机的问题 - /2024/09/08/%E4%B8%AD%E8%80%81%E5%B9%B4%E4%BA%BA%E6%B2%89%E8%BF%B7%E6%89%8B%E6%9C%BA%E7%9A%84%E9%97%AE%E9%A2%98/ - 沉迷于手机的老年人,其实很多都是因为儿女不在身边,他们只能把这份孤独转嫁到手机上。

    -

    如果减少了这份孤独感和寂寞感,才能真正让他们从手机里解放出来。

    -

    其实不是不让他们看手机,而是一定要控制好量和度。

    -

    一味的打击,反对,也许只会将两代人之间的关系越推越远。

    -

    唯一的办法,是看见。

    -

    看见他们的孤独,看见他们对生命流逝的恐惧,看见他们在尊重和陪伴之中折射出来的爱。

    -]]>
    - - Life - -
    临床研究中盲态规则存在的原因 /2025/12/19/%E4%B8%B4%E5%BA%8A%E7%A0%94%E7%A9%B6%E4%B8%AD%E7%9B%B2%E6%80%81%E8%A7%84%E5%88%99%E5%AD%98%E5%9C%A8%E7%9A%84%E5%8E%9F%E5%9B%A0/ @@ -3802,25 +3802,6 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的

    我们渴望什么,生活就拿走什么。我们害怕什么,时间就带来什么。我们不断下沉,下沉。仿佛同这漫长的人生一样,等不到尽头。

    而衣冠立于浊世,先是个体,然后结对,最后成群,这一生总要有这样那样的分别,迈过这一年,再过下一年,有多少这样的每一年。

    这世上也不是所有事都算得准的。

    -]]> - - gallery - -
    - - 二〇二三年十二月一日 - /2023/12/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B8%80%E6%97%A5/ - 我和毛毛说还记得外面的世界,记得那些披星戴月的日子。

    -

    还说,你知不知道灰灰,它比你聪明,没你好看,你也就剩好看了。

    -

    修长的身影顶着斗笠在山里中飞奔,一刀刀砍断荆棘,踩空时摔在松软的泥土上、失神时跌进干燥的枯枝中,但仍然记得曾经骑车过天桥马路的感觉。

    -

    在山顶时,自由给了我一切。

    -

    身处在青春里,就做感受它的事。爱恨、稚嫩、稳重与勇气,推动每个人脚下的每一步,影响一生的轨迹。

    -

    我把曾经的全家福裱起来放在家里的储物架上。

    -

    上边除了它,还有我在外面的世界时留下的一些纪念品,比如建模比赛的奖杯,玉龙雪山上的树枝,还有那腾格里沙漠中沙粒做成的沙漏。

    -

    长段长段的近况记录被放在最显眼的位置,它并不是一次写成的,而是日复一日的点滴记录汇聚而成。

    -

    山上的房子挺小的,坐北朝南,但有一处简陋的书房,依着阳光而建,里边儿有我拿来放吉他的架子。

    -

    那把锈迹斑斑的横刀,被放在了地下室,我还专门上了油保养。

    -

    我时不时也拿出来看看,毛毛总会蹭到上面的油。

    ]]>
    gallery @@ -3842,6 +3823,25 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的

    狗狗叼起一根树枝,歪头不解地看着我。

    我爱这个因为有我而变得温柔的世界。

    这将是我与周遭的一切,热爱一生,共度一生的地方。

    +]]> + + gallery + +
    + + 二〇二三年十二月一日 + /2023/12/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B8%80%E6%97%A5/ + 我和毛毛说还记得外面的世界,记得那些披星戴月的日子。

    +

    还说,你知不知道灰灰,它比你聪明,没你好看,你也就剩好看了。

    +

    修长的身影顶着斗笠在山里中飞奔,一刀刀砍断荆棘,踩空时摔在松软的泥土上、失神时跌进干燥的枯枝中,但仍然记得曾经骑车过天桥马路的感觉。

    +

    在山顶时,自由给了我一切。

    +

    身处在青春里,就做感受它的事。爱恨、稚嫩、稳重与勇气,推动每个人脚下的每一步,影响一生的轨迹。

    +

    我把曾经的全家福裱起来放在家里的储物架上。

    +

    上边除了它,还有我在外面的世界时留下的一些纪念品,比如建模比赛的奖杯,玉龙雪山上的树枝,还有那腾格里沙漠中沙粒做成的沙漏。

    +

    长段长段的近况记录被放在最显眼的位置,它并不是一次写成的,而是日复一日的点滴记录汇聚而成。

    +

    山上的房子挺小的,坐北朝南,但有一处简陋的书房,依着阳光而建,里边儿有我拿来放吉他的架子。

    +

    那把锈迹斑斑的横刀,被放在了地下室,我还专门上了油保养。

    +

    我时不时也拿出来看看,毛毛总会蹭到上面的油。

    ]]>
    gallery @@ -4246,6 +4246,15 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的

    而清晨的信风从天穹呼啸而至,掠过高高的公寓露台,遥远的城市正从我们脚下缓缓醒来。

    这个世界永远都在,我们也还未曾离开。

    这个世界会是我们义无反顾的绝对热爱。

    +]]> + + gallery + +
    + + 二〇二四年九月一日 + /2024/09/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E4%B9%9D%E6%9C%88%E4%B8%80%E6%97%A5/ + 通过忠实地映射宇宙来隐藏自我,是融入永恒的唯一途径。

    ]]>
    gallery @@ -4265,15 +4274,6 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的 毛毛下雨要回家,
    小狗小狗画梅花,
    直走就是我们家。

    -]]> - - gallery - -
    - - 二〇二四年九月一日 - /2024/09/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E4%B9%9D%E6%9C%88%E4%B8%80%E6%97%A5/ - 通过忠实地映射宇宙来隐藏自我,是融入永恒的唯一途径。

    ]]>
    gallery @@ -4441,18 +4441,18 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的
    - 二零二一年二月十六日 - /2021/02/16/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%85%AD%E6%97%A5/ - 结果的好坏,普通人矗立其中。

    + 二零二一年二月十四日 + /2021/02/14/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%9B%9B%E6%97%A5/ + 酸甜苦辣

    ]]>
    gallery
    - 二零二一年二月十四日 - /2021/02/14/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%9B%9B%E6%97%A5/ - 酸甜苦辣

    + 二零二一年二月十六日 + /2021/02/16/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%85%AD%E6%97%A5/ + 结果的好坏,普通人矗立其中。

    ]]>
    gallery @@ -4512,18 +4512,18 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的
    - 二零二三年二月二十五日 - /2023/02/25/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%94%E6%97%A5/ - 睁眼闭眼就是过去和未来。

    + 二零二三年二月二十六日 + /2023/02/26/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/ + 翻滚的热汤接过焰火的能量把周围的蒸汽撕开一道裂缝,透过缝隙我见到一对爱人的时空交织在未来,他们幸运的错开孤独,人们举起手中的酒杯,祝因果与命运缠绵之人幸福

    ]]>
    gallery
    - 二零二三年二月二十六日 - /2023/02/26/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/ - 翻滚的热汤接过焰火的能量把周围的蒸汽撕开一道裂缝,透过缝隙我见到一对爱人的时空交织在未来,他们幸运的错开孤独,人们举起手中的酒杯,祝因果与命运缠绵之人幸福

    + 二零二三年二月二十五日 + /2023/02/25/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%94%E6%97%A5/ + 睁眼闭眼就是过去和未来。

    ]]>
    gallery @@ -4697,45 +4697,6 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的 gallery
    - - 从事件风暴看领域驱动设计 - /2025/02/11/%E4%BB%8E%E4%BA%8B%E4%BB%B6%E9%A3%8E%E6%9A%B4%E7%9C%8B%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1/ - 事件风暴(Event Storming)是一种领域驱动设计(DDD)的实践方法,由 Alberto Brandolini 提出,旨在通过团队协作的方式快速理解和建模业务领域。

    -

    以下是事件风暴及相关领域驱动设计中的一些核心概念和知识点:

    -

    1. 领域(Domain):指的是业务相关知识的集合,可以进一步划分为子域。
    -2. 子域(Subdomain):是领域的一部分,可以是核心域、支撑域或通用域。
    -3. 核心域(Core Domain):指领域中最核心的部分,通常对应企业的核心业务。
    -4. 通用语言(Ubiquitous Language):团队所有成员使用的一种语言,用于确保业务和软件之间的沟通一致性。
    -5. 限界上下文(Bounded Context):定义了一组规则和协议,用于明确领域模型的适用范围。
    -6. 实体(Entity):具有唯一标识和生命周期的领域对象。
    -7. 值对象(Value Object):描述了某种特性或属性的对象,没有概念标识。
    -8. 聚合(Aggregate):一组相关对象的集合,由一个聚合根(Aggregate Root)统一管理。
    -9. 领域事件(Domain Event):领域中发生的重要事件,可以用于通知其他领域对象或跨限界上下文进行解耦和协作。
    -10. 命令(Command):表示要执行的操作,通常与事件一一对应。
    -11. 读模型(Read Model):为了优化读取操作而设计的模型,可能与写模型不同。
    -12. 决策命令(Decision Command):在事件风暴中,直接导致事件发生的命令。
    -13. 战略设计(Strategic Design):高层次的抽象和归类,包括理清上下文和子域的划分。
    -14. 战术设计(Tactical Design):对特定上下文下的模型进行详细设计,包括聚合、实体和值对象。
    -15. 贫血模型(Anemic Domain Model):领域对象只有属性及其getter/setter方法的纯数据类,业务逻辑通过服务实现。
    -16. 充血模型(Rich Domain Model):领域对象包含业务逻辑,每个对象都是活跃的。
    -17. 资源库(Repository):用于检索和持久化领域对象的机制。
    -18. 服务(Service):在模型中独立的操作,可以是领域服务或应用服务。
    -19. 固定规则(Invariant):为设计元素做出的断言,必须一直保持为真。

    -

    事件风暴通常包括以下步骤:

    -
      -
    • 识别领域事件
    • -
    • 确定事件顺序
    • -
    • 识别命令和触发器
    • -
    • 识别聚合和实体
    • -
    • 划分限界上下文
    • -
    • 识别领域服务和资源库
    • -
    • 通过这些步骤,团队可以共同创建出反映业务领域的领域模型,为软件设计和开发提供指导。
    • -
    -]]>
    - - Technique - -
    体质指数与血脂异常的年龄依赖性关联:患病率轨迹与因果效应修饰 /2026/08/15/%E4%BD%93%E8%B4%A8%E6%8C%87%E6%95%B0%E4%B8%8E%E8%A1%80%E8%84%82%E5%BC%82%E5%B8%B8%E7%9A%84%E5%B9%B4%E9%BE%84%E4%BE%9D%E8%B5%96%E6%80%A7%E5%85%B3%E8%81%94/ @@ -4851,6 +4812,45 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的 Medicine + + 从事件风暴看领域驱动设计 + /2025/02/11/%E4%BB%8E%E4%BA%8B%E4%BB%B6%E9%A3%8E%E6%9A%B4%E7%9C%8B%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1/ + 事件风暴(Event Storming)是一种领域驱动设计(DDD)的实践方法,由 Alberto Brandolini 提出,旨在通过团队协作的方式快速理解和建模业务领域。

    +

    以下是事件风暴及相关领域驱动设计中的一些核心概念和知识点:

    +

    1. 领域(Domain):指的是业务相关知识的集合,可以进一步划分为子域。
    +2. 子域(Subdomain):是领域的一部分,可以是核心域、支撑域或通用域。
    +3. 核心域(Core Domain):指领域中最核心的部分,通常对应企业的核心业务。
    +4. 通用语言(Ubiquitous Language):团队所有成员使用的一种语言,用于确保业务和软件之间的沟通一致性。
    +5. 限界上下文(Bounded Context):定义了一组规则和协议,用于明确领域模型的适用范围。
    +6. 实体(Entity):具有唯一标识和生命周期的领域对象。
    +7. 值对象(Value Object):描述了某种特性或属性的对象,没有概念标识。
    +8. 聚合(Aggregate):一组相关对象的集合,由一个聚合根(Aggregate Root)统一管理。
    +9. 领域事件(Domain Event):领域中发生的重要事件,可以用于通知其他领域对象或跨限界上下文进行解耦和协作。
    +10. 命令(Command):表示要执行的操作,通常与事件一一对应。
    +11. 读模型(Read Model):为了优化读取操作而设计的模型,可能与写模型不同。
    +12. 决策命令(Decision Command):在事件风暴中,直接导致事件发生的命令。
    +13. 战略设计(Strategic Design):高层次的抽象和归类,包括理清上下文和子域的划分。
    +14. 战术设计(Tactical Design):对特定上下文下的模型进行详细设计,包括聚合、实体和值对象。
    +15. 贫血模型(Anemic Domain Model):领域对象只有属性及其getter/setter方法的纯数据类,业务逻辑通过服务实现。
    +16. 充血模型(Rich Domain Model):领域对象包含业务逻辑,每个对象都是活跃的。
    +17. 资源库(Repository):用于检索和持久化领域对象的机制。
    +18. 服务(Service):在模型中独立的操作,可以是领域服务或应用服务。
    +19. 固定规则(Invariant):为设计元素做出的断言,必须一直保持为真。

    +

    事件风暴通常包括以下步骤:

    +
      +
    • 识别领域事件
    • +
    • 确定事件顺序
    • +
    • 识别命令和触发器
    • +
    • 识别聚合和实体
    • +
    • 划分限界上下文
    • +
    • 识别领域服务和资源库
    • +
    • 通过这些步骤,团队可以共同创建出反映业务领域的领域模型,为软件设计和开发提供指导。
    • +
    +]]>
    + + Technique + +
    儿童新型冠状病毒Omicron株和肺炎支原体混合感染重症肺炎1例 /2023/10/25/%E5%84%BF%E7%AB%A5%E6%96%B0%E5%9E%8B%E5%86%A0%E7%8A%B6%E7%97%85%E6%AF%92Omicron%E6%A0%AA%E5%92%8C%E8%82%BA%E7%82%8E%E6%94%AF%E5%8E%9F%E4%BD%93%E6%B7%B7%E5%90%88%E6%84%9F%E6%9F%93%E9%87%8D%E7%97%87%E8%82%BA%E7%82%8E1%E4%BE%8B/ @@ -6270,6 +6270,37 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的 Medicine + + 极简主义生活的本质 + /2025/10/19/%E6%9E%81%E7%AE%80%E4%B8%BB%E4%B9%89%E7%94%9F%E6%B4%BB%E7%9A%84%E6%9C%AC%E8%B4%A8/ + 世界的本质是熵增的。

    +

    所有的一切,不论是建筑、文明,还是人的身体与精神,只要没人去维护,就会不可避免地朝着混乱、衰败的方向走去。

    +

    我们看到一座老厂房荒废几年就杂草丛生、窗户破碎,一座古城墙经历几百年风雨就成了残垣断壁,这些都是自然法则在起作用。

    +

    人类在对抗熵增,所有文明的存在,本身就是在和混乱做斗争。

    +

    这种规律,不仅存在于物理世界,也存在在人生中。

    +

    一个人若不打理生活,家里会越来越乱;若不管理身体,健康会越来越差;若不梳理思绪,精神就会陷入焦虑与疲惫。

    +

    人如果想让生活保持秩序与清明,就必须投入能量去维护它。而能量是有限的,当你把能量分散在太多琐事和物品上,最终什么也维持不好。

    +

    这就是极简主义的底层逻辑。

    +

    极简是一种顺应规律的生活方式。我们每个人都只有有限的时间、精力和注意力,而现代社会却不断往我们身上堆砌各种“必须拥有”的东西。

    +

    表面看,这些东西让生活更方便,实际上却在慢慢榨干我们的能量。因为每一样东西,都需要被管理、被维护。

    +

    真正的自由,不是“想买什么就买什么”,而是“不需要买什么也能过得很好”。

    +

    一个人若能不再被物质牵绊,他的生活简单到可以随时离开、随时出发,没有太多必须要维持的物件,也就释放出了大量的能量去维持内在秩序。

    +

    你不必花时间打扫塞满杂物的房间,不必焦虑哪件衣服还没穿,不必担心旧东西丢了会可惜。生活变得轻盈,心也自然平静。

    +

    极简主义是一种“主动熵减”的生活方式。世界的自然趋势是熵增,而极简主义者在用有限的能量对抗这股趋势。

    +

    打扫房间、整理衣柜、清理文件,看似小事,本质上都是在恢复秩序。

    +

    生活中的秩序越多,人心就越清晰。家整洁了,人也更容易集中注意力,思考变得通畅。那些东西堆满的家,其实是一个人内在混乱的外在映照。

    +

    极简主义不只是少买东西,而是一种能量管理的哲学。你拥有的越多,分散的能量就越多;你放下的越多,能量就越集中。

    +

    人的时间和注意力就像光,散开时只能照亮一小片模糊的区域,集中时才能穿透一切。

    +

    极简主义让人集中能量,把有限的生命力用在真正重要的地方——比如学习、思考、创造、体验。

    +

    有人说,极简是贫穷者的浪漫,其实恰恰相反,极简是内心丰盈者的选择。

    +

    因为只有不再依赖外物,你才能真正自由。什么都有的人,却都被自己的东西困住。

    +

    而极简的人,不被物质定义,自然也不被物质消耗。

    +

    归根到底,极简主义是一种逆熵的生活策略。在这个无序不断扩张的世界里,保持生活的清澈与节制,本身就是一种胜利。

    +]]>
    + + Life + +
    替米沙坦 /2023/03/13/%E6%9B%BF%E7%B1%B3%E6%B2%99%E5%9D%A6/ @@ -6314,37 +6345,6 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的 Medicine - - 极简主义生活的本质 - /2025/10/19/%E6%9E%81%E7%AE%80%E4%B8%BB%E4%B9%89%E7%94%9F%E6%B4%BB%E7%9A%84%E6%9C%AC%E8%B4%A8/ - 世界的本质是熵增的。

    -

    所有的一切,不论是建筑、文明,还是人的身体与精神,只要没人去维护,就会不可避免地朝着混乱、衰败的方向走去。

    -

    我们看到一座老厂房荒废几年就杂草丛生、窗户破碎,一座古城墙经历几百年风雨就成了残垣断壁,这些都是自然法则在起作用。

    -

    人类在对抗熵增,所有文明的存在,本身就是在和混乱做斗争。

    -

    这种规律,不仅存在于物理世界,也存在在人生中。

    -

    一个人若不打理生活,家里会越来越乱;若不管理身体,健康会越来越差;若不梳理思绪,精神就会陷入焦虑与疲惫。

    -

    人如果想让生活保持秩序与清明,就必须投入能量去维护它。而能量是有限的,当你把能量分散在太多琐事和物品上,最终什么也维持不好。

    -

    这就是极简主义的底层逻辑。

    -

    极简是一种顺应规律的生活方式。我们每个人都只有有限的时间、精力和注意力,而现代社会却不断往我们身上堆砌各种“必须拥有”的东西。

    -

    表面看,这些东西让生活更方便,实际上却在慢慢榨干我们的能量。因为每一样东西,都需要被管理、被维护。

    -

    真正的自由,不是“想买什么就买什么”,而是“不需要买什么也能过得很好”。

    -

    一个人若能不再被物质牵绊,他的生活简单到可以随时离开、随时出发,没有太多必须要维持的物件,也就释放出了大量的能量去维持内在秩序。

    -

    你不必花时间打扫塞满杂物的房间,不必焦虑哪件衣服还没穿,不必担心旧东西丢了会可惜。生活变得轻盈,心也自然平静。

    -

    极简主义是一种“主动熵减”的生活方式。世界的自然趋势是熵增,而极简主义者在用有限的能量对抗这股趋势。

    -

    打扫房间、整理衣柜、清理文件,看似小事,本质上都是在恢复秩序。

    -

    生活中的秩序越多,人心就越清晰。家整洁了,人也更容易集中注意力,思考变得通畅。那些东西堆满的家,其实是一个人内在混乱的外在映照。

    -

    极简主义不只是少买东西,而是一种能量管理的哲学。你拥有的越多,分散的能量就越多;你放下的越多,能量就越集中。

    -

    人的时间和注意力就像光,散开时只能照亮一小片模糊的区域,集中时才能穿透一切。

    -

    极简主义让人集中能量,把有限的生命力用在真正重要的地方——比如学习、思考、创造、体验。

    -

    有人说,极简是贫穷者的浪漫,其实恰恰相反,极简是内心丰盈者的选择。

    -

    因为只有不再依赖外物,你才能真正自由。什么都有的人,却都被自己的东西困住。

    -

    而极简的人,不被物质定义,自然也不被物质消耗。

    -

    归根到底,极简主义是一种逆熵的生活策略。在这个无序不断扩张的世界里,保持生活的清澈与节制,本身就是一种胜利。

    -]]>
    - - Life - -
    气胸 /2023/03/01/%E6%B0%94%E8%83%B8/ @@ -6810,6 +6810,37 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的 Life + + 肩周炎和肩袖损伤的区别 + /2024/09/15/%E8%82%A9%E5%91%A8%E7%82%8E%E5%92%8C%E8%82%A9%E8%A2%96%E6%8D%9F%E4%BC%A4%E7%9A%84%E5%8C%BA%E5%88%AB/ + 在肩痛患者中,只有2%~5%是肩周炎,肩袖损伤更为常见,占30%~40%。

    +

    肩周炎和肩袖损伤都是临床上常见的疾病。很多肩痛患者认为自己患有肩周炎,坚持做肩关节活动训练,但一直没有缓解,且逐渐加重,甚至影响了睡眠和生活,遂至医院就诊,经过影像学检查确诊为肩袖损伤。这是因为肩周炎和肩袖损伤均可引起肩痛,严重时均可出现夜间疼痛,甚至影响睡眠,症状相似,故极易混淆。

    +

    肩周炎是肩关节冻结、活动受限,遇风、寒冷加重,是肩周软组织(包括肩周肌、肌腱、滑囊和关节囊等)病变引起的以肩关节疼痛和功能障碍为特征的疾病。

    +

    肩袖损伤是由退行性病变或外力等导致肩袖的4块肌肉、肌腱发生病变,进而导致肩关节局部疼痛、活动受限的疾病。

    +

    许多肩袖损伤患者无明确的外伤史,而是由长期做过顶运动、提重物或上肢长期固定于一个姿势引起的。

    +
      +
    • +

      肩周炎的疼痛范围广,涉及整个肩关节,肩袖损伤引起的疼痛多出现在肩前方、外上方

      +
    • +
    • +

      肩周炎的压痛点多而广,肩袖损的伤压痛点多出现在肩前方、上方及肩胛骨外侧缘。

      +
    • +
    • +

      肩周炎患者对气候变化较为敏感,肩袖损伤患者对气候变化不敏感,对劳累、提重物及做过顶运动较为敏感。

      +
    • +
    • +

      肩周炎患者活动受限范围广,肩袖损伤患者多以肩关节外展活动受限为主,同时伴有外展无力。

      +
    • +
    • +

      肩周炎患者进行上举过顶运动训练后活动范围会好转,症状会减轻;而肩袖损伤患者进行上举过顶运动训练后疼痛加重。

      +
    • +
    +]]>
    + + Medicine + Life + +
    肝功能检查化验单阅读指南 /2023/10/13/%E8%82%9D%E5%8A%9F%E8%83%BD%E6%A3%80%E6%9F%A5%E5%8C%96%E9%AA%8C%E5%8D%95/ @@ -6854,37 +6885,6 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的 -]]> - - Medicine - Life - - - - 肩周炎和肩袖损伤的区别 - /2024/09/15/%E8%82%A9%E5%91%A8%E7%82%8E%E5%92%8C%E8%82%A9%E8%A2%96%E6%8D%9F%E4%BC%A4%E7%9A%84%E5%8C%BA%E5%88%AB/ - 在肩痛患者中,只有2%~5%是肩周炎,肩袖损伤更为常见,占30%~40%。

    -

    肩周炎和肩袖损伤都是临床上常见的疾病。很多肩痛患者认为自己患有肩周炎,坚持做肩关节活动训练,但一直没有缓解,且逐渐加重,甚至影响了睡眠和生活,遂至医院就诊,经过影像学检查确诊为肩袖损伤。这是因为肩周炎和肩袖损伤均可引起肩痛,严重时均可出现夜间疼痛,甚至影响睡眠,症状相似,故极易混淆。

    -

    肩周炎是肩关节冻结、活动受限,遇风、寒冷加重,是肩周软组织(包括肩周肌、肌腱、滑囊和关节囊等)病变引起的以肩关节疼痛和功能障碍为特征的疾病。

    -

    肩袖损伤是由退行性病变或外力等导致肩袖的4块肌肉、肌腱发生病变,进而导致肩关节局部疼痛、活动受限的疾病。

    -

    许多肩袖损伤患者无明确的外伤史,而是由长期做过顶运动、提重物或上肢长期固定于一个姿势引起的。

    -
      -
    • -

      肩周炎的疼痛范围广,涉及整个肩关节,肩袖损伤引起的疼痛多出现在肩前方、外上方

      -
    • -
    • -

      肩周炎的压痛点多而广,肩袖损的伤压痛点多出现在肩前方、上方及肩胛骨外侧缘。

      -
    • -
    • -

      肩周炎患者对气候变化较为敏感,肩袖损伤患者对气候变化不敏感,对劳累、提重物及做过顶运动较为敏感。

      -
    • -
    • -

      肩周炎患者活动受限范围广,肩袖损伤患者多以肩关节外展活动受限为主,同时伴有外展无力。

      -
    • -
    • -

      肩周炎患者进行上举过顶运动训练后活动范围会好转,症状会减轻;而肩袖损伤患者进行上举过顶运动训练后疼痛加重。

      -
    • -
    ]]>
    Medicine @@ -9130,10 +9130,14 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的

    分析需要同时处理三件事。定价上,实际利率之外,主权债务、官方储备和地缘风险已经进入价格函数。通路上,境内可交易的对象是场内黄金 ETF、场外联接基金、银行积存金和期货,摩擦成本与风险暴露并不相同。仓位上,组合里的信用对冲与期货里的趋势单不能互相换算。下文价格路径与成交量图均为教学示意,不是逐笔行情回放,也不构成投资建议。

    实际利率仍在定价函数里,但不再单独决定方向

    教科书把黄金看成不付息的长期债券。美国国债实际利率可以写成

    -

    -

    其中 是名义国债收益率, 是通胀预期。实际利率上升时,持有无息资产的机会成本上升,金价承压;实际利率进入负值区间时,法币存款的购买力被侵蚀,资金转向黄金。

    +
    + +
    +

    其中 是名义国债收益率, 是通胀预期。实际利率上升时,持有无息资产的机会成本上升,金价承压;实际利率进入负值区间时,法币存款的购买力被侵蚀,资金转向黄金。

    后疫情时期的观察改变了权重。金价在美联储加息周期中仍能刷新前高,说明信用对冲需求可以压过利率压制。更完整的写法是

    -

    +
    + +

    当债务扩张与官方购金同时抬升时,实际利率对金价的弹性下降。实际利率没有退出模型,它从主变量变成多因子中的一项。

    下图按顺序叠入五个因子。播放后可以看到:只留下实际利率时,价格被压在一条窄带里;债务与官方购金进入后,中枢上移,利率不再单独决定方向。

    @@ -9177,7 +9181,9 @@ NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的

    组合权重回答的是方差,不是单边收益

    在股票与黄金的两资产组合里,组合波动可以写成

    -

    $$\sigma_p=\sqrt{w_e2\sigma_e2+w_g2\sigma_g2+2w_e w_g\sigma_e\sigma_g\rho_{e,g}}$$

    +
    + +

    黄金与权益的长期相关系数较低。把黄金权重放在大约 8%–15%,通常用于降低组合方差。518880 近三个月接近走平、近一年仍录得约四分之一涨幅,说明即便中枢上移,持有期收益也会被年内回撤削薄。[10]

    反向情形需要写进同一段。若美元与实际利率重新转强、财政部干预失效、官方购金停一个季度、风险资产大涨抽走避险资金,金价可以复制 1 月至 7 月那种 25%–30% 回撤。8%–15% 的袖套对应组合大约 2–4 个百分点的回撤贡献。同一段行情若用高杠杆期货表达,回撤不再按袖套比例缩放。

    结论

    -- cgit v1.2.3