vault backup: 2025-07-08 16:27:09

This commit is contained in:
CrazyJasonwell committed 2025-07-08 16:27:09 +08:00
1 parent 36dd2a093a
commit b02b560065
2 files changed
+589 -10

No files matched your search

+579 -1
View File
@@ -1 +1,579 @@
{"feeds":[{"name":"国家人文历史","url":"https://plink.anyfeeder.com/weixin/gjrwls","folder":"人文历史"},{"name":"我的博客","url":"https://joyagain.me/feed/rss","folder":"博客"},{"name":"HelloGithub","url":"https://hellogithub.com/rss/feed","folder":"开源"},{"name":"少数派","url":"https://sspai.com/feed","folder":"IT资讯"}],"updateTime":60,"filtered":[{"name":"Favorites","read":true,"unread":true,"filterTags":[],"filterFolders":[],"filterFeeds":[],"ignoreTags":[],"ignoreFeeds":[],"ignoreFolders":[],"favorites":true,"sortOrder":"ALPHABET_NORMAL"}],"saveLocation":"custom","displayStyle":"list","saveLocationFolder":"04-博客文章/04-RSS","items":[{"title":"Happy Again","subtitle":"","link":"https://joyagain.me","image":"\n\t","description":"一旦开始就不会停止","items":[{"title":"抗战危急时刻,3200余名南侨机工毅然回国,筑起一条“不沉的补给线”","description":"<div><div><div class=\"rich_media_content\" id=\"js_content\"><section wrap=\"wrap\"><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px;\"><span wrap=\"wrap\"><br /></span></p><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px;\"><span wrap=\"wrap\"><br /></span></p><section><p style=\"line-height: 1.75em; margin-left: 0px; margin-right: 0px; margin-bottom: 8px;\"><span>“赤子功勋”—云南昆明西山上矗立着一座9米高的纪念碑,基座上刻着这四个大</span><span>字</span><span>。碑文这样写道:</span></p><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px 0px;\"><span style=\"letter-spacing: 1px; text-align: center;\"><br /></span></p><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px 0px;\"><span style=\"letter-spacing: 1px; text-align: center;\"><span style=\"font-size: 15px; color: rgb(136, 136, 136); font-weight: normal; text-decoration: none;\">三千多名热血奔腾的南洋华侨机工……以自己的生命、鲜血和汗水,在华侨爱国史上谱写出可歌</span></span><span><span style=\"font-size: 15px; color: rgb(136, 136, 136); font-weight: normal; text-decoration: none;\">可泣的壮丽篇章,也在中国人民抗日战争史和世界人民反法西斯战争史上建立了不可磨灭的</span></span><span><span style=\"font-size: 15px; color: rgb(136, 136, 136); font-weight: normal; text-decoration: none;\">功勋。</span></span></p><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px 0px;\"><span style=\"letter-spacing: 1px; text-align: center;\"><br /></span></p><p style=\"line-height: 1.75em; margin-left: 0px; margin-right: 0px; margin-bottom: 8px;\"><span>1939年至1942年,抗战危急时刻,在被称为“死亡公路”的滇缅公路上,3200余名南洋归国华侨青年,驾驶卡车穿越枪林弹雨,抢运军需物资、抢修运输车辆,为抗战筑起一条“不沉的补给线”。</span></p><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px 0px;\"><span style=\"letter-spacing: 1px; text-align: center;\"><br /></span></p><section style=\"text-align: center; margin: 8px;\"><img class=\"rich_pages wxw-img\" src=\"http://img2.jintiankansha.me/get?src=http://mmbiz.qpic.cn/mmbiz_png/laADTC8BCK4BVPAv0hJPaNADoHURc78aOqyKVicpKZUlw0sevJq9EOWh9MaicJRpqqsuQsxvqribK9kPGvbfekjpA/640?wx_fmt=png\" style=\"height: auto !important;\" type=\"block\" /></section><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px 0px;\"><span style=\"letter-spacing: 1px; text-align: center;\"><br /></span></p><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px 0px;\"><span><span style=\"font-weight: normal;\">硝烟散尽,功勋长存。他们有一个共同的名字——南洋华侨机工回国服务团</span></span><span><span style=\"font-size: 15px; color: rgb(136, 136, 136); font-weight: normal; text-decoration: none;\">(简称“南侨机工”)</span></span><span><span style=\"font-weight: normal;\">。今年4月15日,在赴吉隆坡对马来西亚进行国事访问之际,习近平主席在当地媒体发表署名文章指出:</span></span></p><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px 0px;\"><span style=\"letter-spacing: 1px; text-align: center;\"><br /></span></p><p style=\"color: rgb(74, 73, 73); font-weight: bold; line-height: 1.75em; text-align: justify; margin: 8px 0px;\"><span><span style=\"font-size: 15px; color: rgb(136, 136, 136); font-weight: normal; text-decoration: none;\">“80多年前,马来西亚南侨机工在中国人民抗日战争的关键时刻奔赴云南,帮助打通滇缅公路这条生命Line truncated
{
"feeds": [
{
"name": "我的博客",
"url": "https://joyagain.me/feed/rss",
"folder": "博客"
},
{
"name": "DIYGod",
"url": "https://diygod.cc/feed",
"folder": "DIY"
}
],
"updateTime": 60,
"filtered": [
{
"name": "Favorites",
"read": true,
"unread": true,
"filterTags": [],
"filterFolders": [],
"filterFeeds": [],
"ignoreTags": [],
"ignoreFeeds": [],
"ignoreFolders": [],
"favorites": true,
"sortOrder": "ALPHABET_NORMAL"
}
],
"saveLocation": "custom",
"displayStyle": "list",
"saveLocationFolder": "04-博客文章/04-RSS",
"items": [
{
"title": "Happy Again",
"subtitle": "",
"link": "https://joyagain.me",
"image": "\n\t",
"description": "一旦开始就不会停止",
"items": [
{
"title": "使用Obsidian打造个人图书馆! -转自知乎",
"description": "长期以来没有找到符合自己需求的书籍管理工具,手机APP和Excel各有其局限,笔者一开始是使用notion建立个人图书馆,使用的过程中发现notion的文档与文档之间的关联性较差,恰好Obsidian支持双链功能,故此尝试在Obsidian建立个人图书馆,效果图如下: 本文将通过Douban插件快速获取图书信息,并通过Dataview处理图书信息,并在Minimal主题中显示。 前期准备 Obsidian插件——Dataview Obsidian插件——Douban Obsi [&#8230;]",
"content": "<p>长期以来没有找到符合自己需求的书籍管理工具,手机APP和Excel各有其局限,笔者一开始是使用<a href=\"https://zhida.zhihu.com/search?content_id=238359010&amp;content_type=Article&amp;match_order=1&amp;q=notion&amp;zhida_source=entity\">notion</a>建立个人图书馆,使用的过程中发现notion的文档与文档之间的关联性较差,恰好<a href=\"https://zhida.zhihu.com/search?content_id=238359010&amp;content_type=Article&amp;match_order=1&amp;q=Obsidian&amp;zhida_source=entity\">Obsidian</a>支持双链功能,故此尝试在Obsidian建立个人图书馆,效果图如下:</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/07/04/6867af5904688.png\" alt=\"使用Obsidian打造个人图书馆! -转自知乎\" title=\"使用Obsidian打造个人图书馆! -转自知乎\" alt=\"v2-38b8d92300f9a1d52d716442ff756d82_1440w\"></p>\n<p>本文将通过<a href=\"https://zhida.zhihu.com/search?content_id=238359010&amp;content_type=Article&amp;match_order=1&amp;q=Douban&amp;zhida_source=entity\">Douban</a>插件快速获取图书信息,并通过Dataview处理图书信息,并在<a href=\"https://zhida.zhihu.com/search?content_id=238359010&amp;content_type=Article&amp;match_order=1&amp;q=Minimal&amp;zhida_source=entity\">Minimal</a>主题中显示。</p>\n<h3><strong>前期准备</strong></h3>\n<ul>\n<li>Obsidian插件——Dataview</li>\n<li>Obsidian插件——Douban</li>\n<li>Obsidian主题——Minimal</li>\n<li>豆瓣账号</li>\n</ul>\n<h3><strong>下载和安装主题</strong></h3>\n<p><strong>在线安装(需要科学上网)</strong></p>\n<ul>\n<li>打开Obsidian,点击左下角的“设置”按钮</li>\n<li>在左侧菜单找到“外观”</li>\n<li>选择“主题”,点击【管理】,搜索“Minimal”并启用</li>\n</ul>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/07/04/6867af5a4316b.png\" alt=\"使用Obsidian打造个人图书馆! -转自知乎\" title=\"使用Obsidian打造个人图书馆! -转自知乎\" alt=\"v2-68a9e0f1804d535aba69378de92fd418_1440w\"></p>\n<p><strong>离线安装</strong></p>\n<ul>\n<li>在评论区获取下载链接</li>\n<li>将下载的压缩包解压到主题目录内,如 XXX/.obsidian/themes,如果没有【themes】文件夹,则手动创建一个。</li>\n<li>在左侧菜单找到“外观”,选择“主题”,在下拉框中选择“Minimal”</li>\n</ul>\n<h3><strong>下载和安装插件</strong></h3>\n<p><strong>在线安装(需要科学上网)</strong></p>\n<ul>\n<li>打开Obsidian,点击左下角的“设置”按钮</li>\n<li>在左侧菜单找到“第三方插件”并关闭安全模式</li>\n<li>点击“社区浏览市场”,搜索“Dataview”、“Douban”并点击安装</li>\n<li>安装完成后,回到“第三方插件”页面并找到Dataview插件与Douban插件,将其开关打开,启动插件</li>\n</ul>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/07/04/6867af5add86a.png\" alt=\"使用Obsidian打造个人图书馆! -转自知乎\" title=\"使用Obsidian打造个人图书馆! -转自知乎\" alt=\"v2-937ea34d7b9f0fcca1fc3ffba7d6c61a_1440w\"></p>\n<p><strong>离线安装</strong></p>\n<ul>\n<li>在评论区获取下载链接</li>\n<li>将下载的压缩包放入笔记目录下的插件目录内,如 XXX/.obsidian/plugins,如果没有【plugins】文件夹,则手动创建一个。</li>\n<li>重启Obsidian,点击“设置”-“第三方插件”即可看到页面Dataview插件与Douban插件,将其开关打开,启动插件</li>\n</ul>\n<h3><strong>配置Douban插件</strong></h3>\n<p><strong>登陆豆瓣账号</strong></p>\n<p>点击【登陆】按钮,将出现网页弹窗,输入豆瓣的账户和密码后并进行登陆,登陆成功后网页弹窗将关闭</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/07/04/6867af5b88191.png\" alt=\"使用Obsidian打造个人图书馆! -转自知乎\" title=\"使用Obsidian打造个人图书馆! -转自知乎\" alt=\"v2-0bb091571c199e26882c3bbba78eaf15_1440w\"></p>\n<p><strong>设置快捷键</strong></p>\n<p>当需要录入多本图书时,设置一个快捷键可以提高效率。点击【快捷键】菜单,找到“Douban:搜索豆瓣并创建文档”,笔者设置的快捷键为“F2”</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/07/04/6867af5cbbcbf.png\" alt=\"使用Obsidian打造个人图书馆! -转自知乎\" title=\"使用Obsidian打造个人图书馆! -转自知乎\" alt=\"v2-d63c44ddcd747819424acf7340ebccfd_1440w\"></p>\n<h3><strong>创建并设置模板</strong></h3>\n<p>使用插件生成的图书文档包含许多的属性,其中有些属性可能是我们不需要的,所以我们将创建模板,使生成的图书文档包含的属性都是我们所需要的。</p>\n<p>1.开启模板功能</p>\n<p><img decoding=\"async\" src=\"https://joyLine truncated
"category": "系统技术",
"link": "https://joyagain.me/2025/07/04/%e4%bd%bf%e7%94%a8obsidian%e6%89%93%e9%80%a0%e4%b8%aa%e4%ba%ba%e5%9b%be%e4%b9%a6%e9%a6%86%ef%bc%81-%e8%bd%ac%e8%87%aa%e7%9f%a5%e4%b9%8e-2/",
"creator": "Again",
"pubDate": "Fri, 04 Jul 2025 10:40:26 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "9c86b6bf2d777e97ba17e7518628fb7f",
"highlights": []
},
{
"title": "鲜卑霸主亲儿为质十年,回国竟成“妖术之子”?中原这手太狠了!",
"description": "东汉末年,在桓帝、灵帝的腐朽统治下,东汉王朝向着覆灭的深渊疾驰下坠,内有底层人民起义不断,外有异族胡人虎视眈眈,其中最大威胁便是由檀石槐、拓跋力微先后统一的鲜卑。而在统一部落之后,此二人选择了截然不同的发展道路,檀石槐拒绝汉桓帝的封王与和亲,“缘边诸郡无岁不被鲜卑寇抄,杀略不可胜数”;拓跋力微则与曹魏、西晋保持亲善,而两人的结果自然也是完全相反。 一、雄杰之度,崛起之路 拓跋力微是鲜卑索头部首领,从父亲手中接过首领之位时,部落势力并不强,甚至一度失去自己的领地,若非拓跋力微有 [&#8230;]",
"content": "<p>东汉末年,在桓帝、灵帝的腐朽统治下,东汉王朝向着覆灭的深渊疾驰下坠,内有底层人民起义不断,外有异族胡人虎视眈眈,其中最大威胁便是由檀石槐、拓跋力微先后统一的鲜卑。而在统一部落之后,此二人选择了截然不同的发展道路,檀石槐拒绝汉桓帝的封王与和亲,<strong>“缘边诸郡无岁不被鲜卑寇抄,杀略不可胜数”</strong>;拓跋力微则与曹魏、西晋保持亲善,而两人的结果自然也是完全相反。</p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/e55e89dbfcaaf6498b4630.jpg\" alt=\"鲜卑霸主亲儿为质十年,回国竟成“妖术之子”?中原这手太狠了!\" title=\"鲜卑霸主亲儿为质十年,回国竟成“妖术之子”?中原这手太狠了!\" alt=\"\" /></p>\n<p><strong>一、雄杰之度,崛起之路</strong></p>\n<p>拓跋力微是鲜卑索头部首领,从父亲手中接过首领之位时,部落势力并不强,甚至一度失去自己的领地,若非拓跋力微有雄杰之度和高超外交手段,也就不会有未来的北魏政权。在遭到其他部族进攻导致领地丢失后,拓跋力微依附于没鹿回部首领窦宾,想借窦宾的力量复仇。</p>\n<p>在中原王朝,有曹操战败失马时族人曹洪让马逃过一劫,同样,窦宾出征失利失马步走,拓跋力微让出自己的坐骑,不过不同的是窦宾并不知道献马的是谁,“内求与马之人,当加重赏”,拓跋力微隐瞒不报,很久之后窦宾知道了,先是打算将部族的一半土地分给拓跋力微以报答救命之恩,在拓跋力微再三辞让后又将爱女嫁给他。</p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/5a6b70cce3492000fb1251.jpg\" alt=\"鲜卑霸主亲儿为质十年,回国竟成“妖术之子”?中原这手太狠了!\" title=\"鲜卑霸主亲儿为质十年,回国竟成“妖术之子”?中原这手太狠了!\" alt=\"\" /></p>\n<p>在窦宾的庇护下,拓跋力微将部族北迁长川,<strong>“积十数岁,德化大洽,诸旧部民,咸来归附”</strong>,更是让窦宾觉得女婿不凡,于是在自己病逝前想让拓跋力微统帅自己的部族,命两个儿子窦速侯、窦回题拥戴,不过已经是一家人的他们在窦宾死后争权,最终拓跋力微胜出,吞并了整个没鹿回部。</p>\n<p>为了稳定自己的统治,拓跋力微迁徙部众到定襄郡盛乐城,举行祭天仪式,各部大人都接受邀请出席,只有白部鲜卑大人迟疑不到,直接被拓跋力微杀了,<strong>“远近肃然,莫不震慑”</strong>,拓跋力微彻底掌握吞并的部族,可用控弦上马二十余万,有了如此庞大的军力,可拓跋力微却舍弃了武力侵边这一条路。</p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/0583b0cf459f72d8bb8d94.jpg\" alt=\"鲜卑霸主亲儿为质十年,回国竟成“妖术之子”?中原这手太狠了!\" title=\"鲜卑霸主亲儿为质十年,回国竟成“妖术之子”?中原这手太狠了!\" alt=\"\" /></p>\n<p><strong>二、前车之鉴,亲善中原</strong></p>\n<p>拓跋力微的前辈檀石槐,在统一鲜卑后多次率军侵犯东汉缘边九郡,杀害掳掠官吏百姓不计其数,在拒绝东汉王朝封王和亲后更是变本加厉,甚至还击败了汉军,但檀石槐四十五岁便死了,其子无力统领部族导致鲜卑分裂。</p>\n<p>下一个有统一鲜卑之心的是轲比能,他在弱小之时向代表中原王朝的曹操臣服,可在强大后心怀异志,在试图吞并所有鲜卑部落时屡次被名将田豫阻拦,由此势力始终未能及檀石槐,不过通过屡次向曹魏示好,以及田豫去世,轲比能还是统一了鲜卑,但被刺客韩龙杀死,鲜卑再度内乱。</p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/d45678b774be7e09ee2081.jpg\" alt=\"鲜卑霸主亲儿为质十年,回国竟成“妖术之子”?中原这手太狠了!\" title=\"鲜卑霸主亲儿为质十年,回国竟成“妖术之子”?中原这手太狠了!\" alt=\"\" /></p>\n<p>吸取前辈教训的拓跋力微选择与曹魏和亲,并且收起獠牙不再寇边树敌,甚至派出自己的长子拓跋沙漠汗为质,始终保持与中原王朝的和平,<strong>“笃信推诚,不为倚伏以要一时之利,宽恕任真,而遐迩归仰”</strong>。拓跋沙漠汗甚至是曹魏最尊贵的宾客,每年获得的金帛缯絮以万计。</p>\n<p>而在司马晋取代曹魏后,拓跋力微继续贯彻自己的亲善外交,而不是借口为曹魏报仇兴兵侵略,晋武帝司马炎同样是为温和的皇帝,也乐于维持边疆稳定,因此双方相安无事,可这样的和平终究不会成为永Line truncated
"category": "人文历史",
"link": "https://joyagain.me/2025/06/03/xian-bei-ba-zhu-qin-er-wei-zhi-shi-nian-hui-guo-ji/",
"creator": "Again",
"pubDate": "Tue, 03 Jun 2025 01:56:09 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "1937685d399adea24b95f0116616f5d2",
"highlights": []
},
{
"title": "回不去的童年",
"description": "*绘画/张石",
"content": "<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/e88efdc22bff2487cc611.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/bca97075704f1f54c0f340.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/1de481cfee586bb1925c71.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/3d4b76eba243eec1b04664.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/cffc622a64e11825735122.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/1c8ea301180813d58b7625.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/982071b51dc2604e76a159.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/4ffce04d92a4d6cb21c120.png\" alt=\"回不去的童年\" title=\"回不去的童年\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/4a59322d0f4fd43a872448.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/67e103b0761e60683e831.png\" alt=\"回不去的童年\" title=\"回不去的童年\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/1833649019dddb2a9dde23.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/291597a100aadd814d1936.png\" alt=\"回不去的童年\" title=\"回不去的童年\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/2d3142d77252ebd00be743.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/9b698eb3105bd82528f275.png\" alt=\"回不去的童年\" title=\"回不去的童年\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/8c7bbbba95c1025975e578.png\" alt=\"回不去的童年\" title=\"回不去的童年\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/134830ebd81b850f74d560.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/5e9f92a01c986bafcabb94.png\" alt=\"回不去的童年\" title=\"回不去的童年\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/0ff39bbbf981ac0151d341.png\" alt=\"回不去的童年\" title=\"回不去的童年\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/62f116f3878b71c6a21f99.webp\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyagain.me/wp-content/uploads/2025/06/becad47dc07e7b95aa6856.webp\" alt=\"\" /></p>\n<p>*绘画/张石</p>\n",
"category": "健康休闲",
"link": "https://joyagain.me/2025/06/02/hui-bu-qu-de-tong-nian-2/",
"creator": "Again",
"pubDate": "Mon, 02 Jun 2025 13:24:03 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "35fc83539ea635542fcbf4e387dfced3",
"highlights": []
},
{
"title": "亚太赛每日一牌回顾:精彩的四红心",
"description": "亚太锦标赛结束了,中国男队夺得冠军,在比赛期间所写的“每日一牌”,比赛期间并没有发出,从今天开始,给桥友们提供迟到的每日一牌。 5月18日每日一牌:精彩的4♥ 我们常说,桥牌比的就是判断力和执行力,特别是攻防环节,先判断牌型和牌点位置,再执行完成目标。 本届亚太赛上,中国男队的连勇,在第一循环迎战澳大利亚时,打出了下面这副精彩的做庄。 东家主打4♥ 东家连勇开叫1♥,西家连若旸的3♦是限制性加叫或更好,北家争叫4♣,西家4♥结束叫牌。 首攻是♣,北家兑现两墩♣后,出♦脱手,现 [&#8230;]",
"content": "<p>亚太锦标赛结束了,中国男队夺得冠军,在比赛期间所写的“每日一牌”,比赛期间并没有发出,从今天开始,给桥友们提供迟到的每日一牌。</p>\n<hr />\n<h2><a id=\"5%E6%9C%8818%E6%97%A5%E6%AF%8F%E6%97%A5%E4%B8%80%E7%89%8C%EF%BC%9A%E7%B2%BE%E5%BD%A9%E7%9A%844%E2%99%A5\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>5月18日每日一牌:精彩的4<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2665.png\" alt=\"♥\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" /></h2>\n<p>我们常说,桥牌比的就是判断力和执行力,特别是攻防环节,先判断牌型和牌点位置,再执行完成目标。</p>\n<p>本届亚太赛上,中国男队的连勇,在第一循环迎战澳大利亚时,打出了下面这副精彩的做庄。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/06/02/683d2cc8558fb.jpg\" alt=\"亚太赛每日一牌回顾:精彩的四红心\" title=\"亚太赛每日一牌回顾:精彩的四红心\" alt=\"\" /></p>\n<p>东家主打4<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2665.png\" alt=\"♥\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" /></p>\n<p>东家连勇开叫1<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2665.png\" alt=\"♥\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />,西家连若旸的3<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2666.png\" alt=\"♦\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />是限制性加叫或更好,北家争叫4<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2663.png\" alt=\"♣\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />,西家4<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2665.png\" alt=\"♥\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />结束叫牌。</p>\n<p>首攻是<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2663.png\" alt=\"♣\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />,北家兑现两墩<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2663.png\" alt=\"♣\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />后,出<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2666.png\" alt=\"♦\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />脱手,现在如何考虑?</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/06/02/683d2cc890398.jpg\" alt=\"亚太赛每日一牌回顾:精彩的四红心\" title=\"亚太赛每日一牌回顾:精彩的四红心\" alt=\"\" /></p>\n<p>如何把<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2660.png\" alt=\"♠\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />和<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2666.png\" alt=\"♦\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />的输张控制在一个</p>\n<p><img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2666.png\" alt=\"♦\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />的飞牌如果成功,什么时候都可以进行,连勇<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2666.png\" alt=\"♦\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />A拿住,两轮将牌停在明手,北家都跟出,如果<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2666.png\" alt=\"♦\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />Q在南家,就需要做好<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2660.png\" alt=\"♠\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />垫掉<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2666.png\" alt=\"♦\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />,而联手的<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2660.png\" alt=\"♠\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />,有可能输1-2墩,在限制只输1墩<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2660.png\" alt=\"♠\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />的情况下,能否获得3墩就是焦点。</p>\n<p>北家在4阶上争叫,他很可能有<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2660.png\" alt=\"♠\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />K,但也不是绝对的,如果北家是3张<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2660.png\" alt=\"♠\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />且有K,庄家几乎无法避免输掉两墩<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2660.png\" alt=\"♠\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" />,如果是两张<img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/2660.png\" alt=\"♠\" class=\"wp-smiley\" style=\"Line truncated
"category": "桥牌",
"link": "https://joyagain.me/2025/06/02/ya-tai-sai-mei-ri-yi-pai-hui-gu-jing-cai-de-si-hon/",
"creator": "Again",
"pubDate": "Mon, 02 Jun 2025 03:47:12 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "7ec6e5fec9edace393e0be78303e0ed5",
"highlights": []
},
{
"title": "Progressive Web App(PWA)",
"description": "一、前期介绍 1、为什么要将PWA作为本次的技术分享 2017年11月份,谷歌在上海举办了一个开发者大会,期间在很多会场都有关于PWA的介绍,作者认为谷歌在致力于推行这项技术,那么技术上还是很先进的,于是有了如下分享。 2、简单介绍 PWA的中文名叫做渐进式网页应用,早在2014年, W3C 公布过 Service Worker 的相关草案,但是其在生产环境被 Chrome 支持是在 2015 年。因此,如果我们把 PWA 的关键技术之一 Service Worker 的出现 [&#8230;]",
"content": "<h2><a id=\"%E4%B8%80%E3%80%81%E5%89%8D%E6%9C%9F%E4%BB%8B%E7%BB%8D\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>一、前期介绍</h2>\n<h3><a id=\"1%E3%80%81%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E5%B0%86pwa%E4%BD%9C%E4%B8%BA%E6%9C%AC%E6%AC%A1%E7%9A%84%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>1、为什么要将PWA作为本次的技术分享</h3>\n<p>2017年11月份,谷歌在上海举办了一个开发者大会,期间在很多会场都有关于<code>PWA</code>的介绍,作者认为谷歌在致力于推行这项技术,那么技术上还是很先进的,于是有了如下分享。</p>\n<h3><a id=\"2%E3%80%81%E7%AE%80%E5%8D%95%E4%BB%8B%E7%BB%8D\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>2、简单介绍</h3>\n<p>PWA的中文名叫做<strong>渐进式网页应用</strong>,早在2014年, W3C 公布过 <code>Service Worker</code> 的相关草案,但是其在生产环境被 <code>Chrome</code> 支持是在 2015 年。因此,如果我们把 PWA 的关键技术之一 <code>Service Worker</code> 的出现作为 <code>PWA</code> 的诞生时间,那就应该是 2015 年。</p>\n<p>自 2015 年以来,<code>PWA</code> 相关的技术不断升级优化,在用户体验和用户留存两方面都提供了非常好的解决方案。<code>PWA</code> 可以将 <code>Web</code> 和 <code>App</code> 各自的优势融合在一起:渐进式、可响应、可离线、实现类似 <code>App</code> 的交互、即时更新、安全、可以被搜索引擎检索、可推送、可安装、可链接。</p>\n<p><strong>需要特别说明的是,</strong><code>PWA</code>** 不是特指某一项技术,而是应用了多项技术的 <strong><code>Web App</code></strong>。其核心技术包括 <strong><code>App Manifest</code></strong>、<strong><code>Service Worker</code></strong>、<strong><code>Web Push</code></strong>,等等。**</p>\n<h3><a id=\"3%E3%80%81%E4%B8%BA%E4%BB%80%E4%B9%88w3c%E5%92%8C%E8%B0%B7%E6%AD%8C%E5%9C%A8%E6%8E%A8%E5%B9%BF%E8%BF%99%E9%A1%B9%E6%8A%80%E6%9C%AF\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>3、为什么W3C和谷歌在推广这项技术</h3>\n<p>这就要从前端的现状说起:</p>\n<p>Native APP 用起来很流畅,但是也有其天然的基因缺陷:</p>\n<blockquote>\n<ul>\n<li>由于其天生封闭的基因,内容无法被索引</li>\n<li>用户 80% 的时间被 Top3 的超级 App 占据,对于站点来说,应用分发的性价比也越来越不划算</li>\n<li>要使用它,首先还需要下载几十兆上百着兆的安装包</li>\n</ul>\n</blockquote>\n<p>WEB前端虽然天生具有开放的基因,但是很多时候页面会卡顿,用户体验不佳。虽然社区之前也做过很多努力,例如<code>virtual dom</code>、<code>spa</code>、混合编程、用<code>canvas</code>将整个页面画出来,用户体验也有了很大的改善,但是仍然无法解决几个重要的问题:</p>\n<blockquote>\n<ul>\n<li>离线时用户无法使用</li>\n<li>无法接收消息推送</li>\n<li>移动端没有一级入口</li>\n</ul>\n</blockquote>\n<p>W3C和谷歌看到了这些问题,于是推出了<code>PWA</code>。</p>\n<h3><a id=\"4%E3%80%81pwa%E7%9A%84%E6%A0%B8%E5%BF%83%E7%9B%AE%E6%A0%87\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>4、PWA的核心目标</h3>\n<p><code>PWA</code>的核心目标就是提升 Web App 的性能,改善 Web App 的用户体验。媲美native的流畅体验,将网络之长与应用之长相结合。</p>\n<h2><a id=\"%E4%BA%8C%E3%80%81%E7%89%B9%E7%82%B9\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>二、特点</h2>\n<h3><a id=\"1%E3%80%81pwa%E7%9A%84%E7%89%B9%E7%82%B9\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>1、PWA的特点</h3>\n<p>PWA具有以下一些特点:</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/29/6837d2cb9d49b.png\" alt=\"Progressive Web App(PWA)\" title=\"Progressive Web App(PWA)\" alt=\"\" /></p>\n<p>这边有一个关于PWA特点的<a href=\"https://link.juejin.cn/?target=https%3A%2F%2Fdevelopers.google.com%2Fweb%2Fprogressive-web-apps%2Fchecklist%23exemplary\">列表清单</a>,有兴趣的同学可以点进去看看.</p>\n<h3><a id=\"2%E3%80%81%E7%89%B9%E7%82%B9%E8%AF%A6%E8%A7%A3\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>2、特点详解</h3>\n<h4><a id=\"%EF%BC%881%EF%BC%89%E3%80%81%E5%8F%AF%E5%AE%89%E8%A3%85\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"></span></a>(1)、可安装</h4>\n<p>1、可安装指的是可以像原生APP在主屏幕上留有图标。</p>\n<p>2、但是这需要我们提供 <code>Web app manifest</Line truncated
"category": "系统技术",
"link": "https://joyagain.me/2025/05/29/progressive-web-apppwa/",
"creator": "Again",
"pubDate": "Thu, 29 May 2025 03:15:12 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "7eb605f2f7855ad45e64e364eb14a32d",
"highlights": []
},
{
"title": "人这一辈子,就像坐过山车。",
"description": "年轻时拼命往上爬,生怕自己掉队,退休后才发现,原来真正的高级活法,是学会&#34;销声匿迹&#34;——不是躲进深山当隐士,而是把日子过得像一壶老茶,不声不响,但滋味悠长。 一、别总急着晒行踪:低调才是顶级情商 年轻时总怕被遗忘,朋友圈恨不得每分钟更新定位。 但退休后你会发现,真正的聪明人,活得像&#34;潜水艇&#34;——表面静悄悄,底下自有乾坤。 晚清名臣曾国藩退休后闭门谢客,天天捧着《资治通鉴》啃,结果暗地里推动幼童留学计划。 他精心选拔优秀幼童,安排他们赴美 [&#8230;]",
"content": "<p>年轻时拼命往上爬,生怕自己掉队,退休后才发现,原来真正的高级活法,是学会&quot;销声匿迹&quot;——不是躲进深山当隐士,而是把日子过得像一壶老茶,不声不响,但滋味悠长。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835bca28d903.jpg\" alt=\"人这一辈子,就像坐过山车。\" title=\"人这一辈子,就像坐过山车。\" alt=\"\" /></p>\n<p><strong>一、别总急着晒行踪:低调才是顶级情商</strong></p>\n<p>年轻时总怕被遗忘,朋友圈恨不得每分钟更新定位。</p>\n<p>但退休后你会发现,真正的聪明人,活得像&quot;潜水艇&quot;——表面静悄悄,底下自有乾坤。</p>\n<p>晚清名臣曾国藩退休后闭门谢客,天天捧着《资治通鉴》啃,结果暗地里推动幼童留学计划。</p>\n<p>他精心选拔优秀幼童,安排他们赴美学习先进技术与管理,为中国的近代化培养出一批杰出人才,如铁路工程师詹天佑等。</p>\n<p>这老头儿活明白了:&quot;闷声干大事,比敲锣打鼓管用。&quot;</p>\n<p>杭州有个退休教授,以前天天晒养生食谱、旅行打卡,结果三个月血压飙升,差点中风。</p>\n<p>后来他关朋友圈,在家练书法、写回忆录,反倒整出20万字的自传,血压也稳得像西湖的水。</p>\n<p>你看,退休后的&quot;隐形模式&quot;,不是逃避,而是给自己留片清净地,就像日本茶道说的:&quot;留三分神秘,才能品出七分滋味。&quot;</p>\n<p><strong>二、有钱没钱别瞎显摆:守住钱包就是守住晚年</strong></p>\n<p>上海社科院去年调研发现,75%的退休纠纷都是钱惹的祸。</p>\n<p>我邻居张阿姨,退休金不少,结果跟亲戚聊家常时漏了句&quot;存款够养老&quot;,三个月被七大姑八大姨借走20万,最后只能卖房还债。</p>\n<p>反观楼下王叔,明明炒股赚得盆满钵满,但见人就说&quot;刚够买菜&quot;,转头却偷偷资助山区学生。</p>\n<p>这老狐狸深谙北宋范仲淹的套路——&quot;善行不留名,才能善始善终。&quot;</p>\n<p>真正的财富自由,从来不是银行卡数字,而是&quot;兜里有钱,心里不慌&quot;。</p>\n<p>就像陶渊明说的:&quot;不戚戚于贫贱,不汲汲于富贵。&quot;</p>\n<p>退休后守住钱包,守住的更是晚年的安宁。</p>\n<p>为了保持这种内心的平静与安宁,可以尝试一些具体方法。</p>\n<p>例如,每天进行冥想或瑜伽,这些活动能够帮助缓解压力,使心情更加平静。</p>\n<p>另外,培养兴趣爱好如绘画或园艺,可以让人专注于当下,忘却烦恼。</p>\n<p>还可以多与志同道合的朋友交流,分享彼此的生活经验,从而获得心灵上的慰藉和支持。</p>\n<p><strong>三、心里话烂肚子里:沉默是金,开口是坑</strong></p>\n<p>战国时期的楚庄王,三年装哑巴,憋出个春秋五霸。</p>\n<p>退休后更得学会这招&quot;藏心术&quot;。</p>\n<p>北京某医院统计,68%的退休抑郁症都是&quot;话太多&quot;惹的祸。</p>\n<p>要运用好&quot;藏心术&quot;,关键在于把握好倾诉的度。</p>\n<p>我认识个老局长,退休后天天跟人吹嘘当年威风,结果被小辈坑了养老金,差点跳楼。</p>\n<p>反观苏州退休干部老张,锁起工作日记当&quot;哑巴&quot;,却在社区教书法,有人问起当年政绩,他只笑答:&quot;笔尖记得比人脑清楚。&quot;</p>\n<p>德国哲学家叔本华说:&quot;隐私是灵魂的盔甲。&quot;</p>\n<p>退休后的心事,就像老酒,自个儿慢慢品,比倒给别人听强百倍。</p>\n<p>成都茶馆里那些老头,各坐一隅喝茶,不打听别人家事,不炫耀自己过往,这才是活得通透的活教材。</p>\n<p><strong>四、悲喜自个儿消化:情绪稳定才是长寿密码</strong></p>\n<p>《黄帝内经》说:&quot;心动则百病生。&quot;</p>\n<p>南京文物修复师周老,年轻时修复过国宝级青花瓷,后来藏品流失海外拍卖,他只淡笑:&quot;见过便是缘分。&quot;</p>\n<p>这份淡定让他80岁还能执笔修《韩熙载夜宴图》。</p>\n<p>加州大学研究发现,情绪内敛的老人端粒比话痨同龄人年轻5-7岁,相当于多活十年!</p>\n<p>退休后的悲喜,就像景德镇的冰裂纹瓷器——美在留白处。</p>\n<p>玄武湖晨练的老头,打完太极拂袖而去,连名字都不留,这才是老子说的&quot;大音希声&quot;。</p>\n<p>南京有个退休医生,老伴走了十年,他每天对着空椅子说&quot;今日晴&quot;,把悲伤熬成茶,自己倒成了社区最长寿的&quot;神仙&quot;。</p>\n<p>古往今来,类似的例子不胜枚举。</p>\n<p>陶渊明辞官归隐田园,在平凡的日子里寻觅内心的宁静;</p>\n<p>苏轼一生坎坷Line truncated
"category": "健康休闲",
"link": "https://joyagain.me/2025/05/27/ren-zhe-yi-bei-zi-jiu-xiang-zuo-guo-shan-che/",
"creator": "Again",
"pubDate": "Tue, 27 May 2025 12:21:36 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "041075d2f456d788fb7f799b04c0d1de",
"highlights": []
},
{
"title": "发现一个奇怪的现象:夫妻之间凡是感情不和的,大都“五感不通”",
"description": "听过这样一句话:“婚姻是围城,三观不合的人困于其中,既无法亲近,也难以脱身,只能在彼此消耗中苦苦挣扎。” 年少时,总以为找个三观契合的人,婚姻就会幸福。 可现实是,哪怕三观一致,也会因生活方式不同而争执不断,频繁冷战,最终相看生厌。 直到后来才明白,好的婚姻,不仅在于想法一致,更在于五感相通。 一个眼神、一句肯定、一次倾听、一个拥抱、一分理解……这些细微之处,才是感情长久的养分。 看见对方,比争对错更重要 有句话说:“爱情是一颗蜜糖,会不断放大对方的优点;婚姻是现实,会放大对 [&#8230;]",
"content": "<p>听过这样一句话:“婚姻是围城,三观不合的人困于其中,既无法亲近,也难以脱身,只能在彼此消耗中苦苦挣扎。”</p>\n<p>年少时,总以为找个三观契合的人,婚姻就会幸福。</p>\n<p>可现实是,哪怕三观一致,也会因生活方式不同而争执不断,频繁冷战,最终相看生厌。</p>\n<p>直到后来才明白,好的婚姻,不仅在于想法一致,更在于五感相通。</p>\n<p>一个眼神、一句肯定、一次倾听、一个拥抱、一分理解……这些细微之处,才是感情长久的养分。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b1c1b8428.jpg\" alt=\"发现一个奇怪的现象:夫妻之间凡是感情不和的,大都“五感不通”\" title=\"发现一个奇怪的现象:夫妻之间凡是感情不和的,大都“五感不通”\" alt=\"\" /></p>\n<p>看见对方,比争对错更重要</p>\n<p>有句话说:“爱情是一颗蜜糖,会不断放大对方的优点;婚姻是现实,会放大对方的缺点,掩埋对方的优点。”</p>\n<p>很多夫妻总会遇到这样的场景:</p>\n<p>因一点小事争吵,吵着吵着就变成相互指责,直到精疲力尽,仍僵持不下。</p>\n<p>事后冷静了又后悔:“不过是鸡毛蒜皮的事,为什么会闹得这么僵?”</p>\n<p>其实,争执的背后,往往是因为我们忽视了对方的好。</p>\n<p>朋友有段时间,经常跟老公因为生活琐事争吵不断。</p>\n<p>一开口,就进入“战斗模式”:她控诉丈夫总挑自己毛病,丈夫埋怨她总不长记性。</p>\n<p>渐渐地,两人的亲密感逐渐被消磨。</p>\n<p>一次,她听到同事夸赞自己的伴侣,这才意识到,丈夫并没有自己想的那么差,一直用行动默默表达爱:</p>\n<p>会在她上班前,准备一杯热牛奶;冬天睡觉时,提前在被窝里塞暖水袋……</p>\n<p>只是自己一味盯着对方的错,对这些付出视而不见。</p>\n<p>回家后,她一反常态说了句:“今天谢谢你帮我关了灯。”</p>\n<p>丈夫一愣,随即笑道:“其实,每次我都会顺手关掉。”</p>\n<p>后来,她总会留意丈夫的一举一动,心里的感动越来越多,不仅不再跟丈夫吵,还经常夸丈夫的好,两人的关系越来越亲密。</p>\n<p>科学研究证明:“当一个人被看见、被认可,内心会更有安全感,也更愿意去回应这份爱。”</p>\n<p>当亲密关系有了良性的情感互动,爱就开始在心间流动,彼此间的接纳和包容就会慢慢增多。</p>\n<p>即使发生冲突,也能及时化解,不会陷入无休止地争执。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b1c2d8e21.jpg\" alt=\"发现一个奇怪的现象:夫妻之间凡是感情不和的,大都“五感不通”\" title=\"发现一个奇怪的现象:夫妻之间凡是感情不和的,大都“五感不通”\" alt=\"\" /></p>\n<p>会听,比会说更暖心</p>\n<p>《爱的五种语言》里,有一对夫妻结婚17年。</p>\n<p>有天妻子突然提离婚,原因是:</p>\n<p>每当她向丈夫倾诉工作的烦恼,丈夫都立刻给建议。</p>\n<p>可第二天她又提起同样的问题,丈夫依旧很不耐烦。</p>\n<p>反复几次后,丈夫愤怒地告诉她:“如果你不听我的建议,那就别再抱怨了,我也不想再听,更不会同情你。”</p>\n<p>从此,妻子便不再倾诉了,还动了离开的念头。</p>\n<p>因为她真正需要的是倾听、理解、关注,而不是被教育。</p>\n<p>婚姻里,情商最低的行为,就是不停地说教。</p>\n<p>讲道理,其实是在暗示“你不对”,只会加剧对方的负面情绪,让他更激动。</p>\n<p>只有给足另一半共情,才能真正缓解他的情绪。</p>\n<p>前段时间,表妹和姐姐起了争执,心情极差。</p>\n<p>她向老公抱怨,老公没有安慰她,而是问:“发生了什么事,让你这么难过?”</p>\n<p>他耐心听完,没有急于评判对错,而是试着共情妻子的情绪,确认自己的理解是否到位:</p>\n<p>“你很爱姐姐,但受不了她的强势,你希望她能多尊重你的意见,对吗?”</p>\n<p>这句话正中她的委屈。</p>\n<p>即使问题未解,她也不再难受,反而有了解决问题的勇气。</p>\n<p>《共情的力量》里有句话:“共情是把你的耳朵放到别人的灵魂中,用心聆听那里最急切的喃喃私语。”</p>\n<p>只有愿意倾听对方的烦恼与不开心,才能拆除对方的心墙,摘下防备的面具,毫无保留地交付信任。</p>\n<p>虽然人与人很难完全感同身受,但换位思考,理解他的情绪,依然能让他如沐春风,倍感踏实,从而一步一步建立深度的情感链接。</p>\n<p><img decoding=\"async\" src=\"https:/Line truncated
"category": "健康休闲",
"link": "https://joyagain.me/2025/05/27/fa-xian-yi-ge-qi-guai-de-xian-xiang-fu-qi-zhi-jian/",
"creator": "Again",
"pubDate": "Tue, 27 May 2025 12:21:36 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "9728f15dd91d2a3640e9e0f9d0243462",
"highlights": []
},
{
"title": "明朝发生了一件怪事,被列为世界三大未解之谜,600多年至今无解",
"description": "自古以来,这个世界上就充满了各种奇异事件,它们如同迷雾中的幻影,即便在人类科技日益发达的今天,仍有许多难题悬而未解,仿佛是大自然对人类智慧的一种挑衅。古人对于未知现象往往崇尚鬼神之说,由于文献记载稀少,那些怪异之事大多依靠民间口耳相传,成为茶余饭后的谈资,也为历史增添了一抹神秘的色彩。 在明朝天启六年,即公元1626年5月30日,北京城发生了一场前所未有的神秘大爆炸,这场灾难不仅造成了巨大的人员伤亡,更因其种种怪异现象而令人啧啧称奇,至今仍是一个未解之谜。当日,死伤者众多,且 [&#8230;]",
"content": "<p>自古以来,这个世界上就充满了各种奇异事件,它们如同迷雾中的幻影,即便在人类科技日益发达的今天,仍有许多难题悬而未解,仿佛是大自然对人类智慧的一种挑衅。古人对于未知现象往往崇尚鬼神之说,由于文献记载稀少,那些怪异之事大多依靠民间口耳相传,成为茶余饭后的谈资,也为历史增添了一抹神秘的色彩。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b15965710.jpg\" alt=\"明朝发生了一件怪事,被列为世界三大未解之谜,600多年至今无解\" title=\"明朝发生了一件怪事,被列为世界三大未解之谜,600多年至今无解\" alt=\"\" /></p>\n<p>在明朝天启六年,即公元1626年5月30日,北京城发生了一场前所未有的神秘大爆炸,这场灾难不仅造成了巨大的人员伤亡,更因其种种怪异现象而令人啧啧称奇,至今仍是一个未解之谜。当日,死伤者众多,且令人匪夷所思的是,所有死伤者均呈裸体状态,这一奇特现象无疑为这场爆炸笼上了一层更加神秘的面纱。</p>\n<p>在爆炸发生之前,北京城已经出现了诸多不祥之兆。持续的旱灾让土地干裂,庄稼枯萎,百姓们忧心忡忡;而在炎炎夏日,竟然出现了霜冻现象,寒气逼人,仿佛是大自然在预示着一场浩劫的来临。更有人们莫名其妙地昏迷不醒,火神庙内也传出了阵阵怪异的音乐声,这一切的一切,都如同灾难前的序曲,让人心中充满了不安。</p>\n<p>终于,在那个看似平静的午后,东北方向的天空突然传来了一阵沉闷的雷声,紧接着,一声巨响震彻云霄,火光冲天而起,将整片天空映得一片通红。大地开始剧烈摇晃,仿佛是天崩地裂一般。当时的皇帝朱由检正在皇宫之中,他惊慌失措地躲在桌下,才幸免于难。爆炸过后,朱由检接到了大臣们的奏折,才得知这场灾难的起因原来是北京城内的王恭厂火药库发生了爆炸。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b15965710.jpg\" alt=\"明朝发生了一件怪事,被列为世界三大未解之谜,600多年至今无解\" title=\"明朝发生了一件怪事,被列为世界三大未解之谜,600多年至今无解\" alt=\"\" /></p>\n<p>据史书记载,这次爆炸的范围半径达到了750米,面积覆盖了2.25平方公里之广,死伤人数更是高达2万余人,其威力相当于1万至2万吨TNT炸药爆炸所产生的破坏力。这样的灾难,对于当时的北京城来说,无疑是一场灭顶之灾。</p>\n<p>《国榷》一书中详细记载了这场爆炸的惨烈景象。火神庙的守门内臣在爆炸前听到了三叠乐音,随后便看见一个火球从庙内滚出。东城方向传来了如同霹雳般的巨响,朱由检在慌乱中躲避,连御座都被震得倾斜。大殿内的工匠们纷纷坠亡,死伤者均呈裸体状态,他们的衣服被爆炸的气流吹挂到了西山的树上。昌平教场更是衣服成堆,员弘寺街上的一顶轿子中的女子虽然赤身裸体却奇迹般地毫发无损。王恭厂周边的幸存者也都目睹了这一幕,死伤者皆一丝不挂,衣服被吹至西山,有人推测这是爆炸产生的强大气流将衣服撕开。</p>\n<p>然而,《国榷》中的另一记载却让这一推测产生了疑问。员弘寺街那顶轿中的女子在爆炸后不仅未受伤,连衣服也凭空消失了,这用气流说来解释显然难以服众。于是,关于这场爆炸的原因,人们众说纷纭。有人认为是触怒了火神,遭到了天谴;也有人认为是奸细所为,故意制造混乱。但这些说法都无法给出一个令人信服的解释。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b15984623.jpg\" alt=\"明朝发生了一件怪事,被列为世界三大未解之谜,600多年至今无解\" title=\"明朝发生了一件怪事,被列为世界三大未解之谜,600多年至今无解\" alt=\"\" /></p>\n<p>专家们对此也各执一词,有人认为是地震引发的爆炸,有人认为是龙卷风作祟,还有人提出了陨石撞击和火药自燃等说法。但遗憾的是,这些观点都没有切实的证据来支持。这场被称为“天启大爆炸”的灾难,与“印度死丘事件”和“通古斯大爆炸”并称为世界三大自然灾难,成为了人类历史上永远无法抹去的谜团。</p>\n<p>时至今日,当我们回望这段历史时,仍然不禁对那场神秘的大爆炸感到震撼和好奇。它不仅是人类历史上的一次重大灾难,更是对人类智慧的一次挑战。或许在未来的某一天,随着科技的进步和考古的发现,我们能够揭开这场爆炸的神秘面纱,还原历史的真相。但在此之前,它仍Line truncated
"category": "人文历史",
"link": "https://joyagain.me/2025/05/27/ming-chao-fa-sheng-le-yi-jian-guai-shi-bei-lie-wei/",
"creator": "Again",
"pubDate": "Tue, 27 May 2025 12:21:36 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "6f5448e56e09c30656e98e1984ddb4c6",
"highlights": []
},
{
"title": "为什么中国古代只有朱元璋做到了从南到北统一全国?",
"description": "在中国古代历史长河中,“由北向南”统一天下几乎是铁律。 从秦汉到隋唐,再到元清,北方政权始终占据压倒性优势。 明朝的朱元璋却打破了这一规律,成为唯一从南方起兵并成功统一全国的帝王。 为何其他南方政权屡战屡败,唯独朱元璋能逆天改命? 一、北方霸权的千年根基:为何“由南统北”难如登天? 在朱元璋之前,东晋的桓温、刘裕,南朝的刘义隆,甚至南宋的岳飞,都曾试图北伐却功亏一篑。 其背后是北方政权不可撼动的三大优势: 1、经济与人口的绝对碾压 唐朝以前,黄河流域是中国的经济中心。北方土地 [&#8230;]",
"content": "<p>在中国古代历史长河中,“由北向南”统一天下几乎是铁律。</p>\n<p>从秦汉到隋唐,再到元清,北方政权始终占据压倒性优势。</p>\n<p>明朝的朱元璋却打破了这一规律,成为唯一从南方起兵并成功统一全国的帝王。</p>\n<p>为何其他南方政权屡战屡败,唯独朱元璋能逆天改命?</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b0d65d56b.jpg\" alt=\"为什么中国古代只有朱元璋做到了从南到北统一全国?\" title=\"为什么中国古代只有朱元璋做到了从南到北统一全国?\" alt=\"\" /></p>\n<p><strong>一、北方霸权的千年根基:为何“由南统北”难如登天?</strong></p>\n<p>在朱元璋之前,东晋的桓温、刘裕,南朝的刘义隆,甚至南宋的岳飞,都曾试图北伐却功亏一篑。</p>\n<p>其背后是北方政权不可撼动的三大优势:</p>\n<p>1、经济与人口的绝对碾压</p>\n<p>唐朝以前,黄河流域是中国的经济中心。北方土地开发成熟,人口稠密,仅三国时期曹魏的人口就超过孙吴和蜀汉的总和。</p>\n<p>农业发达带来充足的粮草和兵源,而南方长期“刀耕火种”,直到南宋才完成经济重心南移。</p>\n<p>2、骑兵霸权的军事代差</p>\n<p>冷兵器时代,骑兵是战场之王。北方拥有广袤牧场,战马数量和品质远超南方。</p>\n<p>南宋岳家军拼尽全力仅能组建万人骑兵,而金军动辄以数万铁骑冲锋,马匹高度、铠甲防护均占优。</p>\n<p>南方水网密布的地形更限制了骑兵机动性,反成劣势。</p>\n<p>3、地理与气候的天然屏障</p>\n<p>北伐需跨越淮河、黄河,冬季严寒对南方军队是致命考验。</p>\n<p>北方政权可“坚壁清野”,烧毁农田、断粮道,而南方补给线一旦被截,溃败如山倒。</p>\n<p>刘裕北伐因后方内乱被迫回师,桓温因粮尽焚船撤退,皆是明证。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b0d64c14e.jpg\" alt=\"为什么中国古代只有朱元璋做到了从南到北统一全国?\" title=\"为什么中国古代只有朱元璋做到了从南到北统一全国?\" alt=\"\" /></p>\n<p><strong>二、朱元璋的逆袭:天时、地利、人和</strong></p>\n<p>朱元璋的成功绝非偶然,而是多重历史条件与个人能力的共振:</p>\n<p>1、经济重心南移:南方终于“有钱任性”</p>\n<p>南宋时期,“苏湖熟,天下足”的谚语已印证江南的经济地位。</p>\n<p>元朝依赖海运将南方粮食北运,朱元璋占据江南后,不仅粮草无忧,还能通过海运高效补给前线。</p>\n<p>反观元末北方因战乱和黄河水患,经济凋敝,此消彼长下,南方首次具备碾压北方的物质基础。</p>\n<p>2、元朝的内乱与衰落:对手自毁长城</p>\n<p>元朝后期内斗不休,军阀混战,对南方起义军“放任自流”。</p>\n<p>朱元璋击败陈友谅、张士诚时,元廷甚至无暇干预。</p>\n<p>曾经的蒙古铁骑因腐化丧失战斗力,连马匹都“自甘堕落”,体型瘦小,不复成吉思汗时代的雄风。</p>\n<p>3、战略与执行的教科书级操作</p>\n<p>步步为营:朱元璋采纳“高筑墙、广积粮、缓称王”策略,先稳固江南,再北伐中原,避免战线过长。</p>\n<p>海运粮道:北伐时沿大运河和海运双线补给,攻山东、取河南,步步为营,避免粮草危机。</p>\n<p>民族旗帜:以“驱除胡虏,恢复中华”为口号,激发汉人反抗元朝压迫的民族情绪,赢得民心。</p>\n<p>4、精英团队的降维打击</p>\n<p>朱元璋麾下的徐达、常遇春等将领堪称“史上最强创业团队”,而元朝名将察罕帖木儿早逝,继任者王保保难堪大任。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b0d6847df.jpg\" alt=\"为什么中国古代只有朱元璋做到了从南到北统一全国?\" title=\"为什么中国古代只有朱元璋做到了从南到北统一全国?\" alt=\"\" /></p>\n<p><strong>三、对比失败案例:为何别人不行?</strong></p>\n<p>1、刘裕:后院失火的悲剧</p>\n<p>东晋刘裕北伐一度收复长安,却因谋士刘穆之病逝、担忧后方叛乱,被迫回师建康,错失良机。</p>\n<p>2、刘义隆:元嘉草草的教训</p>\n<p>南朝刘义隆三次北伐,因战略僵化(只盯河南)、任人唯亲(启用无能的王玄谟)、干预前线指挥,导致“赢得仓皇北顾”。</p>\n<p>3、南宋:骑兵短板与政治掣肘</p>\n<p>岳飞北伐被“十二道金牌”召回,背后是南宋朝廷对武将的猜忌。即便没有秦桧,南方缺马的问题也注定其难以持久。</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b0d68896c.jpg\" alt=\"Line truncated
"category": "人文历史",
"link": "https://joyagain.me/2025/05/27/wei-shen-me-zhong-guo-gu-dai-zhi-you-zhu-yuan-zhan/",
"creator": "Again",
"pubDate": "Tue, 27 May 2025 12:21:36 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "3eb98f8ba07190ee1af92f619a345f23",
"highlights": []
},
{
"title": "作为中国人可以不读全部诗词,但至少要会背这些千古名句!",
"description": "董卿说: “作为中国人可以不读全部诗词,但至少要会背这些千古名句!” “欲穷千里目,更上一层楼”,“海内存知己,天涯若比邻”…… 这些琅琅上口的诗句,你都知晓吗? 事理哲理类 1、欲穷千里目,更上一层楼。 ——王之涣《登鹳雀楼》 2、人事有代谢,往来成古今。 ——孟浩然《与诸子登岘山》 3、草木本无意,荣枯自有时。 ——孟浩然《江上寄山阴崔少府国辅》 4、蚍蜉撼大树,可笑不自量。 ——韩愈《调张籍》 5、衰兰送客咸阳道,天若有情天亦老。 ——李贺《金铜仙人辞汉歌》 6、读书不 [&#8230;]",
"content": "<p>董卿说:</p>\n<blockquote>\n<p>“作为中国人可以不读全部诗词,但至少要会背这些千古名句!”</p>\n</blockquote>\n<p>“欲穷千里目,更上一层楼”,“海内存知己,天涯若比邻”……</p>\n<p>这些琅琅上口的诗句,你都知晓吗?</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b000c0849.jpg\" alt=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" title=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835affcee269.jpg\" alt=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" title=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" alt=\"\" /></p>\n<p>事理哲理类</p>\n<p>1、欲穷千里目,更上一层楼。</p>\n<p>——王之涣《登鹳雀楼》</p>\n<p>2、人事有代谢,往来成古今。</p>\n<p>——孟浩然《与诸子登岘山》</p>\n<p>3、草木本无意,荣枯自有时。</p>\n<p>——孟浩然《江上寄山阴崔少府国辅》</p>\n<p>4、蚍蜉撼大树,可笑不自量。</p>\n<p>——韩愈《调张籍》</p>\n<p>5、衰兰送客咸阳道,天若有情天亦老。</p>\n<p>——李贺《金铜仙人辞汉歌》</p>\n<p>6、读书不觉已春深,一寸光阴一寸金。</p>\n<p>——王贞白《白鹿洞二首》</p>\n<p>7、古来青史谁不见,今见功名胜古人。</p>\n<p>——岑参《轮台歌奉送封大夫出师西征》</p>\n<p>8、年年岁岁花相似,岁岁年年人不同。</p>\n<p>——刘希夷《代悲白头翁》</p>\n<p>9、请君莫奏前朝曲,听唱新翻杨柳枝。</p>\n<p>——刘禹锡《杨柳枝词》</p>\n<p>10、尔曹身与名俱灭,不废江河万古流。</p>\n<p>——杜甫《戏为六绝句》</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835afff9aec0.jpg\" alt=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" title=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835affcddf25.jpg\" alt=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" title=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" alt=\"\" /></p>\n<p>写作炼字类</p>\n<p>1、文章千古事,得失寸心知。</p>\n<p>——杜甫《偶题》</p>\n<p>2、清水出芙蓉,天然去雕饰。</p>\n<p> ——李白《经乱离后天恩流夜郎忆旧游书怀赠江夏韦太守良宰》</p>\n<p>3、两句三年得,一吟双泪流。</p>\n<p>——贾岛《题诗后》</p>\n<p>4、吟安一个字,撚断数茎须。</p>\n<p>——卢延让《苦吟》</p>\n<p>5、为人性僻耽佳句,语不惊人死不休。</p>\n<p>——杜甫《江上值水如海势聊短述》</p>\n<p>6、读书破万卷,下笔如有神。</p>\n<p>——杜甫《奉赠韦左丞丈二十二韵》</p>\n<p>7、李杜文章在,光焰万丈长。</p>\n<p>——韩愈《调张籍》</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b000c0849.jpg\" alt=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" title=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835affd1cfba.jpg\" alt=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" title=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" alt=\"\" /></p>\n<p>学问成才类</p>\n<p>1、学非探其花,要自拨其根。</p>\n<p>——杜牧《留诲曹师等诗》</p>\n<p>2、十年磨一剑,霜刃未曾试。</p>\n<p>——贾岛《剑客》</p>\n<p>3、青春须早为,岂能长少年。</p>\n<p>——孟郊《劝学》</p>\n<p>4、逢时独为贵,历代岂无才。</p>\n<p>——陈子昂《咏郭槐》</p>\n<p>5、南山栋梁益稀少,爱材养育谁复议。</p>\n<p>——柳宗元《行路难》</p>\n<p>6、试玉要烧三日满,辨材须待七年期。</p>\n<p>——白居易《放言》</p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835b002c5836.jpg\" alt=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" title=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" alt=\"\" /></p>\n<p><img decoding=\"async\" src=\"https://joyimg.cpolar.top/i/2025/05/27/6835affd4c796.jpg\" alt=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" title=\"作为中国人可以不读全部诗词,但至少要会背这些千古名句!\" alt=\"\" /></Line truncated
"category": "人文历史",
"link": "https://joyagain.me/2025/05/27/zuo-wei-zhong-guo-ren-ke-yi-bu-du-quan-bu-shi-ci-d/",
"creator": "Again",
"pubDate": "Tue, 27 May 2025 12:21:36 +0000",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "博客",
"feed": "我的博客",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "2f1a3a5caccfa2d45538e403605d5ea7",
"highlights": []
}
],
"folder": "博客",
"name": "我的博客",
"language": "zh",
"hash": "477a8d7857dfe29bc03f686f2b9738b3"
},
{
"title": "Hi, DIYgod",
"subtitle": "",
"link": "https://diygod.cc",
"image": "https://ipfs.crossbell.io/ipfs/bafybeibefx2tyow77m2wcnsh5anaaxfy7ypxbcuapb52c4h255onqp72ye",
"description": "写代码是热爱,写到世界充满爱!",
"items": [
{
"title": "一个六岁开源项目的崩溃与新生",
"description": "我有一个维护了六年的开源项目—— RSSHub,它正在面临崩溃\n\n表面上,它有接近 30k Stars、900 多 Contributors、每月 3 亿多次请求和数不清的用户、每月几十刀的赞助、有源源不断的 issue 和 pr、代码几乎每天更新,非常健康和充满活力",
"content": "<p>我有一个维护了六年的开源项目 —— RSSHub,它正在面临崩溃</p>\n<h2 id=\"user-content-背景\">背景</h2>\n<p>表面上,它有接近 30k Stars、900 多 Contributors、每月 3 亿多次请求和数不清的用户、每月几十刀的赞助、有源源不断的 issue 和 pr、代码几乎每天更新,非常健康和充满活力,但在不可见的地方,持续数年高昂的维护时间成本、每月一千多刀的服务器费用、每天重复繁琐且逐渐积累的维护工作,都让它在崩溃的边缘反复横跳</p>\n<p>项目是六年前开发的,不少当时以 Next Generation 为口号的时髦 Node.js 技术栈和依赖库已经成为时代眼泪,现在看非常陈旧,很多现在流行的新技术没法应用,比如 JSX、TypeScript、Serverless 等;它的架构也非常不合理,每个路由的信息散落在多个地方,开发或者变更一个路由需要多处修改,一个地方去注册路由,一个地方去编写路由脚本,一个地方去编写 Radar 规则,一个地方去编写文档...... 这增加了很多工作量,也很容易出错,之前路由少的时候并不是个问题,但现在已经变得难以忍受</p>\n<p>在如此糟糕的基础架构下能保持现状已经是竭尽全力,开发新功能更是无本之木,只会增加以后更新的难度,所以我有时候脑子蹦出的新奇想法也很难实现</p>\n<p>要解决这些问题,唯一的办法是使用现代化的框架和新设计的架构来重写内核,但随着路由越来越多,改造成本也越来越高,每个基础改动可能都需要多达数月的工作量,所以虽然问题越来越严重,但秉承着又不是不能用的原则一拖再拖</p>\n<p>但这又是不得不做的事情,所以我抽空花了几个月的时间重新设计和重写了它</p>\n<h2 id=\"user-content-技术栈更新\">技术栈更新</h2>\n<h3 id=\"user-content-koa---hono\">koa -> Hono</h3>\n<p>第一步也是最基础和难度最大的是换掉之前使用的 Web 框架 <a href=\"https://github.com/koajs/koa\" target=\"_blank\" rel=\"noopener noreferrer\">koa</a>,作为六年前流行的下一代 Web 框架,作者早就弃坑了,调研之后决定换用对 JSX、TypeScript、Serverless 支持最好的 <a href=\"https://github.com/honojs/hono\" target=\"_blank\" rel=\"noopener noreferrer\">Hono</a></p>\n<p>它们的 API 差异很大,需要重写所有中间件和替换所有路由中使用的 koa API</p>\n<p>主要改动:<br>\n<a href=\"https://github.com/DIYgod/RSSHub/pull/14295\" target=\"_blank\" rel=\"noopener noreferrer\">https://github.com/DIYgod/RSSHub/pull/14295</a></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmUBrZkbHVDyfjoMK661QkLiYLnSbBke6quM5SCs2pnFsG\" alt=\"image\"></p>\n<p>Hono 作者也很喜欢这个改造</p>\n<tweet id=\"1762801106340782222\" fullurl=\"https://twitter.com/yusukebe/status/1762801106340782222\"></tweet>\n<h3 id=\"user-content-javascript---typescript\">JavaScript -> TypeScript</h3>\n<p>改用 TypeScript 可以避免很多类型问题和低级错误,最重要的是可以保证数百名贡献者保持一致难以出错和后续贡献的路由代码质量不至于太糟糕</p>\n<p>主要改动:</p>\n<ul>\n<li><a href=\"https://github.com/DIYgod/RSSHub/pull/14295\" target=\"_blank\" rel=\"noopener noreferrer\">https://github.com/DIYgod/RSSHub/pull/14295</a></li>\n<li><a href=\"https://github.com/DIYgod/RSSHub/pull/14632\" target=\"_blank\" rel=\"noopener noreferrer\">https://github.com/DIYgod/RSSHub/pull/14632</a></li>\n</ul>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmePQXUgzwrKKy8bwRNRARMoXYfPe2ShvqYffYRXhWkbtf\" alt=\"image\"></p>\n<tweet id=\"1764360942035312879\" fullurl=\"https://twitter.com/DIYgod/status/1764360942035312879\"></tweet>\n<h3 id=\"user-content-commonjs---esm\">CommonJS -> ESM</h3>\n<p>ESM 是几年前一些 Node.js 核心开发者强推的规范,它有一些优点,但最多的是与之前 CommonJS 不兼容带来的生态割裂和功能简化带来的诟病</p>\n<p>经过这几年的发展,现在可以说大部分场景勉强可用了,<a href=\"https://github.com/privatenumber/tsx\" target=\"_blank\" rel=\"noopener noreferrer\">tsx</a> 也为 CommonJS 和 ESM 混用的场景提供了支持</p>\n<p>虽然已经尽了最大努力,但还是有一些 CommonJS 代码暂时难以迁移,导致现在只能使用 tsx 运行,与一些 Serverless 比如 Vercel 没法兼容,但也有机会后续慢慢解决</p>\n<p>主要改动:</p>\n<ul>\n<li><a href=\"https://github.com/DIYgod/RSSHub/pull/14619\" target=\"_blank\" rel=\"noopener noreferrer\">https://github.com/DIYgod/RSSHub/pull/14619</a></li>\n<li><a href=\"https://github.com/DIYgod/RSSHub/pull/14691\" target=\"_blank\" rel=\"noopener noreferrer\">https://github.com/DIYgod/RSSHub/pull/14691</a></li>\n<li><a href=\"https://github.com/DIYgod/RSSHub/pull/14632\" target=\"_blank\" rel=\"noopener noreferLine truncated
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=2532",
"creator": "DIYgod",
"pubDate": "Sun, 10 Mar 2024 19:29:05 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": true,
"favorite": false,
"created": false,
"tags": [],
"hash": "7cb8dfc2caf799b249c2d122f3a65e3a",
"highlights": []
},
{
"title": "和帕鲁生活在一起的两周",
"description": "哪个小男孩没幻想过生活在这样一个充满宝可梦伙伴的世界,它们能听懂且愿意倾听我们说话,有着不同的特点和强大的技能,而且都很可爱,我们可以跟它们睡觉吃饭、并肩作战探索世界,永远不再孤独,不管是谁都可以找到最适合自己的宝可梦",
"content": "<h2 id=\"user-content-宝可梦幻想\">宝可梦幻想</h2>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmTbb2WpmvvM9LYr2w4ibhqB5icWMSa4n9hFjXbgbaKBRb\" alt=\"image\"></p>\n<p>哪个小男孩没幻想过生活在这样一个充满宝可梦伙伴的世界,它们能听懂且愿意倾听我们说话,有着不同的特点和强大的技能,而且都很可爱,我们可以跟它们睡觉吃饭、并肩作战探索世界,永远不再孤独,不管是谁都可以找到最适合自己的宝可梦</p>\n<p>这一切早就可以发生,但这一切终究没有发生,宝可梦复杂的版权问题和躺平在功劳簿上的版权公司 Game Freak 让我们的幻想一直也仅仅是幻想</p>\n<p>当然也有人说最近的几个新作阿尔宙斯、朱紫比之前好多了,“虽然好多了,但只是臭味稀薄一点的狗屎罢了”,剑盾、阿尔宙斯、朱紫、Pokemon Sleep 游戏时长并不短的宝可梦玩家 DIYgod 义愤填膺地说道</p>\n<h2 id=\"user-content-帕鲁实现\">帕鲁实现</h2>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/Qmd7qeiygj9veZhTMThe79xzfqyVpu6TEGHk48g8AAEcW3\" alt=\"image\"></p>\n<p>但只要幻想一直存在,变成现实也只是时间问题,横空出世的幻兽帕鲁给所有宝可梦粉丝带来了一个一本满足的平行幻想世界,终于苦于没有 Windows 的我也专门买了一台 ROG Ally 来沉迷其中</p>\n<p>游戏中与帕鲁的互动是前无仅有的,衣食住行战斗探索的过程都与帕鲁深度融入,真的是和帕鲁生活在一起</p>\n<p>从刚落地进入初始台地互动就开始了,我们的第一个落脚点不是自己造的,而是跟捣蛋猫一起造的</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmTAMciZ4eBo9jbaZVyhPpkZxX3FiYXdMVmkokyk29eT6E\" alt=\"image\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmW4UyojbTFyXjiEmWBNWoGDK5mjZYxbccyMTbbLGfuQuD\" alt=\"image\"></p>\n<p>再到后来帕鲁包办我们的一切后勤,我们的每一顿大餐,都需要经历播种、浇水、收割、搬运、存储、烹饪,分别由有着不同特长和分工的帕鲁来完成,会制冷的企丸丸去运行冰箱,会喷火的燎火鹿去烹饪</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/Qmc4Y1VHfxckFHXoNE3oD5jgSbSye9SQvMAu1SjexiPSfu\" alt=\"image\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmSpSKCts7aQTesNtpgs1gumyYCSq467LYma1FUPZaGpBg\" alt=\"\"></p>\n<p>在我们外出探索时,过河骑滑水蛇,赶路骑云海鹿,翻山越岭骑烽歌龙</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmdeiQSKuCmFzbocchFz9v6cJk5wqUaN8fWrRhZbojcAn3\" alt=\"image\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmaBSZyudw5Bmd3vT3eHbwj1rSyqo6BzWAD8nYeBUr4eKy\" alt=\"\"></p>\n<p>在我们战斗时,举着火绒狐充当、喷火器,骑着暴电熊扫射机关枪,甚至虽然不太人道,可以把电棘鼠当作手榴弹扔出去,同时据点里的焰煌在帮我们炼钢造枪,阿努比斯在帮我们手搓子弹</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmapqqBNQK5cupXDFJ45CP7yMM4Ye53ncQdrn3qNjZz6os\" alt=\"image\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmcF39d24AddScaCMtxDhHhW4Q4N98zMggLmvoSEeRwzLd\" alt=\"\"></p>\n<p>从徒手撸树到机关枪横着走,从无人问津到人满为患,在不知不觉的建造中我已经在帕鲁世界中倾注了太多的感情</p>\n<p>从饿着肚子的第一天</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmQySkxYV7yPBLLJqJprXq1XJUTfvzjEdQPAsVifHznuL1\" alt=\"Pal 6_2_2024 下午 9_54_32\"></p>\n<p>到现在</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmSSQnJ3wRPuyGGP7VzBkGq91vN6Ybs3KSQxKM6NKSWpEF\" alt=\"Pal 19_2_2024 上午 2_45_40\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/Qmb6ELDeZYmNNuSh98SqdhZCkyTJdeEmkeyHR9kCxgF78X\" alt=\"Pal 18_2_2024 上午 12_42_29\"></p>\n<h2 id=\"user-content-一些额外的探索\">一些额外的探索</h2>\n<h3 id=\"user-content-数据展示\">数据展示</h3>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmVigw528nJrF6z9QanPoqqYnmn2MW6HqEECj5X47jnaAN\" alt=\"image\"></p>\n<p>毕竟是单机游戏,数据都在本地,可以很方便地做处理</p>\n<p>有一个开源项目可以把存档文件解析成 JSON 方便第三方开发和展示 <a href=\"https://github.com/cheahjs/palworld-save-tools\" target=\"_blank\" rel=\"noopener noreferrer\">https://github.com/cheahjs/palworld-save-tools</a></p>\n<p>还有一个开源项目可以把 JSON 再生成一个前端页面 <a href=\"https://github.com/zaigie/palworld-server-tool\" target=\"_blank\" rel=\"noopener noreferrer\">https://github.com/zaigie/palworld-server-tool</a></p>\n<p>于是我把存档同步到 NAS 上,再在 NAS 上部署一个展示页面,就可以很方便地查看我的帕鲁们了 <a href=\"https://pal.diygod.me\" target=\"_blank\" rel=\"noopener noreferrer\">https://pal.diygod.me</a></p>\n<h3 id=\"user-content-模组\">模组</h3>\n<p>帕鲁有很丰富的Line truncated
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=2510",
"creator": "DIYgod",
"pubDate": "Sun, 18 Feb 2024 19:20:33 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "f14e398cdc59250b014491961cef7a37",
"highlights": []
},
{
"title": "Twitter 对开源项目发起 DDoS 攻击",
"description": "背景 Twitter 被马斯克收购后,从去年 8 月开始,他们对开源第三方集成和第三方客户端进行了一系列明里暗里的打压和攻击,这样做是为了阻止用户通过非官方客户端访问和使用 Twitter,来增加公司的广告和会员营收\n\n而开源社区中以 Nitter 和 RSSHub…",
"content": "<h2 id=\"user-content-背景\">背景</h2>\n<p>Twitter 被马斯克收购后,从去年 8 月开始,他们对开源第三方集成和第三方客户端进行了一系列明里<a href=\"https://github.com/zedeus/nitter/issues/1150\" target=\"_blank\" rel=\"noopener noreferrer\">暗里</a>的打压和攻击,这样做是为了阻止用户通过非官方客户端访问和使用 Twitter,来增加公司的广告和会员营收</p>\n<p>而开源社区中以 Nitter 和 RSSHub 为代表的开源项目并没有放弃向信息自由的努力,通过众多聪明的开源开发者们想出来的一个个奇妙操作(<a href=\"https://github.com/zedeus/nitter/issues/983\" target=\"_blank\" rel=\"noopener noreferrer\">issue</a>),在一轮轮封锁和反封锁的对抗中短暂占了上风,其中最流行的做法是通过 Android 客户端使用的接口功能生成临时账号(<a href=\"https://diygod.cc/10k-twitter-accounts\" target=\"_blank\" rel=\"noopener noreferrer\">细节</a>)</p>\n<h2 id=\"user-content-经过\">经过</h2>\n<p>在两天前(1 月 26 日),许多 Nitter 实例的运行者和开发者报告称,他们正在使用的接口已被封锁。与此<strong>同时</strong>,他们的实例也开始遭受报复性 DDoS 攻击</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmZLgt245ohmpFv5jqmZ4EcosbxjZpeG5fq6StX7zuTf3o\" alt=\"image\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmYM5zREJ95DGeE8feJQzr6eKczcZdeWwxuXPW4Z3KMgwN\" alt=\"image\"></p>\n<p>起初,我并没有太在意这件事情。毕竟,谁会相信 Twitter 官方会做出如此令人不耻且自降身段的 DDoS 行为呢?我对此深感怀疑</p>\n<p>然而,昨天当我打开 RSSHub 的 GitHub 仓库时,却意外地发现了以下内容</p>\n<div style=\"max-width: 200px\"><p><img src=\"https://ipfs.crossbell.io/ipfs/QmNoyG5nPS4RJQUy9dPZc1YeCwgjwfW4oYVh1yZSwjarJE\" alt=\"image\"></p></div>\n<p>最近一个月的请求数达到了 4.5 亿,比正常水平高出 50%(正常水平仅为 3 亿多)</p>\n<p>然后登录 Cloudflare 查看日志</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmfMvo6FFx3ztB65txRavWmz43rhXK6dnbcFwPvcRjKCCw\" alt=\"image\"></p>\n<p>自从 26 日 0 点(当天官方接口被封锁和 Nitter 遭受 DDoS 攻击)以来,RSSHub 也一直遭受大规模的 DDoS 攻击。最近两天,请求量是平时的 170 多倍,每秒约 1 千次请求</p>\n<p>尽管数量看起来可怕,但 Cloudflare 出色的缓存功能已经成功缓存了超过 99% 的 DDoS 请求,甚至没有触发报警</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmW6rnKNHBTKzwMzVtnjUymMmfVrghtFeh28HfxrBLgK7c\" alt=\"image\"></p>\n<p>RSSHub 的负载均衡和自动扩容功能非常完善,没有受到太大的压力</p>\n<tweet id=\"1745090590419619865\" fullurl=\"https://twitter.com/DIYgod/status/1745090590419619865\"></tweet>\n<p>🤣 就这样一直没有发现</p>\n<p>进一步分析发现,所有请求都来自 IP 地址为 139.255.221.98 的设备。这些请求都是针对 <code>/twitter/keyword</code> 路由,并且后面跟着一串不同且无意义的参数</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmNPdwPzjRfG6XQ6WbGiQR13ztjr3JQjV3Fb4Bu91tGc59\" alt=\"image\"></p>\n<p>我很清楚为什么只针对 keyword 路由,尽管代码中没有明确表达,但根据我的使用经验,此路由使用的搜索接口受到最严格的访问频率限制,通过攻击该路由可以实现最大化效果。由此可以推断出 DDoS 攻击者也对 Twitter 的接口非常熟悉</p>\n<p>虽然无法直接证明是官方人员所为,但各种无法解释的 “巧合” 已经清楚地表明了事情的真相,马斯克的简单粗暴行事风格也正在深刻影响这家公司</p>\n<h2 id=\"user-content-影响\">影响</h2>\n<p>进一步封锁 API 和进行 DDoS 攻击这两个操作可以说非常有效</p>\n<p>Nitter 开发者 zedeus 表示 Nitter 已死</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmdEpeYj74uW4Q2NNTuwXrzVCvi1JVjcgDgJz8s1zvSqVp\" alt=\"image\"></p>\n<p>Twitter Monitor 开发者 MANKA 表示不愿意再浪费时间</p>\n<tweet id=\"1751450519829418342\" fullurl=\"https://twitter.com/manka_takami/status/1751450519829418342\"></tweet>\n<p>nitter-status 开发者更是直接放出了告别页面</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmZN7oZ2UJEnvaNQ5BShiAinCckK7nfL9ajVGrsC5cLETH\" alt=\"image\"></p>\n<p>看起来就到此为止了吗?不,这远非终点。自由无法被阻挡,我们还有很多事情可以做</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmWvACcSj5wEFP4vkvknBZ3d9VgiBwEJd62JqSPWMyMjY3\" alt=\"image\"></p>\n<p>29 日 更新:RSSHub 已经恢复</p>\n<tweet id=\"1751941869616148806\" fullurl=\"https://twitter.com/DIYgod/status/1751941869616148806\"></tweet>",
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=2456",
"creator": "DIYgod",
"pubDate": "Sun, 28 Jan 2024 10:24:53 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "307962da32ad7a7a9efff403a501e670",
"highlights": []
},
{
"title": "如何优雅编译一个 Markdown 文档",
"description": "Markdown 是一种广泛使用的轻量级标记语言,允许人们使用易读易写的纯文本格式编写文档,也是 xLog 主要使用的文章格式,本文就以 xLog Flavored Markdown 为例来说明如何优雅地解析一个 Markdown 文档",
"content": "<p>Markdown 是一种广泛使用的轻量级标记语言,允许人们使用易读易写的纯文本格式编写文档,也是 <a href=\"https://xlog.app\" target=\"_blank\" rel=\"noopener noreferrer\">xLog</a> 主要使用的文章格式,本文就以 <a href=\"https://github.com/Crossbell-Box/xLog/blob/dev/src/markdown/index.ts\" target=\"_blank\" rel=\"noopener noreferrer\">xLog Flavored Markdown</a> 为例来说明如何优雅地解析一个 Markdown 文档</p>\n<h3 id=\"user-content-架构\">架构</h3>\n<p>解析过程可以用这样一个架构来表示:</p>\n<mermaid><div class=\"language-mermaid\">flowchart TB\n subgraph input\n Markdown\n end\n subgraph unified\n subgraph remark\n Markdown:::inputClass --string--> remark-parse:::remarkClass --mdast--> remarkPlugins[remark plugins]:::remarkClass\n remarkPlugins --mdast--> remark-rehype:::remarkClass &#x26; mdast-util-toc:::remarkClass\n end\n subgraph rehype\n remark-rehype --hast--> rehypePlugins[rehype plugins]:::rehypeClass\n rehypePlugins --hast--> hast-util-to-text:::rehypeClass &#x26; hast-util-to-html:::rehypeClass &#x26; hast-util-to-jsx-runtime:::rehypeClass\n end\n rehypePlugins --hast--> unist-util-visit:::rehypeClass\n end\n subgraph output\n mdast-util-toc --tocResult--> TOC:::inputClass\n hast-util-to-text --string--> plainText[Plain Text]:::inputClass\n hast-util-to-html --string--> HTML:::inputClass\n hast-util-to-jsx-runtime --JSX.Element--> ReactElement[React Element]:::inputClass\n unist-util-visit --custom--> Metadata:::inputClass\n end\nstyle input fill:#bbf7d0,stroke:#4ade80,color:#15803d\nclassDef inputClass fill:#22c55e,stroke:#16a34a\nstyle output fill:#bbf7d0,stroke:#4ade80,color:#15803d\nstyle unified fill:#bfdbfe,stroke:#60a5fa,color:#1d4ed8\nstyle remark fill:#fecaca,stroke:#f87171,color:#b91c1c\nclassDef remarkClass fill:#f87171,stroke:#dc2626\nstyle rehype fill:#fef08a,stroke:##facc15,color:#a16207\nclassDef rehypeClass fill:#facc15,stroke:#ca8a04\n</div></mermaid>\n<p>关键概念:</p>\n<ul>\n<li><a href=\"https://github.com/unifiedjs\" target=\"_blank\" rel=\"noopener noreferrer\">unified</a>:通过语法树和插件来解析、检查、转换和序列化内容的库</li>\n<li><a href=\"https://github.com/remarkjs\" target=\"_blank\" rel=\"noopener noreferrer\">remark</a>:unified 的生态项目之一,由插件驱动的 Markdown 处理库</li>\n<li><a href=\"https://github.com/rehypejs\" target=\"_blank\" rel=\"noopener noreferrer\">rehype</a>:unified 的生态项目之一,由插件驱动的 HTML 处理库</li>\n<li><a href=\"https://github.com/syntax-tree/mdast\" target=\"_blank\" rel=\"noopener noreferrer\">mdast</a>:remark 使用的用于表示 Markdown 的抽象语法树规范</li>\n<li><a href=\"https://github.com/syntax-tree/hast\" target=\"_blank\" rel=\"noopener noreferrer\">hast</a>:rehype 使用的用于表示 HTML 的抽象语法树规范</li>\n</ul>\n<p>简单来说就是把 Markdown 文档交给一个 unified 生态的解析器解析成 unified 可识别的语法树,再通过一系列 unified 生态的插件转换为需要的内容,再通过一系列 unified 生态的工具库输出为需要的格式,下面就从 解析、转换、输出 这三个步骤来分别说明</p>\n<h3 id=\"user-content-解析-parse\">解析 Parse</h3>\n<mermaid><div class=\"language-mermaid\">flowchart TB\n subgraph input\n Markdown\n end\n subgraph unified\n subgraph remark\n Markdown:::inputClass --string--> remark-parse:::remarkClass\n end\n end\nstyle input fill:#bbf7d0,stroke:#4ade80,color:#15803d\nclassDef inputClass fill:#22c55e,stroke:#16a34a\nstyle unified fill:#bfdbfe,stroke:#60a5fa,color:#1d4ed8\nstyle remark fill:#fecaca,stroke:#f87171,color:#b91c1c\nclassDef remarkClass fill:#f87171,stroke:#dc2626\n</div></mermaid>\n<blockquote>\n<p>无论输入是 Markdown、HTML 还是纯文本,都需要将其解析为可操作的格式。这种格式被称为语法树。规范(例如 mdast)定义了这样一个语法树的外观。处理器(如 mdast 的 remark)负责创建它们。</p>\n</blockquote>\n<p>最简单的一步,我们需要解析的是 Markdown,所以这里就应该使用 <a href=\"https://github.com/remarkjs/remark/tree/main/packages/remark-parse\" target=\"_blank\" rel=\"noopener noreferrer\">remark-parse</a> 来把 Markdown 文档编译成 mdast 格式的语法树</p>\n<p>对应 <a href=\"https://github.com/Crossbell-Box/xLog/blob/dev/src/markdown/index.ts\" target=\"_blank\" rel=\"noopener noreferrer\">xLog Flavored Markdown</a> 中的</p>\n<div class=\"code-wrapper\"><button type=\"button\" class=\"copy-button\"><span class=\"i-mingcute-copy-2-line\"></span><span>Copy</span></button><pre><code class=\"language-ts\">const processor = unified().use(remarkParse)\n\nconst file = new VFile(content)\nconst mdastTree = processor.parse(file)\n</code></pre></div>\n<h3 id=\"user-coLine truncated
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=2434",
"creator": "DIYgod",
"pubDate": "Thu, 18 Jan 2024 12:50:37 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "2d7f1f95153a01262179252c0a3fb370",
"highlights": []
},
{
"title": "2023 平稳过渡",
"description": "</2023>\n<2024>\n\n发小觉得今年经历了巨大的变化,从苏格兰搬到新加坡,从未婚到已婚,从一家两口变成了一家三口,但我觉得都在预料之中,所以感觉还算很平稳",
"content": "<p>&#x3C;/2023><br>\n&#x3C;2024></p>\n<p>发小觉得今年经历了巨大的变化,从苏格兰搬到新加坡,从未婚到已婚,从一家两口变成了一家三口,但我觉得都在预料之中,所以感觉还算很平稳</p>\n<p>身边的物品最能反映一个人的状态,所以还是跟 2022 一样从年度最佳开始</p>\n<h2 id=\"user-content--年度最佳\">🏆 年度最佳</h2>\n<h3 id=\"user-content--影视\">🍿 影视</h3>\n<p>看过的 28 部动漫和 12 部剧集和 8 部电影:<a href=\"https://movie.douban.com/people/62759792/collect?mode=list\" target=\"_blank\" rel=\"noopener noreferrer\">https://movie.douban.com/people/62759792/collect?mode=list</a></p>\n<p>而去年是 19 部动漫和 18 部剧集和 6 部电影,二次元含量显著上升了</p>\n<p><strong>DIY 年度番剧: <a href=\"https://movie.douban.com/subject/35769236/\" target=\"_blank\" rel=\"noopener noreferrer\">《鬼灭之刃 锻刀村篇》</a></strong></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/QmeALWF4gYssxhgPQTpoueFfJve3picwgciJkuqCgwfK3v\" alt=\"image\"></p>\n<style>\n .double-column {\n display: flex;\n gap: 10px;\n }\n .double-column > * {\n flex: 1;\n min-width: 0;\n }\n</style>\n<div class=\"double-column\"><tweet id=\"1645271426318979074\" fullurl=\"https://twitter.com/DIYgod/status/1645271426318979074\"></tweet><tweet id=\"1650844643997646852\" fullurl=\"https://twitter.com/DIYgod/status/1650844643997646852\"></tweet></div>\n<div class=\"double-column\"><tweet id=\"1653023791759458307\" fullurl=\"https://twitter.com/DIYgod/status/1653023791759458307\"></tweet><tweet id=\"1655603106464387079\" fullurl=\"https://twitter.com/DIYgod/status/1655603106464387079\"></tweet></div>\n<tweet id=\"1670792856720535554\" fullurl=\"https://twitter.com/DIYgod/status/1670792856720535554\"></tweet>\n<p>尽管有数集节奏过缓,然而该剧的燃点皆燃,泪点亦催人泪目,尤以最后以为会是虐人的剧情却华丽逆转为甜蜜结局,令人心潮澎湃,难以自抑</p>\n<p>去年最佳是《鬼灭之刃 游郭篇》,今年是《鬼灭之刃 锻刀村篇》,已经可以预料到了明年是《鬼灭之刃 柱训练篇》,希望可以保持下去</p>\n<p>除此之外还有《天国大魔境》、《间谍过家家》、《【我推的孩子】》(第一集)、《为美好的世界献上爆焰!》也非常喜欢</p>\n<p><strong>DIY 年度剧集: <a href=\"https://movie.douban.com/subject/25848328/\" target=\"_blank\" rel=\"noopener noreferrer\">《最后生还者 第一季》</a></strong></p>\n<div style=\"max-width: 400px\"><p><img src=\"https://ipfs.crossbell.io/ipfs/QmWhP9Apd4ZmSbCBAANw7eYgUinidFUXJRTrA6qBVTXbBk\" alt=\"image\"></p></div>\n<p>非常还原游戏,又胜于游戏,主角也非常契合角色,完美的一季,HBO 太强了</p>\n<h3 id=\"user-content--图书\">📚 图书</h3>\n<div style=\"max-width: 400px\"><p><img src=\"https://ipfs.crossbell.io/ipfs/QmYsyp1GPc99vb2fFzAp8SsrNURMfuZmWL7GuFbLjLL9ZM\" alt=\"album_temp_WeRead_2023_Year_In_Review_11704021416\"></p></div>\n<p>今年看过的 22 本书:</p>\n<ul>\n<li>《被讨厌的勇气》</li>\n<li>《长安的荔枝》</li>\n<li>《那些古怪又让人忧心的问题》</li>\n<li>《上帝掷骰子吗》</li>\n<li>《人类灭绝》</li>\n<li>《来自新世界》 (两本)</li>\n<li>《莱博维茨的赞歌》</li>\n<li>《赡养人类》</li>\n<li>《朝闻道》</li>\n<li>《埃隆・马斯克传》</li>\n<li>《巨人的陨落》(三本)</li>\n<li>《世界的凛冬》(三本)</li>\n<li>《翦商》(在读)</li>\n<li>《自私的基因》(在读)</li>\n<li>《一想到还有 95% 的问题留给人类,我就放心了》(在读)</li>\n<li>《猫咪家庭医学大百科》(在读)</li>\n<li>《未来简史》(在读)</li>\n</ul>\n<p>去年是 9 本,没想到今年不知不觉看了这么多,大部分是旅游和 Boox Leaf 3 的功劳</p>\n<p><strong>DIY 年度图书:<a href=\"https://book.douban.com/subject/36136689\" target=\"_blank\" rel=\"noopener noreferrer\">《人类灭绝》</a></strong></p>\n<div style=\"max-width: 400px\"><p><img src=\"https://ipfs.crossbell.io/ipfs/QmNXKYPnHEebCHBB5evhthmCrwchPy4nWGJiuYydSQBvq3\" alt=\"image\"></p></div>\n<p>差点被奇怪的标题和封面错过,是我看过最悬疑、血腥、脑洞的一本书,作者从三条看似不相关的线分别展开,最后再完美融合,揭露一个最大的阴谋</p>\n<p>如果有一天智人不再是地球最聪明的物种,智人一定会毫不犹豫暴露出残忍丛林天性,不一定是因为书里假设的超人类新物种的出现,AI 的技术爆炸也许会让这一天马上到来</p>\n<p>非常期待有一天被拍成电视剧</p>\n<p>排名第二的是 <a href=\"https://book.douban.com/subject/1467022\" target=\"_blank\" rel=\"noopener noreferrer\">《上帝掷骰子吗》</a></p>\n<p>读到了很多难以置信Line truncated
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=2358",
"creator": "DIYgod",
"pubDate": "Mon, 08 Jan 2024 14:23:18 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "8c12b08bdd74c82479592360659b5e1b",
"highlights": []
},
{
"title": "轻松创建一万个 Twitter 账号",
"description": "Twitter 在 8 月决定了全面限制公开访问和 API 接口,导致第三方集成均无法再正常工作。开放用户数据被绑架成私人敛财工具,曾经的 Open Web 标杆 Twitter 竟沦落到这种境地,数字奴隶制在最不应该的地方出现,令人唏嘘",
"content": "<blockquote>\n<p>Information freedom does not naturally evolve, it degrades.<br>\n—— <a href=\"https://openinformation.eth.limo\" target=\"_blank\" rel=\"noopener noreferrer\">Open Information Manifesto</a></p>\n</blockquote>\n<p>Twitter 在 8 月决定了全面限制公开访问和 API 接口,导致第三方集成均无法再正常工作。开放用户数据被绑架成私人敛财工具,曾经的 Open Web 标杆 Twitter 竟沦落到这种境地,数字奴隶制在最不应该的地方出现,令人唏嘘。这也致使许多用户流向 Fediverse,但社交关系和习惯一旦形成,要让其迅速改变并不易,更多人还是选择了忍受,Musk 也是看穿了这一点才有恃无恐</p>\n<div class=\"flex\">\n <div><img src=\"https://ipfs.crossbell.io/ipfs/QmS29Jh8h2asXHqX1JC8xdasAgF3NbxhDW4P2czB3R58Z8\"></div>\n <div><img src=\"https://ipfs.crossbell.io/ipfs/QmQJ81nPmJXxAJNDnBfU8381H3a2wMxTF5ZL72Bg9y3uUk\"></div>\n <div><img src=\"https://ipfs.crossbell.io/ipfs/QmUZNLeRLZpQarvLieMSyDbNMZsoPWij4nhHQbYjjNs1F4\"></div>\n</div>\n<p>然而,我们也不能武断地说 Twitter 封闭,毕竟它仍然开放了一个起步价为<strong>每月 4 万美元</strong>,上限不设的企业 API</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/Qmbs7PNBLHJ8EK3fkEHsPtP89AbpnS6iMw8Eg2aW7Jc1DT\" alt=\"\"></p>\n<p>什么?你说用不起?</p>\n<p>那么你可以像我一样,通过创建一万个账号以绕开封锁</p>\n<p>尽管 Twitter 限制了所有公开访问,但我们发现新下载的 Twitter 移动客户端仍可以正常查看用户动态。这为我们提供了潜在的利用方法,通过抓包,我们可以看到客户端是通过请求一系列特殊接口来创建一个权限较低、频率限制严格的临时账号。我们可以用这个账号获取我们需要的大部分数据。然而,这种账号对请求频率的限制非常严格,因此需要大量的这样的账号才能满足基本的使用需求。同时,每个 IP 在一段时间内只能获取一个临时账号,因此我们也需要大量的 IP 代理</p>\n<p>具体拆包和抓包过程可以参考 BANKA 的<a href=\"https://blog.nest.moe/posts/how-to-crawl-twitter-with-android\" target=\"_blank\" rel=\"noopener noreferrer\">《怎么爬 Twitter(Android)》</a>。站在 BANKA 肩膀上,我们可以写出一个这样的注册脚本(来自 <a href=\"https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment\" target=\"_blank\" rel=\"noopener noreferrer\">Nitter - Guest Account Branch Deployment</a>):</p>\n<div class=\"code-wrapper\"><button type=\"button\" class=\"copy-button\"><span class=\"i-mingcute-copy-2-line\"></span><span>Copy</span></button><pre><code class=\"language-sh\">#!/bin/bash\n\nguest_token=$(curl -s -XPOST https://api.twitter.com/1.1/guest/activate.json -H 'Authorization: Bearer AAAAAAAAAAAAAAAAAAAAAFXzAwAAAAAAMHCxpeSDG1gLNLghVe8d74hl6k4%3DRUMF4xAQLsbeBhTSRrCiQpJtxoGWeyHrDb5te2jpGskWDFW82F' | jq -r '.guest_token')\n\nflow_token=$(curl -s -XPOST 'https://api.twitter.com/1.1/onboarding/task.json?flow_name=welcome' \\\n -H 'Authorization: Bearer AAAAAAAAAAAAAAAAAAAAAFXzAwAAAAAAMHCxpeSDG1gLNLghVe8d74hl6k4%3DRUMF4xAQLsbeBhTSRrCiQpJtxoGWeyHrDb5te2jpGskWDFW82F' \\\n -H 'Content-Type: application/json' \\\n -H \"User-Agent: TwitterAndroid/10.10.0\" \\\n -H \"X-Guest-Token: ${guest_token}\" \\\n -d '{\"flow_token\":null,\"input_flow_data\":{\"flow_context\":{\"start_location\":{\"location\":\"splash_screen\"}}}}' | jq -r .flow_token)\n\ncurl -s -XPOST 'https://api.twitter.com/1.1/onboarding/task.json' \\\n -H 'Authorization: Bearer AAAAAAAAAAAAAAAAAAAAAFXzAwAAAAAAMHCxpeSDG1gLNLghVe8d74hl6k4%3DRUMF4xAQLsbeBhTSRrCiQpJtxoGWeyHrDb5te2jpGskWDFW82F' \\\n -H 'Content-Type: application/json' \\\n -H \"User-Agent: TwitterAndroid/10.10.0\" \\\n -H \"X-Guest-Token: ${guest_token}\" \\\n -d \"{\\\"flow_token\\\":\\\"${flow_token}\\\",\\\"subtask_inputs\\\":[{\\\"open_link\\\":{\\\"link\\\":\\\"next_link\\\"},\\\"subtask_id\\\":\\\"NextTaskOpenLink\\\"}]}\" | jq -c -r '.subtasks[0]|if(.open_account) then {oauth_token: .open_account.oauth_token, oauth_token_secret: .open_account.oauth_token_secret} else empty end'\n</code></pre></div>\n<p>以及这样的批量注册脚本(来自我自己):</p>\n<div class=\"code-wrapper\"><button type=\"button\" class=\"copy-button\"><span class=\"i-mingcute-copy-2-line\"></span><span>Copy</span></button><pre><code class=\"language-js\">const got = require('got');\nconst { HttpsProxyAgent } = require('https-proxy-agent');\nconst fs = require('fs');\nconst path = require('path');\n\nconst concurrency = 5; // Please do not set it too large to avoid Twitter discovering our little secret\nconst proxyUrl = ''; // Add your proxy here\n\nconst baseURL = 'https://api.twitter.com/1.1/';\nconst headers = {\n Authorization: 'Bearer AAAAAAAALine truncated
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=2292",
"creator": "DIYgod",
"pubDate": "Fri, 15 Dec 2023 10:14:46 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "f499ac7e808b9c230204aa2a170df769",
"highlights": []
},
{
"title": "优雅使用 Cloudflare WARP 应对 RSSHub 反爬难题",
"description": "🕊️ 本文送给更开放的互联网 起因是看到 @geekbb 介绍 Warp 的推文。尽管 Warp 已经发布了很长时间,就保护 IP 隐私而言,它并没有 iCloud Private Relay 好用,我也没有魔法上网的需求。但是我突然意识到,我还是有隐藏 IP 的需求。\n\n在开…",
"content": "<p>🕊️ 本文送给更开放的互联网</p>\n<hr>\n<p>起因是看到 <mention>@geekbb</mention> 介绍 Warp 的<a href=\"https://twitter.com/geekbb/status/1663443373544583168\" target=\"_blank\" rel=\"noopener noreferrer\">推文</a>。尽管 Warp 已经发布了很长时间,就保护 IP 隐私而言,它并没有 iCloud Private Relay 好用,我也没有魔法上网的需求。但是我突然意识到,我还是有隐藏 IP 的需求。</p>\n<p>在开发 RSSHub 的几年中,我发现提供公共 API 的站点非常少,许多站点还会采取严格的反爬控制来限制其平台内容的获取。有些站点会屏蔽同一 IP 发出过多请求,而还有一些站点则会全面屏蔽常见云服务器厂商的 IP 地址。因此,仅仅为了获取最新几条内容更新却变得非常困难。</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeiaqqbchfi5zs4kfxjnuhbktmyx3v3jz5g6uodgeaql2d5kf54e4tu\" alt=\"lord-of-the-rings-my-precious\"></p>\n<p>这种情况需要使用代理,但是专门的爬虫代理通常价格昂贵,性价比极低,如果 Cloudflare WARP 的无限流量和丰富的 IP 资源能被 RSSHub 利用就太棒了。RSSHub 已经支持了通用的代理协议,只要能将 WARP 包装为通用的 proxy 就可以。</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeidnorcybhjb7lapu5y6zjtnzzffsyrdlfm3fhzcnhtr37u4e677he\" alt=\"image\"></p>\n<p>虽然无法直接在命令行环境中方便地使用官方客户端,但这么容易想到的点子肯定已经被别人实现过了。我在 GitHub 上找到了一个封装的 Docker。</p>\n<github-repo repo=\"Mon-ius/Docker-Warp-Socks\"></github-repo>\n<p>然后只需要在 RSSHub 的 <code>docker-compose.yml</code> 中再添加这样一个 service 来启用代理服务</p>\n<div class=\"code-wrapper\"><button type=\"button\" class=\"copy-button\"><span class=\"i-mingcute-copy-2-line\"></span><span>Copy</span></button><pre><code class=\"language-yml\">warp-socks:\n image: monius/docker-warp-socks:latest\n privileged: true\n volumes:\n - /lib/modules:/lib/modules\n cap_add:\n - NET_ADMIN\n - SYS_ADMIN\n sysctls:\n net.ipv6.conf.all.disable_ipv6: 0\n net.ipv4.conf.all.src_valid_mark: 1\n healthcheck:\n test: [\"CMD\", \"curl\", \"-f\", \"https://www.cloudflare.com/cdn-cgi/trace\"]\n interval: 30s\n timeout: 10s\n retries: 5\n</code></pre></div>\n<p>最后给 RSSHub 加一个 PROXY_URI 环境变量来使用代理</p>\n<div class=\"code-wrapper\"><button type=\"button\" class=\"copy-button\"><span class=\"i-mingcute-copy-2-line\"></span><span>Copy</span></button><pre><code class=\"language-yml\">PROXY_URI: 'socks5h://warp-socks:9091'\n</code></pre></div>\n<p>我选取了一个我经常使用的 hotukdeals 路由(英国版的什么值得买)进行测试。该站点会屏蔽所有 DigitalOcean 的 IP,因此一直处于 403 状态。</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreihjpcghhfk4nghyczjb2z56zfzf6ompyq3msr7tsdqjx4tlipsxri\" alt=\"image\"></p>\n<p>加上 WARP 后可顺利访问</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeiazr6b66xmkpkw5w7ws57nvnmpj2tjx2genfyqq6ibkejafsrpsz4\" alt=\"image\"></p>\n<p>此外,我发现每次重启 WARP 时,都会输出新的 IP。尽管我没有时间验证,但我感觉 IP 应该会经常自动更改,这对解决反爬是一个好消息。</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreihsp2oel6zxmvlnkqvezvlwjltnj65iymnodxkqhrvhw6bsftb4pq\" alt=\"image\"></p>\n<p>还可以进一步自定义 WireGuard 的配置,包括使用付费版 WARP+ 和自定义 endpoint,以获取可能更好的结果。</p>\n<p>生成 WireGuard 配置文件可以使用</p>\n<github-repo repo=\"ViRb3/wgcf\"></github-repo>\n<p>刷 WARP+ 流量和筛选 endpoint 可以使用</p>\n<github-repo repo=\"fscarmen/warp\"></github-repo>\n<p>有说法是 WARP+ 的速度并无明显差异(<a href=\"https://www.nodeseek.com/post-9449-1\" target=\"_blank\" rel=\"noopener noreferrer\">《WARP、WARP + 速度对比,以及 WARP 速度上限》</a>),但是是否影响反爬效果还需要进一步验证。</p>\n<p>如果一切顺利,RSSHub 官方实例中许多严格反爬的路由应该能重新使用。我将在几天内进行验证并在此更新。</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeibkqr2di6wp7u5tzllu5cd2zwrnirwxhetyeq63s2xl6fruuail5a\" alt=\"image\"></p>",
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=2022",
"creator": "DIYgod",
"pubDate": "Thu, 17 Aug 2023 22:01:51 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "fc44649c91fc493922dfebfccacac5f0",
"highlights": []
},
{
"title": "在博客融入一个跨平台作品集",
"description": "长久以来# 我一直将个人博客视为一个理想的展示个人 IP 的 “个人网站”,而不仅仅是发布文章的平台。我曾在 2014 年初学编程时使用 WordPress 建站 《世界,你好!》;入了前端坑后,在 2017 年我转向了 Hexo 《做了一点微小的改动》;Web3 飞升后…",
"content": "<h2 id=\"user-content-长久以来\">长久以来</h2>\n<p>我一直将个人博客视为一个理想的展示个人 IP 的 “个人网站”,而不仅仅是发布文章的平台。我曾在 2014 年初学编程时使用 WordPress 建站 <a href=\"https://diygod.cc/1\" target=\"_blank\" rel=\"noopener noreferrer\">《世界,你好!》</a>;入了前端坑后,在 2017 年我转向了 Hexo <a href=\"https://diygod.cc/new-blog\" target=\"_blank\" rel=\"noopener noreferrer\">《做了一点微小的改动》</a>;Web3 飞升后 2022 年我换成了 xLog <a href=\"https://diygod.cc/xlog\" target=\"_blank\" rel=\"noopener noreferrer\">《第一个开源链上博客系统 xLog》</a>。然而,无论我使用什么博客系统,一直都存在一个问题,那就是如何优雅地汇集和展示我在其他平台发布的作品,最好还能直接显示外站的数据。我之前通常以文章形式发布作品,并在文章中附上链接,然而这样做显然不够优雅,读者还需要额外点击链接进行跳转。</p>\n<h2 id=\"user-content-灵感降临\">灵感降临</h2>\n<p>我在学习达芬奇剪辑时,发现了影视飓风的<a href=\"https://www.ysjf.com/video-list\" target=\"_blank\" rel=\"noopener noreferrer\">网站</a>,它通过外链方式列出了他们在 B 站发布的视频,其中包括标题、封面图、发布时间、播放量等信息。这个发现给了我启发,我完全可以在 xLog 上制作一个装载了我在各个平台作品的作品集,这里面可以有我发布在 B 站的视频、我在 GitHub 上维护的仓库、我参与的小宇宙播客甚至是我在 pixiv 上创作的画作。这样,当人们访问我的博客时,将不只是看到文章,而是会看到更丰富多元的我,这让我的博客更接近一个真正意义上的 “个人网站”。</p>\n<h2 id=\"user-content-下手\">下手</h2>\n<p>想法萌发后,实现就简单了。</p>\n<ol>\n<li>对 xLog 后台进行了优化和清晰的分类:文章、页面、作品集,以消除类型增多后可能带来的用户困扰。</li>\n</ol>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreibk6hpyyrfv2hna5ljispi3iyocqp4mmgox2vhbrlchzf4loeptbu\" alt=\"image\"></p>\n<ol start=\"2\">\n<li>设计了一个全新的编辑页,不同于文章和页面,这里只保留封面、标题、摘要、发布时间,并新增外部链接字段。</li>\n</ol>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeib3styadsi5pwwq2dir72nnitfhs5d6jjhpgsd5rq5sh33yqt5fzq\" alt=\"image\"></p>\n<ol start=\"3\">\n<li>实现了作品信息的自动填充功能,减轻了手动输入的负担。这是通过获取链接的 Open Graph 信息实现的,涉及到的字段包括 <code>og:image</code> <code>og:title</code> <code>og:description</code> <code>og:date</code></li>\n</ol>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreig7qnhsurgglcmrvpb5rt5adm5zhuhrrdxjomvyoljzkfzu356rt4\" alt=\"image\"></p>\n<ol start=\"4\">\n<li>把作品展示在首页和独立的<a href=\"https://diygod.cc/portfolios\" target=\"_blank\" rel=\"noopener noreferrer\">作品集页</a></li>\n</ol>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreigacsag7hyhkkd7m3djpdeqwpfu4kaplmtnbzkhclk6zhbzmrmh24\" alt=\"image\"></p>\n<ol start=\"5\">\n<li>数据的获取和展示,对于 “偷数据” 经验丰富的 RSSHub 作者来说,这是得心应手的一环,首先针对 bilibili、小宇宙、GitHub、pixiv、Twitter 这几个平台进行了<a href=\"https://github.com/Crossbell-Box/xLog/blob/7634df9359dafbf9e9b28b8ad3bc8b214f4e380f/src/app/api/portfolio-stats/route.ts#L32\" target=\"_blank\" rel=\"noopener noreferrer\">抓取</a>,获取到播放量和评论数并在 xLog 的卡片上进行展示,同时考虑到源站可能的压力和反爬,我特别设置了足够长的数据缓存。</li>\n</ol>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeicsbzoo6qjuimt7ih5g5lf7d5xpwxosuqytvie2ezfujr7szaboze\" alt=\"image\"></p>\n<p>如今,这个简单实用的小功能已经落地实现了,可以看看我的<a href=\"https://diygod.cc/portfolios\" target=\"_blank\" rel=\"noopener noreferrer\">作品集页</a>,你是否也想要尝试在 xLog 建立属于自己的个人作品集呢?</p>",
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=1957",
"creator": "DIYgod",
"pubDate": "Mon, 07 Aug 2023 22:34:18 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "7119dcf9ff49b33c4dae1323810890a9",
"highlights": []
},
{
"title": "对 Newsletter 说不",
"description": "衰退无处不在,这是很正常的现象。人们自然而然地更倾向于短平快的消费方式。然而,我一直无法忍受的一种奇怪趋势是,在一些地方,人们将 RSS 抛弃,转而使用 Newsletter。 本质上,电子邮件是一种私密的双向通信机制,而 RSS 是一种开放的单向通信机制…",
"content": "<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreibegqpbw5t22dgwoxgw2lm6vz4ha2fhrt4g2zruvt3yhz6eatmeya\" alt=\"Image\"></p>\n<p>衰退无处不在,这是很正常的现象。人们自然而然地更倾向于短平快的消费方式。然而,我一直无法忍受的一种奇怪趋势是,在一些地方,人们将 RSS 抛弃,转而使用 Newsletter。</p>\n<p>本质上,电子邮件是一种私密的双向通信机制,而 RSS 是一种开放的单向通信机制。使用电子邮件进行私密的更新和文章推送是没有意义的,RSS 是更自然的选择。强行将这些功能应用于电子邮件可能会导致许多问题。这些问题让我觉得 Newsletter 就像一个没有能力但却拼命想证明自己的暴君,无法很好达到发布者期望的效果,又过分侵犯了用户的选择和效率。</p>\n<h2 id=\"user-content-五宗罪\">五宗罪</h2>\n<h3 id=\"user-content-封闭限制\">封闭限制</h3>\n<p>RSS 是一种开放协议,它允许用户自主订阅和拉取感兴趣的网站的 RSS 源,获取最新的更新和文章,无需他人的许可。用户还可以通过阅读器的个性化设置自由选择所需内容,并且可以使用多种渠道接收通知,甚至可以使用 Telegram Bot 进行订阅。</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeih6dnrvjyubz3gu6dufoxa5hkqk7aoxa6rpd3ozxmmbyebrbaubc4\" alt=\"image\"></p>\n<p>而 Newsletter 是由发布者推送到用户私人邮箱的订阅信息,整个过程依赖于平台方,渠道全程封闭。这种封闭极大地限制了用户的选择权,用户被迫在平台的<strong>许可下</strong>,通过<strong>特定渠道</strong>和<strong>特定格式</strong>接收<strong>固定信息</strong>。</p>\n<h3 id=\"user-content-繁琐低效\">繁琐低效</h3>\n<p>相比之下,RSS 更加简洁高效。订阅源可以集中管理,分类、收藏、订阅和取消订阅的过程也非常简单。</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeielehptzhv6ggv6qnea7kkrotagne5t2nnuy2spqqb2ud3db6kkxa\" alt=\"image\"></p>\n<p>而 Newsletter 则会将各种各样的邮件混合在一起,非常分散且难以管理。你很难知道自己到底订阅了哪些内容,它们什么时候会突然出现。而且,内容格式也是各种各样的,查看和阅读起来非常混乱,所以你也不能将一篇文章进行收藏,更不用说方便的第三方集成了。</p>\n<h3 id=\"user-content-信息过载\">信息过载</h3>\n<p>Newsletter 很难对内容进行有效分类和过滤,又与所有正常邮件混合在一起,需要花费精力手动整理。这很容易导致信息过载和垃圾邮件的问题。</p>\n<p>而 RSS 可以很方便地进行分类和过滤,对于不重要的内容,你也可以一键全部标记为已读瞬间解脱,完全没有压力。</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeicenppar3jfyg2l32e2xihg2ehzmfxtb7wsr4cl7sm3qbidthmnou\" alt=\"image\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreih7vahngohsuwrxt6yx7a7h2n745uulx3wsqsguz53q5bdj777244\" alt=\"image\"></p>\n<h3 id=\"user-content-更新周期长\">更新周期长</h3>\n<p>对于 RSS 的更新虽然不算实时,但一般以小时计,类似 RSSHub 等自建服务,甚至可以做到每分钟更新。相比之下,Newsletter 的更新周期,以天甚至周月计,明显滞后了许多。</p>\n<h3 id=\"user-content-隐私和安全风险\">隐私和安全风险</h3>\n<p>RSS 的开放性体现在它不需要用户提供个人信息,从而确保了更好的隐私性和安全性。然而,Newsletter 至少需要提供一个邮箱地址,这增加了数据泄露或滥用的风险。更有甚者,电子邮件可能包含恶意链接或附件。</p>\n<h2 id=\"user-content-也有一些优点\">也有一些优点</h2>\n<p>尽管我对 Newsletter 的低效和局限性持批评态度,但我也承认它有其优点,它的流行也有一些合理性,特别是在卖方市场的情况下对于一些发布者来说。Newsletter 可以让他们获得更多的控制权和点击率,可以更容易知道有谁订阅了他们的内容,并通过邮件通知更强烈地唤起用户的注意。</p>\n<p>然而,站在用户的角度,我必须明确表示,我更偏爱 RSS。我不愿意以放弃自己的选择权和效率来迎合发布者的控制欲。在我看来,获取信息的权力应该掌握在我自己手中,而非其他人或机构。所以,我在这里对 Newsletter 说不。</p>",
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=1825",
"creator": "DIYgod",
"pubDate": "Wed, 12 Jul 2023 18:31:13 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "f29290fd47c8bdbe73c94f3dd77a5f80",
"highlights": []
},
{
"title": "4 月新番太好看了!吹爆!",
"description": "今年从 1 月就一直没什么好看的作品,到了 4 月突然爆发,让我非常激动。现在播出过半了,是时候好好说说感受了 以下当然不能囊括 4 月所有的好作品,因为实在太多了,只是说一说符合我口味的几部,按我个人的喜爱程度来排序\n\n以下会包含大量剧透,还没看的小伙伴请酌情观看\n\n鬼灭之刃刀匠…",
"content": "<iframe style=\"border-radius:12px\" src=\"https://open.spotify.com/embed/playlist/0gF2xmTxiBKqtuKWsw2iZG?utm_source=generator\" width=\"100%\" height=\"152\" allowfullscreen allow=\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\"></iframe>\n<p>今年从 1 月就一直没什么好看的作品,到了 4 月突然爆发,让我非常激动。现在播出过半了,是时候好好说说感受了</p>\n<p>以下当然不能囊括 4 月所有的好作品,因为实在太多了,只是说一说符合我口味的几部,按我个人的喜爱程度来排序</p>\n<p>以下会包含大量剧透,还没看的小伙伴请酌情观看</p>\n<h2 id=\"user-content-鬼灭之刃刀匠村篇\">鬼灭之刃刀匠村篇</h2>\n<p>刀匠村是为鬼杀队锻造日轮刀的刀匠们居住的地方,位置及其隐蔽且高度保密,这部讲的是刀匠村被上弦之肆・半天狗和上弦之伍・玉壶找到并发动偷袭,正在刀匠村的炭治郎、恋柱・甘露寺蜜璃、霞柱・时透无一郎、不死川玄弥努力保护刀匠们,对抗上弦的故事</p>\n<p>上弦之肆・半天狗这个角色非常有趣,本体又小又丑,非常弱小无助又胆小,总感觉像是来送人头的</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeiehfggre4rmhgv44esa3x5c54xgq22lrs2sfdjxfbuo6zfdibpwfi\" alt=\"image\"> <img src=\"https://ipfs.crossbell.io/ipfs/bafybeietuj3qkd5jwoenjzt4xeosy7dxqp2rmlxh4ap3otziq7aprnwb6m\" alt=\"[BeanSub&#x26;FZSD&#x26;LoliHouse] Kimetsu no Yaiba - 51 [WebRip 1080p HEVC-10bit AAC ASSx2]-0001\"> <img src=\"https://ipfs.crossbell.io/ipfs/bafybeia5fgvns4sailpdjztn4ad4tujg5iohyjt6oyouqzqsot4nd6coom\" alt=\"image\"></p>\n<p>但实际上非常扮猪吃老虎,控制的几个鬼(还不知道他们是什么关系)喜、怒、哀、乐、憎,都非常强,压迫感很足,本体防御力也无敌,被大家排着队砍也砍不死</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeigfpym4at3p3qmzyate5xoouypvbpupi4er3murnilb5lj5ubsnqy\" alt=\"image\"> <img src=\"https://ipfs.crossbell.io/ipfs/bafybeic62acu5hwf3qxxfuzucthzwswvs6a3suyplk4cyioztwmjw3c73q\" alt=\"image\"></p>\n<p>弥豆子的表现也很亮眼,鬼化弥豆子超帅</p>\n<tweet id=\"1653023791759458307\" fullurl=\"https://twitter.com/DIYgod/status/1653023791759458307\"></tweet>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeib7f35c5wz2wlu2vvercudmnre7xzawloeude3nmpi5jhcfeydej4\" alt=\"image\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeic4runt4vsjwbb6may6km6bsu7rd7erggkgdcqiisfnvgjmc6i2xe\" alt=\"image\"></p>\n<p>还有可爱的蜜璃</p>\n<tweet id=\"1655603106464387079\" fullurl=\"https://twitter.com/DIYgod/status/1655603106464387079\"></tweet>\n<p>虽然整体节奏还是略显拖沓,但经过游郭篇的洗礼,我本身预期也很低,目前已经远远超出了我的预期,文戏比之前明显少了好多,打斗也更加燃爆,看得非常上头</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeiauh57lb5vt2pg3d5odirbzzmlgt5uhsisrz2kgtry7ht75xvz63u\" alt=\"image\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeihynvoqfnco272dw5lckc5neq33mtkbhz7urdpk4wwec6fbtplnhu\" alt=\"image\"></p>\n<p>再加上我有粉丝加成,荣登我的周指活排名第一名</p>\n<p>谢谢飞碟社款待</p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<div class=\"table-wrapper\"><table><thead><tr><th>类别</th><th>评分 / 10</th></tr></thead><tbody><tr><td>剧情</td><td>7</td></tr><tr><td>画面</td><td>10</td></tr><tr><td>个人加成</td><td>10</td></tr></tbody></table></div>\n<h2 id=\"user-content-为美好的世界献上爆焰\">为美好的世界献上爆焰!</h2>\n<p>脑子有问题的红魔族第一天才中二病魔法师慧慧的故事,喜欢的东西是爆裂魔法,特技是爆裂魔法,兴趣是爆裂魔法,唯一的真爱也是爆裂魔法</p>\n<tweet id=\"1643718650392608779\" fullurl=\"https://twitter.com/DIYgod/status/1643718650392608779\"></tweet>\n<p>慧慧小时候被一位使用爆裂魔法的巨乳魔法师所救而爱上了爆裂魔法</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreia2tjbppxq3wf27ku7ytzwtv77fdbpb7wz5vohtsu3t7cx7or2ooe\" alt=\"[Lilith-Raws] Kono Subarashii Sekai ni Bakuen wo! - 01 [Baha][WEB-DL][1080p][AVC AAC][CHT][MP4]-0008\"></p>\n<p>虽然爆裂魔法极不实用且难以操纵,是出了名的搞笑魔法,“只有学得上级魔法才能独当一面。爆裂魔法之流不过是搞笑魔法罢了”,但慧慧还是不顾嘲笑,为了爱好而独自努力</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreifdwsoilenz6g2xujt75g5qmxfb5cr6ngihw7ff7w755i3syw2deq\" alt=\"[Lilith-Raws] Kono Subarashii Sekai ni Bakuen wo! - 01 [Baha][WEB-DL][1080p][AVC AAC][CHT][MP4]-0002\"> <img src=\"https://ipfs.crossbell.io/ipfs/bafkreifixqofyang5qup7yqrgnnayg6rqknstm5xd6ahzdijlife7z6nbi\" alt=\"[Lilith-Raws] Kono Subarashii Sekai ni Bakuen wo! - 01 [Baha][WEB-DL][1080p][ALine truncated
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=1614",
"creator": "DIYgod",
"pubDate": "Wed, 24 May 2023 23:32:29 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "fa64a84f82e1ea2fe22aac252c93c420",
"highlights": []
},
{
"title": "我得了软件更新强迫症",
"description": "我必须让身边所有软件都保持最新版本,就像走路不能踩到地砖缝缝一样,没有意义,但也危害不大,所以我放任它发展",
"content": "<p>我必须让身边所有软件都保持最新版本,就像走路不能踩到地砖缝缝一样,没有意义,但也危害不大,所以我放任它发展</p>\n<div style=\"display: none\">\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeidy2jmclbfvtlgv2fluz2rglny7wkbdbyd3y4teqnmibp36y6ihrq\" alt=\"image\"></p>\n</div>\n<h2 id=\"user-content-操作系统和固件\">操作系统和固件</h2>\n<p>最基础的,大到主力生产力 MacBook,小到吃灰的 Dockcase 扩展坞,都要更新,这是我的 Checklist,基本上靠更新提醒就够了</p>\n<div class=\"os-screenshots\">\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<div class=\"table-wrapper\"><table><thead><tr><th>设备</th><th>截图</th></tr></thead><tbody><tr><td>MacBook</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreia4qv3x7janwrnrc2sgftnpfrgwlpjynn2tqyzljprhcux6ftka4u\" alt=\"image\"></td></tr><tr><td>NAS</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreielshhsy6qhqf42c7rdctwjrq7377e3sgpcibahd4inlzqdoof2ui\" alt=\"image\"></td></tr><tr><td>路由器</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreiclxwaxioqu7rbtgqwsr6cpdddqri3cpr6zo4juvnv632agrhptqe\" alt=\"image\"></td></tr><tr><td>iPad</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafybeifnsbxktfk3dboqimfq3jydasui52r4vbufd5mmgmjmkbc7zccy2y\" alt=\"IMG_0531\"></td></tr><tr><td>iPhone</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreifap6673enxgktotacjexseaviphooirqmuvaapape7qtqx2fwdb4\" alt=\"IMG_6D8DCEB3D457-1\"></td></tr><tr><td>小米手环</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreihdqytgocwdb2wnjll6qb5gb6pcpbx3hj5ze6wzpcqofk3a4sqb64\" alt=\"IMG_3744\"></td></tr><tr><td>小米家居</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreidyu3t5cgtqej7fllrzapxrqt7ly2xwf5fmsl4iiekpgq5fceweua\" alt=\"IMG_3745\"></td></tr><tr><td>相机</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreiflqsqlsppssx3esrezif6ed7vh5hoo4iiuq3rjmdi4gkwfpma7dm\" alt=\"Pasted image 20220627175100\"></td></tr><tr><td>PS5</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreiearr6ztdcv4o6sf6g5sb4ibeaxhpftitcvvvibykervhlbmqgmhq\" alt=\"image\"></td></tr><tr><td>Switch</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreibghmflj7ppy5eonaegf7fika6iau2ws3dqqlpnmu3n5g75ko3gbi\" alt=\"image\"></td></tr><tr><td>Dockcase 扩展坞</td><td><img src=\"https://ipfs.crossbell.io/ipfs/bafkreieqpxnt7nqr4q6gmvocjctmlfbseca73nkcmz6rharxjbxtz444am\" alt=\"Pasted image 20220504125702\"></td></tr></tbody></table></div>\n</div>\n<h2 id=\"user-content-应用\">应用</h2>\n<p>操作系统下的应用也需要更新</p>\n<h3 id=\"user-content-macbook\">MacBook</h3>\n<p>Homebrew Cask 出现之前 macOS 的应用更新一直是一个难题,App Store 的自动更新最好用但是应用很少,曾经困扰了我很久,但现在没问题了</p>\n<p>对 macOS 的应用我秉持这样的原则:</p>\n<ul>\n<li>第一顺位 Web 版,比如:Discord、Slack、Telegram、Spotify</li>\n<li>第二顺位 App Store 版</li>\n<li>第三顺位 Homebrew</li>\n<li>除此之外不安装</li>\n</ul>\n<p>其中 Web 版不需要更新,App Store 会自动更新,Homebrew 只需要每天执行下命令</p>\n<div class=\"code-wrapper\"><button type=\"button\" class=\"copy-button\"><span class=\"i-mingcute-copy-2-line\"></span><span>Copy</span></button><pre><code class=\"language-sh\">brew update &#x26;&#x26; brew upgrade &#x26;&#x26; brew cu -a -y &#x26;&#x26; brew cleanup\n</code></pre></div>\n<p>但 App Store 有时候会好几天才能自动更新上,这不能忍,安装上 <a href=\"https://github.com/mas-cli/mas/\" target=\"_blank\" rel=\"noopener noreferrer\">mas</a> 用命令行触发强制更新,再加上鼠须管的词库更新和 alias,下面就是我的总命令了</p>\n<div class=\"code-wrapper\"><button type=\"button\" class=\"copy-button\"><span class=\"i-mingcute-copy-2-line\"></span><span>Copy</span></button><pre><code>alias up=\"brew update &#x26;&#x26; brew upgrade &#x26;&#x26; brew cu -a -y &#x26;&#x26; brew cleanup &#x26;&#x26; mas upgrade &#x26;&#x26; ~/plum/rime-install iDvel/rime-ice:others/recipes/full\"\n</code></pre></div>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeidy2jmclbfvtlgv2fluz2rglny7wkbdbyd3y4teqnmibp36y6ihrq\" alt=\"image\"> <img src=\"https://ipfs.crossbell.io/ipfs/bafkreib5jf433c5immfnbbl2iw7jflu37bsx2qzti5nqrzuc626l4ugbpu\" alt=\"image\"></p>\n<h3 id=\"user-content-nas\">NAS</h3>\n<p>有两部分,群晖的套件会自动更新,Docker 部分用 <a href=\"https://containrrr.dev/watchtower/\" target=\"_blank\" rel=\"noopener noreferrer\">Watchtower</a> 自动更新</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeidqgrvewitjql6h5bmthvhox3qrx6bt6cjz2cjb6lbeumatzzt6ua\" alt=\"image\"></p>\n<h3 id=\"user-content-其他\">其他</h3>\n<p>iPad 和 iPhone 应用虽然也会自动更新,但也是经常好几天才更新,所以Line truncated
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=914",
"creator": "DIYgod",
"pubDate": "Sat, 08 Apr 2023 23:00:00 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "378e4344413f4088a3ba628facfcc64b",
"highlights": []
},
{
"title": "令我痛心的三部反乌托邦动漫",
"description": "四月对我而言是一个充满悲伤的月份。尽管《四月是你的谎言》已经过去了很多年,但每当看到「四月」这两个字,仍会立刻触发我的 PTSD,再加上今天我刚读完一本反乌托邦题材的小说《来自新世界》。多种思绪糅杂在一起,让我不禁回想起了那些令我痛心的「重量级」反乌托邦动漫",
"content": "<div style=\"display: none\">\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeih6nkyowhmksth75szqli34g4e3aphwcfrlt32oseauzeyrdfjria\" alt=\"image\"></p>\n</div>\n<blockquote>\n<p>请欣赏 「DIY 的夺命歌单」</p>\n</blockquote>\n<iframe style=\"border-radius:12px\" src=\"https://open.spotify.com/embed/playlist/1dkOjgIAuwxIG75v6QyrpN?utm_source=generator\" width=\"100%\" height=\"352\" allowfullscreen allow=\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\"></iframe>\n<p>四月对我而言是一个充满悲伤的月份。尽管《四月是你的谎言》已经过去了很多年,但每当看到「四月」这两个字,仍会立刻触发我的 PTSD,再加上今天我刚读完一本反乌托邦题材的小说《来自新世界》。多种思绪糅杂在一起,让我不禁回想起了那些令我痛心的「重量级」反乌托邦动漫。</p>\n<h2 id=\"user-content-darling-in-the-franxx\">DARLING in the FRANXX</h2>\n<blockquote>\n<p>“如果把动画比作足球的话,这部动画大概就是日本国家队了,就是普通不看足球的人也会期待日本队的表现,也会去谈论足球,所以希望自己的动画也能被这样对待。不单单锦织敦史的粉丝、TRIGGER 的粉丝、A-1 的粉丝这些平时看动画的观众,希望平时不看动画的观众也能享受这部作品。” — 鸟羽洋典</p>\n</blockquote>\n<p>制片人的这番话一点也不夸张。这部动漫的制作阵容极为豪华,集结了业界的大佬和顶级声优,因此在尚未播出之前就被所有人寄予厚望,以至于还没播出就已被推上神坛。</p>\n<p>然而,神作的道路并非顺利。从爱奇艺和 B 站的霸权争夺,到驾驶姿势引发的女权争议,最后在 B 站 UP 主 Lexburner 的口嗨和群众的恶意举报中达到高潮,赵弹来袭。</p>\n<div class=\"full-image\">\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeifog2nxciblaoszarqqollx7crrj37js74vylca4kcofmh7zmh55e\" alt=\"image\"></p>\n</div>\n<p>这些历史背景现在看来其实都不值一提,只是说明当时的热度和争议之高。毕竟最后还是用作品说话,而这部作品简直太符合我的口味了,反乌托邦的背景、活泼可爱打破常规的 02、恰到好处的涩涩、科幻、鬼、悬疑...</p>\n<div class=\"full-image\">\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafkreifekmvmgn4wbehu6o5pjz2a7aoumdeljbugbvyksm7uf4ab6jcadq\" alt=\"1B89028C35E9F0136C0A628BA6DD978B\"></p>\n</div>\n<p>当时的我茶不思饭不想,在一声声 Darling Darling 中逐渐迷失了自我,每周就指着 Darling 活了,我把博客主题改成了 Darling 的配色和配图,头像和名字也换成了 Darling,买了手办、画册一切能买的周边,甚至学着画画专门临摹 02,逢人就吹爆,只要看了 Darling 我们就是好朋友种种</p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeic5jsm2rrduqpbspdz4bdc6zhbooi4sw642ds2jgle6yojlsmxedm\" alt=\"image\"></p>\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeibx7moe6hd6xwfpblp2modc3vc255n2ql737nlaspfl3264q4ubqi\" alt=\"image\"></p>\n<p>再回过神来就是惨绝人寰的烂尾了,就像回应开播时的轰轰烈烈一样,烂得也彻彻底底没有任何余地,但可能是大脑对强烈刺激的自我保护,我现在已经不太记得当时的具体情景了,只记得一个巨大的花嫁扎古噩梦...</p>\n<p>这部由如此豪华的制作团队打造的作品,竟然如此令人失望。至今我仍无法理解。</p>\n<h2 id=\"user-content-约定的梦幻岛\">约定的梦幻岛</h2>\n<p>一年后,我又发现了一部绝赞的反乌托邦番剧</p>\n<div class=\"full-image\">\n<p><img src=\"https://ipfs.crossbell.io/ipfs/bafybeiemdmi3mt7umyhw7m5ykreo5g7okf7mbr72mgmhhcqhtzzg5yapt4\" alt=\"image\"></p>\n</div>\n<p>在我吹爆《约定的梦幻岛》第一季的时候就有人提醒我:Darling 尸骨未寒,你怎么敢。我却不以为意,认为这只是巧合。毕竟,梦幻岛是根据广受好评的漫画改编的,有着坚实的剧情基础,与原创动画 Darling 根本不能相提并论,第一季播完我还沾沾自喜:看,这次没事吧。</p>\n<p>然而,两年后,第二季开播了。</p>\n<p>我仍然清晰地记得刚开播时,我坐在电脑前激动地第一时间观看。然而,越看越觉得不对劲。到了第四集,剧情已经无法挽回。后来我勉强捏着鼻子又看了几集,但发现我的意志力实在不足以支撑我继续观看。</p>\n<p>按理说,漫画已经取得成功,剧情不成问题;第一季动画也获得了好评,拥有广泛的粉丝基础。只要按部就班地制作第二季,绝对会成为另一部神作。然而,动画剧情却砍掉了许多原创桥段,换上了毫无逻辑的编剧所编织的剧情。实在难以想象制作过程中究竟发生了什么。</p>\n<p>还好,同期播放的巨人稳得Line truncated
"category": "post",
"link": "https://xlog.app/api/redirection?characterId=10&noteId=764",
"creator": "DIYgod",
"pubDate": "Sun, 02 Apr 2023 04:50:00 GMT",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "DIY",
"feed": "DIYGod",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "31d7a79f6b83e9727bff105b82bd6111",
"highlights": []
}
],
"folder": "DIY",
"name": "DIYGod",
"language": "",
"hash": ""
}
],
"dateFormat": "YYYY-MM-DDTHH:mm:SS",
"template": "---\nlink: {{link}}\nauthor: {{author}}\npublished: {{published}}\ntags: [{{tags:,}}]\n---\n# Highlights\n{{highlights}}\n\n---\n# {{title}}\n{{content}}",
"pasteTemplate": "## {{title}}\n{{content}}",
"askForFilename": true,
"defaultFilename": "{{title}}",
"autoSync": false,
"hotkeys": {
"create": "n",
"paste": "v",
"copy": "c",
"favorite": "f",
"read": "r",
"tags": "t",
"open": "o",
"tts": "s",
"previous": "ArrowLeft",
"next": "ArrowRight"
},
"folded": [
"IT",
"我的博客-",
"helloGithub",
"人文历史",
"开源",
"我的博客",
"DIY",
"博客"
],
"renamedText": {
"filtered_folders": "",
"folders": "",
"no_folder": ""
},
"displayMedia": true
}