2024年12月

  1. 存钱今年算上12月工资算是完成,因为今年帮父母还了3万贷款。
  2. 墨水屏看10本书完成,虽然里面有部分是小说。
  3. 深入理解go并发编程 看完了,并且还帮助项目解决了一个内存问题。
  4. 个人博客上线,并保证10篇文章,算上这篇刚好10篇。
  5. 换手机,红米k40换iPhone15max。
  6. 保持英语学习,没完成。年中的时候已经从目标看板中删除了,但是还是写在这里以作警示。

问题:markdown文件有序列表中间插入代码块导致有序列表不能连接上

示例

  1. 测试1
  2. 测试2

    console.log("test")
  3. 这里手动填3.
  4. 再回车序号就变了

原因:在 Markdown 文件中,如果在有序列表中间插入代码块,由于 Markdown 的解析规则,代码块会打断列表的序列。这是因为代码块通常需要缩进或者以三个反引号(\`\`\`)包裹,Markdown 解析器会认为列表的结构已经结束。

解决

  1. 方法 1:缩进代码块
    示例:

    1. 方法1 test
    2. 方法1 test

      console.log("方法1 test")
    3. 这里没有手动填3.
    4. 再回车序号也是连上的
  2. 方法 2:使用 HTML 标签包裹代码块 \<pre\>\<code\>代码内容\</code\>\</pre\>
    示例:

    1. 方法2 test
    2. 方法2 test (需要 shift + enter)

       console.log("方法1 test") 
    3. 这里没有手动填3.
    4. 再回车序号也是连上的
  3. 方法 3:手动保持有序列表的序号完整,但是手动保持的下一个不能在保持了。

1. 定位泄漏点

在需要分析的线程中开一个协程监听

go func() {  
   tlog.Infof("pprof http server listening on: %v", 28001)  
   err := http.ListenAndServe(addr, nil)  
   if err != nil {  
      tlog.Fatal("pprof http start failed. err: ", err.Error())  
   }  
}()

需要使用go tool pprof工具分析
命令行输入:go tool pprof http://127.0.0.1:28001/debug/pprof/heap
进入命令行界面输入:top 会显示当前占用内存最高的前几。
或者输入 web 会在浏览器打开内存使用堆栈信息,需要特别注意红色粗线这是内存使用热点方法。

如果没有历史的web界面,或者说从来没看过内存堆栈,那就只能从最大的往下排查,或者直接查一眼就有问题的方法(这个方法占用的内存不应该这么高)。

找到泄露点,如果是异常开辟内存使用,那么改掉就完事。
项目遇到的是引用泄露,方法开辟了内存将引用抛出去,但是那个地方持有引用不知道。导致排查单独很高。(如果有知道如何快速排查的大神请留言)

2. 引用泄露排查小技巧

  1. 第一步不用说分析代码,理一下对象引用可能在那些地方被引用然后逐步分析。
  2. 分析不出来如果上层还是一个对象,在上层对象创建时添加内存开辟的特色代码。目的是为了检测是不是上层泄露,只是泄露点开辟的内存比较多,所以显示在这里。

    // 将下面代码设置在上层对象身上
    testData := make([]int32,10 * 1024 * 1024)
    for i:=0; i < len(testData); i++ {
        testData[i] = 1
    }
  3. 当内存是缓慢上涨并且有会下降,那么可能是达成条件能回收内存。
    在对象生成的地方打印日志,并且加上对象销毁的日志。尝试复现观察什么操作能降低内存,分析操作的代码。

    tlog.Infof("create_object finalized :%v", object.GetID())  
    runtime.SetFinalizer(object, func(o *Object) {  
       tlog.Errorf("object finalized :%v", object.GetID())  
    })
    
    // 强制调用gc的代码,相当于做出相关操作然后调用gc观察是否有回收日志
    runtime.GC()

文章地址

总结

  • 保持睡眠时长与质量。
  • 不要吸烟。
  • 尽可能每天做点运动。
  • 减少糖分的摄入。

    睡眠

    想要好的工作学习状态,提升免疫力新陈代谢,以及心理健康,专注力等。最最最重要的前提是一个好的睡眠

原理

  1. 睡眠主要控制生物钟,早上身体释放皮质醇和肾上腺素让我们醒过来,同时设定褪黑素的倒计时钟。眼睛出了看见东西的作用:通过黑视素神经节细胞来接受光照信息,用以设置内在生物钟。也就是做通宵过后,太阳升起 也不很感觉很困的原因。体温也是控制我们生物钟的手段,体温会从深睡眠中比较低的状态逐渐升高,到醒来后持续上升。到了一天的后半段会开始逐渐下降,直到再次进入睡眠。

    总结

  2. 起床后应该到外面去接触阳光,持续2-10分钟。
  3. 晚上尽量避免光源的接触。
  4. 晚上观察落日有助于睡眠
  5. 早上洗冷水澡,唤醒身体
  6. 晚上锻炼 延迟睡眠
  7. 推荐的锻炼时间,醒来后的30分钟,3小时,11小时。
  8. 绝大多数人 6-8小时睡眠时长是足够的。

饮食

背景

  1. 身体进食有两种状态:

    1. 吃饱,血糖含量较高的状态。此时身体会更活跃的进行体内细胞的复制和成长。
    2. 禁食,血糖含量较低。此时身体会更活跃的进行体内细胞的修复与清理。
  2. 间歇性禁食对于身体有非常多好处,促进肝脏健康,胆汁酸代谢,炎症自愈,保持体重,提升 brown fat 储备(对健康有益),防止非酒精性脂肪肝,血糖控制,肠道健康等等。如果养成间歇性禁食的习惯 60 天以上,还会让我们的身体倾向于代谢脂肪来供能,控制体重。
  3. 何时进食,与吃什么东西,其实是同等重要的。

总结

  1. 长期禁食太难,想要享受禁食的好处,有几个版本:

    1. 基础 fasting :最简单的执行原则是起床后至少 1 小时内不要吃东西,同时睡前的 2-3 小时不要吃任何东西
    2. 高阶 fasting :目前研究结果中最理想的进食窗口是 8 小时,结合社会习俗等,一般比较合理的时间在 10-18 点或 12-20 点的范围。看起来不吃早饭并不是什么坏事 :)
    3. 健身增肌,把时间窗口前移,早上摄入蛋白质对肌肉增长有益。而健身时间可以自由选择。
    4. 尽量保证窗口时间的稳定。
    5. 不吃东西并不是水都不能喝。所以吃了晚饭后只能喝水别的啥也不能吃,牛奶也不行,所以早上喝牛奶。
    6. 晚饭后向尽快进入状态,可以轻量运动。
  2. 饮食与消化道健康

    1. 肠道的微生物群不仅影响消化系统的健康运作,对人体的免疫系统也起到了非常关键的因素
    2. 保持菌群的多样性程度高,一般表示更加健康。
    3. 抗生素会严重破坏肠道菌群生态,需要谨慎使用。
    4. 发酵类食物:酸奶,牛奶酒(kefir),康普茶,酸菜,泡菜,纳豆等。注意需要是自然发酵,一般是冷藏且非罐装的食品。而且像酸奶这类要格外注意不要加糖等添加剂。
    5. 总结:

      1. 如果要改善肠道菌群生态,最好的方式是一天两次摄入天然发酵类食品
      2. 益生菌的效果没有广泛研究支持,且这类产品的监管很有限。
      3. 另外值得参考的是我们也有官方的 中国居民膳食指南,或许更适合东方人的饮食习惯。

心态与动力

原理

  1. 多巴胺作用于两个神经回路,一个影响身体的运动,例如帕金森病与多巴胺的分泌不足有关;另一个则影响我们的冬季,欲望与快乐,这个和我们从事的各种活动有关,不管工作、学习、社交、休闲娱乐。
  2. 多巴胺低我们情绪低落,高,我们会感到兴奋和快乐。
  3. 在多巴胺 baseline 时,我们达成一些令人兴奋的目标后,多巴胺会达到一个峰值,之后多巴胺会回落到比之前更低的一个值,并且持续一段时间。
  4. 多巴胺绝对值含量的高低只是一方面,更重要的是其“相对变化量”的多少。所以当你持续做一件喜欢的事情时,你感受到快乐的阈值也会不断提高
  5. 多巴胺的总体“储备”是有限的

影响多巴胺的外接因素

  • 巧克力,提升到 1.5 倍的多巴胺 baseline
  • 性行为,提升到 2 倍
  • 尼古丁,提升到 2.5 倍
  • 可卡因,提升到 2.5 倍
  • 安非他命,提升到 10 倍
  • 咖啡因本身只会少量提升多巴胺,但它会抑制一些多巴胺受体,提升同等多巴胺造成感受的效果
  • 马黛茶,包含咖啡因,能控制血糖,还能保护多巴胺神经元
  • 刺蒺藜豆也能提升多巴胺(基本等同于 L-DOPA),还能提升男性精子数量和质量
  • 运动,带有主观成分,喜欢跑步的人,可以提升到 2 倍 baseline
  • 健康的社交关系也会促进多巴胺释放

冷水浴能够提升多巴胺释放到 baseline 的 2.5 倍左右

总结

  1. 维持健康的多巴胺水平,可以间歇性且随机的奖励。
  2. 如果我们始终以完成活动后的奖励为目标,则整个过程中就很少释放多巴胺,让原本困难的过程变得更加难以坚持需要把努力的这个过程当作奖励
  3. 通过暗示来使我们有动力(释放多巴胺)来完成挑战。

学习与专注

原理

  1. 学习的本质是神经元的重新连接(rewire)
  2. 要达到神经可塑性的状态,有两点:

    1. 足够的专注度
    2. “犯错”的信号
  3. 在学习时,乙酰胆碱会标记需要改变的神经元,集体的神经元重连则是在休息和睡眠是发生的变化 (和JAVA的垃圾回收机制很像)
  4. 犯错信号:尝试做一些事情时,没有达到预期,身体会给大脑,“我犯错了”。在这种情况下,神经系统会释放肾上腺素(提升alertness),乙酰胆碱(提高 focus),多巴胺(促进神经元的 change,rewire )等化学物质,激活神经元的可塑性。犯错是我们进入学习状态的重要前提
  5. 心流是一种精神高度集中且接近于自动化的状态,是在做我们已经知道怎么做的事情,而不是在学习新的知识技能
  6. 利用神经可塑性

    1. 25岁前大脑天然的神经可塑性会比较好,可以尽可能广泛的学习各种知识和技能
    2. 成年人对于小幅度的增量学习是完全可以适应与掌握的
    3. 增加自己的渴望度,重要性,奖励
    4. 通过扰乱前庭神经系统(vestibular system),能够达到神经元可塑性的状态,比如倒立,瑜伽,体操,滑板,任何让身体会失去平衡的一些状态等

    总结

  7. 学习的理想状态

    1. 不能太放松以至于有些昏昏欲睡,也不能太紧张激动,无法控制自己拥有清晰的思考
    2. 生理叹息(Physiological Sigh)。操作方法上简单来说就是吸两口气,然后出一口长气。通常情况下,只要一两次生理叹息就足以使我们的压力和警觉水平迅速下降,让人感到更加平静,提升学习表现。

专注

  1. “专注”背后的机理是大脑中两种“网络模式”的协调,一种叫 Default network,在我们不做任何事情时被激活,另一种叫 Task networks,在我们专注于做某些事情时被激活。普通人的大脑能够很好地协调这两个模式,两者像跷跷板一样,当一种模式被激活时另一种模式会被抑制。
  2. 提升多巴胺水平,可以有效促进这两种网络模式的协调。
  3. 提升专注的方法:

    • 适量补充 Omega-3 EPA 鱼油,这是神经细胞的组成原料之一,能够有效减轻抑郁,对治疗多动症(ADHD)也有帮助。
    • 通过身体其它部分释放运动,可以帮助提升注意力。教授举的例子是作为神经科医生在开刀时,如果采用半蹲半站的姿态(运动释放),拿手术刀的手更稳定不容易颤抖。这让我想起以前读书时很多同学习惯转笔,现在工作了也有不少人喜欢玩指尖陀螺,或者站立办公,可能都是类似效果。
    • 限制视野范围,能够提升专注度。比如我们经常因为眼睛瞟到了任务栏上的消息提示闪动而分心,可以通过一些设置来进入“专注模式”。
    • 视线的高低也会影响神经状态,视线往下看会让神经系统偏向镇静,放松,甚至困倦,而视线向上则会让系统提升警惕。工作时一般至少把显示器放置在鼻子位置之上。
    • 大脑不擅长处理大量频繁的 context switch,典型的比如刷抖音,不同的信息以非常快的速度频繁切换,这对我们的注意力是有伤害作用的。2014 年的一项研究表示,我们每天在手机上花费的时间应该少于 60 分钟(青少年)/120 分钟(成年),以免引起注意力障碍问题。
    • 还有研究表明,17 分钟的冥想,能够对大脑中的神经元做重新连接,永久地改善注意力。只要做一次就可以,完全可以尝试一下。

大脑健康

  1. 首先就是睡眠,保证高质量的睡眠。
  2. 对大脑直接帮助最大的是有氧运动,提升心肺功能,支持大脑供能。建议每周 150-180 分钟的有氧训练。
  3. 食物:

    • Omega3, 尤其是 EPA 等脂肪酸,是大脑组成的重要部分,且一般人都容易摄入不足。多吃鱼,牡蛎,鱼子酱,奇亚籽,核桃,大豆。一天至少摄入 1.5 克,理想情况需要 3 克以上。不喜欢吃鱼的话可以辅助摄入鱼油。
    • 磷脂酰丝氨酸,也对认知能力有帮助。通过鱼,肉类,卷心菜来摄入。
    • 乙酰胆碱,重要的神经调质,提升注意力。摄入胆碱的重要来源是鸡蛋,尤其是蛋黄。土豆,坚果,水果中也含有,虽然没有蛋黄中的含量那么丰富。可以通过 Alpha-GPC 等补充剂来获取。
    • 肌酸,尤其对于不吃肉的人,一天需要摄入 5 克左右。
    • 花青素,在蓝莓,黑莓,葡萄等食物中有提供。可以降低 DNA 损伤,缓解认知下降等问题。大约每天需要 60-120 克蓝莓的补充。
    • 谷氨酰胺,可以通过牛肉,鸡肉,鱼肉,鸡蛋,大豆,卷心菜,菠菜,芹菜等食物来摄取。提升大脑在缺氧(高海拔地区)下的表现,还能够抑制对糖的需求。
    • 水,钠,钾,镁等电解质是神经元信号传递所需的基础元素,需要保证

长寿

衰老的本质

  1. 从本质上来说,衰老是基因信息的损失,这分为两部分:

    1. DNA 本身的信息,比如细胞中的 DNA 结构会在辐射等情况下受到破坏。
    2. 控制哪些基因进行表达的信息受到了破坏,也就是所谓的表观基因组(epigenome)。这部分在衰老的因素中占了 80%。
  2. fasting 能提升动物/人类 30% 以上的寿命这是因为触发了身体自身的衰老抵抗机制。

    抗衰老的手段

    饮食
  3. 建议缩短进食窗口到8小时左右。
  4. 简单总结饮食,就是多吃植物类的蛋白(花生,藜麦,豆类,西兰花等),脂肪(橄榄油,坚果,牛油果等),减少精制碳水(白米饭,白面包,蛋糕,饼干等);动物脂肪,动物蛋白质,糖这些总体来说是加速衰老的。

    体育锻炼
  5. 有氧锻炼对心肺功能,血管健康等方面的促进对延寿很有帮助。力量训练也能持续保持我们的肌肉,关节,韧带的力量水平,支撑保护能力等,在年纪大时减少各种跌倒或者受伤的风险。一般建议是一周 3 小时左右的有氧运动,搭配 2 到 3 次的力量训练。有氧运动一般比较简单,跑步,骑车,游泳都可以。力量训练有一定的门槛,个人也最近正在学习一些入门训练方式。
    ![[Pasted image 20240415205511.png]]
药物
细胞重编程
实践

  1. 日记的作用:回顾过去、理清情绪和思维、做出正确选择。

    1. 回顾过去:消除恐惧,理清情绪和是靠
    2. 大脑是偏向消极情绪的,如果你讲真实想法写出来,你才能发现自己到底是如何想的。
  2. 记录的方法和时间

    1. 记录发生的事情

      1. 今天发生的有意义的事,新学的技能或者新认识的人
      2. 完成了什么成就(哪怕很小也可以,例如吃了早饭,起床早)
      3. 对你影响最深刻的一件事是什么,为什么?
      4. 哪些事情引起了你的情绪波动
    2. 记录思想跟情绪

      1. 情绪日记
      2. 感激日记
      3. 成就日记
    3. 记录自己的选择和目标

      1. 如果我去做了害怕的事,最糟糕的结果是什么?
      2. 我可以做什么来防止那些坏事发生?
      3. 如果最坏的情况发生了,我能做什么来修复它?
      4. 如果我试过了甚至取得了小小的成功,那我会得到什么好处
      5. 如果我害怕的事情一直不做,半年、一年、三年后将会发生什么?