<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
            <title>桃源耕云客</title>
            <link>https://www.firstsaofan.top</link>
        <generator>Halo 1.6.1</generator>
        <lastBuildDate>Tue, 12 May 2026 16:03:53 CST</lastBuildDate>
                <item>
                    <title>
                        <![CDATA[三分法投资组合管理使用说明]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/san-fen-fa-tou-zi-zu-he-guan-li-shi-yong-shuo-ming</link>
                    <description>
                            <![CDATA[<h3 id="%E4%B8%89%E5%88%86%E6%B3%95%E6%8A%95%E8%B5%84%E7%BB%84%E5%90%88%E7%AE%A1%E7%90%86%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E" tabindex="-1">三分法投资组合管理使用说明</h3><p>背景：FIRE之后，被动收入大部分来自投资的收益。由于本人的投资属于长线。所以只需要隔一段时间来检查对应的分类是否是期望占总仓位的百分比即可。</p><p>项目地址：<a href="https://touzi.firstsaofan.top/" target="_blank">https://touzi.firstsaofan.top/</a></p><p>由于不上班了，所以就用二级域名了，不额外增加费用了。能省则省。</p><h4 id="1.%E7%99%BB%E5%BD%95%E6%B3%A8%E5%86%8C%E7%95%8C%E9%9D%A2%EF%BC%8C%E8%87%AA%E5%B7%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%B5%8B%E8%AF%95%E6%BC%94%E7%A4%BA%E8%B4%A6%E5%8F%B7" tabindex="-1">1.登录注册界面，自己可以使用测试演示账号</h4><p><img src="/upload/2026/05/image.png" alt="image" /></p><h4 id="2.%E7%99%BB%E5%BD%95%E4%B9%8B%E5%90%8E%E6%98%AF%E8%BF%99%E6%A0%B7%E7%9A%84%EF%BC%8C%E8%87%AA%E5%B7%B1%E7%9A%84%E6%B1%87%E6%80%BB%E3%80%82%E6%94%B6%E7%9B%8A%E7%8E%87%E5%92%8C%E5%88%86%E7%B1%BB%E7%9A%84%E4%BB%93%E4%BD%8D%E5%8D%A0%E6%AF%94%E3%80%82" tabindex="-1">2.登录之后是这样的，自己的汇总。收益率和分类的仓位占比。</h4><p><img src="/upload/2026/05/image-1778572688707.png" alt="image-1778572688707" /></p><h4 id="3.%E8%87%AA%E5%B7%B1%E6%B3%A8%E5%86%8C%E8%B4%A6%E5%8F%B7%E4%B9%8B%E5%90%8E%EF%BC%8C%E7%AC%AC%E4%B8%80%E6%AD%A5%E9%9C%80%E8%A6%81%E5%86%8D%E5%88%86%E7%B1%BB%E7%AE%A1%E7%90%86%E9%87%8C%E9%9D%A2%E5%A2%9E%E5%8A%A0%E5%88%86%E7%B1%BB" tabindex="-1">3.自己注册账号之后，第一步需要再分类管理里面增加分类</h4><p><img src="/upload/2026/05/image-1778572701854.png" alt="image-1778572701854" /></p><h4 id="4.%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%E6%8C%81%E4%BB%93%E6%98%8E%E7%BB%86%E5%8D%B3%E5%8F%AF" tabindex="-1">4.然后添加持仓明细即可</h4><p><img src="/upload/2026/05/image-1778572714790.png" alt="image-1778572714790" /></p><h4 id="5.%E7%84%B6%E5%90%8E%E8%87%AA%E5%B7%B1%E5%9C%A8%E8%B0%83%E4%BB%93%E5%BB%BA%E8%AE%AE%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E9%85%8D%E7%BD%AE" tabindex="-1">5.然后自己在调仓建议这里创建配置</h4><p><img src="/upload/2026/05/image-1778572725542.png" alt="image-1778572725542" /></p><h4 id="6.%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%B7%B1%E7%9A%84%E6%9C%9F%E6%9C%9B" tabindex="-1">6.设置自己的期望</h4><p><img src="/upload/2026/05/image-1778572742061.png" alt="image-1778572742061" /></p><h4 id="7.%E8%AE%BE%E7%BD%AE%E5%AE%8C%E6%AF%95" tabindex="-1">7.设置完毕</h4><p><img src="/upload/2026/05/image-1778572754118.png" alt="image-1778572754118" /></p><h4 id="8.%E7%84%B6%E5%90%8E%E4%BD%BF%E7%94%A8ai%E6%9D%A5%E5%88%86%E6%9E%90%E8%87%AA%E5%B7%B1%E4%BB%93%E4%BD%8D%E5%92%8C%E6%8A%95%E8%B5%84%E5%BB%BA%E8%AE%AE%E3%80%82%E8%BF%99%E4%B8%AA%E6%98%AF%E6%A0%B9%E6%8D%AE%E8%87%AA%E5%B7%B1%E5%89%8D%E9%9D%A2%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%8D%A0%E6%AF%94%E5%92%8C%E6%AD%A2%E7%9B%88%E7%82%B9%E5%92%8C%E6%AD%A2%E6%8D%9F%E7%82%B9%E6%9D%A5%E7%9A%84%E3%80%82" tabindex="-1">8.然后使用AI来分析自己仓位和投资建议。这个是根据自己前面设置的占比和止盈点和止损点来的。</h4><p><img src="/upload/2026/05/image-1778572763172.png" alt="image-1778572763172" /></p><h4 id="9.%E6%8A%95%E8%B5%84%E7%BB%84%E5%90%88%E5%88%86%E6%9E%90%EF%BC%9A%E6%88%AA%E5%9B%BE%E6%B2%A1%E6%88%AA%E5%AE%8C" tabindex="-1">9.投资组合分析：截图没截完</h4><p><img src="/upload/2026/05/image-1778572805035.png" alt="image-1778572805035" /></p><h4 id="10.ai%E6%8A%95%E8%B5%84%E5%BB%BA%E8%AE%AE%EF%BC%9A%E4%B8%80%E6%A0%B7%E6%88%AA%E5%9B%BE%E6%B2%A1%E6%88%AA%E5%AE%8C%E6%95%B4" tabindex="-1">10.AI投资建议：一样截图没截完整</h4><p><img src="/upload/2026/05/image-1778572807636.png" alt="image-1778572807636" /></p><h4 id="%E6%B3%A8%E6%84%8F%EF%BC%9A%E6%AD%A4%E7%B3%BB%E7%BB%9F%E5%8F%AA%E6%98%AF%E6%96%B9%E4%BE%BF%E8%87%AA%E5%B7%B1%E9%95%BF%E7%BA%BF%E6%8A%95%E8%B5%84%E6%96%B9%E4%BE%BF%E8%BF%BD%E8%B8%AA%E4%B8%8B%E6%95%B4%E4%BD%93%E4%BB%93%E4%BD%8D%EF%BC%8C%E4%B8%8D%E5%81%9A%E6%8A%95%E8%B5%84%E6%8E%A8%E8%8D%90%EF%BC%8C%E8%87%AA%E5%B7%B1%E7%9A%84%E9%92%B1%E8%87%AA%E5%B7%B1%E6%8E%8C%E6%8F%A1%E3%80%82" tabindex="-1">注意：<mark>此系统只是方便自己长线投资方便追踪下整体仓位，不做投资推荐，自己的钱自己掌握。</mark></h4><p>飞书地址：<a href="https://zcn8986wamx5.feishu.cn/docx/BXEIdQzwfoyMlhxZHNpcsxfInQb?from=from_copylink" target="_blank">https://zcn8986wamx5.feishu.cn/docx/BXEIdQzwfoyMlhxZHNpcsxfInQb?from=from_copylink</a></p>]]>
                    </description>
                    <pubDate>Tue, 12 May 2026 16:03:53 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[兼职FIRE或许是最适合我的选择]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/jian-zhi-fire-huo-xu-shi-zui-shi-he-wo-de-xuan-ze</link>
                    <description>
                            <![CDATA[<h3 id="%E5%85%BC%E8%81%8Cfire%E6%88%96%E8%AE%B8%E6%98%AF%E6%9C%80%E9%80%82%E5%90%88%E6%88%91%E7%9A%84%E9%80%89%E6%8B%A9" tabindex="-1">兼职FIRE或许是最适合我的选择</h3><p>    2025年国庆之后回到杭州，由于公司事业部的调整。被裁员了。虽然补偿金并不是期望的金额。但是我也不愿多扯皮。当天就收拾了公司东西。回到了公寓。</p><p>此时我的计划是gap一段时间。休息好了再换份工作。此时的我的计划是，下一份工作大概工作1-2年我就可以回家选择<strong>Lean FIRE</strong>（极简退休）的生活方式。这个算是现阶段人生一个短暂的目标。</p><p>中间由于并没有好的游戏玩、接触到了新游永恒之塔2。我第一次完整的体验MMO游戏。我最开始没有通过这个游戏赚钱。所以并不知道它如何挣钱、模式是怎么样的。后面完整的了解到了。</p><p>然后正常过年。第一次过了正月十五才出门。求学与毕业工作以后。都是初六左右出门。回到杭州、继续gap生活。就是来杭州接近4年。吃的还是不习惯。</p><p>    2026年4月初。已经在复习。但是在考虑要不要找工作。老实说，我现在的被动收入完全可以覆盖我的生活还有结余。同时我玩游戏还有一部分收入。只不过我的支出本身就低。大头是房租。我回家就没有这个开销了。2200左右。此时仍在纠结。</p><p>求学时，课桌在窗户边，我向往窗外的世界，毕业后，工位仍在窗户边。我依然向往窗外的世界。</p><p>年少临窗望碧空，书声常伴鸟凌风。</p><p>今朝坐对玻璃幕，楼宇参差斜照中。</p><p>窗里流光欺过客，一心仍与白云同。（AI版上述句子）</p><p>    本质还是我并不喜欢现在的工作，但是由于生存所迫，我<mark>不得不</mark>以此谋生。上班给我带来的更多的是精神层面的缺失，同时也失去了创造力。我还记得3年前，gpt刚出来的时候，我每天下班了解和做开源项目。一个套壳gpt的网站，方便自己上班使用的，因为不能直连。我做了一个方便自己用。有一些人也部署了。还有人为此打赏了咖啡钱。虽然没几个钱。但是那种做的东西被认可和上班不一样。现在的软件，我说实话，什么为了用户，狗屁。我只看怎么诱导用户交费和让用户误触跳转各种广告或者游戏小程序，全是垃圾。游戏也是抄抄抄。没什么特别大新颖。其实和我们软件开发差不了多少，因为我们做的系统，可能我们自己都不会用，游戏我想也一样，他就是上班，拿工资，完成需求，结束了，自己也不玩。所以所谓的策划和游戏被骂也正常。因为自己做的游戏，自己都不玩。自己但凡玩一下都不至于做成这样。我们开发系统也一样，自己也不用。测试测一下，没问题就行。没什么成就感。</p><p>    迫于生存压力而背井离乡打工的目的是为了生存。如果我没有生存压力的情况下，我是否应该选择别的生活方式呢？自己舒服的方式。做自己想做的事情。老实说，我儿时想变成什么样的人，做什么事情，我已经记不得了。我想找到曾经的自己。</p><p>21年还是22年，我接触到了FIRE。在那之前我就在存钱了，我不想一直在外地打工，也不想我一直在写字楼写这些烂系统。我想生活在没有闹钟的世界了，天气不好我不用出门上班。我想睡到自然醒，我想随心所欲，想独自在下午的阳台上，静静的发呆。享受着幸福的时光。长大后，才发现阳光也是收费的，朝阳不朝阳的房租是两个价格。</p><p><strong>FIRE的分类</strong></p><p>FIRE分为以下几种类型：</p><p>1.Fat FIRE :还是遵循着传统朝九晚五的工作方式，在不过度降低生活质量的基础上通过更多的储蓄来实现退休；</p><p>2.Lean FIRE：指严格遵守极简主义生活和极端储蓄，采取比较严格的生活方式来实现提前退休。</p><p>3.Barista FIRE：指的是那些已经辞去了传统朝九晚五的工作但仍然从事某种形式的兼职工作来支付当前费用的FIRE，这些兼职的费用仍然用于覆盖他们自身的支出。</p><p>4.Coast FIRE：也适用于有兼职工作的FIRE，但这些FIRE确实有足够的储蓄来支付退休和目前的生活费用，可能是出于兴趣爱好或者其他原因依然有着工作。</p><p>    基于上述的FIRE类型，我认为比较适合我的是Coast FIRE，使用我的理解和本土化翻译，其实是兼职FIRE，也就是PartFIRE。我理解的FIRE和躺平可能不太一样。我认为如果自己的工作是生存而被迫的，可以存下一笔钱之后。自己选择自己喜欢的行业。这本身就会带来部分收入。此时结合自己的被动收入。覆盖自己的支出即可。此时自己本身的行业是自己喜欢的，自己也会更加的深入钻研。随着时间的深入。你会越来越厉害。收入也会提升。即便没有提升。结合被动收入。你也是没有生存压力的。而本身自己喜欢的行业也会给自己带来极大的满足感。我觉得无论自己何时退休和FIRE。自己本身能持续学习和保持能创造财富的能力比钱本身重要。</p><p>    丁元英说：“我在1996年就提过，国家机器不缺一个迟早要被淘汰的女刑警，而社会应该多一个有非常作为的人才。以你的条件、阅历和人际资源，只要你努力，你在15年内至少能挣到1000万。我给你两个建议，一是你不以求职应聘为生，要学位意义不大，应该什么有用学什么，不影响创作、经营，学个十年八年的，就为有个学习环境。”《遥远的救世主》</p><p>    我赞同此说法，如果不为了钱，应该喜欢什么就学什么。在这个领域深挖耕耘个十年八年的，不会太差的。不说别的，温饱一定能解决。即便不行，也可以结合被动收入来覆盖。所以第一笔钱尤其重要。它能给你带来选择的权力。</p><p>    其实此时的我已经决定了，先回家了。没必要再给交房租了，接近4年，这公寓我交租都交了10多W了。现在不上班，没必要承担这个费用了。我是准备五一过后，我准备给家里说我的想法。因为我是押一付三，我6月房租才到期。五月前。父亲给我打了电话，问最近的想法。我就告诉了他我的想法。他就说直接来接我。我东西确实也多。服务器加主机+Nas。也不好邮寄。非常感谢我的父母理解我。</p><p>    回来接近2周了。目前是游戏搬砖，但是由于被动收入能覆盖支出，所以并不需要高强度。每周清体力1-2天即可，剩下的5天自己做自己的事情。目前是准备写自己投资动态平衡的系统。方便自己使用。</p><p>希望自己30岁之前能找到自己真正喜欢的、能为之努力一生的事情。</p><p>此文记录的原因是：真实记录此时的自己的所思所想，方便自己以后阅读。同时给有相似经历或者有FIRE想法的小伙伴做个参考。</p><p>推荐书籍：《要钱还是要生活》、《工作、消费主义和新穷人》、《制造消费者》</p>]]>
                    </description>
                    <pubDate>Tue, 12 May 2026 15:10:50 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[edge和Google浏览器插件之网页二维码解码]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/edge-he-google-liu-lan-qi-cha-jian-zhi-wang-ye-er-wei-ma-jie-ma</link>
                    <description>
                            <![CDATA[<h3 id="edge%E5%92%8Cgoogle%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8F%92%E4%BB%B6%E4%B9%8B%E7%BD%91%E9%A1%B5%E4%BA%8C%E7%BB%B4%E7%A0%81%E8%A7%A3%E7%A0%81" tabindex="-1">edge和Google浏览器插件之网页二维码解码</h3><p>背景：由于一些资源网站，为了强行增加转存，把网盘资源弄成了二维码，需要手机扫码转存以后，电脑登陆网盘之后再通过自己账号资源下载。比较麻烦。我想找个浏览器插件，直接识别识别二维码内容，由于只是一个url而已。我认为比较简单。</p><h4 id="%E5%BC%80%E5%8F%91%E8%BF%87%E7%A8%8B" tabindex="-1">开发过程</h4><p>由于本人没有开发过浏览器插件。所以直接让AI开始，经过几分钟之后，实现完毕。然后自己通过浏览器打包。发现没有在Google商店上架，浏览器会禁止插件使用，直接加载未打包的插件，是可以正常使用的。有需要的朋友自取。</p><h4 id="%E6%8C%89%E7%85%A7%E6%8F%92%E4%BB%B6%EF%BC%9A" tabindex="-1">按照插件：</h4><p>管理扩展—&gt;加载解压缩的扩展—&gt;选择插件目录即可</p><h4 id="%E4%BD%BF%E7%94%A8%E5%A6%82%E5%9B%BE%EF%BC%9B" tabindex="-1">使用如图；</h4><p>插件会自动识别网页的二维码，自己点击复制即可<br /><img src="/upload/2026/05/image-20260511101159050.png" alt="image-20260511101159050" /></p><h4 id="%E9%A1%B9%E7%9B%AE%E5%9C%B0%E5%9D%80%EF%BC%9A" tabindex="-1">项目地址：</h4><p><a href="https://github.com/firstsaofan/QRCodeDecoding" target="_blank">https://github.com/firstsaofan/QRCodeDecoding</a></p><p><mark>代码完全由AI实现</mark></p>]]>
                    </description>
                    <pubDate>Mon, 11 May 2026 10:33:43 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[义工计划]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/yi-gong-ji-hua</link>
                    <description>
                            <![CDATA[<h2 id="%E4%B9%89%E5%B7%A5%E8%AE%A1%E5%88%92" tabindex="-1">义工计划</h2><h3 id="%E5%85%AC%E7%9B%8A%E6%80%A7%E8%B4%A8%E9%A1%B9%E7%9B%AE%E7%BC%BA%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91%E5%8F%AF%E4%BB%A5%E8%81%94%E7%B3%BB%E6%88%91%EF%BC%8C" tabindex="-1">公益性质项目缺后端开发可以联系我，</h3><h3 id="%E8%AF%AD%E8%A8%80%EF%BC%9Ac%23" tabindex="-1">语言：C#</h3><h3 id="%E5%B7%A5%E4%BD%9C%E6%96%B9%E5%BC%8F%EF%BC%9A%E8%BF%9C%E7%A8%8B" tabindex="-1">工作方式：远程</h3><h3 id="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F%EF%BC%9Aqq-1543258894-%7C-%E9%82%AE%E7%AE%B1%EF%BC%9A1543258894%40qq.com" tabindex="-1">联系方式：QQ 1543258894 | 邮箱：1543258894@qq.com</h3>]]>
                    </description>
                    <pubDate>Fri, 17 Apr 2026 09:41:41 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[求职博客]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/qiu-zhi-bo-ke</link>
                    <description>
                            <![CDATA[<h2 id="%E6%B1%82%E8%81%8C%E5%8D%9A%E5%AE%A2" tabindex="-1">求职博客</h2><h4 id="%E6%9C%89%E6%9C%8B%E5%8F%8B%E7%9A%84%E5%85%AC%E5%8F%B8%E6%88%96%E8%80%85%E7%8C%8E%E5%A4%B4%E5%9C%A8%E6%8B%9B%E8%81%98%E5%90%8E%E7%AB%AF.net%E7%9A%84%E5%8F%AF%E4%BB%A5%E8%81%94%E7%B3%BB%E6%88%91" tabindex="-1">有朋友的公司或者猎头在招聘后端.Net的可以联系我</h4><h4 id="%E6%9C%9F%E6%9C%9B%E5%B7%A5%E4%BD%9C%E5%9C%B0%E7%82%B9%EF%BC%9A%E4%BB%BB%E4%BD%95%E5%9C%B0%E7%82%B9" tabindex="-1">期望工作地点：任何地点</h4><h4 id="%E5%B7%A5%E4%BD%9C%E6%96%B9%E5%BC%8F%E8%BF%9C%E7%A8%8B%E5%85%A8%E8%81%8C%E6%88%96%E5%85%BC%E8%81%8C" tabindex="-1">工作方式远程全职或兼职</h4><h4 id="%E8%96%AA%E8%B5%84%E8%AF%A6%E8%B0%88" tabindex="-1">薪资详谈</h4><h4 id="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F%EF%BC%9Aqq-1543258894-%7C-%E9%82%AE%E7%AE%B1%EF%BC%9A1543258894%40qq.com" tabindex="-1">联系方式：QQ 1543258894 | 邮箱：1543258894@qq.com</h4>]]>
                    </description>
                    <pubDate>Sat, 07 Mar 2026 11:26:18 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[win10企业版系统无法升级到win11或者无法升级到最新的内核]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/win10-qi-ye-ban-xi-tong-wu-fa-sheng-ji-dao-win11-huo-zhe-wu-fa-sheng-ji-dao-zui-xin-de-nei-he</link>
                    <description>
                            <![CDATA[<h3 id="win%E4%BC%81%E4%B8%9A%E7%89%88%E7%B3%BB%E7%BB%9F%E6%97%A0%E6%B3%95%E5%8D%87%E7%BA%A7%E5%88%B0win11%E6%88%96%E8%80%85%E6%97%A0%E6%B3%95%E5%8D%87%E7%BA%A7%E5%88%B0%E6%9C%80%E6%96%B0%E7%9A%84%E5%86%85%E6%A0%B8" tabindex="-1">win企业版系统无法升级到win11或者无法升级到最新的内核</h3><p>问题背景：笔记本是win10企业LSTC，无法正常更新到22h最新版以及无法升级到win11，此解决方案同样适用于家庭版以及其他版本无法正常更新的win系统</p><h4 id="1.windows-%E7%B3%BB%E7%BB%9F%E5%88%87%E6%8D%A2%E5%B7%A5%E5%85%B7%E3%80%82" tabindex="-1">1.windows 系统切换工具。</h4><p>下载地址：<a href="https://wwqk.lanzoum.com/ihjVC0mb35bi" target="_blank">https://wwqk.lanzoum.com/ihjVC0mb35bi</a></p><p>下载成功之后并解压即可：如图一键切换即可，等待成功：</p><p><img src="/upload/2026/01/image-20260130235103634.png" alt="image-20260130235103634" /></p><h4 id="2.%E6%89%93%E5%BC%80%E8%BD%AF%E4%BB%B6%E4%B8%80%E9%94%AE%E5%88%87%E6%8D%A2%E5%88%B0win10%E4%B8%93%E4%B8%9A%E7%89%88%E3%80%82" tabindex="-1">2.打开软件一键切换到win10专业版。</h4><p>然后激活软件：</p><p>以管理员权限打开Windows PowerShell</p><pre><code class="language-">输入&#96;slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX&#96;按回车键输入&#96;slmgr /skms kms.03k.org&#96;按回车键输入&#96;slmgr /ato&#96;按回车键</code></pre><p>激活成功</p><p>再使用windows易升工具升级到2004以上版本后使用Windows11安装助手即可</p><p>微软win10更新助手： <a href="https://www.microsoft.com/zh-cn/software-download/windows10?OCID=WIP_r_Win10_Body_AddPC" target="_blank">https://www.microsoft.com/zh-cn/software-download/windows10?OCID=WIP_r_Win10_Body_AddPC</a></p><p>微软win11更新助手：<a href="https://www.microsoft.com/zh-cn/software-download/windows11" target="_blank">https://www.microsoft.com/zh-cn/software-download/windows11</a></p><p>也可以如图使用系统自带的更新</p><p><img src="/upload/2026/01/image-20260130235024106.png" alt="image-20260130235024106" /></p><p>参考博客或文章：</p><p><a href="https://zhuanlan.zhihu.com/p/636745015" target="_blank">https://zhuanlan.zhihu.com/p/636745015</a></p><p><a href="https://www.52pojie.cn/thread-1765801-1-1.html" target="_blank">https://www.52pojie.cn/thread-1765801-1-1.html</a></p>]]>
                    </description>
                    <pubDate>Sat, 31 Jan 2026 00:00:00 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[EF Core的DB first模式使用已存在的sqlite数据库]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/efcore-de-dbfirst-mo-shi-shi-yong-yi-cun-zai-de-sqlite-shu-ju-ku</link>
                    <description>
                            <![CDATA[<h3 id="ef-core%E7%9A%84db-first%E6%A8%A1%E5%BC%8F%E4%BD%BF%E7%94%A8%E5%B7%B2%E5%AD%98%E5%9C%A8%E7%9A%84sqlite%E6%95%B0%E6%8D%AE%E5%BA%93" tabindex="-1">EF Core的DB first模式使用已存在的sqlite数据库</h3><h5 id="1.%E5%BC%95%E5%85%A5%E7%9A%84%E5%8C%85nuget%E5%8C%85%E7%89%88%E6%9C%AC%E5%A6%82%E4%B8%8B%E3%80%82" tabindex="-1">1.引入的包nuget包版本如下。</h5><pre><code class="language-json">  &lt;PackageReference Include=&quot;Microsoft.EntityFrameworkCore.Sqlite&quot; Version=&quot;9.0.10&quot; /&gt;</code></pre><h5 id="2.%E5%87%86%E5%A4%87%E5%A5%BD%E8%87%AA%E5%B7%B1%E7%9A%84db" tabindex="-1">2.准备好自己的db</h5><h5 id="3.%E5%9C%A8program%E9%87%8C%E9%9D%A2%E6%B7%BB%E5%8A%A0adddbcontext%E5%8D%B3%E5%8F%AF" tabindex="-1">3.在program里面添加AddDbContext即可</h5><pre><code class="language-c#">//添加sqlite3 数据库        builder.Services.AddDbContext&lt;FrameworkDbContext&gt;(opt =&gt;        {            var connectStr = @&quot;Data Source=./Db/database.db;&quot;;            opt.UseSqlite(connectStr);        });</code></pre><h5 id="frameworkdbcontext%E4%BB%A3%E7%A0%81%EF%BC%8C%E9%85%8D%E7%BD%AEdbset%E7%9A%84%E3%80%82" tabindex="-1">FrameworkDbContext代码，配置DbSet的。</h5><pre><code class="language-c#">using GameSaveSystemApi.Models;using Microsoft.EntityFrameworkCore;namespace GameSaveSystemApi.Infrastructure;public class FrameworkDbContext : DbContext{    //数据库表    public DbSet&lt;Game&gt; Games { get; set; }            public FrameworkDbContext(DbContextOptions&lt;FrameworkDbContext&gt; options) : base(options)    {    }    protected override void OnModelCreating(ModelBuilder builder)    {        base.OnModelCreating(builder);        builder.ApplyConfigurationsFromAssembly(GetType().Assembly);    }}</code></pre><h5 id="game%E6%98%AF%E5%AE%9E%E4%BD%93%E7%B1%BB%EF%BC%8C%E8%80%8Cgameconfig%E6%98%AF%E5%AF%B9%E5%BA%94%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%8C%E6%AF%94%E5%A6%82%E5%AE%9E%E4%BD%93%E7%B1%BB%E5%AD%97%E6%AE%B5%E4%B8%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A1%A8%E4%B8%8D%E4%B8%80%E8%87%B4%EF%BC%8C%E6%88%96%E8%80%85%E5%85%B6%E4%BB%96%E7%9A%84%E3%80%82%E8%BF%99%E9%87%8C%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%E6%98%AFef-core%E7%9A%84%EF%BC%8C%E6%89%80%E6%9C%89%E6%95%B0%E6%8D%AE%E5%BA%93%E9%83%BD%E4%B8%80%E6%A0%B7%EF%BC%8C%E5%85%B6%E4%BB%96%E7%94%A8%E6%B3%95%E5%8F%AF%E4%BB%A5%E5%8F%82%E8%80%83https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fef%2Fcore%2Fmodeling%2Ftable-splitting" tabindex="-1">Game是实体类，而GameConfig是对应的配置，比如实体类字段与数据库表不一致，或者其他的。这里的使用方法是EF Core的，所有数据库都一样，其他用法可以参考https://learn.microsoft.com/en-us/ef/core/modeling/table-splitting</h5><pre><code class="language-c#">using Microsoft.EntityFrameworkCore;using Microsoft.EntityFrameworkCore.Metadata.Builders;namespace GameSaveSystemApi.Models;public class GameConfig : IEntityTypeConfiguration&lt;Game&gt;{    public void Configure(EntityTypeBuilder&lt;Game&gt; builder)    {        //设置实体与已有数据库表映射        builder.ToTable(&quot;games&quot;);        //表主键        builder.HasKey(e =&gt; e.Title);        builder.Property(e =&gt; e.Title)            .HasColumnName(&quot;title&quot;);        builder.Property(e =&gt; e.WikiPageId)            .HasColumnName(&quot;wiki_page_id&quot;);        builder.Property(e =&gt; e.InstallFolder)            .HasColumnName(&quot;install_folder&quot;);        builder.Property(e =&gt; e.SteamId)            .HasColumnName(&quot;steam_id&quot;);        builder.Property(e =&gt; e.GogId)            .HasColumnName(&quot;gog_id&quot;);        builder.Property(e =&gt; e.SaveLocation)            .HasColumnName(&quot;save_location&quot;);        builder.Property(e =&gt; e.Platform)            .HasColumnName(&quot;platform&quot;);        builder.Property(e =&gt; e.GameChineseName)            .HasColumnName(&quot;zh_CN&quot;);    }}</code></pre><h5 id="%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84%EF%BC%9A" tabindex="-1">项目结构：</h5><p><img src="/upload/2025/11/image-20251114115018415.png" alt="image-20251114115018415" /></p><p>没什么技术，很久没用EF Core了，单纯记录下，方便自己以后</p>]]>
                    </description>
                    <pubDate>Fri, 14 Nov 2025 12:10:13 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[Comfyui本地部署，使用wan_2.1模型，实现图片生成视频]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/comfyui-ben-de-bu-shu--shi-yong-wan21-mo-xing--shi-xian-tu-pian-sheng-cheng-shi-pin</link>
                    <description>
                            <![CDATA[<h3 id="comfyui%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2%EF%BC%8C%E4%BD%BF%E7%94%A8wan_2.1%E6%A8%A1%E5%9E%8B%EF%BC%8C%E5%AE%9E%E7%8E%B0%E5%9B%BE%E7%89%87%E7%94%9F%E6%88%90%E8%A7%86%E9%A2%91" tabindex="-1">comfyui本地部署，使用wan_2.1模型，实现图片生成视频</h3><h5 id="1.%E5%85%88%E4%B8%8B%E8%BD%BD%E7%A7%8B%E5%8F%B6%E7%9A%84%E6%95%B4%E5%90%88%E5%8C%85%EF%BC%8C%E6%96%B9%E4%BE%BF%E7%82%B9%EF%BC%8C%E7%84%B6%E5%90%8E%E5%90%AF%E5%8A%A8%E3%80%82%E4%BC%9A%E8%87%AA%E5%8A%A8%E6%B5%8F%E8%A7%88%E5%99%A8%E5%BC%B9%E5%87%BA%E7%BD%91%E9%A1%B5%E7%9A%84%E3%80%82%E8%AE%BF%E9%97%AE%EF%BC%9Ahttp%3A%2F%2F127.0.0.1%3A8188%2F%EF%BC%8C%E8%B5%84%E6%BA%90%E4%B8%8B%E8%BD%BD%E5%8F%AF%E4%BB%A5%E7%9C%8B%E6%96%87%E7%AB%A0%E7%BB%93%E5%B0%BE%EF%BC%8C%E6%96%B9%E4%BE%BF%E5%90%84%E4%BD%8D" tabindex="-1">1.先下载秋叶的整合包，方便点，然后启动。会自动浏览器弹出网页的。访问：<a href="http://127.0.0.1:8188/%EF%BC%8C%E8%B5%84%E6%BA%90%E4%B8%8B%E8%BD%BD%E5%8F%AF%E4%BB%A5%E7%9C%8B%E6%96%87%E7%AB%A0%E7%BB%93%E5%B0%BE%EF%BC%8C%E6%96%B9%E4%BE%BF%E5%90%84%E4%BD%8D" target="_blank">http://127.0.0.1:8188/，资源下载可以看文章结尾，方便各位</a></h5><h5 id="2.%E7%82%B9%E5%87%BB%E5%B7%A5%E4%BD%9C%E6%B5%81%EF%BC%8C%E6%B5%8F%E8%A7%88%E6%A8%A1%E6%9D%BF" tabindex="-1">2.点击工作流，浏览模板</h5><p><img src="/upload/2025/11/image-20251109221740204.png" alt="image-20251109221740204" /></p><h5 id="3.%E9%80%89%E6%8B%A9%E8%A7%86%E9%A2%91%EF%BC%8C%E7%84%B6%E5%90%8E%E9%80%89%E6%8B%A9%E8%87%AA%E5%B7%B1%E7%9A%84%E5%B8%8C%E6%9C%9B%E7%9A%84%EF%BC%8C%E6%88%91%E9%80%89%E6%8B%A9%E7%9A%84%E6%98%AF%E5%9B%BE%E5%83%8F%E5%88%B0%E8%A7%86%E9%A2%91" tabindex="-1">3.选择视频，然后选择自己的希望的，我选择的是图像到视频</h5><p><img src="/upload/2025/11/image-20251109221834635.png" alt="image-20251109221834635" /></p><h5 id="4.%E5%BC%B9%E5%87%BA%E4%BB%A5%E4%B8%8B%E4%BF%A1%E6%81%AF%EF%BC%8C%E7%BC%BA%E5%B0%91%E6%A8%A1%E5%9E%8B%EF%BC%8C%E4%B8%8B%E8%BD%BD%E8%BF%994%E4%B8%AA%E6%96%87%E4%BB%B6%EF%BC%8C" tabindex="-1">4.弹出以下信息，缺少模型，下载这4个文件，</h5><p><img src="/upload/2025/11/image-20251109221924441.png" alt="image-20251109221924441" /></p><h5 id="5.%E4%B8%8B%E8%BD%BD%E5%AE%8C%E6%AF%95%E4%B9%8B%E5%90%8E%EF%BC%8C%E5%8F%82%E8%80%83%E9%93%BE%E6%8E%A5https%3A%2F%2Fcomfyanonymous.github.io%2Fcomfyui_examples%2Fwan%2F" tabindex="-1">5.下载完毕之后，参考链接https://comfyanonymous.github.io/ComfyUI_examples/wan/</h5><p>以下是下载的4个文件</p><p><img src="/upload/2025/11/image-20251109222249249.png" alt="image-20251109222249249" /></p><h5 id="%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%88%B0%E6%95%B4%E5%90%88%E5%8C%85%E9%87%8C%E9%9D%A2%E7%9A%84%E7%9B%AE%E5%BD%95%E3%80%82%EF%BC%88%E8%B7%AF%E5%BE%84%E9%83%BD%E6%98%AF%E7%9B%B8%E5%AF%B9%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%8F%96%E5%86%B3%E4%BD%A0%E7%9A%84%E5%AE%89%E8%A3%85%E7%9B%AE%E5%BD%95%EF%BC%89" tabindex="-1"><mark>配置文件到整合包里面的目录。（路径都是相对路径，取决你的安装目录）</mark></h5><p>1.<a href="https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main/split_files/text_encoders" target="_blank">umt5_xxl_fp8_e4m3fn_scaled.safetensors</a> 放入: ComfyUI/models/text_encoders/</p><p>2.<a href="https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/vae/wan_2.1_vae.safetensors" target="_blank">wan_2.1_vae.safetensors</a> 放入: ComfyUI/models/vae/</p><p>3.<a href="https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/diffusion_models/wan2.1_i2v_480p_14B_fp16.safetensors" target="_blank">wan2.1_i2v_480p_14B_fp16.safetensors</a> 放入: ComfyUI/models/diffusion_models/)</p><p>4.<a href="https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/clip_vision/clip_vision_h.safetensors" target="_blank">clip_vision_h.safetensors</a> 放入: ComfyUI/models/clip_vision/</p><h5 id="%E5%AE%8C%E6%88%90%E4%B9%8B%E5%90%8E%E5%88%B7%E6%96%B0%E8%87%AA%E5%B7%B1%E7%9A%84%E7%BD%91%E9%A1%B5%EF%BC%8C%E4%B8%8D%E4%BC%9A%E5%BC%B9%E5%87%BA%E7%BC%BA%E5%B0%91%E6%A8%A1%E5%9E%8B%E7%9A%84%E4%BF%A1%E6%81%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%EF%BC%9B" tabindex="-1">完成之后刷新自己的网页，不会弹出缺少模型的信息，然后运行；</h5><p><mark>我是4080，生成了一个2秒的视频，大概花了5-10分钟，我没有具体的去计算时间。</mark></p><p>这是示例的prompt，我没有修改，所以会保留狐狸耳朵的元素。</p><pre><code class="language-">a cute anime girl with massive fennec ears and a big fluffy tail wearing a maid outfit turning around</code></pre><p><img src="/upload/2025/11/image-20251109223847365.png" alt="image-20251109223847365" /></p><h5 id="wan2.2%E5%8F%82%E8%80%83%E8%BF%99%E4%B8%AA%E9%93%BE%E6%8E%A5%EF%BC%9Ahttps%3A%2F%2Fcomfyanonymous.github.io%2Fcomfyui_examples%2Fwan22%2F" tabindex="-1">wan2.2参考这个链接：<a href="https://comfyanonymous.github.io/ComfyUI_examples/wan22/" target="_blank">https://comfyanonymous.github.io/ComfyUI_examples/wan22/</a></h5><p>资源整合包：通过百度网盘分享的文件：秋叶comfyu…<br />链接:<a href="https://pan.baidu.com/s/1RJyRNwoPBa6bqLCf5C6MWQ" target="_blank">https://pan.baidu.com/s/1RJyRNwoPBa6bqLCf5C6MWQ</a><br />提取码:ne6w<br />复制这段内容打开「百度网盘APP 即可获取」</p><p><code>解压密码：bilibili-秋葉aaaki</code></p>]]>
                    </description>
                    <pubDate>Mon, 10 Nov 2025 10:43:56 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[JObject.Parse转化jsonstring带时区时间会被自动转化而不是保留原来的值]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/jobjectparse-zhuan-hua-jsonstring-dai-shi-qu-shi-jian-hui-bei-zi-dong-zhuan-hua-er-bu-shi-bao-liu-yuan-lai-de-zhi</link>
                    <description>
                            <![CDATA[<h3 id="jobject.parse%E8%BD%AC%E5%8C%96jsonstring%E5%B8%A6%E6%97%B6%E5%8C%BA%E6%97%B6%E9%97%B4%E4%BC%9A%E8%A2%AB%E8%87%AA%E5%8A%A8%E8%BD%AC%E5%8C%96%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BF%9D%E7%95%99%E5%8E%9F%E6%9D%A5%E7%9A%84%E5%80%BC" tabindex="-1">JObject.Parse转化jsonstring带时区时间会被自动转化而不是保留原来的值</h3><pre><code class="language-c#">using FluentAssertions;using Newtonsoft.Json;using Newtonsoft.Json.Linq;namespace DemoUnitTest;public class UnitTest1{    [Fact]    public void Test1()    {        //        var settings = new JsonSerializerSettings()        {            //不对时间进行处理，单纯把它当作字符串            DateParseHandling = DateParseHandling.None        };        //测试json string的时间问题        var student1 = new TestStudent()        {            //东八区            Birthday = &quot;2025-07-16T12:00:00+08:00&quot;,            //utc+10             Birthday2 = &quot;2025-07-16T12:00:00+10:00&quot;        };        var studentJson = JsonConvert.SerializeObject(student1, Formatting.Indented, settings);        var deserializeTestStudent = JsonConvert.DeserializeObject&lt;TestStudent&gt;(studentJson, settings);        //这里会把与你运行的机器的时区不一样的会自动转化，比如我们是+8，则birthday 不会变，而birthday2会变化。        var jObject = JObject.Parse(studentJson);        var birthday = jObject[&quot;Birthday&quot;]!.Value&lt;string&gt;();        var birthday2 = jObject[&quot;Birthday2&quot;]!.Value&lt;string&gt;();        var flag = birthday != student1.Birthday || birthday2 != student1.Birthday2 ? true : false;                flag.Should().BeTrue();        student1.Should().BeEquivalentTo(deserializeTestStudent);    }    public class TestStudent    {        public string Birthday { set; get; }        public string Birthday2 { set; get; }    }}</code></pre><h4 id="%E8%B0%83%E8%AF%95%E7%BB%93%E6%9E%9C%EF%BC%9A%E4%B9%9F%E5%8F%AF%E4%BB%A5%E8%87%AA%E5%B7%B1%E6%8A%8A%E6%9C%AC%E5%9C%B0%E7%94%B5%E8%84%91%E4%BF%AE%E6%94%B9%E6%97%B6%E5%8C%BA%EF%BC%8C%E6%97%B6%E9%97%B4%E4%B9%9F%E4%BC%9A%E8%87%AA%E5%8A%A8%E8%A2%AB%E8%BD%AC%E5%8C%96%E3%80%82" tabindex="-1">调试结果：也可以自己把本地电脑修改时区，时间也会自动被转化。</h4><p><img src="/upload/2025/07/image-20250716203441021.png" alt="image-20250716203441021" /></p>]]>
                    </description>
                    <pubDate>Wed, 16 Jul 2025 20:56:26 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[steam倒余额低价购买游戏教程]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/steam-dao-yu-e-di-jia-gou-mai-you-xi-jiao-cheng</link>
                    <description>
                            <![CDATA[<h3 id="1.steam%E5%80%92%E4%BD%99%E9%A2%9D%E4%BD%8E%E4%BB%B7%E8%B4%AD%E4%B9%B0%E6%B8%B8%E6%88%8F" tabindex="-1">1.steam倒余额低价购买游戏</h3><p>需求，用更少的钱购买steam游戏，</p><p>挂刀网：<a href="https://www.iflow.work/" target="_blank">https://www.iflow.work/</a></p><p>这个网站你可以看销量，</p><p>能这样操作的原因是因为steam余额是无法提现的，所以不能直接等于人名币，但是有人通过游戏，里面有虚拟可交易的物品，他希望换取现实货币，但是你不可能1：1,不然，现实货币买家没必要从你这购买。这中间的差价，就是我们的折扣。</p><p>也就是我们使用人名币在第三方平台。比如BUFF、IGXE、UUYP（悠悠有品）等等，</p><p>UUYP：<a href="https://www.youpin898.com/" target="_blank">https://www.youpin898.com/</a></p><p><mark>BUFF现在不能CSGO箱子了，好像是新账号不行，对老用户和长期交易的，好像可以。所以我使用的UUYP</mark></p><p>注册UUYP账号，然后根据提示绑定Steam。在设置里面。后面你购买没绑定也会提示你的。</p><h4 id="%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9" tabindex="-1">注意事项</h4><p>由于我新手，第一次。只是为了低价购买游戏，不是为了投资和做余额商人。所以求稳选择CSGO箱子，我自己是没有玩过CSGO的。这个物品是有7天冻结期的，也就是说你用人名币购买之后，7天后才能在steam卖出。</p><p>dota的物品是没有冻结期的，但是交易量比较低，物品不好出。</p><p>如何使用这个网站：</p><p><img src="/upload/2025/06/image-20250616000110586.png" alt="image-20250616000110586" /></p><h4 id="%E8%BF%99%E4%B8%AA%E6%98%AF%E6%88%91%E7%9A%84%E4%BD%BF%E7%94%A8" tabindex="-1">这个是我的使用</h4><p>选择你自己的平台。然后交易量拉满，交易量比较低的，说明没人买。出不掉最优寄售约等于折扣,但是不要只看这个数据,因为几乎是实时的.受波动影响的,<br /><img src="/upload/2025/06/image-20250616000214521.png" alt="image-20250616000214521" /></p><p><img src="/upload/2025/06/image-20250616000443658.png" alt="image-20250616000443658" /></p><h4 id="%E6%97%A5%E4%BA%A4%E6%98%93%E9%87%8F%E5%A4%A7%E4%BA%8E5000%EF%BC%8C%E5%9F%BA%E6%9C%AC%E4%B8%8A%E5%B0%B1%E6%98%AF%E7%AE%B1%E5%AD%90%E4%BA%86%E3%80%82" tabindex="-1">日交易量大于5000，基本上就是箱子了。</h4><p><img src="/upload/2025/06/image-20250616000752232.png" alt="image-20250616000752232" /></p><p>我第一次买的是蛇噬武器箱，我是上个月买的，所以讲这个。直接点击那个steam价格旁边的超链接按钮就是steam这个物品的商城页面，可以看价格波动，我推荐基于月来看。这个物品我冻结期到了我立马就卖出了，大概75折左右。之后价格开始上涨。这个我并不羡慕，也把握不住。</p><p><img src="/upload/2025/06/image-20250616000955947.png" alt="image-20250616000955947" /></p><h3 id="2.%E5%AB%8C%E9%BA%BB%E7%83%A6%EF%BC%8C%E4%B9%9F%E5%8F%AF%E7%9B%B4%E6%8E%A5%E5%9C%A8uuyp%E9%87%8C%E9%9D%A2%E6%9F%A5%E7%9C%8B" tabindex="-1">2.嫌麻烦，也可直接在UUYP里面查看</h3><h5 id="1.%E6%89%93%E5%BC%80%E6%82%A0%E6%82%A0%E6%9C%89%E5%93%81app%EF%BC%8C%E9%A6%96%E9%A1%B5%E5%B0%B1%E6%98%AF%E8%BF%99%E4%B8%AA" tabindex="-1">1.打开悠悠有品app，首页就是这个</h5><p><img src="/upload/2025/06/image-20250616001804379.png" alt="image-20250616001804379" /></p><h5 id="2.%E7%82%B9%E5%87%BB%E6%8E%92%E8%A1%8C%E6%A6%9C%EF%BC%8C%E7%84%B6%E5%90%8E%E9%80%89%E6%8B%A9%E6%88%90%E4%BA%A4%E6%A6%9C%EF%BC%8C%E5%85%A8%E9%83%A8%E3%80%82%E8%BF%99%E5%B0%B1%E6%98%AF%E5%B9%B3%E5%8F%B0%E5%BD%93%E5%89%8D%E7%83%AD%E9%94%80%E7%9A%84%E7%89%A9%E5%93%81%E3%80%82%E7%94%B1%E4%BA%8E%E6%98%AF%E6%8C%89%E7%85%A7%E9%94%80%E9%87%8F%E6%8E%92%E7%9A%84%EF%BC%8C%E5%9F%BA%E6%9C%AC%E4%B8%8A%E4%B9%9F%E5%B0%B1%E6%98%AF%E6%8A%98%E6%89%A3%E6%8E%92%E8%A1%8C%E4%BA%86%E3%80%82" tabindex="-1">2.点击排行榜，然后选择成交榜，全部。这就是平台当前热销的物品。由于是按照销量排的，基本上也就是折扣排行了。</h5><p><img src="/upload/2025/06/image-20250616001914126.png" alt="image-20250616001914126" /></p><h5 id="3.%E7%82%B9%E5%87%BB%E4%B8%80%E4%B8%AA%E7%89%A9%E5%93%81%E8%BF%9B%E5%8E%BB%EF%BC%8C%E6%AF%94%E5%A6%82%E8%A3%82%E7%A9%BA%E6%AD%A6%E5%99%A8%E7%AE%B1%EF%BC%8C%E6%9F%A5%E7%9C%8B%E8%AF%A6%E6%83%85" tabindex="-1">3.点击一个物品进去，比如裂空武器箱，查看详情</h5><p>下面的是自己人名币的价格，上面是对应的steam到手余额，可以自己算算。建议看看价格走势，最好是基于30天的。我们的需求是低价购买游戏，求稳就行。基本上8折不是很难。自己选择价格比较稳的就行。</p><p><img src="/upload/2025/06/image-20250616002730453.png" alt="image-20250616002730453" /></p><h3 id="%E6%80%BB%E7%BB%93" tabindex="-1">总结</h3><p><mark>注意事项，</mark></p><p><mark>1.你可以先充一个箱子的钱，购买成功之后，走通了这个流程。再充自己期望倒的余额的金额。这样更保险。</mark></p><p><mark>2.CSGO物品有7天冻结期，到时间了才能在steam市场出售</mark></p><h4 id="%E4%BB%A5%E4%B8%8B%E6%98%AF%E6%88%91%E8%87%AA%E5%B7%B1%E8%B4%AD%E4%B9%B0%E7%9A%84%E4%B8%80%E5%85%B1%EF%BC%9A388.22%EF%BC%8C%E5%BD%93%E6%97%B6%E8%9B%87%E5%99%AC%E5%A4%A7%E6%A6%822.4." tabindex="-1">以下是我自己购买的一共：388.22，当时蛇噬大概2.4.</h4><p><img src="/upload/2025/06/image-20250616003229942.png" alt="image-20250616003229942" /></p><h4 id="%E5%80%92%E5%88%B0steam%E4%BD%99%E9%A2%9D%E6%98%AF517.73%EF%BC%8C%E8%B4%AD%E4%B9%B0%E5%AE%8C%E5%AE%8C%E6%95%B4%E7%89%88%E5%89%91%E6%98%9F%EF%BC%8C%E8%BF%98%E5%89%A9159%EF%BC%8C-%E5%A4%A7%E6%A6%8275%E6%8A%98%E3%80%82" tabindex="-1">倒到steam余额是517.73，购买完完整版剑星，还剩159， 大概75折。</h4><p><img src="/upload/2025/06/image-20250616003552509.png" alt="image-20250616003552509" /></p><p><img src="/upload/2025/06/image-20250616003449348.png" alt="image-20250616003449348" /></p><h4 id="%E6%89%B9%E9%87%8F%E4%B8%8A%E6%9E%B6%E7%89%A9%E5%93%81%E6%95%99%E7%A8%8B%EF%BC%9A" tabindex="-1">批量上架物品教程：</h4><p><a href="https://www.bilibili.com/video/BV1Cx4y1J7xS/?spm_id_from=333.337.search-card.all.click&amp;vd_source=a1bb32788753995a37f2199ad8feba8b" target="_blank">https://www.bilibili.com/video/BV1Cx4y1J7xS/?spm_id_from=333.337.search-card.all.click&amp;vd_source=a1bb32788753995a37f2199ad8feba8b</a></p>]]>
                    </description>
                    <pubDate>Mon, 16 Jun 2025 00:50:15 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[部署微信机器人和添加自定义功能，自动推送动漫更新]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/bu-shu-wei-xin-ji-qi-ren-he-tian-jia-zi-ding-yi-gong-neng--zi-dong-tui-song-dong-man-geng-xin</link>
                    <description>
                            <![CDATA[<h3 id="%E5%BE%AE%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA" tabindex="-1">微信机器人</h3><h3 id="%E9%83%A8%E7%BD%B2" tabindex="-1">部署</h3><h3 id="bot-%E5%BF%AB%E9%80%9F%E5%90%AF%E5%8A%A8" tabindex="-1">Bot 快速启动</h3><p><strong>注意：此Bot只能在Windowns系统上运行！！！无法在Linux上运行安装</strong></p><p>首先请克隆代码到本地，使用命令如下，也可以直接Download Zip包都行</p><pre><code class="language-">git clone https://github.com/ngc660sec/NGCBot.git</code></pre><p>下载<code>Python</code>，使用<code>Python 3.8.10</code>版本**（Python版本不得低于3.8.10，不得高于3.13）**</p><p>Python3.8.10：<a href="https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe" target="_blank">https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe</a></p><p>使用<code>pip</code>安装项目包（不懂就按顺序运行）</p><pre><code class="language-">pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simplepython -m pip install --upgrade pippip install -r requirements.txt</code></pre><p>第三步安装的时候，我出现了<code>wcferry==39.2.4.0</code>匹配不上，应该是被开发这个类库的作者去掉了 ，也可能是镜像地址没有这个了，自己修改requirements.txt文件的版本即可，改为红字里面有的版本就行（推荐<code>wcferry==39.2.3.0</code>）</p><p><img src="/upload/2025/03/image-20250318231530851.png" alt="image-20250318231530851" /></p><p>安装完毕后你的 <code>WCF</code>版本应该是 <code>39.4.2.2</code>，请选择对应的微信进行下载</p><p><mark>这里我是根据 requirements.txt的版本来下的，也就是第二个</mark></p><ul><li><code>wcferry==39.0.12.0</code>：<a href="https://github.com/ngc660sec/NGCBot/releases/download/V2.0-%E9%BE%99%E5%B9%B4%E8%B4%BA%E5%B2%81%E7%89%88/WeChatSetup-3.9.2.23.exe" target="_blank">WeChatSetup-3.9.2.23.exe</a></li><li><code>wcferry==39.2.4.0</code>：<a href="https://github.com/lich0821/WeChatFerry/releases/download/v39.2.4/WeChatSetup-3.9.10.27.exe" target="_blank">WeChatSetup-3.9.10.27.exe</a></li><li><code>wcferry==39.4.2.2</code>：<a href="https://github.com/lich0821/WeChatFerry/releases/download/v39.4.2/WeChatSetup-3.9.12.17.exe" target="_blank">WeChatSetup-3.9.12.17</a></li></ul><h4 id="%E5%AE%89%E8%A3%85%E5%AE%8C%E6%AF%95%E5%90%8E%EF%BC%8C%E5%90%AF%E5%8A%A8main.py%E6%96%87%E4%BB%B6" tabindex="-1">安装完毕后，启动<code>main.py</code>文件</h4><pre><code class="language-">python main.py</code></pre><h4 id="%E5%87%BA%E7%8E%B0%E4%BB%A5%E4%B8%8B%E7%95%8C%E9%9D%A2%EF%BC%8C%E8%AF%B4%E6%98%8E%E5%90%AF%E5%8A%A8%E6%88%90%E5%8A%9F" tabindex="-1">出现以下界面，说明启动成功</h4><p><img src="/upload/2025/03/image.png" alt="image" /></p><p>进入微信之后，会自动初始化必备文件</p><p>后面的配置和基础使用原作者GitHub都有完整的截图和使用说明。已经比较详细了。我就不赘述了。</p><h4 id="%E7%84%B6%E5%90%8E%E8%87%AA%E5%B7%B1%E7%9C%8B%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E9%85%8D%E7%BD%AE%E5%8D%B3%E5%8F%AF%EF%BC%9A" tabindex="-1">然后自己看配置文件配置即可：</h4><p><a href="https://github.com/ngc660sec/NGCBot#33%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%BF%AB%E9%80%9F%E9%85%8D%E7%BD%AE" target="_blank">https://github.com/ngc660sec/NGCBot#33配置文件快速配置</a></p><h4 id="%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BD%BF%E7%94%A8%E5%B8%AE%E5%8A%A9" tabindex="-1">第一次使用帮助</h4><p><a href="https://github.com/ngc660sec/NGCBot#-4%E4%BD%BF%E7%94%A8%E5%B8%AE%E5%8A%A9" target="_blank">https://github.com/ngc660sec/NGCBot#-4使用帮助</a></p><h4 id="python%E5%AE%9E%E7%8E%B0rss%E8%AE%A2%E9%98%85%EF%BC%8C%E6%9C%BA%E5%99%A8%E4%BA%BA%E8%87%AA%E5%8A%A8%E6%8E%A8%E9%80%81%E6%9B%B4%E6%96%B0" tabindex="-1">python实现RSS订阅，机器人自动推送更新</h4><pre><code class="language-python">from datetime import datetimefrom OutPut.outPut import opimport feedparserclass DongManUpdateApi:    def __init__(self):        &quot;&quot;&quot;        不要直接调用此类        动漫更新Api文件        &quot;&quot;&quot;        self.rssUrls = {&quot;我独自升级&quot; : &quot;https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E7%258B%25AC%25E8%2587%25AA%25E5%258D%2587%25E7%25BA%25A7%2522%255D%257D%255D&quot;,            &quot;遮天&quot; : &quot;https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E9%2581%25AE%25E5%25A4%25A9%2522%255D%257D%255D&quot;,            &quot;少年歌行&quot; : &quot;https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E5%25B0%2591%25E5%25B9%25B4%25E6%25AD%258C%25E8%25A1%258C%2522%255D%257D%255D&quot;,            &quot;完美世界&quot; : &quot;https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E5%25AE%258C%25E7%25BE%258E%25E4%25B8%2596%25E7%2595%258C%2522%255D%257D%255D&quot;,            &quot;斗破苍穹&quot; : &quot;https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E6%2596%2597%25E7%25A0%25B4%25E8%258B%258D%25E7%25A9%25B9%2522%255D%257D%255D&quot;,            &quot;斗罗大陆&quot; : &quot;https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E6%2596%2597%25E7%25BD%2597%25E5%25A4%25A7%25E9%2599%2586%2522%255D%257D%255D&quot;           }    def getDongManUpdate(self,):        &quot;&quot;&quot;        获取动漫更新，返回发布时间大于今天0点的所有更新的动漫        todo        后面集成xpath解析然后我传入 动漫名 然后解析到到Rss订阅连接 然后配置上面格式的url,这样用户可以直接发送名字 配置更新动漫        :return:        &quot;&quot;&quot;        op(f&#39;[*]: 正在调用更新动漫接口... ...&#39;)        try:            results = []            today = datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)            time_format = &quot;%a, %d %b %Y %H:%M:%S %Z&quot;            for dm_name, dm_url in self.rssUrls.items():                contents = feedparser.parse(dm_url).entries                for content in contents:                    if dm_name in content.title:                        published_time = datetime.strptime(content.published, time_format)                        if published_time &gt; today and dm_name in content.title:                            formatted_entry = f&quot;{content.title}\n 地址：{content.link}\n 时间：{content.published}&quot;                            results.append(formatted_entry)                            break            return &quot;\n&quot;.join(results)        except Exception as e:            op(f&#39;[-]: 调用更新的动漫接口出现错误, 错误信息: {e}&#39;)            return &quot;&quot;if __name__ == &#39;__main__&#39;:    dongManUpdateApi = DongManUpdateApi()    print(dongManUpdateApi.getDongManUpdate())</code></pre><p>上面代码说明，自己测试可以把时间改成&lt;，由于下面加了break 不会出现信息内容过长，这里的其实每天的更新，不会过长，可以去掉break，只是为了自己调试，和防止微信信息不过长，取最新的记录，也没问题</p><p>可以这么理解，</p><pre><code class="language-">自己写方法，DongManUpdateApi然后再__init__.py里面实例化这个py(我就说类/接口了)然后在ApiMainServer.py汇封装这个方法最后这个ApiMainServer.py汇聚了所有的方法我，自动推送服务在PushMainServer.py里面</code></pre><h4 id="%E6%B7%BB%E5%8A%A0%E5%8A%9F%E8%83%BD%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84%E8%AF%B4%E6%98%8E" tabindex="-1">添加功能项目结构说明</h4><p><img src="/upload/2025/03/image-20250319194900369.png" alt="image-20250319194900369" /></p><p>加上自己的定的时间就行，可以自己去取配置文件里面取时间，我这里只做调试</p><p><img src="/upload/2025/03/image-20250319195353182.png" alt="image-20250319195353182" /></p><h5 id="%E7%BE%A4%E6%8E%A8%E9%80%81%E6%88%AA%E5%9B%BE%EF%BC%9A" tabindex="-1">群推送截图：</h5><p><img src="/upload/2025/03/image-20250319195732029.png" alt="image-20250319195732029" /></p><h4 id="%E6%80%BB%E7%BB%93%EF%BC%9A" tabindex="-1">总结：</h4><p>很多时候有比较自己想用的项目，比如我，第一时间会寻找.net时候有平替的项目，因为我希望基于原有开源项目来定制化自己的功能。这种其实大部分都是没有的，除非自己重做，之前的AI的项目就是，因为后台不是Net的，我们重做了。</p><p>总的来说，如果只是修改的情况下，有一门语言的情况下，这些小工具或者小项目，自己快速入门下新语言的基础，其实很快的。代码接口也都是大同小异，一通百通。然后就是多一门语言，自己新项目的时候，整合解决方案的时候，不止局限一门语言。</p><h5 id="%E9%A1%B9%E7%9B%AE%E5%9C%B0%E5%9D%80%EF%BC%9Ahttps%3A%2F%2Fgithub.com%2Fngc660sec%2Fngcbot" tabindex="-1">项目地址：<a href="https://github.com/ngc660sec/NGCBot" target="_blank">https://github.com/ngc660sec/NGCBot</a></h5><h5 id="%E8%83%8C%E6%99%AF%EF%BC%9A" tabindex="-1">背景：</h5><p>由于最近想接着玩QQ机器人了，但是好像去年玩的协议都不行了，换成了NT，然后我自己写了登录，测试了下，刚测试完登录就显示被风控了。所以不想自己写了。同时发现了微信机器人的一个项目。是python的。</p><p>我照着项目文档部署了下了，测试了下，可以，也比较稳定，但是我想加自己的功能，由于我并不会python，所以周末花了2小时把这个B站的20分钟视频，自己过了一遍，敲了python代码。基础的入门应该差不多了，后面准备看看项目结构和AI 注释应该够我加点功能了。</p><h5 id="%E8%A7%86%E9%A2%91%E5%9C%B0%E5%9D%80%EF%BC%9A" tabindex="-1">视频地址：</h5><p>【20分钟学完一遍python基础】 <a href="https://www.bilibili.com/video/BV1Sz4y1U77N/?share_source=copy_web&amp;vd_source=c72fe9958ffa27f156322ffb0043526f" target="_blank">https://www.bilibili.com/video/BV1Sz4y1U77N/?share_source=copy_web&amp;vd_source=c72fe9958ffa27f156322ffb0043526f</a></p><h5 id="%E4%BD%9C%E8%80%85%E8%A7%86%E9%A2%91%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B%EF%BC%9Ahttps%3A%2F%2Fwww.bilibili.com%2Fvideo%2Fbv1voqwyaews%2F" tabindex="-1">作者视频部署教程：<a href="https://www.bilibili.com/video/BV1voqwYAEWs/" target="_blank">https://www.bilibili.com/video/BV1voqwYAEWs/</a></h5><h5 id="%E9%A2%98%E5%A4%96%E8%AF%9D%EF%BC%9A" tabindex="-1">题外话：</h5><p>我发现了一个跨平台的微信机器人：<a href="https://github.com/HenryXiaoYang/XYBotV2" target="_blank">https://github.com/HenryXiaoYang/XYBotV2</a></p><p>因为这个NGCBot是基于微信官方客户端来hook的，所以我自己目前来说比较稳，然后我也是正好借助这个项目来入门下python。所以有实际需求的朋友也可以看看这个跨平台的微信机器人项目</p><h4 id="%E6%96%87%E7%AB%A0%E8%AF%B4%E6%98%8E%EF%BC%9A" tabindex="-1">文章说明：</h4><p><mark>本站所提供的网址和资源均来源于互联网公开渠道，未提供资源上传、存储服务，本站为非盈利性，不收取费用。如有侵犯您的权益，请发送相关证明文件至邮箱firstsaofan1@gmail.com及时与我们联系进行屏蔽删除处理！谢谢</mark></p>]]>
                    </description>
                    <pubDate>Wed, 19 Mar 2025 20:15:46 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[免费短剧]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/mian-fei-duan-ju</link>
                    <description>
                            <![CDATA[<h2 id="%E5%85%8D%E8%B4%B9%E7%9F%AD%E5%89%A7%EF%BC%9Ahttps%3A%2F%2Fdj.firelife.uk%2F" tabindex="-1">免费短剧：<a href="https://dj.firelife.uk/" target="_blank">https://dj.firelife.uk/</a></h2>]]>
                    </description>
                    <pubDate>Mon, 24 Feb 2025 22:28:33 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[ FIRE书籍阅读九步总结]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/fire-shu-ji-yue-du-jiu-bu-zong-jie</link>
                    <description>
                            <![CDATA[<h3 id="%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0fire%EF%BC%88financial-independence-retire-early%EF%BC%89%EF%BC%8C%E7%BB%8F%E6%B5%8E%E7%8B%AC%E7%AB%8B%EF%BC%8C%E6%8F%90%E5%89%8D%E9%80%80%E4%BC%91(9%2F9)" tabindex="-1">如何实现FIRE（Financial Independence Retire Early），经济独立，提前退休(9/9)</h3><p><mark>本来我自己是准备提炼内容再写的，但是我发现如果不保留书中的举的例子，以及相关的一系列图表，我认为是不能很好的理解。比起我干巴巴的摆出几个数字要好很多，就比如提到FIRE，可能很多人会说几种方式，不需要工作、可以兼职、以及极简生活、4%理论，（每年的支出的费用）*25 *4%，也就是说你的年支出的25倍就是你FIRE目标金额，然后你如果每年年化收益达到4%,就可以FIRE。 但是如果读完这本书，你不会如此的简单理解FIRE。所以，基本上内容就是原文。我就不发每一步了，我直接发了原文对于这九步骤的总结，更多细节请自己查看原文。</mark></p><h1 id="%E4%B9%9D%E6%AD%A5%E9%AA%A4%E8%AE%A1%E5%88%92%E6%80%BB%E7%BB%93" tabindex="-1">九步骤计划总结</h1><p>没有更便捷的捷径了，由九个步骤组成的这本书就是捷径。这里总结出来的步骤供查看、参考和提醒。这是一套成系统的策略，认真地运用所有这些步骤，你的个人财务就会自然而然地成为一个整体。这些对于企业来说也是非常基本、非常基础的做法，而你就好比一家企业，你的业务是让你消耗的每小时生命能量换回最大限度的幸福快乐。</p><h5 id="%E7%AC%AC%E4%B8%80%E6%AD%A5%EF%BC%9A%E5%9D%A6%E7%84%B6%E6%8E%A5%E5%8F%97%E8%BF%87%E5%8E%BB" tabindex="-1">第一步：坦然接受过去</h5><p>1.你一生已经挣了多少钱？核实你的一生总收入——从你挣到的第一分钱到最近一次领到的薪水的收入总和。</p><p>2.你能拿出什么来证明？创建一份个人资产负债表，列出你拥有的和欠下的一切，查明你的净值。</p><h5 id="%E7%AC%AC%E4%BA%8C%E6%AD%A5%EF%BC%9A%E6%B4%BB%E5%9C%A8%E5%BD%93%E4%B8%8B%E2%80%94%E2%80%94%E8%BF%BD%E8%B8%AA%E7%94%9F%E5%91%BD%E8%83%BD%E9%87%8F" tabindex="-1">第二步：活在当下——追踪生命能量</h5><p>1.你用生命能量换了多少钱？确定你保住工作所需时间和金钱的实际成本，算出你的实际时薪。</p><p>2.追踪记录你生命中进进出出的每一分钱。</p><h5 id="%E7%AC%AC%E4%B8%89%E6%AD%A5%EF%BC%9A%E6%9C%88%E5%BA%A6%E8%A1%A8" tabindex="-1">第三步：月度表</h5><p>1.按你自己的独特消费模式划分支出类别，每月汇总各个类别的开销。然后是总收入。</p><p>2.使用第二步里算出的实际时薪，将各类别里花掉的美元转换成“生命能量小时数”。</p><h5 id="%E7%AC%AC%E5%9B%9B%E6%AD%A5%EF%BC%9A%E6%80%9D%E8%80%83%E8%83%BD%E6%94%B9%E5%8F%98%E4%BD%A0%E4%B8%80%E7%94%9F%E7%9A%84%E4%B8%89%E4%B8%AA%E9%97%AE%E9%A2%98" tabindex="-1">第四步：思考能改变你一生的三个问题</h5><p>面对月度表，对以生命能量小时数体现出来的各类别总数都值得思考这三个问题，把你的答案记录下来。</p><p>1.我获得的充实感、满足感和价值与花掉的生命能量相称吗？</p><p>2.这种生命能量花销与我的价值观念及人生目标一致吗？</p><p>3.假如我不必为了挣钱而工作，这项花销会有什么变化？</p><p>对于每个类别中的每个问题，评估一下费用增加、减少还是保持不变会实现最佳满足感。这是本计划的核心。</p><h5 id="%E7%AC%AC%E4%BA%94%E6%AD%A5%EF%BC%9A%E8%AE%A9%E7%94%9F%E5%91%BD%E8%83%BD%E9%87%8F%E6%B8%85%E6%99%B0%E5%8F%AF%E8%A7%81" tabindex="-1">第五步：让生命能量清晰可见</h5><p>制作一张很大的挂图，把月度表上的每月总收入和每月总支出数据绘制上去。把它挂在你每天都能看到的地方。</p><h5 id="%E7%AC%AC%E5%85%AD%E6%AD%A5%EF%BC%9A%E7%8F%8D%E6%83%9C%E4%BD%A0%E7%9A%84%E7%94%9F%E5%91%BD%E8%83%BD%E9%87%8F%E2%80%94%E2%80%94%E5%B0%BD%E9%87%8F%E5%87%8F%E5%B0%91%E6%94%AF%E5%87%BA" tabindex="-1">第六步：珍惜你的生命能量——尽量减少支出</h5><p>学习并践行明智地使用生命能量（金钱），其结果将是你的开支减少、储蓄增加。这将在你的生活中造就更大的成就感、完整性和一致性。</p><h5 id="%E7%AC%AC%E4%B8%83%E6%AD%A5%EF%BC%9A%E7%8F%8D%E6%83%9C%E4%BD%A0%E7%9A%84%E7%94%9F%E5%91%BD%E8%83%BD%E9%87%8F%E2%80%94%E2%80%94%E5%B0%BD%E9%87%8F%E5%A2%9E%E5%8A%A0%E6%94%B6%E5%85%A5" tabindex="-1">第七步：珍惜你的生命能量——尽量增加收入</h5><p>重视你在工作中投入的生命能量。金钱不过是你用生命能量换来的东西。怀着目标和诚信去交换，争取使收益上升。</p><h5 id="%E7%AC%AC%E5%85%AB%E6%AD%A5%EF%BC%9A%E8%B5%84%E6%9C%AC%E4%B8%8E%E4%BA%A4%E5%8F%89%E8%B7%A8%E8%B6%8A%E7%82%B9" tabindex="-1">第八步：资本与交叉跨越点</h5><p>每个月套用以下公式对你的累计资本总额进行计算，在挂图上单独画出一条月度投资收入线：</p><p>（资本×当前长期利率）÷ 12 =月度投资收入</p><h5 id="%E7%AC%AC%E4%B9%9D%E6%AD%A5%EF%BC%9A%E8%BF%9B%E8%A1%8C%E6%8A%95%E8%B5%84%E6%9D%A5%E7%BB%B4%E6%8A%A4%E8%B4%A2%E5%8A%A1%E8%87%AA%E7%94%B1" tabindex="-1">第九步：进行投资来维护财务自由</h5><p>这个步骤将帮助你了解并熟练掌握创收投资技巧，这些投资可以提供源源不断的充足收入来满足你在长远内的需求。</p><p>使用以下三大支柱来制订财务计划：</p><p>• 资本：财务自由的创收核心</p><p>• 缓冲资金：足够应付6个月开支的现金，可赚取银行利息</p><p>• 缓存金：坚持不懈践行这九个步骤带来的资金盈余</p><h5 id="%E6%9B%B4%E5%A4%9A%E7%BB%86%E8%8A%82%E8%AF%B7%E7%9C%8B%E5%8E%9F%E6%96%87%EF%BC%9A" tabindex="-1">更多细节请看原文：</h5><h5 id="%E4%B8%AD%E6%96%87%E7%89%88%EF%BC%9A" tabindex="-1">中文版：</h5><p><img src="/upload/2024/11/image-1730727900412.png" alt="image-1730727900412" /></p><h5 id="%E8%8B%B1%E6%96%87%E7%89%88" tabindex="-1">英文版</h5><p><img src="/upload/2024/11/image.png" alt="image" /></p>]]>
                    </description>
                    <pubDate>Mon, 04 Nov 2024 21:46:27 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[如何实现FIRE（Financial Independence Retire Early），经济独立，提前退休(2/9)]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/ru-he-shi-xian-firefinancialindependenceretireearly-jing-ji-du-li--ti-qian-tui-xiu-29</link>
                    <description>
                            <![CDATA[<h3 id="%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0fire%EF%BC%88financial-independence-retire-early%EF%BC%89%EF%BC%8C%E7%BB%8F%E6%B5%8E%E7%8B%AC%E7%AB%8B%EF%BC%8C%E6%8F%90%E5%89%8D%E9%80%80%E4%BC%91(2%2F9)" tabindex="-1">如何实现FIRE（Financial Independence Retire Early），经济独立，提前退休(2/9)</h3><p>本篇内容是九个步骤的第一个步骤，每一篇文章为一个步骤，当前2/9</p><p><mark>本来我自己是准备提炼内容再写的，但是我发现如果不保留书中的举的例子，以及相关的一系列图表，我认为是不能很好的理解。比起我干巴巴的摆出几个数字要好很多，就比如提到FIRE，可能很多人会说几种方式，不需要工作、可以兼职、以及极简生活、4%理论，（每年的支出的费用）*25 *4%，也就是说你的年支出的25倍就是你FIRE目标金额，然后你如果每年年化收益达到4%,就可以FIRE。 但是如果读完这本书，你不会如此的简单理解FIRE。所以，基本上内容就是原文。那么后续的我只会更新到博客了。这样大量的包含原文是属于侵权的。所以我就不在其他平台发布了。个人博客只是记录以及个人学习。没有盈利目的。最终我会提炼书中观点以及相关计算方式，开发相关系统。</mark></p><h4 id="%E4%B8%BA%E9%92%B1%E5%8D%96%E5%91%BD%EF%BC%8C-%E8%B0%8B%E7%94%9F%E8%BF%98%E6%98%AF%E6%B1%82%E6%AD%BB%EF%BC%9F" tabindex="-1">为钱卖命， 谋生还是求死？</h4><p>当你独自完成了你的第一步骤，你就会清楚知道自己的净值，是这样吗？</p><p>跟恩德里娅和凯尔一样，你算出了一个数字（但愿是正数），但这个数字代表什么意义呢？我们现在的任务是要解开金钱之谜。金钱是什么？这是一个重要课题，因为如果不知道对方是什么（或者是谁），更糟糕的是如果有误解，那我们就不可能与之建立有效的工作关系。若不给金钱一个准确的、恒定的真正定义，我们对待它就会要么不恰当要么不理智，几乎总是事与愿违。</p><p>什么是金钱？</p><p>我们每天都要处理大量的财务事项，流进来的钱有工资和投资回报，流出去的钱有现金和信用卡付款、定期自动扣除的账单、债务利息和赋税。你的话费套餐、上网套餐、车贷、保险、汽车和房屋的能源消耗、租金，社区管理费或物业税；你请人修车、保洁或进行心理疏导；你买音乐会和联谊会门票以及度假机票；从街头小摊到高档饭店，满足口腹之欲；采购衣物杂货和宠物食品……一笔笔小钱进进出出，就像屏幕上的光点一样转瞬即逝。我们在生活中很容易认出金钱，但它到底是什么？它代表着什么？</p><p>乔·多明格斯（本书中这些方法的发明者）在他20世纪80年代举办讲习会时曾向数以千计的人抛出这个问题。他会以一身上等华尔街精英的装扮上台，在台前踱来踱去，默默地、犀利地看着听众。然后，他会盯着最高大、最彪悍的那个人（乔的身高只有1.71米）大声问道：“你的有多大？”</p><p>鸦雀无声，哄堂大笑。</p><p>“我是说，”他声音洪亮，“你的有多大？”</p><p>哄堂大笑，鸦雀无声。</p><p>“你们都想到哪儿去了？我不过是在问他的薪水金额有多大。这其实是你能问出的最私密的问题，不是吗？“</p><p>不管是谁，在学到新的东西之前需要先打破惯性思维。这个开场白无疑让人们措手不及，于是乔问：“钱是什么？”我们从没问过这个问题，因为我们认为自己知道答案，但我们真的知道吗？</p><p>“你每天都要用到这东西。你为它拼死拼活，甘愿为它去杀人。你当然知道它是什么！”</p><p>然后他掏出一张百元美钞。</p><p>“喏，这是一张纸。”</p><p>他会拉扯它，揉捏它，说道：“是很结实的纸。”</p><p>接着他掏出打火机说：“我们来试试，看它能不能燃烧。”</p><p>全屋的人都倒吸一口气，欠身观望。就在即将点燃那张纸的时候，他会啪的一声关掉打火机。</p><p>“那是种什么反应？为什么烧掉这张纸会让你们做出反应？显然，金钱不只是纸片，也不只是金属（或者现如今的磁卡、二进制里的1和0）。那这个东西是什么呢？”</p><p>对经济学略知一二的人可能会勇敢地说：“金钱是一种交换媒介。”</p><p>“很好。我把这100美元给你，就可以买下你老婆，对吗？”</p><p>不对！有时候，他在这个节骨眼上会讲个关于萧伯纳的故事：萧伯纳在宴会上俯过身子对同桌的一个人说：“夫人，我打赌，我付100美元，你就会愿意跟我上床。”她当然感到羞愤难当。紧接着萧伯纳解释：“1000块怎么样？”她停顿了一下。萧伯纳趁机解释，很明显，行为不重要，价钱才重要。</p><p>乔的意思是，金钱作为交换媒介的前提是交易双方一致认为它有价值。</p><p>“设想你的船翻了，你游到亚马孙河上的一个小岛，那里有食人鱼出没。你以为自己完蛋了，却突然注意到身上带了钱包，里面装满了钱。得救了！后来，你看到两个人（是食人族）划着独木舟经过，你举着一大把钱喊：‘救命啊！救命！’但他们根本不认识你的钱。他们认得你是美味大餐。”</p><p>金钱可作为交换媒介的前提是双方就它的价值达成一致意见。它是法定货币。但在食人族的眼里，它的价值连印钱的纸都不如。</p><p>“你们能说出这个东西有什么是恒定不变的吗？”他会挥舞着那张百元钞票大声问。</p><p>那个对经济学略知一二的人会再次勇敢地回答：“它是一种价值储存手段。”也就是说，你可以把它存起来改天再用。你可以把一片森林（自然价值）变成木材（经济价值），卖掉它，把钱存进银行以备未来之需。</p><p>这确实是金钱的一个重要功能，正是由于这个抽象概念，我们从分享每日收获的狩猎采集部落转变为工业大轮上的齿轮，在工作场所出卖时间和才能来“挣钱”，也许还要搭上一小时通勤。</p><p>“是的，它当然是一种‘价值储存手段’，但不妨想想，如果泡沫破裂、政府失能、恶性通货膨胀显现、昨天能买一头奶牛的钱在今天连一升牛奶都买不到，那会发生什么？金钱的价值可能会在一夜之间消失得无影无踪。”假如乔活的时间够长，那他也许指的是2001年安然公司破产时的员工养老金、2008年的大衰退或者2009年被戳穿的庞氏骗局。</p><p>他也许会使用喜剧演员斯蒂芬·科拜尔的truthiness（“貌似真实”）一词——“价值储存”貌似真实，但并不真实。台下的人全部陷入沉思，不是思考钞票本身，而是思考钞票的意义。</p><p>“金钱就是地位。”另一位参与者发言。乔会说，是的，但并不总是。其他特性，如外貌、才智或家族声誉，恐怕比暴发户们冬天聚在酒吧里互相卖弄的耀眼财富更令人尊敬。</p><p>还有人会试探着说，它是影响力。你可以用钱让人为你效劳。你可以收买人心，可以施加影响。看看那些说客，看看政坛里的黑钱，看看军火交易。乔会说，是的是的，但是你不能不承认还有其他形式的影响力可以无往不胜。想想甘地，想想英国人是怎么离开印度的吧。想想马丁·路德·金吧。想想所有那些刚正不阿的小人物打败邪恶巨人的神话故事和电影吧。虽然金钱常被用来施加影响力，但它并不是影响力的保障。</p><p>听众会叫起来：“好了，现在我们明白了，金钱是邪恶的，它是万恶之源。”熟读《圣经》的乔会反驳说：“不，对金钱的热爱是万恶之源，金钱本身并不是。”</p><p>它是压制工具。</p><p>它是不公平的。</p><p>它是个谜。</p><p>它并不重要。</p><p>它取之不尽。</p><p>它是我们记账的方式。</p><p>猜测一个接一个，每一个都带来一丝启迪，听众会意识到有些东西是他们不曾看清的。没有哪个定义坚不可摧。有时候所有说法都是对的，但没有哪个说法永远是对的。后来大家集体决定把所有已知定义一个一个抛出来，让乔点评并在最后一语中的地总结。乔看起来毫不留情，像拍苍蝇一样否决了种种猜测，但人们能感受到其中饱含的爱，因为他们知道，乔站在那里，挥舞双臂，允许我们说出内心的恐惧和半真半假的陈述，他并不是为了名利。我们成立了一个慈善基金会，即新路线图基金会，所有收益都捐出去，包括每一次讲习会的每一分钱。我们并不富有，每个人一个月的生活费都不到800美元！但这已经足够了，我们喜欢利用这些讲习会为其他组织筹集资金。</p><p>最后，他会说出秘密。</p><p>“这是你能断言百分之百永远属实的唯一一件事：金钱是你用生命能量去换取的东西。你出卖时间换取金钱。内德出卖时间的价钱是一小时100美元而你是一小时20美元，这无所谓。内德的钱跟你无关。你拥有的唯一真正财富就是你的时间，你一生里的分分秒秒。</p><p>“你降生到人间。你一年有大约8800小时，一辈子也许是65万小时。这其中一半时间很可能会用于睡眠以及吃饭、穿衣和适当享乐。你的人生已经过半，也就是说只剩下15万小时可用。这是你的宝藏。你只有这么多时间用于你在乎的所有事情——爱护家人，为社会做贡献，享受户外运动，奋起迎接挑战，追寻人生意义，建功立业，还有生活。你用其中一些宝贵时光去换取金钱（钞票），而金钱是没有意义的；你的时间是所有意义和价值所在。</p><p>“弄明白金钱就是生命能量，会让你成为金钱的掌控者。你会清楚地知道自己愿意出卖多少生命能量来换取金钱？环顾你积攒起来的东西，你可以自问：‘我投入了生命里的多少时间才拥有这个……椅子……汽车……成套炊具……墙上的文凭？’看看这对你下一次买东西有什么影响。”</p><p>本计划并不承诺带来金钱或财物的增加，它只承诺改变你与金钱的关系。</p><p>“你想过吗？”乔会问，“想没想过你和金钱之间是有一种关系的？”他会跪下来乞求金钱爱他。他会假装恐惧，在邪恶的百元钞票面前缩成一团。他会把它像根胡萝卜一样举起来，追着它跑来跑去，伸手去抓却怎么也够不着它。</p><p>“这就是你与金钱的关系！好好想想吧。假如你是钱，你会鞍前马后跟着自己吗？”</p><h4 id="%E5%85%B3%E4%BA%8E%E9%87%91%E9%92%B1%E6%98%AF%E4%BB%80%E4%B9%88%E3%80%81%E4%B8%8D%E6%98%AF%E4%BB%80%E4%B9%88" tabindex="-1">关于金钱是什么、不是什么</h4><p>乔的滑稽动作让听众迅速体验了人们对金钱是什么、不是什么的四个层面的误解。</p><h5 id="%E7%89%A9%E8%B4%A8%E5%B1%82%E9%9D%A2%E3%80%82%E7%BA%B8%E7%89%87%E3%80%81%E9%87%91%E5%B1%9E%E7%89%87%E5%92%8C%E7%A3%81%E5%8D%A1%E3%80%82%E6%AF%8F%E6%97%A5%E7%9A%84%E6%94%B6%E5%85%A5%E6%94%AF%E5%87%BA%E4%BA%8B%E9%A1%B9%E3%80%81%E9%93%B6%E8%A1%8C%E8%B4%A6%E7%9B%AE%E5%92%8C%E6%8A%95%E8%B5%84%E3%80%82%E8%BF%99%E6%98%AF%E4%B8%96%E4%BF%97%E5%B1%82%E6%AC%A1%E5%A4%A7%E5%A4%9A%E6%95%B0%E4%BA%BA%E9%80%9A%E5%B8%B8%E5%AF%B9%E9%87%91%E9%92%B1%E7%9A%84%E8%AE%A4%E8%AF%86%E3%80%82" tabindex="-1">物质层面。纸片、金属片和磁卡。每日的收入支出事项、银行账目和投资。这是世俗层次大多数人通常对金钱的认识。</h5><h5 id="%E5%BF%83%E7%90%86%E5%B1%82%E9%9D%A2%E3%80%82%E4%BD%A0%E7%9A%84%E6%8B%85%E5%BF%A7%E4%B8%8E%E6%B8%B4%E6%9C%9B%E3%80%82%E4%BD%A0%E7%9A%84%E4%B8%AA%E6%80%A7%E6%98%AF%E8%B0%A6%E9%80%8A%E8%BF%98%E6%98%AF%E5%BC%A0%E6%89%AC%EF%BC%8C%E6%98%AF%E6%8C%A5%E9%87%91%E5%A6%82%E5%9C%9F%E8%BF%98%E6%98%AF%E5%90%9D%E5%95%AC%E6%83%9C%E8%B4%A2%EF%BC%9F%E4%BD%A0%E5%85%B3%E4%BA%8E%E9%87%91%E9%92%B1%E7%9A%84%E6%84%9F%E5%8F%97%E5%92%8C%E6%83%B3%E6%B3%95%E5%8F%97%E8%B0%81%E5%BD%B1%E5%93%8D%EF%BC%9F" tabindex="-1">心理层面。你的担忧与渴望。你的个性是谦逊还是张扬，是挥金如土还是吝啬惜财？你关于金钱的感受和想法受谁影响？</h5><h5 id="%E6%96%87%E5%8C%96%E5%B1%82%E9%9D%A2%E3%80%82%E6%A0%B9%E6%A4%8D%E4%BA%8E%E6%B3%95%E5%BE%8B%E5%92%8C%E4%B9%A0%E4%BF%97%E4%B8%AD%E7%9A%84%E4%BF%A1%E5%BF%B5%E3%80%82%E6%9B%B4%E5%A4%9A%E5%B0%B1%E4%BC%9A%E6%9B%B4%E5%A5%BD%EF%BC%8C%E5%A2%9E%E9%95%BF%E6%98%AF%E5%A5%BD%E4%BA%8B%EF%BC%8C%E8%B5%A2%E5%AE%B6%E4%B8%8E%E8%BE%93%E5%AE%B6%EF%BC%8C%E7%A7%81%E6%9C%89%E8%B4%A2%E4%BA%A7%EF%BC%8C%E5%A5%96%E4%B8%8E%E6%83%A9%E3%80%82%E4%BD%A0%E6%98%AF%E4%B8%8D%E6%98%AF%E6%8A%8A%E8%BF%99%E4%BA%9B%E9%83%BD%E5%BD%93%E4%BD%9C%E9%87%91%E7%BA%BF%E7%BA%BA%E7%BB%87%E8%BF%9B%E4%BD%A0%E7%9A%84%E9%87%91%E9%92%B1%E7%94%9F%E6%B4%BB%EF%BC%9F" tabindex="-1">文化层面。根植于法律和习俗中的信念。更多就会更好，增长是好事，赢家与输家，私有财产，奖与惩。你是不是把这些都当作金线纺织进你的金钱生活？</h5><h5 id="%E7%94%9F%E5%91%BD%E8%83%BD%E9%87%8F%E5%B1%82%E9%9D%A2%E3%80%82%E4%BD%A0%E7%94%A8%E7%94%9F%E5%91%BD%E4%B8%AD%E7%9A%84%E6%97%B6%E9%97%B4%E6%8D%A2%E5%8F%96%E7%9A%84%E4%B8%9C%E8%A5%BF%E3%80%82" tabindex="-1"><mark>生命能量层面。你用生命中的时间换取的东西。</mark></h5><h5 id="%E5%89%8D%E4%B8%89%E4%B8%AA%E5%B1%82%E9%9D%A2%E7%9C%9F%E5%AE%9E%E3%80%81%E9%87%8D%E8%A6%81%EF%BC%8C%E4%BD%86%E5%B9%B6%E4%B8%8D%E6%80%BB%E6%98%AF%E5%A6%82%E6%AD%A4%E3%80%82%E4%BA%8B%E5%AE%9E%E4%B8%8A%EF%BC%8C%E5%9C%A8%E7%89%A9%E8%B4%A8%E5%B1%82%E9%9D%A2%E6%BB%A1%E8%B6%B3%E5%AF%B9%E9%87%91%E9%92%B1%E7%9A%84%E9%9C%80%E6%B1%82%E5%8F%AF%E4%BD%BF%E4%BA%BA%E5%BF%83%E9%9D%99%E5%A6%82%E6%B0%B4%E3%80%82%E4%BA%86%E8%A7%A3%E9%87%91%E9%92%B1%E8%A7%82%E5%A6%82%E4%BD%95%E5%BD%B1%E5%93%8D%E4%BD%A0%E6%97%A5%E5%B8%B8%E7%94%9F%E6%B4%BB%E4%B8%AD%E7%9A%84%E9%87%91%E9%92%B1%E6%8A%89%E6%8B%A9%E4%BC%9A%E5%B8%A6%E6%9D%A5%E6%9B%B4%E5%A4%A7%E7%A8%8B%E5%BA%A6%E7%9A%84%E8%87%AA%E7%94%B1%E3%80%82%E8%AE%A4%E6%B8%85%E4%BD%A0%E5%9C%A8%E4%B8%8D%E7%9F%A5%E4%B8%8D%E8%A7%89%E5%9C%B0%E8%B7%B5%E8%A1%8C%E6%88%91%E4%BB%AC%E6%96%87%E5%8C%96%E4%B8%AD%E7%9A%84%E4%B8%80%E4%BA%9B%E4%BF%A1%E5%BF%B5%EF%BC%8C%E4%BC%9A%E8%AE%A9%E4%BD%A0%E8%BF%9B%E4%B8%80%E6%AD%A5%E6%91%86%E8%84%B1%E6%97%A0%E6%84%8F%E8%AF%86%E7%9A%84%E4%B9%A0%E6%83%AF%E3%80%82%E6%9B%B4%E5%A4%9A%E7%9C%9F%E7%9A%84%E4%BC%9A%E6%9B%B4%E5%A5%BD%E5%90%97%EF%BC%9F%E5%A2%9E%E9%95%BF%E7%9C%9F%E7%9A%84%E6%98%AF%E5%A5%BD%E4%BA%8B%E5%90%97%EF%BC%9F%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E5%B1%82%E9%9D%A2%E6%98%AF%E9%87%8D%E7%82%B9%EF%BC%9A%E6%87%82%E5%BE%97%E9%87%91%E9%92%B1%E4%B8%8E%E4%BD%A0%E7%94%9F%E5%91%BD%E8%83%BD%E9%87%8F%E7%9A%84%E8%BD%AC%E6%8D%A2%E5%85%B3%E7%B3%BB%EF%BC%8C%E8%AE%A9%E4%BD%A0%E7%9A%84%E6%89%80%E6%9C%89%E9%94%99%E8%AF%AF%E8%A7%82%E5%BF%B5%E6%98%BE%E9%9C%B2%E6%97%A0%E9%81%97%E3%80%82" tabindex="-1">前三个层面真实、重要，但并不总是如此。事实上，在物质层面满足对金钱的需求可使人心静如水。了解金钱观如何影响你日常生活中的金钱抉择会带来更大程度的自由。认清你在不知不觉地践行我们文化中的一些信念，会让你进一步摆脱无意识的习惯。更多真的会更好吗？增长真的是好事吗？最后一个层面是重点：懂得金钱与你生命能量的转换关系，让你的所有错误观念显露无遗。</h5><p>本计划将消除我们与金钱关系中的迷雾、困惑、谣言和错误观念，让我们坦然接受自己的抉择。改变与金钱关系的关键就在于清晰地认识到：金钱并没有我们赋予它的种种意义，也不等于金融体系中的严峻现实，它是我们选择用生命能量去换取的东西。</p><p>认识到“金钱是用生命能量换来的”只需要一瞬间，践行这个真理却是持续一生的发现之旅。它不是魔杖，无法让你过去所犯的金钱错误的后果瞬间消失。生你养你的家庭依然如故：父母或为钱争吵、掩盖难题，或把钱当作胡萝卜或大棒用。你的成长环境依然如故：金钱或来之不易，或如天上掉下的馅饼，或许让你遭受沉重打击，或许是千载难逢的良机，不同境遇的结果也会大不一样。你依然债务缠身，依然与伴侣有意见分歧。</p><p>即使你与金钱的关系变了，它仍然会对你提出具体的要求。它就像一颗棱角锋利的多切面钻石，你肩负的责任义务是真真切切的。支票被退回，产品损坏，工资要交涉，医生账单该付了。抵押贷款要还清，否则就有麻烦了。即使懂得了金钱与生命能量的关系，你仍要以最高诚信对待责任和义务。</p><p>金钱像流水一样，它能流动，而且在流动的过程中滋养生命。当它从我们这里流过时，我们欢欣；流走时则会苦恼。我们购买礼物表达爱意，给别人的日子送去明媚阳光。我们用奖金带家人去夏威夷旅行，留下美好回忆。认识到金钱就像生命中流动的能量，并不会让我们在金钱流来时无动于衷。审视它在我们生活中的作用实际上可使我们的体验更加丰富。我们不再认为买一辆新车能让自己快乐，而会思索真正能让我们感到快乐的是什么，我们会认识到快乐之源是在海滩度过一天，而不是连续三年每月偿还车贷。金钱就像一面镜子，让我们得以看清自己。注意一下，当你在邮件中收到支票时会发生什么，收到账单时又会怎样。当伴侣说“亲爱的，我们得讨论一下财务状况”</p><p>时会怎样。注意一下你小费给得大方时有什么感觉，给得小气时又如何。当有人注意到你戴了一块名贵手表时又怎样。</p><p>我们越是认清金钱如水的这个侧面，就越有把握应对那些艰难的日常财务状况。透支和滞纳金减少，开支更有节制，缴税和付账更及时。我们的感受越清晰，财务事项就越井井有条。</p><p>金钱是一种游戏，我们必须遵守规则。不管喜不喜欢，我们都在玩金钱游戏。按照游戏规则，我们可以在当地，也可以在全球售卖服务和产品，我们所购买的产品可能会在非洲和委内瑞拉开采原料、在中国组装零部件、在洛杉矶贴牌、在菲律宾包装、在世界各地的沃尔玛出售。我们的信用卡购物情况每天由一大批高速运转的电脑进行查核，而我们只管把食品杂货带回家、购买音乐会门票。我们在这场金钱游戏中生活、移动、存在，我们以这些交易为语言来了解彼此。人人都需要钱，人人都争先恐后地谋取它。几乎没有人能一整天不接触与金钱有关的东西，但我们的大脑抗拒正视这个事实——我们是多么地依赖金钱、多么地深陷其中不能自拔。金钱给生命带来能量，日常生活若没有它就会停滞。</p><p>不过，一旦认识到金钱是一场共同游戏，我们就能够有意识地选择什么时候用金钱玩游戏、什么时候用其他货币——比如爱情、技能、知识或需要双手的劳动。可以看出，金钱游戏也在玩弄我们，购物中心、百货公司、网站的设计宗旨都是要抓取我们的注意力和我们手里的钱，它利用了我们的不安全感和渴望。抵制消费主义变得容易了：那件泳衣或那辆车值得我付出生命能量吗？</p><p>我们关于金钱的许多臆断其实是游戏设计的一部分。“谁临死时拥有的消遣品最多，谁就赢了”，这种理念就是设计的一部分，让我们所有人都参与系统中进行游戏。技术升级是游戏设计的一部分。淘汰是有计划的或蓄意制造的。时尚是游戏的一部分，广告上美女帅哥们的穿着打扮，吸引你购买同款。从更宏大的范围来看，州际公路和大教堂也是金钱游戏的一部分。我们当中的大多数人都会选择用金钱趋利避害。我们自己也是游戏的组成部分，这个游戏要靠玩家的参与来维系。假如玩家失去兴趣，游戏就崩溃了——这让我们惊恐。我们几乎什么都得靠钱，买东西需要钱，维系经济也需要钱。只要大家都玩，人人都是赢家。</p><p>这个游戏里有坏蛋，他们是督促我们规规矩矩玩游戏的个人财务妖怪：通货膨胀、生活成本、经济衰退、经济萧条。我们被鼓励将经济指标与个人利害挂钩。如果经济学家宣布经济陷入衰退，我们也许就会决定今年不去度假以求稳妥——即便我们有充裕的钱和稳定的工作。如果经济学家告诉我们生活成本上涨了，我们就会不由自主觉得自己变穷了，尽管现在居民消费价格指数（CPI）里包含的东西在短短几十年前还是奢侈品，而那时我们不拥有它也没觉得失落，比如，手机和其他技术新发明。</p><p>有些人会把金钱的这个设计侧面称为“矩阵”——由感知机器创造的模拟现实，用来征服人类并获取人类的能量。在电影《黑客帝国》中，被解放的人类领袖墨菲斯告诉主人公尼奥：“矩阵无处不在。它就在我们身边。甚至此刻，就在这间屋子里。你从窗户往外望的时候或者打开电视的时候能看见它。你去上班的时候……去教堂的时候……缴税的时候能感觉到它。它是蒙蔽你的双眼使你看不见真相的世界。”墨菲斯让尼奥自行选择，那句话如今在流行文化中非常有名：“吞下蓝色药丸则一切结束，你在床上一觉醒来，想相信什么就相信什么。吞下红色药丸则留在奇境……”</p><p>一旦懂得生命能量与金钱的转换关系，就好比吞下红色药丸。你看到自己的选择，做出选择，看到后果，从中有所领悟。“赢”并不是指拥有最多身外之物。它是指拥有你所需要的，毫无多余，并且能够随心所欲地停止玩这场游戏。</p><p>一旦懂得生命能量与金钱的转换关系，你就得以最大限度地利用和优化你最宝贵的资源：你的时间，你的生命。</p><h4 id="%E4%BD%A0%E7%9A%84%E7%94%9F%E5%91%BD%E8%83%BD%E9%87%8F" tabindex="-1"><mark>你的生命能量</mark></h4><p><mark>“金钱与生命能量的紧密关系”对你而言意味着什么？毕竟，钱是你认为很有价值的东西，你义无反顾地把一生四分之一的时间用于获得它、花费它、为它操心、对它幻想或以其他方式对它做出反应。是的，有许多关于金钱的社会习俗值得学习并遵守，但归根结底，金钱对于你的价值是由你定夺的。你用时间为金钱“付款”。你如何花费它，就是如何消耗你的生命能量。</mark></p><p>金钱的这个定义给予我们很重要的信息。在我们的实际体验中，生命能量比金钱要真切。金钱没有内在真实性，生命能量却有——至少对我们来说有其内在真实性。它是有形的、有穷尽的，生命能量是我们所拥有的全部。它非常珍贵，因为它数量有限且不可失而复得，因为我们如何使用它，体现了我们今生今世所拥有的时间的意义和目的。</p><p>如果你现在40岁，那你的余生估计还剩下大约356 500小时（合40.7年）的生命能量（各个年龄的预期寿命参见表2 -1）。假设你的一半时间用于必要的身体保养（睡觉、吃饭、排泄、洗漱、锻炼），那你就还有178 000小时的生命能量可以派上其他用场，比如：</p><p>• 处理与自我的关系</p><p>• 处理与他人的关系</p><p>• 从事创意表达</p><p>• 为社区做贡献</p><p>• 为世界做贡献</p><p>• 实现内心的宁静</p><p>• 保住一份工作</p><p><mark>既然你懂得了金钱是你用生命能量进行交换的东西，那么你就有机会为使用这项宝贵商品重新设定优先次序，还能有什么“东西”对你来说比生命能量更重要呢？</mark></p><h5 id="%E8%A1%A82-1-%E5%B9%B4%E9%BE%84%E4%B8%8E%E5%B9%B3%E5%9D%87%E5%89%A9%E4%BD%99%E9%A2%84%E6%9C%9F%E5%AF%BF%E5%91%BD" tabindex="-1">表2-1 年龄与平均剩余预期寿命</h5><p><img src="/upload/2024/10/image-1729083803806.png" alt="image-1729083803806" /></p><h3 id="%E8%B4%A2%E5%8A%A1%E8%87%AA%E7%94%B1%E5%88%9D%E6%8E%A2" tabindex="-1">财务自由初探</h3><p>我们在前言中就说过，本书的目的之一是加快你实现财务自由的速度。按照书中的步骤，你将不可阻挡地走向财务诚信，获得财商，终有一天（但愿是在你去世前）达到财务自由。然而，要向你证明这是可以做到的，我们必须先向你说明哪些情形并非财务自由。</p><p>我们不妨先来探讨一下“财务自由”这个词让你的脑海里浮现什么样的景象。赚大钱？继承一大笔财产？中大奖？邮轮、热带岛屿、环球旅行？珠宝、保时捷、名牌服装？在大多数人的设想中，财务自由是遥不可及的幻梦，</p><p>它意味着拥有取之不尽、用之不竭的财富。</p><p>这是物质层面的财务自由。虽然它只要求我们富有，但得注意一点：什么叫“富有”？富有只存在于同其他人或物的对比中。富有是比我现在拥有的要多得多。富有是比其他大多数人拥有的要多得多。但我们知道，关于“更多”的谬论漏洞百出。“更多”就像海市蜃楼，我们永远够不着它，因为它不真实。约翰·斯图尔特·密尔曾经说过：“人所渴望的不是富有，而是比别人更富有。”换言之，一旦富有变成了跟我们一样的人都能达到的状态，那它就不复为富有。</p><p>只有当我们对自己与金钱的关系负起个人责任时，真正的财务自由的第一个定义才会显现。我们对“财务自由”的定义可以如快刀斩乱麻般解开何为富有之谜。财务自由与富有无关。它是指你体验到自己所拥有的已经足够且有富余。你应当记得，“足够”位于满足感曲线的顶点。它是可以量化的，你会在执行本计划中的步骤时给它确定一个适合你自己的定义。旧观念认为财务自由就是永远保持富有，那是无法实现的。“足够”则可以实现。你的“足够”也许不同于邻居的“足够”，但它将是一个对你来说真真切切并能够企及的数字。</p><h4 id="%E8%B4%A2%E5%8A%A1%E5%92%8C%E5%BF%83%E7%90%86%E8%87%AA%E7%94%B1" tabindex="-1">财务和心理自由</h4><p>要体验到自己所拥有的已经足够且有富余，第一步是从脑海里清除先前对金钱的态度。若做不到这一点，再多的钱也不会让你感到自由。一旦做到这一点，你就会摆脱潜意识中对金钱的臆断，就会摆脱在金钱问题上可能产生过的内疚、怨恨、嫉妒、沮丧和绝望。你可以有这些感受，但应该像面对一件衣服那样——你可以试穿，也随时可以脱下。你不再受制于童年时代父母和社会传达给你的理念——关于我们为了实现功成名就、受人尊敬、品德高尚、有安全感和幸福快乐的目标，我们要如何去做，我们应该如何对待金钱。你会摆脱有关金钱的困惑。你再也不会被你请来帮忙打理纳税事务或进行理财的专业人士吓倒。你决不买不想要或不需要的东西，丝毫不为商场、超市和媒体的诱惑所动。你的情感财富不再与经济财富挂钩，心情不再随着道琼斯指数波动。你脑海里那张喋喋不休的破唱片安静下来了，它曾时刻计算着离下班还有几小时、离发工资还有几天、摩托车首付款要攒几个月、下一次房子装修要花多少钱以及离退休还有几年。一开始，这种寂静异乎寻常。你可能几天甚至几个星期都不会想到钱，不会在心里算计着要掏多少钱应对生活中的挑战和机遇。</p><p>一旦你在财务上获得自由，金钱在你生活中的作用就由你决定，不是由你所处的环境决定。这样一来，金钱就不是偶然降临到你身上的东西，而是你有意纳入生活中的。从这个角度来看，虽然人们习惯于“朝九晚五干到六十五”，追求努力打拼、出人头地、发财成名，但这部常规人生剧其实只是众多选择中的一个而已。财务自由就是摆脱我们当中许多人对金钱的迷惑、恐惧和狂热。</p><p>如果这听起来像是心灵归于平静，那就对了。它是财务极乐之境。如果这听起来就像保持富有一样遥不可及，那就错了。成千上万人遵循了本书所述待钱之道、践行了书中所建议的步骤，他们对此都深有体会。</p><p>第二步：活在当下——追踪你的生命能量<br />金钱与生命能量的关系在你的生活中是如何体现出来的？过去你可能认为金钱不过是寻常琐事，或者是安全感、是影响力、是魔鬼的工具，或者是你生命中的大奖，那时你可能会从“应该”和“应当”的角度来证明你的行为是合理的。但现在你懂得了金钱需要用生命能量来交换，而且是你本人的生命能量，你越来越有兴趣弄明白到底有多少金钱从你的手中经过。在通往财务自由道路上的第二步，你的好奇心将得到满足。</p><p>第二步有两个部分：</p><ol><li><p>确定维持你的职业实际需要花费的时间和金钱，计算你的实际时薪。</p></li><li><p>追踪记录你生活中进进出出的每一分钱。</p></li></ol><p>你用生命能量换了多少钱？<br />我们已经确定，金钱不过是你用生命能量进行交换的东西。现在我们来看一下，目前你在用多少生命能量（以小时计）换取多少钱（以美元计），也就是说，你工作的那些时间挣到了多少钱？</p><p>大多数人看待这个生命能量与收益之比的方式不现实、不充分：“我一周挣1000美元，每周工作40小时，所以我的一小时生命能量换来25美元。”事情恐怕没那么简单。想想所有与你就业挣钱直接相关的生命能量的使用途径吧。想想所有与这份差事直接相关的金钱开销吧。换言之，如果你不需要那份挣钱的差事，有哪些时间和金钱开销会节省下来？</p><p>做好大吃一惊的准备吧。有些人厌恶他们的工作——时间难熬、枯燥乏味、职场倾轧、没时间做自己真正想做的事情、与老板或同事性格不合。他们感到无能为力，于是沉溺于某种购物疗法。做好准备去发现你以“讨厌这份工作”为由花了多少钱。</p><p>还要做好准备去发现你为免于做饭、清扫、修理等事务花了多少钱。如果你不必上班，那些事就会由你自己来做。</p><p>做好准备去发现雄心壮志的诸多代价，也就是你为了不断升迁而“必须”拥有的一切。开合适的汽车、穿合适的服装、住合适城市合适小区里的合适房子、孩子上合适的私立学校。</p><p>以下面的讨论为范例，自己去发现你为保住朝九晚五的工作实际投入了多少时间和精力。未必所有类别都适用于你，你也许会认为这里没提到的其他类别与你更为相关。</p><p>对自由职业者来说，这件事或许会格外复杂，但其价值会更大。你对每份零工都进行同样的分析，可能会惊讶于有的工作被低估了、有的被高估了！</p><p>在下面的示例中，我们将给这些时间与金钱的交换随意分配数值，目的是生成一个假设性的表格。讨论结束时，我们将把这些数据列成表格，得出生命能量与金钱的实际兑换率。你在做自己的计算时请使用你的实际数字，</p><p>算出你自己的个人时薪。</p><h4 id="%E9%80%9A%E5%8B%A4" tabindex="-1">通勤</h4><p>无论你是自己开车、坐出租车、搭顺风车、骑自行车、步行，还是乘公共交通工具，上下班都需要花费时间或金钱，或者两者兼而有之。为便于讨论，我们不妨假设你开车上下班。别忘了把停车费、桥梁和高速公路通行费以及汽车损耗包含在内。假定你的通勤时间是每天1.5小时、每周7.5小时，费用是汽油费和维护保养费，每周100美元（如果你乘坐公交车的话数字会有所不同）。</p><ol start="7"><li>5小时/周，100美元/周</li></ol><h4 id="%E7%BD%AE%E8%A3%85" tabindex="-1">置装</h4><p>你上班时穿的衣服和你在休息日或假期穿的衣服一样吗？还是需要有符合职业形象的专门服装？这不仅仅包括护士服、建筑工人钢趾靴和厨师围裙等明显的专业行头，还包括职场常见的定制西服、高跟鞋、领带和连裤袜。看看那些衣服吧。假如不是职业所需，你会每天在脖子上套根带子或者穿着8厘米高跟鞋走来走去吗？从须后水到进口化妆品，花在个人打扮上的时间和金钱也要考虑在内。</p><p>量化从采购到涂睫毛膏、刮胡子和打领带的所有梳妆打扮活动。假定你每周在这上面花的时间为1.5小时，费用为平均每周25美元（即每年的置装费除以52周，再加上化妆品的费用）。</p><p>​1.5小时/周，25美元/周</p><h4 id="%E9%A4%90%E9%A5%AE" tabindex="-1">餐饮</h4><p>餐饮受工作影响在时间和金钱方面的额外花费有多种形式，例如，上午和下午喝咖啡的钱、在员工自助餐厅排队的时间、由于太累或太忙不做饭而订外卖或外出就餐的费用。</p><p>假定你每周总共花5小时到外面吃午饭或者在上午停下来喝杯咖啡。在当地熟食店吃午餐比你在家做午饭每周要多花大约30美元，买杯拿铁咖啡犒劳自己每周加起来是20美元。支出总额：50美元。</p><p>​5小时/周，50美元/周</p><h4 id="%E6%97%A5%E5%B8%B8%E5%87%8F%E5%8E%8B" tabindex="-1">日常减压</h4><p>你下班回到家时是兴高采烈、充满活力、愉快地投入大大小小的事情或者与家人爱人共度亲密时光吗？还是疲惫不堪、一言不发地端着啤酒或马提尼瘫坐到电视机前或电脑屏幕前的软椅上，因为“今天累坏了”？如果你需要“一点时间”从工作压力下释放出来，那“一点时间”就是一笔与工作相关的花费。如果你冲着任何一个肯倾听的人痛斥工作和同事，那么这段时间也要算在内。瞎猜一下，这笔账是每周5小时，娱乐消遣用品每周要花30美元。</p><p>​5小时/周，30美元/周</p><h4 id="%E9%80%83%E9%81%BF%E6%80%A7%E5%A8%B1%E4%B9%90" tabindex="-1">逃避性娱乐</h4><p>请注意“逃避性娱乐”这个常用词。逃避什么？你必须逃离的监狱或限制情境是什么？如果你的生活经历始终丰富充实、令人兴奋，那你会想要逃避吗？你会花那么多时间看屏幕吗？不妨看看这样一些情景：“真是辛苦的一周啊，晚上到城里放松一下吧！”或者“这个周末抛开所有烦心事，我们到拉斯韦加斯玩玩吧！”这些是必要的吗？要花掉多少生命能量和金钱？有多少周末娱乐活动在你看来是对坚守无聊工作的正当奖励？当然，品味艺术会让人心情为之振奋、精神上得到升华、素养得到提高，在这上面花费的生命能量让生命变得更加值得，因此每一秒都是有意义的。这种对艺术的沉迷与逃避无关。它是一种自我提升，因此不是与工作有关的花费。我们把逃避性娱乐的时间定为每周5小时，费用定为40美元。</p><p>​5小时/周，40美元/周</p><h4 id="%E5%BA%A6%E5%81%87" tabindex="-1">度假</h4><p>置身于大自然和到异国他乡旅行跟欣赏艺术一样，是你生活中最美好的体验。但是，如果“度假”更像是躲到某个角落里进行休整以便重新投入战斗，那它就是一笔与工作相关的花费。例如，如果你太累了，连规划一次特殊的旅行都懒得做，于是决定带全家人前往巴哈马的一个度假胜地，到那儿瘫坐在躺椅上而不是坐在家里的La -Z - Boy（美国沙发品牌）软椅上，那恐怕就是一笔与工作相关的花费。然而，如果你卖掉储藏室里的所有东西，自愿花一个星期跟随一个研究小组到巴哈马去勘测珊瑚礁的健康状况，那可以被算作全身心投入生活。具体情况只有你分得清。</p><p>还有些什么？你每年只用几个星期来“休息一下”的度假屋、游艇或房车呢？把这些都加起来再除以52，你可能每周要花5小时、30美元让自己远离日常琐碎工作。</p><p>​5小时/周，30美元/周</p><h4 id="%E4%B8%8E%E5%B7%A5%E4%BD%9C%E6%9C%89%E5%85%B3%E7%9A%84%E7%96%BE%E7%97%85" tabindex="-1">与工作有关的疾病</h4><p>有多大比例的疾病与工作有关——或起因于压力，或起因于物质条件，或起因于想找个“正当”理由请假不上班，或起因于同雇主或同事的冲突？至善科学中心（Greater Good Science Center）倡导科学地度过有意义的人生，他们搜集了关于健康与快乐的研究成果。他们找到了证据证明，快乐能促进心脏健康、增强免疫系统、对抗压力、减轻疼痛、减少慢性疾病和延年益寿。从我们多年的经验来看，志愿者生病和因病缺勤的情形比有报酬的员工要少得多。简言之，生活得快乐、充实的人更健康。</p><p>就这个类别来说，要评估有多大比例的医疗花费（时间和金钱）是工作导致的，办法只有一个，就是比较主观的“内心感觉”。不妨大概估计与工作有关的全部疾病开支为每周25美元的自付费用（超过限额后由个人承担的医疗费、药费），再加上每年花50小时上医院看病、到药店买药、躺在被窝里吸鼻子。</p><p>​1小时/周，25美元/周</p><h4 id="%E4%B8%8E%E5%B7%A5%E4%BD%9C%E6%9C%89%E5%85%B3%E7%9A%84%E5%85%B6%E4%BB%96%E8%B4%B9%E7%94%A8" tabindex="-1">与工作有关的其他费用</h4><p>检查一下你的资产负债表（第一步）。上面是否列有如非与工作直接相关你就不会购买的物品？看看你付给“帮手”的钱：如果你不上班，你需要请人帮忙打扫卫生、整理庭院、做家务或照顾孩子吗？单亲家庭或双薪家庭的日托费用花掉工资的一大部分，而如果你不上班就没这个必要了。做一份有代表性的一周作息的时间日志。你用掉的时间里有多少小时是绝对与工作相关的？比如说在网上浏览招聘岗位、晚上参加社交应酬以便建立人脉。此外，花时间向伴侣倾诉你在工作中遇到的挫折是不是与工作有关的活动？在继续执行本计划中的其他步骤时，要特别注意像这种隐性的与工作相关的费用。</p><p>别忽略了职业能力提升方面的开支，比如进修、书籍、工具和成人补习班。请记住，你的个人情况是独特的，但基本理念是通用的。仔细回顾一下你有哪些与工作有关的时间和金钱支出吧。</p><h4 id="%E4%BD%A0%E7%9A%84%E5%AE%9E%E9%99%85%E6%97%B6%E8%96%AA" tabindex="-1">你的实际时薪</h4><p><mark>现在，把这些数字汇集起来制成一张表，约算出额外的与工作相关的时间，并把它加到正常工作周的时长里，从常规薪酬里减去与工作相关的花费。对于涵盖时间较长的项目（如度假或生病）就按50周均摊（1年里减去2周的假期——假设你从事的工作允许休假的话）。如果你工作顺心如意就不会花费的1500美元度假开支，在计算时就用1500美元除以50周，等于一周30美元……以此类推。</mark></p><p>当然，具体条目都会是近似值，但如果你细致勤勉，就可以得出相当准确的数字。</p><p>表2-2说明了这个计算实际时薪的过程，以及必然得出的一个数字：你花掉的每一块钱所代表的生命小时数或分钟数。记住，这里的数字是随意分配的。你的支出类别可能跟表上的不同，数字也就与之迥异。</p><h5 id="%E8%A1%A82-2-%E7%94%9F%E5%91%BD%E8%83%BD%E9%87%8F%E4%B8%8E%E6%94%B6%E5%85%A5%EF%BC%9A%E4%BD%A0%E7%9A%84%E5%AE%9E%E9%99%85%E6%97%B6%E8%96%AA%E6%98%AF%E5%A4%9A%E5%B0%91%EF%BC%9F" tabindex="-1">表2-2 生命能量与收入：你的实际时薪是多少？</h5><p><img src="/upload/2024/10/image-1729083898631.png" alt="image-1729083898631" /></p><p>盈亏结果：表2 -2清楚地表明，你的每小时生命能量的售价其实是10美元，不是表面上的25美元。你的实际时薪是10美元——而且还是税前！此时就要问一个问题：你愿意接受一份时薪为这个数字的工作吗？（每次跳槽换工作或者改变与工作有关的习惯时都应该照这样计算一番。）</p><p>由此可推算出的那个数字也很有意思。在这个例子中，你花掉的每一美元代表你生命中的6分钟。下次掏出20美元买一件逢见必买之物时想想这个数字吧。扪心自问：这个东西值我花120分钟的生命能量吗？它与我花两个小时在路上奔波、开车去上班或者挖掘未来客户等值吗？</p><p>请注意，我们的计算忽略了一些无形的项目，比如为在公司里步步升迁而进行谋划所花的时间、处理因为工作忙而日益恶化的家庭关系所花的时间，以及维持与职业相符的生活方式所花费的时间和金钱。因工作而产生的花费以各种各样的方式弥漫于你的生活中。</p><blockquote><p>当马克完成第二步的第一部分时，他的生活发生了翻天覆地的变化。他原本在建筑业当了10年的项目经理。他写道：“我不喜欢自己为了谋生而从事的工作，但是收支能够相抵，所以我就一直忍受，总想着‘好吧，大城市的生活就是这样’。”后来马克按照第二步计算了他的实际时薪。“在分析了我的开支模式后，我看明白了，我挣的钱有将近一半花在了工作上，也就是花在汽油、机油、修理、午餐上，这里一点那里一点，而且大部分是无法收回的。简而言之，我可以待在家里，就近做兼职，挣以前工资的一半反而能省下钱。”此时他才意识到，他可以放弃这份工作，去追求自己的真正愿望和目标。于是一切都变了。他在财务方面拖延了多年未处理的事情都得到了处理——还清信用卡欠款、不再到餐馆吃午饭、与妻子讨论早该讨论的理财问题而不像过去那样争吵不休等。在重新安排了自己的财务规划后，他和妻子认识到，他们完全可以靠她从事其热爱的工作（教导有特殊需要的孩子）挣钱过日子，他可以回到学校接受培训，然后去当他一直想当的心理咨询和治疗师。“我们的压力实际上减轻了，因为我们专注于修复与金钱的癫狂关系，而不仅仅是一心想着挣钱。”</p></blockquote><h4 id="%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E8%BF%9B%E8%A1%8C%E8%BF%99%E4%B8%80%E6%AD%A5%EF%BC%9F" tabindex="-1">为什么要进行这一步？</h4><p>为什么这个练习对于改变我们与金钱的关系必不可少？</p><p>1.这个练习使有偿工作接受真实检验，指出你实际获得多少报酬，也就是盈亏结果。</p><p>2.它让你得以从实际收入的角度现实地评估当前和未来的就业。运用在这个步骤里收集的信息来权衡你要从事的工作会大有助益：通勤时间更长或着装要求更高的职业，实际上恐怕还不如薪资较低的职业挣得多。在对比各个工作机会时，一定要看你实际在用生命能量换来多少钱。</p><p>3.了解你所从事工作的财务盈亏结果将有助于进一步弄清楚你参加工作和进行职业取舍的动机。马克的故事并非特例。很多人花掉所有收入，甚至倒贴一笔钱，来保住所从事的工作，却还自认为幸运。另一位财务自由人士说，执行这个步骤让他越发清晰地认识到了与工作有关的不必要花费，致使他的每小时净收入竟然增加了一倍。一旦明白了有多少开销是自己所从事的工作导致的，就能够减少甚至免除其中的许多花费。例如，他开始自己带午餐而不是订外卖，从开车改为乘坐公交车（回家路上利用乘车时间减压放松，一举两得），重新评估买那么多套时髦衣服换着穿的必要性，甚至开始每天和妻子一起散步来锻炼身体（在改善健康状况的同时也改善了两个人之间的关系）。还有些人以这个步骤的结果为就业取舍的标准。一旦能算出自己会拿到的时薪，就能非常清楚地认识到这份工作是否值得去做。事实上，有些差事在计算以前可能会申请，而现在根本不予考虑。</p><h5 id="%E8%A1%A82-3-%E7%94%9F%E5%91%BD%E8%83%BD%E9%87%8F%E4%B8%8E%E8%96%AA%E6%B0%B4%E5%AF%B9%E7%85%A7%E8%A1%A8" tabindex="-1">表2-3 生命能量与薪水对照表</h5><p><img src="/upload/2024/10/image-20241016194013119.png" alt="image-20241016194013119" /></p><p><img src="/upload/2024/10/image-20241016194025227.png" alt="image-20241016194025227" /></p><p><img src="/upload/2024/10/image-20241016194038276.png" alt="image-20241016194038276" /></p><h4 id="%E4%B8%8D%E7%BE%9E%E6%84%A7%EF%BC%8C%E4%B8%8D%E8%B4%A3%E6%80%AA" tabindex="-1">不羞愧，不责怪</h4><p>记住，在这个过程中，你对工作、职业、身份的认同感会强烈地涌上心头。有同情心的自我意识是关键。在每一种感受浮现时，关注到就行了，不要批评它，也不要批评你的职业、你的老板、你自己或这本书。你一直在拿薪水替人干活又怎样？你把每一份薪水都用来“奖励”自己又熬过了一周又怎样？你依靠每小时10美元的薪水过着快节奏生活又怎样？那都是过去的事了，是在你知道“金钱与生命能量的关系”之前以为自己非做不可的事。</p><h3 id="%E8%BF%BD%E8%B8%AA%E8%AE%B0%E5%BD%95%E4%BD%A0%E7%94%9F%E6%B4%BB%E4%B8%AD%E8%BF%9B%E8%BF%9B%E5%87%BA%E5%87%BA%E7%9A%84%E6%AF%8F%E4%B8%80%E5%88%86%E9%92%B1" tabindex="-1">追踪记录你生活中进进出出的每一分钱</h3><p>到目前为止，我们已经确定了金钱等于生命能量，并且学会了计算每一美元要用多少小时的生命能量换取。现在我们要弄明白被称为金钱的生命能量形式在生活中每时每刻的运动轨迹——我们要每天追踪记录自己的收入和支出。第二步的第二部分很简单，却未必容易。从现在起，追踪记录你生活中进进出出的每一分钱。</p><p>许多人在金钱方面故作超然。在他们的虚幻想法中，“金钱”和“爱-真-美-灵性”分装在两个匣子里。无数人会对爱人坦诚相待，但绝不给爱人看工资单。无数家庭在债务泥潭里越陷越深，原因是彼此提醒节制支出显得不近人情。社区服务团体焦头烂额，因为他们不愿申请资金来聘请哪怕一个人承担日常的组织管理工作。朋友之间借出去的钱物永远收不回来，因为留下字据显得有点别扭，坚持要人归还就更别扭了。这在父母和孩子之间经常发生。这种金钱往来理应纯粹以爱为基础，留下字据似乎会让它变得低俗。凡此种种情形，都起因于同一个思想根源：钱就是钱，爱就是爱，两者永远不该有交集。检讨一下你自己的态度吧，你是否在用高尚的哲学理想或精神理想为财务上的糊涂状态开脱呢？</p><h4 id="%E7%B2%BE%E7%A5%9E%E4%BF%AE%E7%82%BC" tabindex="-1">精神修炼</h4><p>无论是古代的还是现代的宗教都有各种技巧来训练人保持思想专注于当下。这些修行有多种形式，技巧五花八门，比如：数息；一遍又一遍地重复一句咒语使散乱的意念集中起来；专注于一物，不回忆它的过往，也不憧憬它的未来，心中唯有此刻；习练各种武功（如合气道或空手道）；假想一个内在的“目击者”，让其观察你此刻正在做的事情。</p><p>我们给这份清单再添加一项旨在使意识更敏锐的修炼法，它对于这项财务计划不可或缺，也许比一些深奥神秘的修行更容易为我们精明务实的西方思维所接受：不是盯着自己的呼吸，而是盯着钱。</p><p>这项修行很简单：追踪记录你生活中进进出出的每一分钱。</p><p>运用这个高度精密的工具进行改造的规则是：追踪记录你生活中进进出出的每一分钱。</p><p>这个金融玄学奇迹的方法论是：追踪记录你生活中进进出出的每一分钱。</p><p>如何追踪记录你生活中进进出出的每一分钱并无一定之规。不必购买正式的记账本，比如所谓“区区49.95美元一本，带索引卡、快速参考图表和太阳能计算器”的那种。对许多人来说，随身携带一个口袋大小的记事本最合适，可以用它记录生活中的每一笔进账和开销以及收支原因。还有些人的时间比金钱更宝贵，他们把支出和收入情况记在预约本上的专门一栏。有些人在手机和电脑里（连同预约、待办事项、地址等一起）追踪他们的金钱，将银行账户与在线工具相连，只使用借记卡（或按月还款的信用卡），这样他们就名副其实地在手头掌握着最新记录。电脑和智能手机使这一切越来越容易做到，但具体做法并无对错之分——对你来说最有效的方法就是最好的方法。</p><p>有些人在这里踌躇不前了。他们不想对钱进行追踪。太难了。太小题大做了。太费时间了。太麻烦了。每一分钱？每一块钱行吗？每十块呢？或者差不多就行吧……</p><blockquote><p>卡罗琳是个天生的追踪记录者，但她丈夫不是，他认为强调“每一分钱”毫无助益。大多数人根本不想那样过日子。“几年前，”她说，“我设法让他参与追踪记录，于是为他量身定制地简化了追踪记录程序，结果很成功。我们使用整数，尽量追踪现金流向，但并不过于强求。我们允许有最低金额的现金去向不明，为此增设了一个类别。这一项有时候差不多是空的，但在收支繁杂的时候也会多达200美元——那曾经让我抓狂，但现在不会了。原因在于，我丈夫开始关注这个数字，并且真正努力把它降低到一个微不足道或至少说得过去的金额。摆在那里的庞大数字提醒着他更加注意自己的花销，这比一切唠叨、争论、读理财书都要有效得多。我很高兴。”</p></blockquote><blockquote><p>迈克在简单生活志愿团体里当指导员已有多年，他鼓励人人都虔诚地“实践这些步骤”——他和妻子就是这样做的，结果令人惊叹。他是坚持遵守“每一分钱”准则的人。不过，当他和妻子搬进一个新社区的待翻修房子时，迈克终于理解了为什么他所在团体的成员觉得这第二步简直执行不下去。他决定自己当自己的承包商和建筑商。他的每日财务事项数量猛增，每天花在整理收据和记录开支上的时间也大增。他决定只使用借记卡，把银行发送的数据填入他的财务表格，直到支出稳定下来，这样他的生活简单多了。</p></blockquote><p>有人指出，本书前言里提到的财务忍者型人士觉得追踪记录就跟呼吸一样自然，无须他人劝服，但对右脑型人士（以创造力和直觉思维著称）来说，这就好比要求左撇子用右手写字。凯伦写道：“我喜欢追踪记录，过了14年后还在坚持，简直无法想象不做这件事会怎样。它使我们能够规划好一半时间在欧洲（法国的一艘船屋上）、一半时间在美国的生活，随心所欲地做点志愿活动，也可以旅行。”她天生就是这块料。</p><p>极简主义者和创造型人士采取了跟迈克一样的策略——用借记卡支付一切费用，理清千头万绪从而获得超乎寻常的平静安宁。一旦把追踪记录与省出时间来创造、冥想或旅行联系起来，他们就心甘情愿养成这个习惯。</p><blockquote><p>年轻的唐喜欢读钱胡子先生关于个人理财和提前退休的博客。开始进行追踪记录后，他更加清晰地了解到自己收入的去向，于是把到饭馆吃午饭改为带着午餐便当上班，并且更多地在家做饭。他表示：“对我来说，它不是要以独断专制的方式限制支出、努力更‘勇于担当’，而是要弄清我目前正在怎样以一种毫无负罪感的方式花钱。我得以把这项（食物）花费减少了将近一半，每月节省好几百美元。一旦意识到自己的钱是怎么花掉的，我就可以本能地控制浪费性开支，然后把那些钱花在对我和我的整体幸福更重要的事情上。每个月节省下来的几百美元很快就积攒起来，够我到欧洲旅行3个星期了！由于钱花得更加有效益，我总体上更加快乐，为未来存下更多的钱，不再刻意要把钱花在令我愉悦的事物上。”</p></blockquote><p>不管选择哪种方法，一定要去执行，而且要准确。（本计划只有付诸执行才能起作用！）要养成习惯，记录金钱的一切进出轨迹、确切金额以及转手原因。每次花掉钱或收到钱，都要习惯性地马上记下来。</p><p>在《邻家的百万富翁》（<em>The Millionaire Next Door</em>）一书中，作者托马斯·J.斯坦利和威廉·D.丹科指出，净值相对于收入较高的人知道自己在服装、旅行、住房、交通等方面花了多少钱，而净值相对于收入而言不高的人对自己花了多少钱毫无概念。这是一个鲜明的对比。</p><p>表2-4是虚构的两日收支条目。请注意每笔开销的详细程度，留意所涉及的开销是怎样标记的，观察如何区分便利店里零食（薯片、蘸酱、苏打水）和电池的开销。周六逛杂货店和百货公司时，支出类别也进行类似的区分。总数下的子类或称“细分”都四舍五入取约数（约数当然最好尽量接近实际数字，但计算手纸、葡萄酒等的确切费用会很耗时间），但总数必须精确到分。</p><h5 id="%E8%A1%A82-4-%E6%AF%8F%E6%97%A5%E8%AE%B0%E5%BD%95%E6%A0%B7%E6%9C%AC" tabindex="-1">表2-4 每日记录样本</h5><p><img src="/upload/2024/10/image-20241016194144156.png" alt="image-20241016194144156" /></p><p><img src="/upload/2024/10/image-20241016194158225-1729084139670.png" alt="image-20241016194158225-1729084139670" /></p><p><img src="/upload/2024/10/image-20241016194209682.png" alt="image-20241016194209682" /></p><h4 id="%E6%AF%8F%E4%B8%80%E5%88%86%E9%92%B1%EF%BC%9F%E2%80%A6%E2%80%A6%E5%8F%AF%E6%98%AF%E4%B8%BA%E4%BB%80%E4%B9%88%E5%91%A2%EF%BC%9F" tabindex="-1">每一分钱？……可是为什么呢？</h4><p>切记，这个程序的目的就是追踪记录你生活中进进出出的每一分钱。</p><p>你也许会问：“为什么要如此大费周章？”因为要想认清你生活中实际有多少钱进进出出，而不是你自以为的情况，这是最佳方法。到目前为止，我们大多数人对自己的日常小额金钱往来都采取漫不经心的态度。在实践中，我们往往颠覆了那句古老的格言：“小钱精打细算，大钱稀里糊涂。”我们可能会费尽心机地向配偶述说花75美元买一个新款拼色左利手工具是超值的，然而在一个月的时间里，一次次“不起眼的”小开销让数额更大的一笔钱从我们的钱包里溜走。</p><p>“可我必须追踪记录每一分钱吗？”你也许会问。</p><p>是的，每一分钱！</p><p>为什么是每一分钱，而不是四舍五入到最接近的美元整数，或者是约数？因为这有助于养成重要的终身习惯。毕竟，多大的数值是“估计值”？多接近才算“足够接近”？</p><p>诚然，在实践中，许多财务自由人士满足于四舍五入到美元整数，但他们的疏漏仅限于此。人性就是这样，如果你开始作弊，哪怕“只是一点点”，那一点点往往就会变得越来越大，很快你就会想：“算了，我不必把每一样都记下来，记下主要花销就行了。”接着又会想：“好了，现在我已经记了一个月，我想以后可以四舍五入到最接近的千位数了。”（这就像节食一样：如果你在周二早上破坏规矩吃了一块涂黄油的英式松饼而不是吃烤面包片，作弊倾向就会一发不可收拾，到了晚上你就会狼吞虎咽地吃掉一盒冰激凌和一大块蛋糕。）要想让这件事做得值，你就要花点工夫认真去做。如果你不习惯精确到每一分钱，那不妨试试精确到每10分钱或1元钱（无论是美元、欧元还是日元），若超过这个限度的话，那就好比若无其事地吃下10块蛋糕而实际上摄入的是大堆脂肪。</p><p>自本书问世以来，信用卡已在消费文化中变得习以为常。现在，申办一张信用卡简直就是一项成人礼。信用卡带来效率，却也让你能够更加任性随意、更加不知不觉地花钱。如果你在追踪记录时遇到困难，我们建议你过一个月的“无卡”生活。从银行提取现金，追踪记录你这一个月里花了多少钱。你不仅会对支出有更清晰的意识，而且很可能会更有省钱的动力。许多勤于省钱的人发现，这个练习让他们在花钱习惯方面如梦初醒。</p><p>既然金钱与生命能量直接相关，那为什么不高度重视这一珍贵商品，也就是你的生命能量，从而意识到它是如何被消耗掉的呢？</p><p>你也许在一开始会抵触一丝不苟地做这件事，但最终，无论你的感受如何，这个步骤必须得到奉行，因为它是通往掌控金钱之路的重要环节。</p><p>请追踪记录你生活中进进出出的每一分钱。</p><h4 id="%E6%9C%89%E7%9B%8A%E7%9A%84%E6%80%81%E5%BA%A6" tabindex="-1">有益的态度</h4><p>不留余地。天文望远镜哪怕其中一个镜头稍有偏差也会让你无法观测星球。人生亦然，一点点的蒙蔽造假就会让穿透云层的光亮减弱。因此，你要意志坚定、锲而不舍、绝不妥协。</p><p>你欲理清与金钱关系的决心在这里会受到真正的考验。在本计划（以及生活）中取得成功的关键之一是转变态度，从松懈散漫、留有余地转变为精准无误、一丝不苟。（顺便说一句，这种追求完美的态度在人生的其他方面也许能创造奇迹。有些人减轻了体重，保持了桌面整洁，修补了破裂的关系，全都是因为百分百地执行了这个步骤。）</p><p>不予评判，但多加辨别。评判（责备自己和他人）就是用好和坏之分给事物贴上标签。在改变你与金钱的关系和实现财务自由的道路上，你会发现评判和责难是没有用的。另一方面，辨别是一项基本技能。辨别就是区分真假、分清小麦和谷糠。在记下你生活中进进出出的每一分钱的过程中，你将开始辨别哪些花费恰当、让人有成就感，而哪些不必要、铺张浪费，甚至让人难为情。辨别力与我们人人都拥有的天赋有关，那就是：懂得真理何在，看得清全局，明白我们真正想要的是此生有所作为。在贯彻本财务计划时，这项天赋将越来越多地发挥作用。让支出与这项天赋保持一致是实现财务诚信的秘诀。通过追踪记录你生活中进进出出的每一分钱，你会唤醒这项休眠的超能力，逐渐让它来指导你的生活。</p><h3 id="%E7%AC%AC%E4%BA%8C%E6%AD%A5%E6%8F%90%E8%A6%81" tabindex="-1">第二步提要</h3><p><mark>1.准确、诚实地确定你用生命能量换了多少钱，算出你的实际时薪。</mark></p><p><mark>2.追踪记录你生活中进进出出的每一分钱，借此机会了解自己的金钱行为。</mark></p><h3 id="%E2%80%9C%E9%87%91%E9%92%B1%E8%A7%82%E2%80%9D%E8%AE%A8%E8%AE%BA" tabindex="-1">“金钱观”讨论</h3><p>若与他人讨论金钱观，你会惊讶于自己的收获，形成属于自己的见解，从赞同本书中的观点转变为自己认清真相。</p><p>利用后记里关于如何开展“金钱观”的讨论的建议，日常与伴侣或朋友闲谈时不妨提出以下问题。记住，无论哪个问题，在末尾加上一句“为什么”会让它更有深度。无论哪个问题，补充一句“我给出的答案对社会有何影响”会让它更有广度。答案无所谓对错。</p><p>• 钱是什么？</p><p>• 最多用5个词描述你与金钱的关系。为什么是这几个词？</p><p>• 你是有钱的时候感到压力更大，还是没钱的时候感到压力更大？</p><p>• 补充完整这句话：“我要是有更多的钱就……”请详细说明原因！</p><p>• 你挣的钱能体现你的价值吗？</p><p>• 关于金钱的哪些信念使你不能成为你理想中的样子、做你想做的事情或拥有你想要的东西？</p>]]>
                    </description>
                    <pubDate>Wed, 16 Oct 2024 21:12:40 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[如何实现FIRE（Financial Independence Retire Early），经济独立，提前退休(1/9)]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/ru-he-shi-xian-firefinancialindependenceretireearly-jing-ji-du-li--ti-qian-tui-xiu</link>
                    <description>
                            <![CDATA[<h3 id="%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0fire%EF%BC%88financial-independence-retire-early%EF%BC%89%EF%BC%8C%E7%BB%8F%E6%B5%8E%E7%8B%AC%E7%AB%8B%EF%BC%8C%E6%8F%90%E5%89%8D%E9%80%80%E4%BC%91" tabindex="-1">如何实现FIRE（Financial Independence Retire Early），经济独立，提前退休</h3><p><mark>本篇内容是九个步骤的第一个步骤，每一篇文章为一个步骤，当前1/9</mark></p><h4 id="%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E8%AF%BB%E8%BF%99%E6%9C%AC%E4%B9%A6(your-money-or-your-life)%EF%BC%9F" tabindex="-1">为什么要读这本书(your money or your life)？</h4><h5 id="%E9%97%AE%E9%97%AE%E8%87%AA%E5%B7%B1%E8%BF%99%E4%BA%9B%E9%97%AE%E9%A2%98%EF%BC%9A" tabindex="-1">问问自己这些问题：</h5><p>• 你的钱够用吗？</p><p>• 你与家人和朋友在一起的时间够多吗？</p><p>• 你下班回家时精神饱满吗？</p><p>• 你有时间做你认为真正有意义的事情吗？</p><p>• 假如被解雇，你会视之为重新开始的机遇吗？</p><p>• 你对自己为这个世界所做的贡献满意吗？</p><p>• 你是不是没有金钱方面的烦恼？</p><p>• 你所从事的工作能体现你的价值吗？</p><p>• 你的积蓄够你维持个月的正常生活开支吗？</p><p>• 你的人生充实完整吗？各个组成部分——工作、开销、人际关系、价值观念，它们彼此契合吗？</p><p><mark>这些问题哪怕有一个的答案是否定的，那你就该读读这本书。</mark></p><h5 id="%E4%B8%AA%E4%BA%BA%E5%BA%8F%E8%A8%80%E6%80%BB%E7%BB%93%EF%BC%9A%E6%9C%AC%E8%B4%A8%E4%B8%8A%E7%9A%84%E6%88%91%E4%BB%AC%E5%B9%B6%E4%B8%8D%E6%98%AF%E8%BF%BD%E6%B1%82%E9%87%91%E9%92%B1%E6%9C%AC%E8%BA%AB%E3%80%82" tabindex="-1">个人序言总结：本质上的我们并不是追求金钱本身。</h5><p>读任何有关金钱的书都只有一个理由：让自己有能力过上更好的生活。你追求的东西其实并非金钱——毕竟，你不会愿意付出孤独一生的代价成为亿万富翁，对吗？</p><p>关于钱的真相就是：你所遇到的多数难题都不是单靠钱能解决的。事实上，金钱只是快乐、健康人生的附属品。</p><p>你一定不想成为孤独一生的亿万富翁，而是想过上无忧无虑的、能创造价值的、自由的生活，并且再也不必为钱而发愁。</p><p><mark>普通理财建议都很中立，核心观点是我们的个人价值观不同，我们应从心所愿。比如我喜欢花几百美元吃一顿大餐，而你喜欢开豪华汽车，那都没问题！你可以把钱花在你喜欢的东西上，只要你收支平衡并且努力工作赚钱就行。</mark></p><p>可以肯定，读完这本书后，你未来的经济状况也会大大改善。这本书中有涉及理财的部分，但该方法的独特力量在于治本——改变你的个人观念和习惯，而非仅仅治标，也就是你的每月银行流水和信用卡账单。</p><p>如果你以前没读过这本书，没经历过这段旅程，那就振作精神，不急不躁，认真读一读。你的整个人生将由此改变。</p><p>---- 钱胡子先生</p><h5 id="%E4%BD%9C%E8%80%85%E6%89%BF%E8%AF%BA%E8%AF%BB%E5%AE%8C%E6%9C%AC%E4%B9%A6%E6%8C%89%E7%85%A7%E6%AD%A5%E9%AA%A4%E6%89%A7%E8%A1%8C%E5%8F%AF%E4%BB%A5%E8%BE%BE%E5%88%B0%E4%BB%A5%E4%B8%8B%E6%95%88%E6%9E%9C%EF%BC%9A" tabindex="-1">作者承诺读完本书按照步骤执行可以达到以下效果：</h5><p>你会减少花销，却享有更多人生乐趣。</p><p>• 你会攒下超乎自己想象的钱。</p><p>• 你会还清债务，并逐渐自然而然地拒绝通过透支方式购买不需要的东西，来取悦你不喜欢的人（套用罗伯特·奎伦的话）。</p><p>• 你会有更多时间去做最重要的事。</p><p>• 你会对自己有深入的了解。</p><p>• 你会泰然自若、开诚布公地谈论财务状况。</p><p>• 你会原谅自己过去的败家行为，并养成好的理财习惯。</p><p>• 你会为退休攒钱并如愿以偿地攒够了钱退休，也许比你现在所能想象的退休时间要早得多。</p><p>• 你会投入生命来实现自身价值，而不是投入所有时间去挣钱。</p><h5 id="%E6%9C%AC%E4%B9%A6%E7%9A%84%E4%BD%9C%E7%94%A8" tabindex="-1">本书的作用</h5><p>本书的目标是改变你与金钱的关系、帮助你实现财务自由。解放你最宝贵的资源——时间，让你能追求更多快乐、更多自由和更多人生的意义。</p><p>“改变”你与金钱的关系是什么意思呢？它不是指你赚到的钱增加或减少，而是指弄明白多少钱才够让你过上自己喜爱的生活，无论是现在还是将来；它是指你将不再一心只想着如何挣钱和节省，而是可以进行有意识的选择。这种改变人人都能做到。</p><p>我们所说的“财务自由”是什么意思呢？从最基本的层面上讲，财务自由的意思就是不必再为了钱而工作。不止如此，本书将带你完成解放自我的过程，首先就是清除你大脑中关于“买东西会让我快乐”或“拥有更多一定会更好”的错误观念。你会看透什么样的想法驱动自己花钱，最终让这些想法消逝无踪。随着你落实计划中的步骤，债务逐渐减少。债务减少，那么你自然而然积累起更多储蓄。你不再因为意外的开销而惊慌失措。储蓄成为一种习惯。你的积蓄增加，再增加。最终，你可以选择是为热爱还是为钱而工作。这就是它对许多人产生作用的方式，也一定会对你产生作用。</p><p>当你阅读这本书并执行其中的步骤时，你会发现，你不必再忍气吞声地把醒着的大部分时间用于挣钱。单调的朝九晚五或许是社会常态，但你可以为自己的人生另辟蹊径，就好比下高速驶入匝道，遵循内心的召唤去追求更美好的未来。如果你不必再为了钱而工作，那你会去做什么？你也许眼下还不知道，但只要按照本书中建议的步骤去做，你就会清晰、明确、自信地认定：等着你去探寻的梦想终会显现。</p><p>正如一位财务自由人士所说：“这其实不是一本关于理财的书，这是一本关于人生的书。”</p><h5 id="%E9%82%A3%E4%BA%9B%E4%BA%BA%E5%8F%AF%E4%BB%A5%E9%98%85%E8%AF%BB" tabindex="-1">那些人可以阅读</h5><p>只要是在挣钱或花钱的人，都能运用本计划，不是让人人都发财，而是让每个人都能搞清楚，自己拥有多少钱才算“足够”。它能帮你改变你与金钱的关系。</p><p>“拥有更多”是一个欲望的无底洞。无论你现在有多少钱，若一心想着“更多就会更好”，你就会以不断获取为头等大事。想给“足够”下定义，需要你扪心自问一些至关重要的相关问题：</p><p>• 什么让你感到幸福？</p><p>• 什么对你最重要？</p><p>• 什么价值观是你绝不妥协的？</p><p>• 如果你现在有100万美元，你会怎样打发时间？</p><p>• 如果舍弃一样东西，会让你更快乐，那会是什么？（不包括人）</p><p>• 你会终有一天挣够了钱就退休吗？</p><p>• 如果今天有人一笔勾销你所有的债务，你会再让自己亏空吗？原因何在？</p><p>诺贝尔奖得主、畅销书作家丹尼尔·卡尼曼在对金钱与幸福的研究中发现，超过一定的充足度（目前在美国约为每年7.5万美元）之后，更多的钱买不来更多的幸福。在20世纪80年代，我们推广财务自由计划时，曾对参与者进行分析，当我们问大家赚多少钱你才会满意时，不管他们的收入是什么水平，每个人给出的回答都是：比我现在拥有的钱再多50%。在给自己的幸福度从1到5评分时，收入最高的人和收入最低的人之间并没有显著差别。</p><p>这组数据表明，成功的真正秘诀是与金钱建立自觉、清晰、有主动权的关系，而不是一心要赚到某个“数字”。</p><h5 id="%E7%8E%B0%E5%9C%A8%E6%9C%89%E5%87%A0%E5%8D%81%E4%B8%87%E4%BA%BA%E7%83%AD%E8%A1%B7%E4%BA%8E%E2%80%9C%E8%B4%A2%E5%8A%A1%E8%87%AA%E7%94%B1%EF%BC%8C%E6%8F%90%E5%89%8D%E9%80%80%E4%BC%91%E2%80%9D%E8%BF%90%E5%8A%A8%EF%BC%8C%E4%BB%96%E4%BB%AC%E8%B7%9F%E6%88%91%E6%89%80%E8%AE%A4%E8%AF%86%E7%9A%84%E8%B4%A2%E5%8A%A1%E8%87%AA%E7%94%B1%E4%BA%BA%E5%A3%AB%E4%B8%80%E6%A0%B7%EF%BC%8C%E4%BC%BC%E4%B9%8E%E9%83%BD%E5%85%B7%E5%A4%87%E4%BB%A5%E4%B8%8B%E4%B8%A4%E4%B8%AA%E6%98%BE%E8%91%97%E5%93%81%E8%B4%A8%EF%BC%9A" tabindex="-1">现在有几十万人热衷于“财务自由，提前退休”运动，他们跟我所认识的财务自由人士一样，似乎都具备以下两个显著品质：</h5><ol><li><p>人生目标高于他们当下的有限环境（包括工作）。</p></li><li><p>愿意做出改变，诚实面对一切并坚持不懈。</p></li></ol><p>他们的骨子里信奉三种价值观——节俭、朴素和自足。据此也可以把他们分成三种类型：忍者、极简主义者和自给自足者。</p><p>忍者：忍者喜欢钻研数字、优化系统、研读理财博客、权衡各种投资、搜寻免费航班和酒店。可细分为节约达人和存钱超人，前者喜欢讨价还价、收集优惠券、找免费的机会，以最划算的方式做交易，后者会想尽一切办法让这个月的存款余额超过上个月。</p><p>极简主义者：这些人是梭罗的追随者，把体验看得重于物品。他们把物品减少到最低限度，以便最大限度地提升物质以外的更贵重的东西，如心智、心灵等。</p><p>自给自足者：钱不是关键，在物质世界里漫游是全部乐趣所在。盖房子、种地、修修补补、做手工、烹饪、园艺、设计、创造、绘画或发明。与极简主义者不同的是，自给自足者的创意过程会制造出垃圾。他们是自觉的唯物主义者——最大限度地利用点点滴滴的生命。</p><p><mark>不必认同其中任何一类，你只要发自内心地想要彻底改变与金钱的关系，以便克服惰性、不断向前，且不可安于现状。所有成功者的共同点是勇于承担责任、有自知之明和努力提高自身能力。他们会一步一步地达到目标。</mark></p><p>总结：每个人喜欢的东西以及生活方式都会不一样，找寻一种适合自己的即可。</p><h5 id="%E4%BD%9C%E8%80%85%E6%94%B6%E5%88%B0%E8%AF%BB%E8%80%85%E7%9A%84%E6%9D%A5%E4%BF%A1%E8%A1%A8%E7%A4%BA%EF%BC%9A" tabindex="-1">作者收到读者的来信表示：</h5><p>通过我们收到的成千上万封粉丝来信，我们了解到本计划对人们生活的改变：</p><p>• 他们终于弄懂有关钱的基本知识。</p><p>• 他们还清债务、增加储蓄，能够在力所能及的范围内快乐地生活。</p><p>• 他们重拾昔日的梦想并设法实现。他们学会区分哪些是必需、哪些是奢求，学会给自己减负。</p><p>• 生活支出平均减少25%，而且大多数人感到更快乐了，虽然要放弃一点点收入，但是活得更自由，与伴侣和孩子的关系有所改善。</p><p>• 金钱不再是生活中的一个烦恼。</p><p>• 因为开销和耗费于工作的时间减少，空闲时间得以增加。</p><p>• 不再用购物来解决烦恼。</p><p>• 总的来说，他们弥合了金钱与生活之间的裂痕，让人生成为一个圆满的整体。</p><h4 id="%E5%9B%9B%E4%B8%AA%E8%B4%A2%E5%8A%A1%E6%80%9D%E7%BB%B4%EF%BC%88fi%EF%BC%89" tabindex="-1">四个财务思维（FI）</h4><p>只要读了这本书，你就会在生活中产生财务思维，包括：财商（FI1）、财务诚信（FI2）、财务自由（FI3）和财务依存（FI4）。</p><h5 id="%E8%B4%A2%E5%95%86%EF%BC%88financial-intelligence%EF%BC%89" tabindex="-1">财商（Financial Intelligence）</h5><p>财商是指能够客观看待金钱。金钱真的能买到幸福吗？真的人人都“需要谋生”吗？如果我把大部分时间都给了工作，我真的能换来安全感吗？</p><p>要获得财商，首先要知道你已经挣了多少钱，你有没有做过记录，你的生活中有多少进账和支出。</p><p>但这还不够，你还需要知道金钱到底是什么，你的金钱是用什么换来的。</p><p>财商的一个看得见的成果是还清债务并在银行存有至少6个月的基本生活费。</p><h5 id="%E8%B4%A2%E5%8A%A1%E8%AF%9A%E4%BF%A1%EF%BC%88financial-integrity%EF%BC%89" tabindex="-1">财务诚信（Financial Integrity）</h5><p>要达到财务诚信，就要认清你的收入和支出对社会的影响。你要明白拥有多少金钱和物质能算“足够”，哪些又是纯属多余的杂物。它是指你财务生活的各个方面都与你的价值观相符。</p><h5 id="%E8%B4%A2%E5%8A%A1%E8%87%AA%E7%94%B1%EF%BC%88financial-independence%EF%BC%89" tabindex="-1">财务自由（Financial Independence）</h5><p>财务自由所包含的远不只是拥有稳定可靠的收入，还包括摒弃错误的财务观念，不被债务束缚。摆脱了金钱对你的控制，那就是财务自由。</p><h5 id="%E8%B4%A2%E5%8A%A1%E4%BE%9D%E5%AD%98%EF%BC%88financial-interdependence%EF%BC%89" tabindex="-1">财务依存（Financial Interdependence）</h5><p>我们渴望的独立是告别朝九晚五的工作，但并不代表要脱离人群和社会。我们最幸福的时刻来自爱和奉献，我们希望把更多的时间投入让生活真正富有意义的事情当中。我们生活在相互依存的社会，彼此扶持，相互给予，携手创造。事实上，在实现财务自由后，大多数人一旦得到充足的休息并完成了一些由来已久的梦想后，会想花时间使世界变得更美好。</p><h4 id="%E7%AC%AC%E4%B8%80%E7%AB%A0-%E8%B5%9A%E9%92%B1%E8%AE%A9%E4%BD%A0%E5%BF%AB%E4%B9%90%E5%90%97%EF%BC%9F-%E8%8A%B1%E9%92%B1%E4%BB%A4%E4%BD%A0%E6%BB%A1%E8%B6%B3%E5%90%97%EF%BC%9F" tabindex="-1">第一章 赚钱让你快乐吗？ 花钱令你满足吗？</h4><h5 id="%E9%87%91%E9%92%B1%EF%BC%9A%E6%B8%A9%E6%9F%94%E7%9A%84%E9%99%B7%E9%98%B1%EF%BC%9F" tabindex="-1">金钱：温柔的陷阱？</h5><p>“要钱还是要命？”</p><p>假如有人拿枪指着你的胸口说出这些话，你会怎么做？我们大多数人会交出钱包。这种威胁之所以有效，是因为我们爱惜生命甚于爱惜金钱。果真如此吗？</p><p>虽然有些人真的很喜欢他们的工作，但没有几个人能发自肺腑地声称自己的职场生活完美无缺。完美无缺的职场生活要有足够多的挑战，让人感到有趣；要有足够多的安适，让人身心惬意；要有足够好的人际关系，让人神清气爽；要有足够多的空间，让人有成就感；要有足够充足的时间，让人能够完成工作；要有足够多的闲暇，让人精神焕发；要有足够多的价值，让人觉得自己不可或缺；要有足够多的乐趣，让人乐在其中；还要有足够多的收入，让人可以付账单……凡此种种。即便是最好的职业也是要拿东西交换的。待到中年，我们发现自己走的是上一辈人的老路。我们踏进了“现实世界”，而现实世界是需要做出各种妥协的。尽管口口声声要过上美好生活，可是一天下来疲惫不堪，整个人只想瘫坐到沙发上。</p><p>工作让我们的生活一成不变，每天都有忙不完的事，争取不虚度此生的想法似乎渐渐消逝。本书将告诉你另一条路径，可以让你活得真实、有成效、有意义，并且拥</p><p>有你想要或需要的一切物质。可以兼顾你的身心，让你职场上的自我与家庭中的自我及内心深处的自我融洽协调。可以让你的终日忙碌有所成就，通过“谋生”最终获得更充实的生活。可以让你采取别样的生活态度，在被问到“要钱还是要命”时，你可以高声回答：“两个我都要！”</p><h4 id="%E6%88%91%E4%BB%AC%E4%B8%8D%E6%98%AF%E5%9C%A8%E8%B0%8B%E7%94%9F%EF%BC%8C%E8%80%8C%E6%98%AF%E5%9C%A8%E6%B1%82%E6%AD%BB" tabindex="-1">我们不是在谋生，而是在求死</h4><p>对工薪阶层的许多人来说，无论他们是热爱工作还是为了谋生而工作，金钱和生活之间其实并无选择可言。为钱而忙是他们醒着时的主要任务，生活不过是填塞了他们微乎其微的剩余时间。</p><p>不妨以一个工业化城市里的普通工薪阶层为例。早上6点45分，闹钟响了，这个男人或女人起床。查看一下手机。冲个澡。穿上职业装——有的人是西装，有的人是休闲服，医务人员是白大褂，建筑工人是牛仔裤、T恤衫。如果来得及就吃早餐。抓起保温杯和公文包（或者午餐便当盒）。开动私家车汇入早高峰的车流，或者挤上水泄不通的公共汽车或地铁。从早上9点到傍晚5点（甚至更晚），处理工作；应付老板；对付魔鬼派来跟你过不去的同事；应付供应商；应付当事人、客户、病人；电子邮件堆成山，装作忙得不可开交；刷刷社交媒体推送；掩饰失误；接到不可能如期完成的限期任务时微微一笑；当所谓“重组”或“精简”（直白地说就是裁员）的斧头落到别人头上时松一口气，扛起额外增加的工作量，瞄一眼时钟，昧着良心赞同老板的意见，再次微微一笑。5点了，重新钻进私家车或者挤上公共汽车或地铁。到家，假装对伴侣、孩子或室友充满情感。做饭，发一张晚餐照片到朋友圈，吃饭，看一集喜欢的电视剧。回复最后一封电子邮件，上床，安睡8小时——如果运气好的话。</p><p>这叫谋生吗？好好想想吧！你见过几个人在工作日结束时比开始时更生龙活虎？我们“谋生”归来是带着更多活力回家吗？我们是精神抖擞地冲进家门准备与家人和朋友共度良宵吗？我们本该在工作中谋取的生活在哪儿？对我们当中的许多人来说，这难道不是更接近“求死”吗？我们难道不是在为了工作而扼杀自己，扼杀我们的健康、我们的人际关系、我们的愉悦与好奇心吗？我们在为了钱而牺牲自己的生命，但这个过程很慢很慢，我们几乎毫无察觉。时光流逝的标志唯有苍白的鬓角、渐粗的腰围，还有隐隐约约的进步迹象，如高级办公室、公务车或高层职位。最终，我们或许拥有了想要的全部必需用品、有品位的艺术品乃至奢侈品，但我们已陷入朝九晚五的模式不能自拔。毕竟，如果我们不工作，时间怎么打发呢？我们曾经想通过就业来寻找意义与成就，这个梦想在职场倾轧、殚精竭虑、无聊沉闷和激烈竞争的现实中逐渐消散。小时候的好奇心、大学时代的使命感、我们与挚友彼此爱惜的岁月都被遗忘——全都付诸“那时我们真年轻”的感叹。</p><p>有些人热爱自己的职业，觉得自己有所贡献，却又感觉自己可以有更大的发挥空间，这个空间超越朝九晚五的世界：从事自己热爱的工作却又不受限制或制约，而且不用担心被炒鱿鱼，时刻充满成就感。我们有多少次想过或说过“如果可以的话我会这么做，但领导希望按他们的意思办”？我们为了保住饭碗，要牺牲多少梦想？</p><p>个人内容：对我来说，我并不喜欢我现在的工作，只是为了生活。但我没得选。我需要钱。但是现在的我，已经被磨灭了儿时的梦想。变得麻木，与其说磨灭，不如说我现在已经忘记了曾经想做什么样的人了。但我可以肯定是，我活成了自己曾经讨厌的样子。我正在找寻自己热爱的事情。这很重要。这也是我在FIRE相关论坛或者群组中看到了FIRE之后，有人会觉得无聊。或者说打发时间等。</p><h4 id="%E5%B7%A5%E4%BD%9C%E4%BB%A3%E8%A1%A8%E8%BA%AB%E4%BB%BD%E5%9C%B0%E4%BD%8D%E5%90%97%EF%BC%9F" tabindex="-1">工作代表身份地位吗？</h4><p>即使我们在财力上能够拒绝接受有碍于我们追求快乐、与我们价值观不符的工作，我们在行动上也常常无法让自己放开手脚，只能从工作中获取认同和自我价值。</p><p>我们对自己价值的认同，多半来源于工作。不妨自我反省一下，若有人问：“你是做什么工作的？”你回答时感觉如何？你感到自豪吗？觉得丢人吗？如果你没有达到对自己的期望，你会不会想说“我不过是个……而已”？你觉得高人一等，还是矮人一截？还是很丢人？你会说实话吗？你会给平凡的行业一个花哨的名头来抬高自己的身份地位吗？</p><p>我们是不是逐渐以薪水的高低来衡量我们作为人的价值？高中同学聚会彼此讲述自己的经历时，我们怎样悄悄评价同龄人的成功呢？我们会问同窗好友是否感到充实满足、践行了自己的价值观，还是问他们在哪里工作、担任什么职务、住多大的房子、开什么车、打算让孩子上哪所大学？很显然后面这些才是公认的成功标志。</p><p>除了种族主义和性别歧视，我们的社会还有一个基于挣钱方式的隐秘等级制度，这就是职业鄙视链，在社会中如此，在家庭中也如此。为什么我们视全职妈妈为二等公民？为什么教师培育学生与医生诊治患者有着同等价值，而我们却认为老师的地位不如医生？无论我们是否意识到这一点，我们的日常交往都难免无意识地品评比较别人的职业。</p><p>个人内容：老实说，我们已经开始习惯用分数开始判断一个学生的好坏，用薪资来判断一个成年人的能力。往往这种判断还会携带人品等等。我不认为这是健康的。</p><h4 id="%E6%B1%82%E6%AD%BB%E7%9A%84%E9%AB%98%E6%98%82%E4%BB%A3%E4%BB%B7" tabindex="-1">求死的高昂代价</h4><p>心理治疗师道格拉斯·拉比尔在《现代疯狂》（<em>Modern Madness</em>）一书中记述了这种“社会病态”。他的办公室源源不断地接待身体疲惫、心灵空虚的“成功”专业人士，这让他意识到崇尚物质主义对身心的危害。拉比尔抽样调查了几百人，发现以个人的自我实现和人生意义为代价，执意追求金钱、地位、成功，导致其中60%的人患上抑郁、焦虑和其他与工作有关的疾病，包括无处不在的压力</p><p>虽然政府把每周工作时间定为40小时，但许多专业人士认定，他们必须加班加点并搭上周末才不会掉队。经济合作与发展组织（OECD）2015年发布的一项研究结果称，将近12%的美国人每周工作50小时以上。此外，世界大型企业研究会同年进行的研究发现，对自己的职业感到“满意”的美国人不到一半。我们用于工作的时间更长了，享受生活的时间却减少了。我们这样的赚钱方式，导致一种全国性的病态的焦虑不安。</p><p>个人内容：现在的微信和一些工作需要的聊天软件，其实已经让我们除了睡觉之外的所有时间，都处于待命状态。工作占满了我们的生活。如果不是工作，我也许不会使用微信，我是大学毕业找到第一份工作之后，公司要求之后我才使用微信的，之前微信上只有几个好友，也就爸妈和几个好友。</p><p>工作时间不能只算在工作场所工作的时间，为了工作通勤以及做准备或者思考其实都算工作时间。刚毕业那会，我曾经开发的时候，遇到难题，晚上睡觉都会做梦如何开发。这份工作甚至能让我做梦都为它花费时间。已经完全占满了我的生活时间。</p><p>就我个人而言，这只对我们这种为了糊口而选择的工作。如果你热爱你的工作。那么我认为你只需要记得照顾好自己的身体即可。</p><h4 id="%E6%88%91%E4%BB%AC%E8%83%BD%E6%8B%BF%E4%BB%80%E4%B9%88%E6%9D%A5%E8%AF%81%E6%98%8E%E6%88%90%E5%8A%9F%EF%BC%9F" tabindex="-1">我们能拿什么来证明成功？</h4><p>即使我们并不比以前更快乐，你也会觉得我们至少拥有传统的成功标志：银行存款。其实未必，我们的储蓄率实际上已经下降。</p><p>美国经济分析局（US Bureau of Economic Analysis）的数据显示，个人储蓄率在过去4年里一直徘徊在5%左右，高于2007年不到2%的低位，但低于1980年以前的水平——那时美国人的储蓄率超过10%。</p><h4 id="%E5%B9%B3%E6%97%A5%E6%8B%BC%E5%91%BD%E5%B7%A5%E4%BD%9C%EF%BC%8C%E5%8F%AA%E4%B8%BA%E5%91%A8%E6%9C%AB%E5%B0%BD%E6%83%85%E4%BA%AB%E4%B9%90" tabindex="-1">平日拼命工作，只为周末尽情享乐</h4><p>现在我们来看看普通消费者怎么花他辛辛苦苦挣来的钱。周六，把衣服送到洗衣店，把车子送到修理行换换轮胎、检修一番。去杂货店为全家人采购一周的食物，结账时抱怨说，记得过去买4袋子食品杂货只需要75美元而不是125美元。（当然你可以剪打折券和优惠券来节省开销，可是哪有时间剪啊？）去购物中心买大家都在读的那本书，结果买了两本书、一套西装（半价促销）外加相配的鞋子，还给孩子们添了些新衣服——全部用信用卡支付。回家，打理院子。哎哟……得去苗圃买把修枝用的大剪刀。带回来两盆报春花、几个新花盆……哦，是的，还有大剪刀。摆弄烤箱，温度已经设在最低档了，烤出来的面包还是焦黑，保修单找不到，去五金店买个新的吧。走出店门时拿着书房用的书架、粉刷厨房用的乳胶漆……哦，是的，还有烤箱。夫妻一起出去吃饭，孩子留给保姆。周日早上，给全家人做煎饼。哎呀……没有面粉。去超市买面粉，回家时拿着配煎饼的草莓和蓝莓、枫糖、苏门答腊咖啡……哦，是的，还有面粉。带全家人到湖里游泳。给车加油，看到油价皱了皱眉。开车来到乡间一家精致的饭馆，刷卡吃饭。回家。晚上看电视，任由广告诱惑你遐想无限美好的生活，前提是要买辆保时捷、到国外度个假、有台新电脑或者……</p><p>归根结底，我们认为自己工作是为了支付账单，但我们花的比挣的多、买的比实际需要的多，然后就需要我们再去工作挣钱！</p><p>个人内容：如果按照这本书来说，钱是生命能量来换取的(也就是阳寿，后续章节会说明)，如果我们因为工作来报复性消费，也就是说我们用花费自己的阳寿来报复。那么我们在报复谁。我认为，我们在自残。</p><h4 id="%E4%BD%A0%E5%B9%B8%E7%A6%8F%E5%90%97%EF%BC%9F" tabindex="-1">你幸福吗？</h4><p>如果日复一日的工作让我们感到幸福快乐，那么，烦躁与不便就可以忽略。如果我们能相信自己从事的工作确实在使世界变得更美好，那么，我们会毫无怨言地牺牲睡眠和社交生活。如果我们用辛苦工作换取不错的收入，不仅让我们感到短暂的快乐，同时还有满足感与成就感，那么，我们多花些时间在工作上也心甘情愿。然而日益明显的事实是，除了最低限度的舒适之外，金钱并没有带来我们所追求的幸福。</p><p>在我们早期的现场演讲中，参与者无论收入高低都表示需要“更多”才能感到幸福。我们在演讲中安排了这样一个练习：请按照从1（苦恼）到5（快乐）的幸福等级给自己打分，其中3代表“还可以”。然后我们把他们的评分与他们的收入相关联。在从美国和加拿大随机选取接受调查的1000多人当中，无论月收入在1500美元以下还是在6000美元以上，平均幸福分数都在2.6到2.8之间，连3分都达不到！（参见表1-1）</p><p>这些结果令我们震惊，说明大多数人习惯性地不快乐，而且他们不管挣多少钱都会不快乐。即使是经济状况良好的人也未必有成就感。在同样的调查表中，我们问参与者：“你要有多少钱才会觉得幸福快乐？”能猜到结果吗？大约一半以上的答案都是“比我现在拥有的要多”。</p><p>情况就是这样，我们身处世界上最富足的社会，日复一日勤勤恳恳，在家庭和工作之间来回奔波，内心向往着远方隐约可见，但也许完全遥不可及的东西。</p><h5 id="%E8%A1%A81-1-%E5%B9%B8%E7%A6%8F%E6%8C%87%E6%95%B0" tabindex="-1">表1-1 幸福指数</h5><p><img src="/upload/2024/10/image.png" alt="image" /></p><h3 id="%E6%9B%B4%E5%A4%9A%E5%B0%B1%E4%BC%9A%E6%9B%B4%E5%A5%BD%E5%90%97%EF%BC%9F" tabindex="-1">更多就会更好吗？</h3><p>许多人忍受求死状态是因为相信了普遍流行的“更多就会更好”的消费谬论。我们把自己的职场生活建立在这个关于“更多”的谬论之上。年复一年，我们的期望就是挣更多的钱。随着职位的晋升，我们将承担更大的责任，获得更多的特殊待遇。我们希望拥有更多的财产、更高的威望、更多的社会尊重。我们变得习惯于对自己、对世界怀有越来越高的期望，然而我们并未心满意足，我们的体验是：拥有的越多，想要的就越多，对现状的满意度就越低。</p><p>就美国人（以及越来越多的其他国家消费者）而言，这句“更多就会更好”的箴言鞭策我们每三年换一辆车，为每次重大活动和每个季节置办新衣，一有钱就买一套更大更好的房子，仅仅因为有新款发布就更换智能手机。美国民意研究中心（National Opinion Research Cen ter）的调查显示，自20世纪50年代末以来，自称“非常快乐”的美国人所占比例一直在稳步下降。</p><p>事实证明，“更多就会更好”的观念必然导致不满情绪。如果你努力为拥有一切而活，你拥有的就永远不够多。在“更多就会更好”的观念影响下，“足够”就像地平线——无论你怎么追，它总在后退远去。你失去见好就收的能力，就辨别不出“足够”状态。这是一个心理上的死胡同，是“更多”消费者谬论里的第22条军规。假如更多就会更好，那我所拥有的就永远不够。即使真的得到了我曾经认定会让生活变得更好的那份“更多”，我仍然秉持着“更多就会更好”的信念，所以我现在拥有的这份“更多”仍然是不够的。希望永无止息，如果我能得到更多就好了，那样的话……如此往复，没有尽头。我们越来越深地陷入债务，往往也越来越深地陷入绝望。本应让生活变得更好的那份“更多”永远都不会足够多。</p><h4 id="%E6%88%91%E4%BB%AC%E7%9A%84%E6%89%80%E4%BD%9C%E6%89%80%E4%B8%BA%E8%AF%B4%E6%98%8E%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F" tabindex="-1">我们的所作所为说明了什么？</h4><p>我们的有些财务信念会不会跟“地球是平的”理论一样毫无现实依据？有那种可能吗？财务行为揭示了我们的哪些迷信？我们愿不愿意成熟起来，就像不再坚信童年时父母告诉我们的床底下有怪物一样，不再相信这一切？</p><p>例如，虽然我们嘴上说着金钱买不到幸福，生活中最好的东西都是免费的，但我们的行为暴露出来的却是另一番景象。</p><p>当我们沮丧失意、孤独寂寞、觉得无人关爱的时候，我们会怎么做？常常会买点东西来让自己心情好转，一套衣服、一杯（或两杯）饮料、一辆新车、一个冰激凌蛋卷、一次夏威夷旅行、一只宠物、一张电影票、一袋（或两袋）奥利奥。</p><p>当我们想庆祝喜事临门的时候，我们也会买点东西，一桌酒席、一场婚礼、一束玫瑰花、一枚钻戒。</p><p>当我们感到无聊的时候，我们会买点东西，一本杂志、一次度假、一个软件、一轮赌马。</p><p>当我们觉得生活中必须增添些内容时，我们还是会买点东西，一个手工课程、一本心理自助书、一幢乡下的房子、一套城里的公寓。</p><p>这些没什么不对，我们一向是这么做的。我们学会了在头脑、内心或灵魂发出失衡信号时谋求外在解决办法。我们试图用物质层面的消费来满足属于心理上和精神上的基本需要。怎么变成这样的？</p><p>下面这张图可以说明。</p><h4 id="%E6%BB%A1%E8%B6%B3%E6%84%9F%E6%9B%B2%E7%BA%BF" tabindex="-1">满足感曲线</h4><p>满足感曲线（参见图1 -1）显示了满足感体验与我们买东西所花金钱数额之间的关系。在生命之初，拥有更多东西确实意味着更大的满足感：基本需求得到满足，吃得饱，穿得暖，有安身之所。我们大多数人不记得当年用母乳和毯子就能消除的饥寒恐惧，但我们的确都经历过。不舒服的时候，哭闹的时候，我们得到来自外界的呵护安抚。简直像变魔术一样，我们的需要得到满足，我们存活下来了。我们的头脑记录并记住了每一个诸如此类的事件：有需要吗？那台神秘的魔法机器能满足你的需要，快让它知道你需要什么（哭，哭得再大声点。乱抓，挥手。如果会说话就张嘴索要，怎么管用怎么来），然后它就会给你，你就会再高兴起来。需要，向外求索。得到东西，得到满足。</p><h5 id="%E5%9B%BE1-1-%E6%BB%A1%E8%B6%B3%E6%84%9F%E6%9B%B2%E7%BA%BF" tabindex="-1">图1-1 满足感曲线</h5><p><img src="/upload/2024/10/image-1728264200114.png" alt="image-1728264200114" /></p><p>后来，我们从最低限度的必需品（食物、衣服、住所）迈向一些美好享受（玩具、衣橱、自行车），新物品与满足感之间的正向关系变得越发根深蒂固。还记得小时候得到渴望已久的玩具时的兴奋吗？负责任的家长很快就会教导我们：“宝贝，那些东西是要花钱的。钱是我们在外面为你挣来的——因为我们爱你。”哎呀，有了新的规则。需要，向外求索。弄到钱，得到东西，得到满足。拿到一笔零用钱时，我们就了解了钱的价值。我们可以自己选择并购买快乐！就这样，年复一年。</p><p>最终，我们不知不觉越过美好享受走向纯粹的奢华，却几乎从未意识到这一变化。例如，小汽车是世界上一部分人永远无福享用的奢侈品，还有第一次出远门旅行或者离家去上大学，那也是奢侈。还有我们的第一间公寓。请注意，虽然其中每一项都仍然令人激动，但每一份激动的成本越来越高，而且“高潮”消退得越来越快。</p><p>但此时我们已认定金钱等于满足感，所以我们几乎注意不到曲线已经开始趋于平缓。接着我们踏入社会，有了住房，有了工作，有了家庭责任。随着我们在公司里的职位上升，钱挣得更多，烦恼也更多了，需要投入的时间和精力也更多了，陪家人的时间逐渐减少。在遭到抢劫时会蒙受的损失加大，所以更加担心被抢劫。要交的税增加，税务会计师的费用上涨。社区慈善机构要求的捐助额提高。装修要花钱。互联网、电视和电话要花钱。哄孩子们开心更要花钱。</p><p>直到有一天，我们空虚地坐在大房子里，尽管它位于1万平方米的林地上，配有一个三车位车库，地下室放着高档健身设备，我们却渴望回到当年的穷大学生生活，那时在公园里散散步就能满心欢喜。满足感已触顶，我们却始终没有意识到：“金钱=满足感”的公式不仅不再有效，而且开始起反作用。买得再多，满足感也还是不断下降。</p><p>个人内容：依靠金钱获取的满足感，成本会越来越大，并且，它往往是短暂的。</p><h4 id="%E8%B6%B3%E5%A4%9F%EF%BC%9A%E6%9B%B2%E7%BA%BF%E7%9A%84%E9%A1%B6%E7%82%B9" tabindex="-1">足够：曲线的顶点</h4><p>这张图上有一个位置非常引人注目，那就是它的顶点。人生的部分奥秘似乎在于找出自己的最大限度满足感所在的点。满足感曲线的这个顶点有个名称，它为改变你与金钱的关系提供了基础。它是我们每天都挂在嘴边的词，但我们在与它迎面相对时却几乎认不出来。这个词就是“足够”。当我们达到满足感曲线的顶点，说明我们拥有的足够了。有足够的必需品供生存，有足够的美好享受带来舒适和愉悦，甚至有足够的小小“奢华”。我们拥有自己需要的一切；没有任何额外的东西让我们心烦意乱、分散精力或苦恼不堪，没有任何东西是我们刷卡购买后一直闲置不用却还在辛辛苦苦为它还账单的。“足够”是一种无所畏惧的状态，一种胸有成竹的状态，一种坦坦荡荡、有自知之明的状态。它是指充分欣赏和享受金钱给生活带来的一切，但绝不购买不需要、不想要的东西。一旦找到自己觉得足够的满足点，曲线就可以反转方向，笔直上升。稍后我会详细解释。</p><h4 id="%E5%BC%80%E5%A7%8B%E6%B8%85%E7%90%86%E4%BA%BA%E7%94%9F" tabindex="-1">开始清理人生</h4><p>那么，越过足够点，也就是越过顶点，满足感曲线开始下行后的东西是些什么呢？废物。就是这样！凡是对你来说多余的东西都是废物。它归属于你，但对你没用，却在你的世界里占据空间。因此，断舍离不是让你随意地丢弃物品，而是为迎接新事物清理空间、腾出空间。尽管这些理念是不言而喻的，但许多人对接受这些理念怀有或明或暗的抗拒。只要一提起缩减规模、开源节流，总让人以为是因为生活艰苦、穷困潦倒。其实，“足够”意味着宽阔而稳定的高原，是一个富有灵活性、创造性和自由性的地方。站在这个地方去看那些无用的废物，那些有待储存、清理、转移并需要付清尾款的废物，你一定能感受到，有些东西的匮乏反而是好事。</p><h4 id="%E6%97%A0%E6%84%8F%E8%AF%86%E7%9A%84%E6%B6%88%E8%B4%B9%E4%B9%A0%E6%83%AF" tabindex="-1">无意识的消费习惯</h4><p>废物是怎么产生的？满足感曲线强有力地表明，大多数废物是通过“更多就会更好”的信念之门进入我们的生活的。它来源于物质主义之弊，来自从外在所有物中寻求内在满足感之弊。它来源于幼时的经历，我们认定了不适感能由外在事物缓解，这些外在事物包括婴儿奶瓶、毯子、自行车、学位、宝马车，或者是别的什么花样。</p><p>它也来源于无意识的习惯。以逢见必买之物为例。“逢见必买之物”是指你只要遇见就非买不可的东西。人人都有逢见必买之物，从耳塞、小螺丝刀到鞋子、钢笔和好时巧克力，无所不包。你闲来无事就会去购物中心，或浏览购物网站。你不知不觉来到逢见必买之物所在的柜台前，立刻产生冲动：哦，有个粉色的……我没有粉色的……哦，那个是无线的……那会很方便……天哪，防水的……如果不用随时可以送人……哇，这款里面有榛子……还有椰肉的……还有杏仁酒的……这些都还没尝过……没等你意识到，一只仿佛不属于你（却附在你身体上）的胳膊已经伸出去拿起（或点击）了逢见必买之物，然后你去结账，依然表现得像一具装了发条的僵尸。你带着买好的东西回家（或者在家门口收货），把它放进逢见必买之物的专用抽屉（里面已经有另外5个或10个同类物品），然后你就忘了逢见必买之物，直到下一次购物时，你又来到逢见必买之物所在的柜台……</p><h4 id="%E5%BA%9F%E7%89%A9%E7%9A%84%E9%9D%A2%E8%B2%8C%E4%B8%8E%E5%8A%9F%E8%83%BD" tabindex="-1">废物的面貌与功能</h4><p>各式各样堆满了逢见必买之物的空间，包括阁楼、地下室、车库、壁橱和储藏室，都是废物的避风港，充斥着我们永远不会去完成的工程和有可能永远不会使用的产品。无视它们会让你羞愧，整理它们会让你内疚。衣服穿了几次以后就打包送到旧货店会让人产生隐约的不安和自责，觉得给垃圾填埋场增加了负担。</p><p>一旦明白了什么是废物，你就会发现它无处不在。无意义的活动难道不是废物吗？商务午餐、鸡尾酒会、社交应酬、晚上长时间看手机等，它们对你的生活没有任何积极作用，难道不是废物吗？那些毫无成就感的忙忙碌碌的杂乱无序的日子呢？待办事项清单上始终未完成的任务呢？就像某些人家里散落一地的陈年旧杂志和儿童玩具，你根本找不到空间下脚。</p><p>无计划地奔波往往是把时间变成了废物，比如一天两次跑到商店去买你每周例行采购时忘了买的东西。如果与用得上的东西相比，你拥有的东西的比例在攀升，那就说明你的业余爱好里充斥着废物。比如，摄影爱好者拎着装满各种镜头和滤镜的手提箱，却用智能手机拍出最好的照片。凡是在你身边、对你无用却占用空间的，那都是废物。</p><p>随着对废物的意识加深，你会摩拳擦掌地想给自己的整个生活来场大扫除。从清教徒到梭罗、贵格会、杜安·埃尔金和塞西尔·安德鲁斯等作家，不断有人倡导用简单生活的方式来避免无度行为。现在它被称为极简主义或“收纳整理”。“足够”并不特指一个特别的事物，它取决于你的判断。它不是“少即是多”，不是一尘不染的梳妆台上的花瓶里那枝沐浴着窗外阳光怒放的雏菊。它不是一条破牛仔裤或者一条小黑裙，不是抽屉里孤零零的一把精美厨师刀。它是一种恰到好处的感觉，当你几近于拥有足够的一切想要和需要之物，并且丝毫没有多余时，你就会感到一切刚刚好。每个人的“足够”都不一样——甲之蜜糖，乙之砒霜。</p><p>按照本书中概述的九个步骤去做，就会形成你个人对废物的界定，并慢慢地、愉快地摆脱它。第一步是问自己：“它现在对我来说有什么价值？真的吗？”就像有些学生把乱七八糟的东西装在袋子里随身拎来拎去，过了一个星期就会明白哪些东西该扔掉。通过审视自己积累的一切、挣到的一切、花掉的一切以及浪费了多少生命能量，你会开始认真审视自己与物品之间的关系。</p><h1 id="%E7%AC%AC%E4%B8%80%E6%AD%A5%EF%BC%9A%E5%9D%A6%E7%84%B6%E6%8E%A5%E5%8F%97%E8%BF%87%E5%8E%BB" tabindex="-1">第一步：坦然接受过去</h1><p>做好准备检视你与金钱以及金钱能买来的东西之间的关系了吗？这个练习的目的是帮助你检视过去赚钱和花钱的行为。</p><p>先提个醒。虽然这是FI计划的第一步，但你不必以它开头，不必坚持完成了它再往下读。你最终需要把它完成，但也可以从第二步开始，以后再回到这个步骤。我们建议你先把全书读一遍而不是读一步做一步。</p><p>这个步骤包括两部分：</p><p>1.算出你一生到目前为止已经挣了多少钱——从你挣到第一分钱到你最近一次领到的薪水的总和。</p><p>2.制作个人资产负债表，算出净值。</p><h3 id="%E4%BD%A0%E4%B8%80%E7%94%9F%E5%B7%B2%E7%BB%8F%E6%8C%A3%E4%BA%86%E5%A4%9A%E5%B0%91%E9%92%B1%EF%BC%9F" tabindex="-1">你一生已经挣了多少钱？</h3><p>一开始，这看起来是根本不可能完成的任务。你也许会抗议说：“我没留记录！”不过，找找旧资料就会有收获。首先，翻出以前的所得税申报表。加上没有报税的项目，包括私自收的回扣、赌博赢来的钱、未申报的亲友馈赠、中的现金奖、家里多余房间或闲置房屋出租所得以及所有其他未申报收入。仔细回想一下高中和大学时代有没有打工的收入，以及刚参加工作时有没有影响财务状况的收入。</p><p>如果实在搜集不到具体依据，那就尽量准确地估计。宗旨就是，尽可能准确诚实地弄清到目前为止你总共有多少收入。</p><p>个人内容：<mark>你自己计算后，你会发现，你一生赚的比你想象的要多得多。</mark></p><h4 id="%E7%AC%AC%E4%B8%80%E6%AD%A5%E7%9A%84%E9%87%8D%E8%A6%81%E6%80%A7" tabindex="-1">第一步的重要性</h4><p>这个步骤有以下几个方面的益处：</p><p>1.拨开过去笼罩在你与金钱之间的迷雾。大多数人不知道自己这辈子已经挣了多少钱，所以也搞不清自己这辈子能挣到多少钱。</p><p>2.根除错误认知“我挣不到大钱”，或者“我不必担心，钱总是会有的”（说这话的往往是由他人供养的人）。很多人严重低估自己挣到的钱，假如你是其中之一，那么这个步骤会有惊人的力量。你的价值超出你的想象，不仅在钱财上，或许还在其他方面。</p><p>3.让你回到原点，从而能够以清晰的头脑，怀着对自己赚钱能力的信心着手执行本财务计划。</p><p>4.让你得以看清过去种种不可告人的隐情并释怀——那些秘密或谎言也许正在扭曲你当下与金钱的关系。</p><p>有一位30多岁的离异女子参加了我们的讲习会，她的故事说明了这个步骤的力量。她成年以后的大部分时间是在郊区当家庭主妇，饱受心理困扰：她觉得自己依附于人、不谙世故，而且（说老实话）毫无价值。她认为这个步骤不适用于她，毕竟，她在婚姻中没有做出过任何财务贡献，而且到那天为止一直羞于接受她按照离婚协议应该拿到的钱，她觉得那不是自己的劳动所得。但在对过去进行细查之后，她了解到，在自以为“毫无”贡献的婚后那些年里，她从各种各样的零工中挣到了逾50 000美元。她第一次认识到自己是有能力挣工资的人。刚完成这个步骤，她就有了信心申请并得到了一份工作，薪水是她先前预期的两倍。</p><p>同样地，如果你目前在从事第一份全职工作，不妨了解一下自己在人生之初从各种零活中挣了多少钱，那或许会给予你信心。实习、暑期打工、自由职业，全部算上。</p><h4 id="%E6%9C%89%E7%9B%8A%E7%9A%84%E6%80%81%E5%BA%A6%EF%BC%9A%E4%B8%8D%E7%BE%9E%E6%84%A7%EF%BC%8C%E4%B8%8D%E8%B4%A3%E6%80%AA" tabindex="-1">有益的态度：不羞愧，不责怪</h4><p>这个步骤也许会让人产生羞愧的感觉。这里介绍一种平稳克服消极心理的方法，这个宝贵的练习有助于人们彻底“改变想法”，并学会以新的方式思考问题。有些人用其梵语名称——mantra（咒语）来称呼它，但它实际上可以是任何一个简单的词或短语，只要它能体现你想集中精力关注的特定态度或品性。咒语就像船舵，让你得以使自己的心思避开危险，驶向开阔通畅的远方。执行本财务计划的一道有益咒语是“不羞愧，不责怪”。</p><p>在对改变有害行为进行抉择时，反责与分辨是有区别的。反责关乎羞愧与责怪、善与恶，分辨则是厘清事实与谎言。沉浸在责怪和羞愧情绪中会拖慢你迈向财务自由的进度。反责会让你停滞不前、灰心丧气、心绪不宁。分辨则会照亮潜在的陷阱，这样你就可以绕开它们。</p><p>根据你在执行这个计划时学到的东西，你可能会不断陷入责怪自己（或他人）的情绪中，在那种时候请记住一个事实，你的一生所得不过是个数字而已，并不代表你的价值。它既不太多也不太少；既不能证明你身价不菲，也不能证明你一事无成；你不必痛悔一分钱都没剩下而陷入绝望，也不必因为看到朋友挣得没你多而沾沾自喜。</p><p>保证准确性。这个步骤是本计划的基础，会影响下面八个步骤的效果，因此本计划的每一步都要求准确性，如果从一开始就能尽力做到完美，就等于为自己树立了一个可参照的好标准。在实施这个步骤（以及书中其他步骤）时，请努力做到一丝不苟：你真的查找了文件资料、搜索了记忆库来计算自己的全部收入吗？我们建议你尽量做到诚信，因为本计划的功效会随着你投入的每一份诚实和诚信而增加。将金额四舍五入到个位数需要付出大量精力和翻查薪水存根。四舍五入到百位数的严谨性就要差一些，但就一生时间的范畴而言或许已足够准确。别为这个步骤焦虑，尽力而为就好——它值得你花点时间。</p><p>以下是你可能参考的数据表：</p><p>1.来自社保机构的收入明细表</p><p>2.所得税申报表</p><p>3.支票簿记录</p><p>4.过去的和现在的结算单</p><p>5.亲友的馈赠</p><p>6.赢来的钱</p><p>7.贷款</p><p>8.资本收益</p><p>9.非法收入</p><p>10.未向国内收入署（IRS）申报的零工（小费、当保姆、兼职）</p><p>个人内容：上述途径是中文版书原文，因为是美国人写的，所以方式不一定完全适合我们。这里主要是计算自己挣的钱，这里的数据会让你惊讶的。</p><h3 id="%E4%BD%A0%E6%89%8B%E4%B8%AD%E6%9C%89%E5%A4%9A%E5%B0%91%E7%AD%B9%E7%A0%81%EF%BC%9F" tabindex="-1">你手中有多少筹码？</h3><p>在你挣工资的这些年里，一定金额的钱（你刚刚计算过了）进入了你的生活。现在你生活中还剩下的钱就是你拥有的净值。</p><p>做好准备。你将计算你的净值（总资产减去总负债），这可能是你有生以来的第一次。请振作精神，你也许会发现自己债台高筑，而到此刻你才意识到其可怕程度，现在该面对真相了。另一方面，你也许会欣喜地发现，你此刻就已经可以实现财务自由。许多人发现了这一点，仅仅是因为执行了这个步骤。</p><p>这个步骤的措辞中暗含一个挑战：“你手中有多少筹码？”不过，你实现财务自由的决心会战胜你的懦弱。所以请继续思考：你这一生赚来的钱，现在留下了多少？我们来计算一下吧。</p><p>简要清算净值就是要检索你的物质世界，列出你拥有的每一分钱（资产）和你欠下的一切（负债）。</p><h4 id="%E6%B5%81%E5%8A%A8%E8%B5%84%E4%BA%A7" tabindex="-1">流动资产</h4><p>现金或者任何易于变现的东西都属于这一类。包括以下项目：</p><p>• 手头现金：包括存钱罐里、梳妆台上的零钱，藏在车上储物箱里的应急资金</p><p>• 活期储蓄账户：找找你可能已经忘了的旧存折，还有你为了获得免费赠送的数码用品而存入的100美元会员费</p><p>• 支票账户</p><p>• 定期存款存单</p><p>• 储蓄债券</p><p>• 股票，按当前市值录入</p><p>• 债券，按当前市值录入</p><p>• 共同基金，按当前市值录入</p><p>• 货币基金，按当前市值录入</p><p>• 为买股票开的银行账户里的存款</p><p>• 人寿保险现金价值</p><h4 id="%E5%9B%BA%E5%AE%9A%E8%B5%84%E4%BA%A7" tabindex="-1">固定资产</h4><p>在录入这些资产时，不妨从显而易见的东西开始：大件财产（例如房子、汽车）的市值。联系房地产经纪人或上网搜索查询你名下房产的当前市值。上网查询你名下汽车按其牌子、型号和年份可估算的当前价格。</p><p>搜索所有房间。逐项列出所有价值一美元以上的东西，杜绝诸如“那不值钱”之类的主观评判。对于有恋物癖、喜欢修修补补和在家里摆满各种宝贝的收藏爱好者来说，仅仅这个过程就会是一场救赎。你要明白，如果你现在不做这件事，你死后你所爱的人就得做。如果你的储物区真的从地板到天花板堆满这辈子攒下的东西，你也许到咽气之时都不想收拾，实在太累。</p><p>搜索每一个房间，进行全面清点。抬头看看那些装饰性的顶灯，低头看看那块地毯。几年前添置的那个漂亮的胡桃木架子和那些印第安人手工艺品呢？那台新换的电脑呢？请正视你的杂物。要彻底，但也别过度。也就是说，不必将每一把刀叉勺都逐一列出，但一定要单独列出那套带红木刀鞘的紫檀柄刀具，还有两套没开封的餐具。</p><p>给你所拥有的每样东西确定一个大约的现金价值。这里是指现金时价，也就是说，在寄售商店和旧货市场或者通过在线拍卖或分类广告网站能卖多少钱。要获得财产定价方面的帮助，不妨查一查在线拍卖或分类列表，也可以浏览当地报纸上的“待售”栏目。比较贵重的个人或家庭物品要进行估价。</p><p>不要忽略任何东西。一个人眼里的无用垃圾在另一个人眼里会是珍贵古董。一件物品不受你待见并不意味着它没有价值。</p><p>不要遗漏别人欠你的钱，至少不能遗漏你完全可以期望收回的钱，包括水电费、电话费或房租的押金。</p><p>凡是可变现的用品都应当列出。你在充当自己产业的估价师，尽情享受吧！对于任何东西，你不想卖就可以不卖，不要让任何情绪成为拦路虎。不要因悲伤而不愿给前夫留下的电动工具定价，还有室友搬走时留下的纯平电视。不要因为对自己嗜买成性感到难为情而不愿给柜子里那20双没穿过的鞋子定价。不要因为愧疚而不愿登记你买来从未用过的运动健身器材。相反，你该感到高兴！你终于发现了那辆自行车和那套哑铃组的真正价值：不是让你减掉体重，而是能在旧货市场上卖个好价钱。</p><p>有些人能一两天之内就完成这项任务，但有一位女性花了3个月时间才清点完。她翻遍了每一个箱子，查看了每一张照片，打开了每一个抽屉和橱柜，不仅罗列了物品清单，还回顾了每一件物品是如何以及为什么进入她的生活的。这个过程使她对自己已然拥有的一切生出了深深的感激。很多不满情绪起因于我们只看到自己还缺少什么，而我们只需认清自己拥有什么并为其估价。这个简单的练习会彻底改变我们的观点。实际上，有些人在完成了这个练习后表示，一旦超越了温饱层次，贫与富的差别不过在于我们的感恩程度而已。</p><h4 id="%E8%B4%9F%E5%80%BA" tabindex="-1">负债</h4><p>这个类别包括你的所有债务，不管是要用金钱、货品偿还的，还是要用服务偿还的。从贷款到未偿付票据的一切欠款，任何积欠的项目都计算在内。</p><p><mark>如果你把房子的当前市值列为资产，那就要把尚未付清的房款列为负债。汽车分期付款也要做同样的处理。</mark></p><p>别忘了计入银行贷款或向朋友借的钱、信用卡债务、学生贷款以及未付清的医药费账单。</p><h4 id="%E5%87%80%E5%80%BC" tabindex="-1">净值</h4><p>将流动资产和固定资产的数字相加，然后减去负债的数字。从最简单化、最具体、最清晰的意义上讲，这就是你的当前净值。它是你目前唯一能用来证明一生总收入的东西，其余的都是记忆和幻想。</p><p>我们没有统计你的非物质资产：受过的教育、获得的技能、请大家喝酒换来的好感。这些或许都很有价值，但它们都是无形的，无法在个人财务上以具体、清楚的数字来呈现。</p><p>净值练习也许会让人或汗颜或得意。你将面对许多严酷的事实，无论你有什么发现，重要的是记住：净值不等于自我价值。</p><h4 id="%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E5%88%B6%E4%BD%9C%E8%B5%84%E4%BA%A7%E8%B4%9F%E5%80%BA%E8%A1%A8%EF%BC%9F" tabindex="-1">为什么要制作资产负债表？</h4><p>一开始也许你没有察觉，但本计划中的这一点是非常鼓舞人心的。到目前为止，你的财务生活没什么方向，而且糊里糊涂。在财务问题上，你就好比在开着车瞎转悠——汽油在烧着，轮子在转着，但你漫无目的。你或许拥有许多快乐的回忆和其他无形资产，但只有区区几件实物纪念品可变现。对财务的掌控将给予你力量和明确的方向，从此你在这个世界上会活得更有意义。</p><p>现在你大致了解了自己的财务状况，可以客观地选择要不要把部分固定资产变现，那样就可以增加储蓄或者减轻一点债务。</p><p>有人在完成这个步骤后意识到，她可以变卖多余的财产，用收益进行投资，利息收入就足够她舒适体面地马上实现财务自由。虽然她没有立即那样做，但这个意识本身让她得以更加大胆地追求真爱，那就是艺术。</p><p>另一个人意识到，他有许多东西既不用又不想要了，但一直没扔，因为他“说不定哪天会需要”。他的创造性解决办法是卖掉这些东西，留着收益，在将来需要它们的时候重新买。与此同时，他的钱产生利息，他的生活变得更加单纯，而真正需要那些物品的人让它们派上了用场。</p><p>切记：不羞愧，不责怪。在创建资产负债表的过程中，许多与物质世界相关的情感可能会出现：伤心、悲痛、怀旧、希望、内疚、羞愧、尴尬、愤怒。这个步骤能够减轻你多年来在身体上和情感上一直扛着的负担。</p><h3 id="%E7%AC%AC%E4%B8%80%E6%AD%A5%E6%8F%90%E8%A6%81" tabindex="-1">第一步提要</h3><p>1.算出你一生已经赚了多少钱。</p><p>2.制作资产负债表。你这一生赚到的钱为现在留下了多少筹码？</p><h3 id="%E2%80%9C%E9%87%91%E9%92%B1%E8%A7%82%E2%80%9D%E8%AE%A8%E8%AE%BA" tabindex="-1">“金钱观”讨论</h3><p>一旦发现你与金钱的“关系”由信念、假设、经验、教训，也许还有你父母或文化的影响组成，你会惊讶、兴奋，甚至有点不安。从一个人的金钱观中，可以了解到他是如何受往事影响的，以及是哪些潜意识的规则和故事指引他到达今天的境地。“不羞愧，不责怪”精神会让你窥探金钱的规则，看看钱到底是怎么回事。</p><p>建议平常与伴侣或朋友闲谈时不妨提出以下问题。记住，无论哪个问题，在末尾加上一句“为什么”会让它更有深度。无论哪个问题，补充一句“我给出的答案对社会有何影响”会让它更有广度，而答案无所谓对错。</p><p>• 谁给你上了第一堂关于金钱的课？你学到了什么？</p><p>• 你在成长过程中获得了哪些关于金钱的信息？从哪儿获得的，家长、老师、广告，还是……？</p><p>• 说说你对金钱的早期记忆以及它现在对你的影响。</p><p>• 说说在金钱方面犯过的一个错误。如果再来一次，你会怎么做？</p><p>• “足够”对你来说意味着什么？</p><p>• 你（在储藏室或柜子里）有哪些应该丢弃的东西？为什么留着它？</p><p>总结：这是本书的第一章内容，共九章，也就是FIRE的九个步骤，由于写一篇会太长，所以按照章节来分开。共九章。</p><p>这里的大多数内容，是截取第一章中文版内容。毕竟翻译，有些词汇可能翻译的没那么好懂。但是中心思想是没问题的。</p><p>原文是《your life or your money》</p><p>个人博客：<a href="https://www.firstsaofan.top/" target="_blank">https://www.firstsaofan.top/</a></p>]]>
                    </description>
                    <pubDate>Mon, 07 Oct 2024 09:25:21 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[免费翻译整本英文书籍,生成双语书籍]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/mian-fei-fan-yi-zheng-ben-ying-wen-shu-ji--sheng-cheng-shuang-yu-shu-ji</link>
                    <description>
                            <![CDATA[<h3 id="%E9%9C%80%E6%B1%82%EF%BC%8C%E5%85%8D%E8%B4%B9%E7%BF%BB%E8%AF%91%E6%95%B4%E6%9C%AC%E8%8B%B1%E6%96%87%E4%B9%A6%E7%B1%8D%E3%80%82%E7%94%9F%E6%88%90%E5%8F%8C%E8%AF%AD%E4%B9%A6%E7%B1%8D" tabindex="-1"><mark>需求，免费翻译整本英文书籍。生成双语书籍</mark></h3><p>解决方案：使用calibre+ Ebook Translator 插件可以实现免费整本翻译。</p><h5 id="calibre%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80%EF%BC%9A" tabindex="-1">calibre下载地址：</h5><p><a href="https://calibre-ebook.com/" target="_blank">https://calibre-ebook.com/</a></p><p><a href="https://calibre-ebook.com/zh_CN" target="_blank">https://calibre-ebook.com/zh_CN</a></p><p>Ebook Translator：<a href="https://translator.bookfere.com/%EF%BC%88%E6%8F%92%E4%BB%B6%E4%B8%8D%E9%9C%80%E8%A6%81%E5%8D%95%E7%8B%AC%E4%B8%8B%EF%BC%8C%E5%9C%A8calibre%E9%87%8C%E9%9D%A2%E6%B7%BB%E5%8A%A0%E6%8F%92%E4%BB%B6%E5%8D%B3%E5%8F%AF%EF%BC%89" target="_blank">https://translator.bookfere.com/（插件不需要单独下，在calibre里面添加插件即可）</a></p><h5 id="%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E5%AE%8C%E6%AF%95calibre%E4%B9%8B%E5%90%8E%EF%BC%8C%E6%89%93%E5%BC%80%E8%BD%AF%E4%BB%B6%E3%80%82" tabindex="-1">下载安装完毕calibre之后，打开软件。</h5><p>点击首选项——&gt;然后点击插件<br /><img src="/upload/2024/08/image-20240817095150807.png" alt="image-20240817095150807" /></p><h5 id="%E8%8E%B7%E5%8F%96%E6%96%B0%E7%9A%84%E6%8F%92%E4%BB%B6" tabindex="-1">获取新的插件</h5><p><img src="/upload/2024/08/image-20240817095244203.png" alt="image-20240817095244203" /></p><h5 id="%E6%90%9C%E7%B4%A2ebook-translator-%E5%8D%B3%E5%8F%AF%EF%BC%8C%E6%88%91%E8%BF%99%E9%87%8C%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E8%BF%87%E4%BA%86%EF%BC%8C%E6%89%80%E4%BB%A5%E9%80%89%E6%8B%A9%E7%9A%84%E5%85%A8%E9%83%A8%EF%BC%8C%E9%BB%98%E8%AE%A4%E6%98%AF%E6%9C%AA%E5%AE%89%E8%A3%85%2C%E5%AE%89%E8%A3%85%E6%8F%92%E4%BB%B6%E4%B9%8B%E5%90%8E%EF%BC%8C%E8%BD%AF%E4%BB%B6%E4%BC%9A%E6%8F%90%E7%A4%BA%E9%9C%80%E8%A6%81%E9%87%8D%E5%90%AF%E8%BD%AF%E4%BB%B6%EF%BC%8C%E9%87%8D%E5%90%AFcalibre%E5%8D%B3%E5%8F%AF" tabindex="-1">搜索Ebook Translator 即可，我这里已经安装过了，所以选择的全部，默认是未安装,安装插件之后，软件会提示需要重启软件，重启calibre即可</h5><p><img src="/upload/2024/08/image-20240817095338865.png" alt="image-20240817095338865" /></p><h5 id="%E5%AF%BC%E5%85%A5%E4%B8%80%E6%9C%AC%E8%8B%B1%E6%96%87%E4%B9%A6%E5%88%B0calibre%E9%87%8C%E9%9D%A2%EF%BC%8C%E6%88%91%E4%B8%BE%E3%80%8Ayour-money-or-your-life%E3%80%8B%E4%B8%BA%E4%BE%8B" tabindex="-1">导入一本英文书到calibre里面，我举《your money or your life》为例</h5><p><img src="/upload/2024/08/image-20240817095555377.png" alt="image-20240817095555377" /></p><h5 id="%E7%84%B6%E5%90%8E%E9%80%89%E6%8B%A9%E4%BD%A0%E7%9A%84%E4%B9%A6%E7%B1%8D%EF%BC%8C%E7%82%B9%E5%87%BB%E7%BF%BB%E8%AF%91%E4%B9%A6%E7%B1%8D%EF%BC%8C%E9%80%89%E6%8B%A9%E4%BD%A0%E8%87%AA%E5%B7%B1%E6%9C%9F%E6%9C%9B%E7%9A%84%E6%A8%A1%E5%BC%8F%E5%8D%B3%E5%8F%AF%EF%BC%8C%E6%88%91%E6%98%AF%E5%8D%95%E6%9C%AC%E4%B9%A6%E7%B1%8D%EF%BC%8C%E9%80%89%E6%8B%A9%E9%AB%98%E7%BA%A7%E6%A8%A1%E5%BC%8F%E5%8D%B3%E5%8F%AF" tabindex="-1">然后选择你的书籍，点击翻译书籍，选择你自己期望的模式即可，我是单本书籍，选择高级模式即可</h5><p><img src="/upload/2024/08/image-20240817095648285.png" alt="image-20240817095648285" /></p><h5 id="%E6%A0%BC%E5%BC%8F%E6%98%AF%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E4%B9%A6%E7%B1%8D%E7%9A%84%E6%A0%BC%E5%BC%8F%EF%BC%8C%E7%9B%AE%E6%A0%87%E8%AF%AD%E8%A8%80%E8%87%AA%E5%B7%B1%E9%80%89%E6%8B%A9%EF%BC%8C%E6%88%91%E9%80%89%E6%8B%A9%E4%B8%AD%E6%96%87" tabindex="-1">格式是你自己的书籍的格式，目标语言自己选择，我选择中文</h5><p><img src="/upload/2024/08/image-20240817095721475.png" alt="image-20240817095721475" /></p><h5 id="%E7%BF%BB%E8%AF%91" tabindex="-1">翻译</h5><p><mark>翻译引擎可以自己选择，我默认是的是Google，这个应该需要网络条件，右边输出电子书格式可以自己选择</mark><br />Microsoft Edge 应该不需要网络条件,几种免费的自己可以试试.</p><p><img src="/upload/2024/08/image-20240817095827621.png" alt="image-20240817095827621" /></p><h5 id="%E5%BC%95%E6%93%8E%E7%A7%8D%E7%B1%BB%EF%BC%9A%E5%9F%BA%E6%9C%AC%E4%B8%8A%E6%A0%B9%E6%8D%AE%E8%87%AA%E5%B7%B1%E7%9A%84%E9%80%89%E6%8B%A9%EF%BC%8Cai%E7%9B%B8%E5%85%B3%E7%9A%84%E9%83%BD%E9%9C%80%E8%A6%81api-key%2C%E6%8C%89token%E6%94%B6%E8%B4%B9%E3%80%82" tabindex="-1">引擎种类：基本上根据自己的选择，ai相关的都需要api key,按token收费。</h5><p>可以自己选择全部翻译还是选择部分翻译<br /><img src="/upload/2024/08/image-20240817095944534.png" alt="image-20240817095944534" /></p><h5 id="%E7%94%B5%E5%AD%90%E4%B9%A6%E6%A0%BC%E5%BC%8F" tabindex="-1">电子书格式</h5><p><img src="/upload/2024/08/image-20240817100033089.png" alt="image-20240817100033089" /></p><p>翻译完之后可以导出自己的希望的格式.然后窗口会关闭,并不会给你路径,这个路径在设置calibre的书籍路径的时候的路径.(只是说下这个路径)</p><p>软件里面也会包含你的翻译的书籍.右键打开书籍目录就可以找到文件地址</p><p>带有translate的标签就是翻译的</p><p><img src="/upload/2024/08/image-20240817100456436.png" alt="image-20240817100456436" /></p><h5 id="%E8%BD%AF%E4%BB%B6%E6%80%BB%E7%BB%93" tabindex="-1">软件总结</h5><p>本质可以看，是根据书籍的目录的章节，然后再把里面的段落对应的翻译的。但是这个翻译出来是双语的，上下中英文，即使有些专业术语不对，你自己的领域，自己知道即可。如果docker ，IT和日常英语意思不一样。如果你是在看IT的书籍，你自己知道就行。毕竟原文英语就在翻译上面。</p><h5 id="%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98" tabindex="-1">遇到的问题</h5><p>1.翻译之后导出PDF格式,如果calibre本身软件打开,目录都可以正常识别,但是别的可能不一定识别,因为我自己部署的web书籍阅读器,无法识别目录,但是EPUB格式,目录正常.自己选择</p><p>2.排版也就是布局,基本上没什么太大的问题,如果遇到那种markdown里面的123原点的序列号,可能会变成</p><p>1</p><p>2</p><p>3</p><p>内容</p><p>内容</p><p>内容.</p><p>目前就这问题,其他的没什么.目前感觉可用.</p><h5 id="%E7%BF%BB%E8%AF%91%E4%B9%A6%E7%B1%8D%E6%BC%94%E7%A4%BA" tabindex="-1">翻译书籍演示</h5><p>其实免费解决方案,这个我觉得很不错了,而且双语是我希望的,因为这样原文在,即使机翻有问题,我自己也可以查资料理解<br /><img src="/upload/2024/08/image-20240817100854519.png" alt="image-20240817100854519" /></p>]]>
                    </description>
                    <pubDate>Sat, 17 Aug 2024 10:17:55 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[从游戏（永劫无间）bnk文件提取人物台词音频]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/cong-you-xi--yong-jie-wu-jian-bnk-wen-jian-ti-qu-ren-wu-tai-ci-yin-pin</link>
                    <description>
                            <![CDATA[<h3 id="%E4%BB%8E%E6%B8%B8%E6%88%8F%EF%BC%88%E6%B0%B8%E5%8A%AB%E6%97%A0%E9%97%B4%EF%BC%89bnk%E6%96%87%E4%BB%B6%E6%8F%90%E5%8F%96%E4%BA%BA%E7%89%A9%E5%8F%B0%E8%AF%8D%E9%9F%B3%E9%A2%91" tabindex="-1">从游戏（永劫无间）bnk文件提取人物台词音频</h3><p>1.起因，因为玩三娘的时候，排到顾清寒的台词，我很喜欢，</p><p>三娘：崔家定护公主周全</p><p>清寒：三娘，我早已不是公主，也没人能伤得了我</p><p>所以我想录个音频，游戏里面得2个号选择进游戏才会触发。</p><p>所以准备从本地资源找音频。</p><p>这个是游戏路径，前面的E:\Games，是自己的安装路径，自己右键游戏启动图标，打开所在路径即可，然后进去下面的路径</p><pre><code class="language-">E:\Games\Naraka\program\NarakaBladepoint_Data\StreamingAssets\Audio\GeneratedSoundBanks\Windows\Chinese(CN)</code></pre><p>如图下面的bnk就是游戏的人物的台词音频<br /><img src="/upload/2024/07/image-20240730234127552.png" alt="image-20240730234127552" /></p><h4 id="2.%E7%84%B6%E5%90%8E%E6%90%9C%E7%B4%A2%E9%A1%BE%E6%B8%85%E5%AF%92%E7%9A%84%E5%8D%B3%E5%8F%AF" tabindex="-1">2.然后搜索顾清寒的即可</h4><p>永劫无间人物英文名：</p><p>宁红叶：Viper Ning</p><p>顾清寒：Justina Gu</p><p>火男：Tarka Ji</p><p>季莹莹： Zai Ji</p><p>崔三娘：Valda Cui</p><p>沈妙：Feria Shen</p><p>胡为：Akos Hu</p><p>魏轻：Shayol Wei</p><p>迦南： Matari</p><p>玉玲珑：Tessa</p><p>特木尔：Temulch</p><p>哈迪：Hadi Ismail</p><p>胡桃：Tsuchimikado Kurumi</p><p>武田：Takeda Nobutada</p><p>无尘，岳山，天海就是拼音</p><p>胡桃和武田是日语直接音译的。</p><h5 id="%E6%90%9C%E7%B4%A2%E7%BB%93%E6%9E%9C%E5%A6%82%E5%9B%BE%EF%BC%9A" tabindex="-1">搜索结果如图：</h5><p><img src="/upload/2024/07/image-20240730235147950.png" alt="image-20240730235147950" /></p><p>从文件名直接翻译，ingame应该是游戏内的台词，outgame应该是游戏外的，marker可能是标记或者什么的 ，我主要是找</p><p>三娘，我早已不是公主，也没人能伤得了我，所以应该是outgame,自己复制这些文件到其他地方即可。</p><p>然后下载提取bnk的软件：</p><p>项目地址：<a href="https://github.com/Vextil/Wwise-Unpacker" target="_blank">https://github.com/Vextil/Wwise-Unpacker</a></p><h5 id="%E4%B8%8B%E8%BD%BD%E8%A7%A3%E5%8E%8B%E4%B9%8B%E5%90%8E%E5%B0%B1%E6%98%AF%E8%BF%99%E4%B8%AA%E7%9B%AE%E5%BD%95%EF%BC%8C%E6%8A%8A%E8%A6%81%E6%8F%90%E5%8F%96%E7%9A%84bnk%E6%96%87%E4%BB%B6%E6%94%BE%E5%9C%A8game-files%E9%87%8C%E9%9D%A2%EF%BC%8C" tabindex="-1">下载解压之后就是这个目录，把要提取的bnk文件放在Game Files里面，</h5><p><img src="/upload/2024/07/image-20240730235418397.png" alt="image-20240730235418397" /></p><h5 id="%E7%84%B6%E5%90%8E%E5%8F%8C%E5%87%BB%E8%BF%90%E8%A1%8Cunpack-to-ogg.bat%E5%8D%B3%E5%8F%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%B1%E4%BC%9A%E8%AE%A9%E4%BD%A0%E8%BE%93%E5%85%A5y%2Fn%E3%80%82%E8%BF%99%E4%B8%AA%E6%98%AF%E8%AE%A9%E4%BD%A0%E7%A1%AE%E8%AE%A4%E6%98%AF%E5%90%A6%E5%88%A0%E9%99%A4%E4%BD%A0%E6%94%BE%E5%85%A5game-files%E7%9A%84bnk%E6%96%87%E4%BB%B6%E7%9A%84%EF%BC%8C%E7%94%B1%E4%BA%8Eogg%E9%9F%B3%E8%B4%A8%E6%9B%B4%E5%A5%BD%EF%BC%8C%E5%90%8C%E6%97%B6unpack-to-mp3%E4%B9%9F%E6%98%AF%E5%85%88%E6%8F%90%E5%8F%96%E6%88%90ogg%E7%9A%84%EF%BC%8C%E6%89%80%E4%BB%A5%E4%BC%98%E5%85%88%E6%8E%A8%E8%8D%90ogg%EF%BC%8C%E9%85%B7%E7%8B%97%E5%92%8Cpotplay%E9%83%BD%E5%8F%AF%E4%BB%A5%E7%9B%B4%E6%8E%A5%E6%92%AD%E6%94%BE%EF%BC%8C%E5%89%AA%E8%BE%91%E8%BD%AF%E4%BB%B6%E5%8F%AF%E8%83%BD%E5%AF%B9mp3%E6%A0%BC%E5%BC%8F%E6%9B%B4%E6%96%B9%E4%BE%BF%E7%82%B9%EF%BC%8C%E8%87%AA%E5%B7%B1%E9%80%89%E6%8B%A9%E3%80%82" tabindex="-1">然后双击运行unpack to OGG.bat即可，然后就会让你输入Y/N。这个是让你确认是否删除你放入Game Files的bnk文件的，由于OGG音质更好，同时Unpack to mp3也是先提取成OGG的，所以优先推荐OGG，酷狗和potplay都可以直接播放，剪辑软件可能对mp3格式更方便点，自己选择。</h5><p><img src="/upload/2024/07/image-20240730235520889.png" alt="image-20240730235520889" /></p><h5 id="%E7%84%B6%E5%90%8E%E8%BF%9B%E5%85%A5ogg%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%8C%E8%BF%99%E5%B0%B1%E6%98%AF%E5%8F%B0%E8%AF%8D%E9%9F%B3%E9%A2%91%E6%96%87%E4%BB%B6%E3%80%82" tabindex="-1">然后进入OGG文件夹，这就是台词音频文件。</h5><p><img src="/upload/2024/07/image-20240730235739486.png" alt="image-20240730235739486" /></p><p><mark>其他的游戏的bnk文件音频都可以如上述操作进行提取</mark></p>]]>
                    </description>
                    <pubDate>Wed, 31 Jul 2024 00:04:45 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[IConfiguration获取appsettings.json配置节点为null、和自定义Attribute构造函数丢失踩坑]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/iconfiguration-huo-qu-appsettingsjson-pei-zhi-jie-dian-wei-null-he-zi-ding-yi-attribute-gou-zao-han-shu-diu-shi-cai-keng</link>
                    <description>
                            <![CDATA[<h3 id="configuration%E8%8A%82%E7%82%B9%E9%85%8D%E7%BD%AEnull%E3%80%81%E5%92%8C%E8%87%AA%E5%AE%9A%E4%B9%89attribute%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%E4%B8%A2%E5%A4%B1%E8%B8%A9%E5%9D%91" tabindex="-1">configuration节点配置null、和自定义Attribute构造函数丢失踩坑</h3><p>场景：framework里面注入了appsettings.json的配置（一个对象），会被使用框架的微服务中的appsettings.json覆盖，期望framework框架中的配置不需要配置此对象。</p><h4 id="%E6%B3%A8%E5%85%A5%E7%9A%84%E9%85%8D%E7%BD%AE%E5%AF%B9%E8%B1%A1%EF%BC%9A" tabindex="-1">注入的配置对象：</h4><pre><code class="language-c#">namespace TestDemoProject{    public class Person2    {        public string Name { get; set; }        public string Sex { get; set; }    }}</code></pre><h5 id="appsettings.json%E9%85%8D%E7%BD%AE%E5%A6%82%E4%B8%8B" tabindex="-1">appsettings.json配置如下</h5><pre><code class="language-json">{  &quot;Logging&quot;: {    &quot;LogLevel&quot;: {      &quot;Default&quot;: &quot;Information&quot;,      &quot;Microsoft.AspNetCore&quot;: &quot;Warning&quot;    }  },  &quot;AllowedHosts&quot;: &quot;*&quot;,  &quot;Person2&quot;: {  }}</code></pre><p><mark>如果不配置字段，他不会实例化这个Person2对象，这样会报错，如果期望默认的对象被实例化字段值都是默认值，达到builder.Services.AddSingleton(new Person2());同样的效果，只需要配置文件添加上至少一个字段即可</mark><br /><img src="/upload/2024/07/image-20240717222014553.png" alt="image-20240717222014553" /></p><h4 id="%E4%BF%AE%E6%94%B9%E9%85%8D%E7%BD%AE%E4%B9%8B%E5%90%8E" tabindex="-1">修改配置之后</h4><pre><code class="language-c#">{  &quot;Logging&quot;: {    &quot;LogLevel&quot;: {      &quot;Default&quot;: &quot;Information&quot;,      &quot;Microsoft.AspNetCore&quot;: &quot;Warning&quot;    }  },  &quot;AllowedHosts&quot;: &quot;*&quot;,  &quot;Person2&quot;: {    &quot;Name&quot;: &quot;&quot;  }}</code></pre><p>如图正常实例化此对象：</p><p><img src="/upload/2024/07/image-20240717222515316-1721227265640.png" alt="image-20240717222515316-1721227265640" /></p><h4 id="%E4%B9%9F%E5%8F%AF%E4%BB%A5%E4%B8%8D%E9%85%8D%E7%BD%AE%2C%E8%BF%99%E6%A0%B7%E5%BC%95%E5%85%A5%E6%AD%A4%E6%A1%86%E6%9E%B6%E7%9A%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%AD%A3%E7%A1%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E4%BA%86person2%EF%BC%8C%E4%BC%9A%E8%A6%86%E7%9B%96%E6%AD%A4%E9%85%8D%E7%BD%AE%EF%BC%8C%E6%B2%A1%E6%9C%89%E5%88%99%E6%AD%A3%E5%B8%B8new-%E4%B8%80%E4%B8%AA%E5%AF%B9%E8%B1%A1%E6%B3%A8%E5%85%A5" tabindex="-1">也可以不配置,这样引入此框架的微服务，如果正确的配置了Person2，会覆盖此配置，没有则正常new 一个对象注入</h4><pre><code class="language-c#">builder.Services.AddSingleton(configuration.GetSection(&quot;Person2&quot;).Get&lt;Person2&gt;() ?? new Person2());</code></pre><h4 id="%E8%87%AA%E5%AE%9A%E4%B9%89attribute%E8%B8%A9%E5%9D%91%EF%BC%9A" tabindex="-1">自定义Attribute踩坑：</h4><p>出现的bug的场景， 一个net standard2.0的类库项目，写了一个自定义的attribute，举个例子：这样写是期望使用这个attribute的类，可传可不传这个参数。但实际上项目中，反射获取使用此attribute的时候，会报错，具体信息，不能截图,大概错误信息是System.MissingMethodException: ctor,，直接翻译就是构造函数缺失。</p><pre><code class="language-c#">namespace TestDemoProject{    [AttributeUsage(AttributeTargets.Class)]    public class FirstsaofanAttribute : Attribute    {        public string AuthorName { get; set; }        public FirstsaofanAttribute(string authorName = null)        {            AuthorName = authorName;        }    }}</code></pre><h4 id="%E4%BD%BF%E7%94%A8firstsaofanattribute%E7%9A%84%E7%B1%BB%EF%BC%9A" tabindex="-1">使用FirstsaofanAttribute的类：</h4><pre><code class="language-c#">namespace TestDemoProject{    [Firstsaofan]    public class Person    {        public const string Name = &quot;John&quot;;    }}</code></pre><h4 id="%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF%E4%BB%A3%E7%A0%81%EF%BC%9A%E5%8F%AA%E6%98%AF%E5%86%99%E7%9A%84demo%EF%BC%8C%E4%BB%A3%E7%A0%81%E6%97%A0%E5%AE%9E%E9%99%85%E5%90%AB%E4%B9%89" tabindex="-1">使用场景代码：只是写的demo，代码无实际含义</h4><p>项目中出现的错误的方法是Attribute.IsDefined(x,typeof(FirstsaofanAttribute),true)，IsDefined这里抛出异常。</p><pre><code class="language-c#">[HttpGet(Name = &quot;TestCustomAttribute&quot;)]public string TestCustomAttribute(){    //获取当前程序集中的所有类型    var types = Assembly.GetExecutingAssembly().GetTypes().ToList().Where(x =&gt; Attribute.IsDefined(x,typeof(FirstsaofanAttribute),true));    //实例化这个类型的class    var s = types.First().GetConstructor([]).Invoke(new object[] { }) as Person;    //获取这个类的属性    var propertys = s.GetType().GetField(&quot;Name&quot;).GetValue(s);    //获取这属性的值    return propertys.ToString();}</code></pre><h4 id="%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95%E6%98%AF%3A%E6%98%BE%E5%BC%8F%E7%9A%84%E4%BF%9D%E7%95%99%E9%BB%98%E8%AE%A4%E7%9A%84%E6%97%A0%E5%8F%82%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%E3%80%82" tabindex="-1">解决办法是:显式的保留默认的无参构造函数。</h4><p>我事后自己写的demo，没有复现这个问题，第一次是net8 webapi项目，FirstsaofanAttribute写在此项目里面，第二次我也将此attribute新建一个net standard2.0的类库项目，放进去了，但是也没有此问题。</p><pre><code class="language-c#">namespace TestDemoProject{    [AttributeUsage(AttributeTargets.Class)]    public class FirstsaofanAttribute : Attribute    {        public string AuthorName { get; set; }        public FirstsaofanAttribute()        {        }                public FirstsaofanAttribute(string authorName = null)        {            AuthorName = authorName;        }    }}</code></pre><p>没什么技术含量，踩的坑，记录下，方便日后查阅而已。</p>]]>
                    </description>
                    <pubDate>Wed, 17 Jul 2024 22:41:58 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[power shell脚本使用vscode调试]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/powershell-jiao-ben-shi-yong-vscode-diao-shi</link>
                    <description>
                            <![CDATA[<h2 id="power-shell%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8vscode%E8%B0%83%E8%AF%95" tabindex="-1">power shell脚本使用vscode调试</h2><p>使用vs code 调试power shell 脚本：</p><h4 id="%E4%B8%8B%E8%BD%BDpower-shell-%E6%89%A9%E5%B1%95" tabindex="-1">下载power shell 扩展</h4><p><img src="/upload/2024/06/image-20240616144910205.png" alt="image-20240616144910205" /></p><pre><code class="language-powershell">Function Invoke-Test {    Param (        [string] $Path    )    Write-Output $Path}Invoke-Test -Path &quot;teststring&quot;</code></pre><p>然后使用vs code打开power shell脚本的文件</p><p>启动调试，断点和其他语言调试一样，如图所示</p><p><img src="/upload/2024/06/image-20240616145159066.png" alt="image-20240616145159066" /></p><p>第一次会失败，需要下载</p><p><img src="/upload/2024/06/image-20240616145342220.png" alt="image-20240616145342220" /></p><h5 id="%E5%A6%82%E6%9E%9C%E7%89%88%E6%9C%AC%E8%BF%87%E4%BD%8E%E5%AE%89%E8%A3%85%E5%91%BD%E4%BB%A4%EF%BC%9A%E8%87%AA%E5%B7%B1%E6%A0%B9%E6%8D%AE%E8%87%AA%E5%B7%B1%E7%9A%84vs-code%E6%8F%90%E7%A4%BA%E6%9D%A5" tabindex="-1">如果版本过低安装命令：自己根据自己的VS Code提示来</h5><pre><code class="language-powershell">Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force</code></pre><p><img src="/upload/2024/06/image-20240616145647849.png" alt="image-20240616145647849" /></p><p><img src="/upload/2024/06/image-20240616150501790.png" alt="image-20240616150501790" /></p><h5 id="%E6%80%BB%E7%BB%93" tabindex="-1">总结</h5><p><mark>如果无法运行无法启动调试根据提示输入Yes下载必须的nuget包，如果版本过低，也会提示你，根据提示来，然后重新使用VS Code打开脚本文件。</mark></p><p>没什么技术可言，方便日后自己查阅而已</p>]]>
                    </description>
                    <pubDate>Sun, 16 Jun 2024 15:12:20 CST</pubDate>
                </item>
                <item>
                    <title>
                        <![CDATA[ .Net8实现elasticsearch7 基于本地和AWS S3、local stack s3 备份还原踩坑篇]]>
                    </title>
                    <link>https://www.firstsaofan.top/archives/net8-shi-xian-elasticsearch7-ji-yu-ben-de-he-awss3localstacks3-bei-fen-hai-yuan-cai-keng-pian</link>
                    <description>
                            <![CDATA[<h3 id=".net8%E5%AE%9E%E7%8E%B0elasticsearch7-%E5%9F%BA%E4%BA%8E%E6%9C%AC%E5%9C%B0%E5%92%8Caws-s3%E3%80%81local-stack-s3-%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F%E8%B8%A9%E5%9D%91%E7%AF%87" tabindex="-1">.Net8实现elasticsearch7 基于本地和AWS S3、local stack s3 备份还原踩坑篇</h3><p>需求：我需要实现基于本地和AWS s3作为repository实现备份还原功能的类库项目，供其他团队或者其他程序使用。</p><p>简单总结：首先ES的net nuget本身与ES客户端有些耦合，此时（2024年5月）Elastic.Clients.Elasticsearch Nuget（version 8.13.12）不完全兼容ES7，同时还有bug,例如我测试到create repository就不能创建repository，ES客户端是对应的elasticsearch:8.13.4</p><p>我自己测试通过的方案是Nest+ES7 基于本地repository（这个方案是可行的，也没什么坑）</p><p>需求还需要支持S3，基于local stack s3没有测试通过，目前:ES7请求到了 s3，但是提示没有这个bucket,其实这个bucket是存在的，我不清楚为什么，同时也测试了，而且local stack s3日志也是没有这个bucket，细节可以看下面2个issue，公司现在提供了AWS s3，已经测通。</p><p>ES8 issue：<a href="https://github.com/elastic/elasticsearch-net/issues/8187" target="_blank">https://github.com/elastic/elasticsearch-net/issues/8187</a>   （Elastic.Clients.Elasticsearch Nuget）</p><p>ES7 issue: <a href="https://github.com/elastic/elasticsearch-net/issues/8192" target="_blank">https://github.com/elastic/elasticsearch-net/issues/8192</a>      （Nest Nuget）</p><p>基于本地实现：（推荐）</p><p>基于aws s3实现：（不那么推荐,首先，一切的配置都需要在ES的config.yml文件和client配置好,其次，需要如果没有AWS s3服务，基于Local stack s3来测试，第一，资料比较少，其次，可能本身客户端与ES也有不兼容问题。最好是使用AWS s3来测。）</p><h4 id="%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E5%87%86%E5%A4%87" tabindex="-1">环境搭建准备</h4><h5 id="es7-docker-compose.yml%EF%BC%888%E5%8F%AA%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9image-tag-%E7%9A%84%E7%89%88%E6%9C%AC%E6%95%B0%E5%AD%97%E5%8D%B3%E5%8F%AF%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%9C%89%E5%BC%83%E7%94%A8%E7%9A%84%E9%85%8D%E7%BD%AE%E6%97%A5%E5%BF%97%E4%BC%9A%E6%8F%90%E7%A4%BA%EF%BC%8C%E8%B7%9F%E7%9D%80%E4%BF%AE%E6%94%B9%E5%8D%B3%E5%8F%AF%EF%BC%89" tabindex="-1">ES7 docker compose.yml（8只需要修改image tag 的版本数字即可，如果有弃用的配置日志会提示，跟着修改即可）</h5><p><mark>8的版本默认开启安全特性，只能https，需要关闭ssl</mark></p><p>需要修改配置即可，挂载到windows系统，会出现.yml .d等文件，windows系统会认为这个是文件夹，所以需要docker cp文件出来</p><p>还有就是没有jvm.options这个文件，只挂载config.yml配置文件会出错。</p><p>拷贝es容器文件夹config到宿主机目录，./web/es/是宿主机的目录</p><pre><code class="language-cobol">docker cp elasticsearch:/usr/share/elasticsearch/config ./web/es/</code></pre><p>xpack.security.enabled=false</p><pre><code class="language-yaml">version: &#39;3&#39;services:  elasticsearch:    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.7    container_name: elasticsearchdemo    network_mode: host    environment:      - node.name=elasticsearch      - cluster.name=docker-cluster      - discovery.type=single-node      - &quot;ES_JAVA_OPTS=-Xms512m -Xmx512m&quot;      - xpack.security.enabled=true      - ELASTIC_PASSWORD=password      - &quot;xpack.security.http.ssl.enabled=false&quot;    ports:      - &quot;9200:9200&quot;    volumes:      - ./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  # 挂载自定义配置文件</code></pre><h5 id="es-config.yml" tabindex="-1">ES config.yml</h5><p>删除了net work 0.0.0.0，不然与local stack S3无法连接</p><p><mark>path.repo 是基于本地创建repository的必要参数，也就是ES创建snapshot的地方（容器内的地址，这个目录可以挂载到宿主机上）</mark></p><p>s3.client.default.的相关配置是基于local stack s3的相关配置，不然访问不了，因为ES默认会直接请求AWS 的地址：</p><p>官方配置地址：</p><p><a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/repository-s3.html" target="_blank">https://www.elastic.co/guide/en/elasticsearch/reference/current/repository-s3.html</a></p><p>成功运行ES容器之后，需要进入容器，执行命令：只需要配置access_key 和secret_key</p><p>输入的值与下面local stack s3的docker compose yml值一样</p><p>AWS_ACCESS_KEY_ID=test</p><p>AWS_SECRET_ACCESS_KEY=test</p><h5 id="%E6%B7%BB%E5%8A%A0" tabindex="-1">添加</h5><pre><code class="language-bash">bin/elasticsearch-keystore add s3.client.default.access_keybin/elasticsearch-keystore add s3.client.default.secret_key# a session token is optional so the following command may not be neededbin/elasticsearch-keystore add s3.client.default.session_token</code></pre><h5 id="%E7%A7%BB%E9%99%A4" tabindex="-1">移除</h5><pre><code class="language-bash">bin/elasticsearch-keystore remove s3.client.default.access_keybin/elasticsearch-keystore remove s3.client.default.secret_key# a session token is optional so the following command may not be neededbin/elasticsearch-keystore remove s3.client.default.session_token</code></pre><pre><code class="language-yaml">cluster.name: &quot;docker-cluster&quot;xpack.security.http.ssl.enabled: falses3.client.default.endpoint: &quot;http://localhost:4566&quot;s3.client.default.protocol: &quot;http&quot;path:  repo:    - /usr/share/elasticsearch/data/backups    - /usr/share/elasticsearch/data/long_term_backups</code></pre><p><mark>注意事项，此处的s3的相关配置需要先注释掉，不然直接启动docker compose.yml会报如下错误，没有安装S3 plugin，识别不了这些参数，如果使用AWS S3，需要注释s3.client.default相关的配置。这是为local stack s3配置的</mark></p><p><img src="/upload/2024/05/image-20240526095216450.png" alt="image-20240526095216450" /></p><h5 id="local-stack-s3" tabindex="-1">local stack s3</h5><p>主要的坑，其实是环境问题：</p><p>1.需要修改net work为host,或者自己创建一个自定义网络，让local stack s3与ES7在这个同一个网络</p><p>2.需要修改OPENSEARCH_ENDPOINT_STRATEGY=port，不然http://localhost:4566请求到不了S3，</p><p>详细的策略，请看官方地址：<a href="https://docs.localstack.cloud/user-guide/aws/opensearch/#domain-endpoints" target="_blank">https://docs.localstack.cloud/user-guide/aws/opensearch/#domain-endpoints</a></p><p>配置参数官方地址：<a href="https://docs.localstack.cloud/references/configuration/#core" target="_blank">https://docs.localstack.cloud/references/configuration/#core</a></p><pre><code class="language-yaml">version: &#39;3&#39;services:  localstack:    image: localstack/localstack:s3-latest    container_name: localstack    network_mode: host    ports:      - &quot;4566:4566&quot;      - &quot;4571:4571&quot;      - &quot;8055-8080:8055-8080&quot;    environment:      - DEBUG=1      - ALLOW_NONSTANDARD_REGIONS=1      - SERVICES=s3      - OPENSEARCH_ENDPOINT_STRATEGY=port      - LOCALSTACK_HOST=localhost      - PERSISTENCE=/tmp/localstack/data      - AWS_ACCESS_KEY_ID=test      - AWS_SECRET_ACCESS_KEY=test</code></pre><p><img src="/upload/2024/05/image-20240525110432013.png" alt="image-20240525110432013" /></p><h4 id="%E4%BB%A3%E7%A0%81%EF%BC%9A" tabindex="-1">代码：</h4><p>由于基于本地的没什么太多坑，如何用Nest和ES7（最新版本的Nuget还有bug,）虽然Nest 已经官方弃用，但是如果为了稳定，建议采用这个方案，等后续最新的nuget稳定再迁移。也可以现在2个nuget都使用。我只能提供完整的单元测试代码，具体的接口什么的，需要自己实现。我不方便提供。</p><h5 id="postman%E6%9C%AC%E5%9C%B0%E6%B5%8B%E8%AF%95%EF%BC%9A" tabindex="-1">postman本地测试：</h5><pre><code class="language-">http://localhost:9200/_snapshot/unit-test-fs-reponameb5ad0268-3012-4677-af46-780c8776f97455</code></pre><pre><code class="language-">http://localhost:9200/_snapshot/my-fs-repository</code></pre><pre><code class="language-json">{  &quot;type&quot;: &quot;fs&quot;,  &quot;settings&quot;: {    &quot;location&quot;: &quot;my_backup_location&quot;  }}</code></pre><p>这个路径/usr/share/elasticsearch/data/backups就是config.yml 文件里面的path.repo，</p><p><mark>my_backup_location是传入的location，可以理解为一个文件夹，等同于ES的repository，创建snapshot，就在这个目录下面的存档备份文件</mark><br /><img src="/upload/2024/05/image-20240527214754656.png" alt="image-20240527214754656" /></p><h5 id="%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E5%AE%8C%E6%95%B4%E4%BB%A3%E7%A0%81" tabindex="-1">单元测试完整代码</h5><p>project文件，主要是给出Nuget包</p><pre><code class="language-c#">&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;  &lt;PropertyGroup&gt;    &lt;TargetFramework&gt;net8.0&lt;/TargetFramework&gt;    &lt;ImplicitUsings&gt;enable&lt;/ImplicitUsings&gt;    &lt;Nullable&gt;enable&lt;/Nullable&gt;    &lt;IsPackable&gt;false&lt;/IsPackable&gt;    &lt;IsTestProject&gt;true&lt;/IsTestProject&gt;  &lt;/PropertyGroup&gt;  &lt;ItemGroup&gt;    &lt;PackageReference Include=&quot;AWSSDK.S3&quot; Version=&quot;3.7.308.4&quot; /&gt;    &lt;PackageReference Include=&quot;coverlet.collector&quot; Version=&quot;6.0.0&quot; /&gt;    &lt;PackageReference Include=&quot;FluentAssertions&quot; Version=&quot;6.12.0&quot; /&gt;    &lt;PackageReference Include=&quot;Microsoft.NET.Test.Sdk&quot; Version=&quot;17.8.0&quot; /&gt;    &lt;PackageReference Include=&quot;NEST&quot; Version=&quot;7.17.5&quot; /&gt;    &lt;PackageReference Include=&quot;xunit&quot; Version=&quot;2.5.3&quot; /&gt;    &lt;PackageReference Include=&quot;xunit.extensibility.core&quot; Version=&quot;2.8.0&quot; /&gt;    &lt;PackageReference Include=&quot;xunit.runner.visualstudio&quot; Version=&quot;2.5.3&quot; /&gt;  &lt;/ItemGroup&gt;  &lt;ItemGroup&gt;    &lt;Using Include=&quot;Xunit&quot; /&gt;  &lt;/ItemGroup&gt;&lt;/Project&gt;</code></pre><h5 id="esnests3repositorytest" tabindex="-1">ESNestS3RepositoryTest</h5><pre><code class="language-c#">using FluentAssertions;using Nest;namespace UnitTestProject{    public class ESNestS3RepositoryTest    {        private readonly ElasticClient _client;        public ESNestS3RepositoryTest()        {            //如果connectionSettings传uri为空 默认就是http://localhost:9200            var connectionSettings = new ConnectionSettings().BasicAuthentication(&quot;elastic&quot;, &quot;password&quot;);            //.DefaultIndex(&quot;default_index&quot;); // Set the default index if needed             _client = new ElasticClient(connectionSettings);        }        //基于本地创建repository，其实基于S3与本地区别不大 ，关键在于repository创建在哪里，snapshot存在哪里，其他还原什么的都是一样的        [Fact]        public async Task RestoreFSSnapshot_Success()        {            //arrange            string repositoryName = &quot;test_repo&quot; + Guid.NewGuid();            //snapshot 必须所有的字母都是小写            string snapshotName = &quot;test_snapshot&quot; + Guid.NewGuid();            string findPrefix = &quot;test_find_prefix-&quot;;            string replacePrefix = &quot;test_restored_prefix-&quot;;            string indexName = &quot;index_test&quot;;            string path = &quot;test_store_sp_path&quot;;            //先准备干净环境            await _client.Indices.DeleteAsync(&quot;*&quot;);            //模拟一些索引            for (int i = 0; i &lt; 10; i++)            {                await _client.Indices.CreateAsync(findPrefix + indexName + i);            }            //act            //创建snapshot               await _client.Snapshot.CreateRepositoryAsync(repositoryName,            c =&gt; c.FileSystem(fs =&gt; fs.Settings(path)));            //自己实现需要先判断snapshot是否存在，存在就删除，再创建一个新的Snapshot            var response = await _client.Snapshot.SnapshotAsync(repositoryName, snapshotName,                sp =&gt; sp.Indices(findPrefix + &quot;*&quot;)                    .IgnoreUnavailable(true)                    .RequestConfiguration(req =&gt; req.DisableDirectStreaming())//可以注释掉                    .IncludeGlobalState(false));            //这个是为了怕还原的时候，snapshot还没创建成功，时间自己具体修改            Thread.Sleep(15000);            //ES还原            var snapshotInfo = await _client.Snapshot.GetAsync(repositoryName, snapshotName);            if (snapshotInfo.Snapshots == null) throw new NullReferenceException($&quot;{snapshotName} is not exist&quot;);            //删除如果被还原索引名相同的list            var indicesToRenameList = snapshotInfo.Snapshots.ToList()[0].Indices                .Where(index =&gt; index.ToString().StartsWith(findPrefix))                .Select(index =&gt; index.ToString().Replace(findPrefix, replacePrefix))                .ToList();            foreach (var index in indicesToRenameList)            {                //删除索引                await _client.Indices.DeleteAsync(index);            }            //这个是被还原前的索引名            var renamePattern = findPrefix;            //还原后的名字，例如 a-xxx  还原后变成了 b-xxx            var renameReplacement = replacePrefix;            var result = await _client.Snapshot.RestoreAsync(repositoryName, snapshotName,                r =&gt; r.IgnoreUnavailable(true)                    .IncludeGlobalState(false)                    .RenamePattern(renamePattern)                    .RenameReplacement(renameReplacement)                    .RequestConfiguration(req =&gt; req.DisableDirectStreaming())                    .WaitForCompletion(true));            var indicesMatchCount = await _client.Indices.GetAsync(replacePrefix + &quot;*&quot;);            //assert            Assert.True(result.ApiCall.HttpStatusCode.Equals(200));            indicesMatchCount.Indices.Should().HaveCountGreaterThan(0);        }        //除了创建repository方法不一样，其他都一样，我这里本地测试不过，但是代码是不需要改的，主要是ES和local stack s3或者AWS s3能正常连接        [Fact]        public async Task Restore_LocalStackS3_Snapshot_Success()        {            //arrange            //snapshot 必须所有的字母都是小写            string snapshotName = &quot;test_snapshot&quot; + Guid.NewGuid();            string findPrefix = &quot;test_find_prefix-&quot;;            string replacePrefix = &quot;test_restored_prefix-&quot;;            string indexName = &quot;index_test&quot;;            string repoName = &quot;unit-test-s3-reponame&quot; + Guid.NewGuid();            string bucketName = &quot;my-bucket&quot;; // bucket name            //先准备干净环境            await _client.Indices.DeleteAsync(&quot;*&quot;);            //模拟一些索引            for (int i = 0; i &lt; 10; i++)            {                await _client.Indices.CreateAsync(findPrefix + indexName + i);            }            //act            //创建S3 repository            await _client.Snapshot.CreateRepositoryAsync(repoName,c =&gt; c.S3(s3 =&gt; s3.Settings(bucketName)));            //自己实现需要先判断snapshot是否存在，存在就删除，再创建一个新的Snapshot            var response = await _client.Snapshot.SnapshotAsync(repoName, snapshotName,                sp =&gt; sp.Indices(findPrefix + &quot;*&quot;)                    .IgnoreUnavailable(true)                    .RequestConfiguration(req =&gt; req.DisableDirectStreaming())                    .IncludeGlobalState(false));            //这个是为了怕还原的时候，snapshot还没创建成功，时间自己具体修改            Thread.Sleep(15000);            //ES还原            var snapshotInfo = await _client.Snapshot.GetAsync(repoName, snapshotName);            if (snapshotInfo.Snapshots == null) throw new NullReferenceException($&quot;{snapshotName} is not exist&quot;);            //删除如果被还原索引名相同的list            var indicesToRenameList = snapshotInfo.Snapshots.ToList()[0].Indices                .Where(index =&gt; index.ToString().StartsWith(findPrefix))                .Select(index =&gt; index.ToString().Replace(findPrefix, replacePrefix))                .ToList();            foreach (var index in indicesToRenameList)            {                //删除索引                await _client.Indices.DeleteAsync(index);            }            //这个是被还原前的索引名            var renamePattern = findPrefix;            //还原后的名字，例如 a-xxx  还原后变成了 b-xxx            var renameReplacement = replacePrefix;            var result = await _client.Snapshot.RestoreAsync(repoName, snapshotName,                r =&gt; r.IgnoreUnavailable(true)                    .IncludeGlobalState(false)                    .RenamePattern(renamePattern)                    .RenameReplacement(renameReplacement)                    .RequestConfiguration(req =&gt; req.DisableDirectStreaming())                    .WaitForCompletion(true));            var indicesMatchCount = await _client.Indices.GetAsync(replacePrefix + &quot;*&quot;);            //assert            Assert.True(result.ApiCall.HttpStatusCode.Equals(200));            indicesMatchCount.Indices.Should().HaveCountGreaterThan(0);        }    }}</code></pre><p>单元测试一样，只不过创建repository不一样，基于repository的type是S3,我还是提供完整的代码，方便copy直接可用。</p><pre><code class="language-c#"> //创建S3 repositoryawait _client.Snapshot.CreateRepositoryAsync(repoName,c =&gt; c.S3(s3 =&gt; s3.Settings(bucketName)));</code></pre><h5 id="%E8%BF%98%E5%8E%9F%E5%90%8E%E7%9A%84%E7%B4%A2%E5%BC%95%E5%A6%82%E4%B8%8B%E5%9B%BE%EF%BC%9A" tabindex="-1">还原后的索引如下图：</h5><p><img src="/upload/2024/05/image-20240527215657427.png" alt="image-20240527215657427" /></p><h5 id="local-stack-s3-%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81" tabindex="-1">Local stack s3 测试代码</h5><pre><code class="language-c#">using Amazon.Runtime;using Amazon.S3;using Amazon.S3.Model;using FluentAssertions;using System.Net;namespace UnitTestProject{    public class LocalStackS3Test    {        [Fact]        public async Task Check_LocalStackS3_Valid()        {            //arrange            string bucketName = &quot;my-bucket&quot;; // bucket name            string serviceUrl = &quot;http://localhost:4566&quot;; // Localstack s3 service URL            var awsCredentials = new BasicAWSCredentials(&quot;test&quot;, &quot;test&quot;);            var config = new AmazonS3Config            {                ServiceURL = serviceUrl,                ForcePathStyle = true,            };                        //也可以使用这种方式创建client            var regionEndpoint = RegionEndpoint.GetBySystemName(&quot;us-east-1&quot;);            var client2 = new AmazonS3Client(&quot;test&quot;, &quot;test&quot;, regionEndpoint);            var client = new AmazonS3Client(awsCredentials, config);            var putBucketRequest = new PutBucketRequest            {                BucketName = bucketName,                BucketRegion = S3Region.USEast1,                UseClientRegion = false            };            //如果你的key 对这个S3有权限 可以使用这个操作S3 bucket 权限           /* var policy = @&quot;{  &quot;&quot;Version&quot;&quot;: &quot;&quot;2012-10-17&quot;&quot;,  &quot;&quot;Statement&quot;&quot;: [    {      &quot;&quot;Effect&quot;&quot;: &quot;&quot;Allow&quot;&quot;,      &quot;&quot;Principal&quot;&quot;: &quot;&quot;*&quot;&quot;,      &quot;&quot;Action&quot;&quot;: [        &quot;&quot;s3:GetObject&quot;&quot;,        &quot;&quot;s3:PutObject&quot;&quot;,        &quot;&quot;s3:DeleteObject&quot;&quot;,        &quot;&quot;s3:AbortMultipartUpload&quot;&quot;,        &quot;&quot;s3:ListMultipartUploadParts&quot;&quot;      ],      &quot;&quot;Resource&quot;&quot;: &quot;&quot;arn:aws:s3:::my-bucket/*&quot;&quot;    }  ]}&quot;;            var putBucketPolicyRequest = new PutBucketPolicyRequest            {                BucketName = bucketName,                Policy = policy            };*/            //act            var res = await client.PutBucketAsync(putBucketRequest);            //update policy            //await client.PutBucketPolicyAsync(putBucketPolicyRequest);            //put a file into bucket,            // Generate an image file            byte[] imageBytes = GenerateImageBytes();            string keyName = &quot;example_image.jpg&quot;;            var putObjectRequest = new PutObjectRequest            {                BucketName = bucketName,                Key = keyName,                InputStream = new MemoryStream(imageBytes)            };            var putObjectResponse = await client.PutObjectAsync(putObjectRequest);            //assert            //putObjectResponse.HttpStatusCode.Should().Be(HttpStatusCode.OK);            res.HttpStatusCode.Should().Be(HttpStatusCode.OK);        }        private byte[] GenerateImageBytes()        {            byte[] fakeImageBytes = new byte[1024];            return fakeImageBytes;        }    }}</code></pre><p>AWS s3的测试图，不方便截图，代码是可用的。如果是local stack s3 ，可以关注开头的issue.</p><h5 id="%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9" tabindex="-1"><mark>注意事项</mark></h5><p>如果基于aws s3来测试的话，注意官方endpoint拼接地址</p><p>官方url地址：<a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region" target="_blank">https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region</a></p><p><img src="/upload/2024/05/image-20240525131322967.png" alt="image-20240525131322967" /></p><p>sdk 本身的版本与ES 客户端版本耦合：</p><p><a href="https://www.elastic.co/guide/en/elasticsearch/client/net-api/master/introduction.html" target="_blank">https://www.elastic.co/guide/en/elasticsearch/client/net-api/master/introduction.html</a><br /><img src="/upload/2024/05/image-20240525083455764.png" alt="image-20240525083455764" /></p><h5 id="es-7%E8%BF%81%E7%A7%BB%E5%88%B0es-8%E5%AE%98%E6%96%B9%E5%9C%B0%E5%9D%80%EF%BC%9A" tabindex="-1">ES 7迁移到ES 8官方地址：</h5><p><a href="https://www.elastic.co/guide/en/elasticsearch/client/net-api/master/migration-guide.html" target="_blank">https://www.elastic.co/guide/en/elasticsearch/client/net-api/master/migration-guide.html</a></p><p><img src="/upload/2024/05/image-20240525083435297.png" alt="image-20240525083435297" /></p><h4 id="%E6%80%BB%E7%BB%93" tabindex="-1">总结</h4><p>总的来说，现在最新的还不稳定，基本上现在主流的迁移是同时使用Nest和Elastic.Clients.Elasticsearch Nuget（version 8.13.12），等新的完全稳定之后，再完全迁移。我本人只测试了最新的Elastic.Clients.Elasticsearch Nuget去操作删除ES7的索引，但是第二个测创建repository有bug，已经提了issue，再开头。基于local stack s3来测试，也可以看开头写的issue。环境还是有问题。目前已经基于AWS S3来实现，测通，实现的代码并不需要修改。</p><p>如果使用AWS s3，就跟官方ES8文档一样，安装S3 plugin之后，进入容器，顺序添加accessKey和secretKey，之后重启ES即可。</p>]]>
                    </description>
                    <pubDate>Mon, 27 May 2024 22:30:01 CST</pubDate>
                </item>
    </channel>
</rss>