<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Lain is writing</title><description>有关幻想的一切。记录项目、想法与生活。</description><link>https://lain.today/</link><item><title>我选择拯救世界</title><link>https://lain.today/blog/2026/lie/</link><guid isPermaLink="true">https://lain.today/blog/2026/lie/</guid><description>遇到了路边求助的陌生人，想起了大学时期的两件事，关于善意与被骗的边界。</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;遇到了称没钱吃饭、没钱买车票的路人。&lt;/p&gt;
&lt;p&gt;今天，也许是昨天，出门的时候在路边遇到了一位自称没钱吃饭、没钱买车票的人。他急着掏出身份证，说实话，对这种事情我一时没反应过来，也只是大致看到了是河南人，现在想想他干嘛一直遮着左下角？那人声音带着口音，但我也听不出是哪里人，虽然大学室友有一个河南人来着。除此之外，声音模糊，本就听力糟糕，要废好大劲才能听出来在说什么。&lt;/p&gt;
&lt;p&gt;总之，听明白干嘛后，我表示可以请他吃碗面，或者吃点别的。那人表示自己吃过了，他老婆没吃（但没跟着他），他只是想要点钱买车票（恍惚中好像说的是公交车票？？），让人感到疑点重重。&lt;/p&gt;
&lt;p&gt;最后，我摆摆手表示不会给钱，那人也就离开了。值得一说的是，在我之前的前一分钟，他已经找过了另一个和我擦肩而过的路人。&lt;/p&gt;
&lt;p&gt;写下这些，大概不只是为了记录这个事件，算是想回顾些什么。&lt;/p&gt;
&lt;p&gt;大学时期，从家里到大学可以选择坐长途大巴。有两件事，我记忆犹新，暂且把大学所在的城市称为 B，家里称为 A 好了。&lt;/p&gt;
&lt;p&gt;一件发生在从 B 到 A 的大巴上，那时车还没驶出长途汽车站。一个盲人直接就拿着二维码上车了，手上的牌子写着扫 5 元给他就行。傻傻的我虽然有点怀疑，但还是扫给他了，甚至还问了一句真的假的类似的话。现在想想就是骗子？&lt;/p&gt;
&lt;p&gt;另一件发生在从 A 到 B 的大巴上，A 到 B 之间有一条高速，车票是我在正规平台买的。出发前，司机说让每人交 50 高速费，我真的质疑其目的，但一方面怕后面没车，另一方面怕他开到一半把我赶下去，我还是先交了。但在车上，我就直接举报到了交通厅。过了几天，收到了一封邮件，是举报反馈，说是要把钱退给我，不过怕其他麻烦，我婉拒了，只要求对司机进行处理，当然后续有没有处理就不知道了，很遗憾，我对司机本人也没有什么印象，也就无从得知他是否还在继续做司机。&lt;/p&gt;
&lt;p&gt;也许还可以写一两件事，但好像本质也差不多，想想算了。&lt;/p&gt;
&lt;p&gt;写下这些，多少有看了&lt;a href=&quot;https://chii.in/group/topic/460819&quot;&gt;这篇帖子-我应该接受我无法拯救世界吗？&lt;/a&gt;的原因，我想，我能接收自己无法拯救世界，但我不太能接受自己不去“拯救”世界。&lt;/p&gt;
&lt;p&gt;如果有一天我变得很有钱的话，也许我会让自己多被骗几次。&lt;/p&gt;
</content:encoded></item><item><title>读完河野裕的昨日寻找星星的借口想到的</title><link>https://lain.today/blog/2026/hoshi/</link><guid isPermaLink="true">https://lain.today/blog/2026/hoshi/</guid><description>读完昨日寻找星星的借口想说的，关于善意的表达方式与温柔的边界和其他。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;真霄蜗牛翻译的版本。&lt;/p&gt;
&lt;p&gt;河野裕好像想讲很多，理想，权利，歧视，善意，温柔，伤害之类的，结果变成好像只是在讲一个错付的恋爱故事。&lt;/p&gt;
&lt;p&gt;想稍稍聊一聊桥本老师和绵贯，关于他人给的善意。&lt;/p&gt;
&lt;p&gt;前阵子在看的一部电视剧里有提到一个场景，大概是一个人在聚餐时正在被同事口头欺负，这个时候作为陌生人插入为那个人打抱不平。这算是正确的做法吗？一个可以想象的情况是，作为陌生人插手，虽然表面上好像结束了被欺负的现状，但也很难说背地里同时会不会变本加厉欺负那人。&lt;/p&gt;
&lt;p&gt;简单来说，这是短暂的善意。你终究无法抵达受害人停止被害的世界。&lt;/p&gt;
&lt;p&gt;“不对。我会不停给予，直到你们满足为止。”这是拜望会上，桥本老师对主角一行人说出的话。在我看来，说着这样的话的桥本老师，大概自始自终都没有想过绵贯内心究竟在想什么。&lt;/p&gt;
&lt;p&gt;关心绵贯，这很好，不过如果真如桥本所想，大张旗鼓的把人送到了终点，在这之后会发生什么？我觉得和聚餐时被欺负的那人大概会是相同的结局，至少是心理上。&lt;/p&gt;
&lt;p&gt;虽说拜望会的小插曲，好像也不分什么对错，只是大家看法的不同，但我果然还是很讨厌这样擅自就把一切决定了的人。&lt;/p&gt;
&lt;p&gt;对于绵贯来说，桥本老师在拜望会那样的情况下，也许什么都不做才更显温柔。&lt;/p&gt;
&lt;p&gt;说到底，做一个温柔的人，与人为善本身并没有什么不好，但表达善意的方式会有不同，会造就不同的结果。至于所谓的长久的善意，考虑了方方面面的那种温柔，到底有没有人能做到，我深感怀疑。而若非怀着这样的决心去帮助别人不可的话，那也未免太过讽刺了，我还是对每一个善良温柔的人表示敬佩。&lt;/p&gt;
&lt;p&gt;关于小说的标题，我很喜欢这个标题，总有一种 FLAT STUDIO 制作的天体観測 MV 的感觉（但读完我感觉好像有点白瞎这标题了:D）。&lt;/p&gt;
&lt;p&gt;关于故事本身，我不太喜欢这个故事，跟想象的有点差距，实在很难说喜欢，然而也不算讨厌。河野裕大概很会讲故事，毕竟学生会部分也写得能让人读下去。但就是有一种难以带入的感觉。&lt;/p&gt;
&lt;p&gt;然后是一些吐槽。&lt;/p&gt;
&lt;p&gt;你们初中生都这么早熟的吗？坂口给我一种企鹅公路里青山君的感觉，牙医自然是中村老师。两人就这样找到了海豚XD。&lt;/p&gt;
&lt;p&gt;至于茅森，总给我一种前后人设不一致的感觉，说不上来的怪异。&lt;/p&gt;
&lt;p&gt;以及两人间的关系，就这破事也能八年后才和解啊?&lt;/p&gt;
&lt;p&gt;一点题外话，不知道河野裕写这本书的时候有没有想到多年后真有高市早苗这样的人物出现。&lt;/p&gt;
</content:encoded></item><item><title>当写一个前后端分离项目时需要注意什么</title><link>https://lain.today/blog/2026/dev/</link><guid isPermaLink="true">https://lain.today/blog/2026/dev/</guid><description>使用 NextJS + Cloudflare Workers 构建全栈应用的经验总结与踩坑记录。</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;近些天，我爆肝了一个使用 NextJS + Cloudflare Workers + Cloudflare D1 数据库构建的前后端分离的类似 Memos 的网页应用（&lt;a href=&quot;https://tsukkomi.lain.today&quot;&gt;TSUKKOMI 在线预览&lt;/a&gt;）。到现在为止，大概是我第三次写全栈应用了，但老实说，我对全栈一无所知，在写的过程中也还是出现了很多没有预想到的情况，因此写下这篇文，权当记录和分享，当想写一个前后端分离的项目时，我应该注意什么？&lt;/p&gt;
&lt;h2&gt;1. 在写代码之前&lt;/h2&gt;
&lt;p&gt;在写代码之前，有几件事值得仔细思考一下。&lt;/p&gt;
&lt;p&gt;首先是技术架构，确认好要按使用的前端框架、后端服务、数据库和存储服务。以及要使用何种风格的 API，是否要生成 API 文档（比如使用 swagger 等工具从代码里构建）。&lt;/p&gt;
&lt;p&gt;然后是数据模型，确认好项目设计的数据模型，在我的类 Memos 应用里，主要设计的数据模型包括 User、Memo、Label、Session（存储会话）、ResetToken（用于重置密码），在构建数据库的时候注意主键类型，使用自增 id 还是随机生成的 id（使用 nanoid 等库）。在这一步应同时确认好将会使用的授权认证方式。&lt;/p&gt;
&lt;p&gt;接着是 API 的设计，考虑好将来要是用到的功能，从注册开始，登录、查询 Memos、新建/更新 Memos，到最后的重置密码等功能，思考完一圈，差不多就能汇总所有要用到的 API 了。如果要设计搜索的话，考虑好要传入的参数。&lt;/p&gt;
&lt;p&gt;最后，差不多可以开始写了。&lt;/p&gt;
&lt;h2&gt;2. 开始写吧！&lt;/h2&gt;
&lt;p&gt;建议先开始写后端，因为前端的调试基本都依靠后端服务来进行。&lt;/p&gt;
&lt;p&gt;后端项目应把不同作用的代码放入不同文件夹，一个常见的分层发放时为 控制层（路由，接收前端请求，参数校验）-服务层（处理核心业务逻辑）-数据访问层（SQL）。&lt;/p&gt;
&lt;p&gt;一般来说，可以从写用户授权所需的 API 开始，依照在写代码前相好的 API 设计写下去就行了。几个值得注意的问题：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;1、API 对时间的处理：后端最好统一存储 UTC 时间，在我的项目里，把相关的查询参数里的时间也限制为了 UTC 时间，API 返回 UTC 时间，最后再由前端进行时区转换。&lt;/p&gt;
&lt;p&gt;2、API 对参数校验的处理：最好在一开始就想好 username、password 等需要的格式，然后封装好函数，在路由统一对参数进行校验。可以考虑使用 zod 之类的库。&lt;/p&gt;
&lt;p&gt;3、如果确认要 API 文档的话，在开始写 API 的时候就应该开始做相关工作了。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;API 的设计应确保：命名统一、返回格式统一、有统一的错误处理。&lt;/p&gt;
&lt;p&gt;写 API 的过程中，可以使用 Hoppscotch 之类的工具，对 API 进行测试。&lt;/p&gt;
&lt;p&gt;一个可选项是，对重要 API 如注册、重置密码进行流量限制，在中间件里对用户请求次数进行限制。&lt;/p&gt;
&lt;p&gt;开始写前端。&lt;/p&gt;
&lt;p&gt;首先是状态管理，前端需要存储当前用户等信息，可能需要用到状态管理的库，或者需求小的话，可以简单写一个状态管理就行。以及，如果没有使用组件库的话，应首先考虑好 Toast 和 Confirm Dialog 等交互确认组件的设计。&lt;/p&gt;
&lt;p&gt;然后可以依旧从用户使用体验的链条来写页面，从登录注册开始。&lt;/p&gt;
&lt;p&gt;还需要特别注意的是，前后端分离项目，应注意&lt;strong&gt;跨域&lt;/strong&gt;问题的处理，这包括：API 请求的跨域、Cookie 的跨域、前端内容生成的跨域（如 Markdown 内容生成图片分享）。&lt;/p&gt;
&lt;p&gt;最后，永远不要把重要的机密暴露在文件当中，应当使用环境变量写入系统，环境变量相关的文件如 &lt;code&gt;.env&lt;/code&gt; 应只保留在本地开发环境中，在开源仓库中只存放 &lt;code&gt;.env.example&lt;/code&gt; 之类的示例文件。&lt;/p&gt;
</content:encoded></item><item><title>音乐和音乐相关的</title><link>https://lain.today/blog/2026/lscmusic/</link><guid isPermaLink="true">https://lain.today/blog/2026/lscmusic/</guid><description>从 Lovely Summer Chan 的 LSC 专辑到 The Pillows，关于喜欢的歌的记录。</description><pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;并非单纯的音乐评论，记录一下音乐和音乐相关的。&lt;/p&gt;
&lt;p&gt;得益于bangumi的时间线，歌单新增一张名为LSC（by &lt;em&gt;Lovely Summer Chan&lt;/em&gt;）的专辑，坦白地说，我可能并没有那么喜欢这张专辑，同往常一样，我只是偏爱着一张专辑里的其中几首或者一首歌。目前我喜欢着的是，disc1中的「12.僕らなら」。&lt;/p&gt;
&lt;p&gt;如我在单曲吐槽箱中写的一样，「什么时候再来一部类似FLCL的片子把这首作为插曲，我都不敢想有多爽」。这首歌吸引我的，大概是一种什么东西被好好地完成了的感觉，或者说，有一种前进的趋势在里面。在第一次看到「僕らなら」的歌名的时候，我不由想起The pillows乐队在一次现场演唱Funny  bunny时，把最后一句歌词改为了「僕らは（原为&lt;strong&gt;君なら&lt;/strong&gt;）、それができる」这件事。从一个人的专辑写到另一个乐队的歌，难免有点让人鄙夷。我想说的是，「僕らなら」，带给了我一种又看了一集FLCL的感觉。&lt;/p&gt;
&lt;p&gt;或许我可以就喜欢的歌再说点什么，但我对乐理、作词的精妙等等几近一无所知，也只得就此作罢。&lt;/p&gt;
&lt;p&gt;听歌的人大致分为两派：单曲循环的人和每首都不一样的人，我是前者。在单曲循环「僕らなら」之前，近期经常循环播放的是「ムズイ」(by &lt;em&gt;22/7&lt;/em&gt;)，我厌倦了，然后又很快地进入了下一个循环。&lt;/p&gt;
&lt;p&gt;按照经验来讲，一首歌循环个多遍，难免会感到厌烦——心理学上把这种情况称作曝光效应（Mere exposure effect）。简单来说，是所谓的喜新厌旧。&lt;/p&gt;
&lt;p&gt;我记得大概三四年级的时候，我家有了第一台电脑——但没有网络（笑）。借由这台电脑，我听了印象中的第一首歌「采蘑菇的小姑娘」。但在那之后相当长一段时间我都没有听到再多的歌，开始即是结束。&lt;/p&gt;
&lt;p&gt;五年级的时候，在十多年的那个小小的教室里，班主任带着我们一句一句唱下了一首名叫「踏浪」（by 顾清遥）的歌，这大概是我喜欢的第一首歌。十多年后的今天，对于当初那个小孩来说，放一首歌，已经变得十分简单，写到这的时候，我把这首歌找出来开始了单曲循环。后来，我陆陆续续听了不算很多的歌，从「天下」、「逆态度」（by 张杰），到「我们的恋爱是对生命的严重浪费」（by 许嵩），从「十年」（by 陈奕迅）到「Poker face」（by ladygaga）。十多年后的今天，流媒体APP个人账号上的歌单已经变为了Jpop和各类OST的形状（图截自本人LastFM 2025年总结）。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://p.sda1.dev/30/a3da9402a02e3abfd7971175f4a6166f/image-20260114132826668.png&quot; alt=&quot;image-20260114132826668&quot;&gt;&lt;/p&gt;
&lt;p&gt;从华语流行到JPOP常驻，是品味的变化吗？我觉得与品味无关，不过与品味相关的，有一件事让我难以忘怀。&lt;/p&gt;
&lt;p&gt;高中时期，那时候我大概在听alan walker、linkinpark之类的，我已经有三四年没听过许嵩了，这是大概的数字。一次微机课上，我看到有人在听许嵩，便调侃了一句。几年后，一个平常的冬日，在只剩杂草和稻桩的田野上，我又听了一次「我们的恋爱是对生命的严重浪费」，还有他的其他歌。我突然发现某段时期的我也许对听许嵩这件事是带有一点羞耻的，我羞于告诉别人我听许嵩这件事。&lt;/p&gt;
&lt;p&gt;其实我还是很喜欢许嵩的歌，只是我可能有些厌倦了，厌倦到已经很少放中英文歌曲，造成了JPOP“一家独大”、中英文和纯音乐作为陪衬的局面。&lt;/p&gt;
&lt;p&gt;厌倦也常常是我失眠的原因。&lt;/p&gt;
&lt;p&gt;每个听歌的人都难免有在床上听歌的记忆——大概率那个时候是在期待着在定好的时间前、在播放队列清空前能沉沉睡去。最近我发现歌单太久没有更新，已经几乎没有能够让我睡意加深的歌曲了，听着听着只剩下厌倦，最后只能放播客——我还尝试过各类听力题和高等数学课。&lt;/p&gt;
&lt;p&gt;我在互联网上搜索过睡觉听歌的事，发现的事实如下：一方面带歌词的歌高潮部分可能会让人惊醒，另一方面，听歌本身也不利于听力健康。结论是，睡觉不听歌会比较好，这和预想中一样。&lt;/p&gt;
&lt;p&gt;但是这很难，即使跟听力有关。&lt;/p&gt;
&lt;p&gt;「喜欢音乐，同时意味着要喜欢耳朵。」这并非谁的名言，但我相信，喜欢音乐的人，大抵也是喜欢自己的耳朵的，那是一种不想失去的喜欢。因为童年一些情况的发生，不幸持续了八年之久，我才走入医院确诊病症。如今二十有余，我虽不至于听力残疾，但也已是离领证不远，我时常担心老了之后听力再次衰减该怎么做，那个时候世界会归于平静吗。&lt;/p&gt;
&lt;p&gt;说到耳朵和音乐，很难不想起两百多年前的那位巨人，贝多芬在听力持续下降的人生里，谱写了自己的音乐人生。可惜的是，我并非那般才华横溢的人，我只是普通人，将普通地生活下去。&lt;/p&gt;
&lt;p&gt;中学政治告诉我们，生活除了物质上的，还有精神上的。&lt;/p&gt;
&lt;p&gt;前些天，我突然注意到过去20多年的人生里，我认识的人里好像仅有两人写小说，而自从接触互联网后，好像写小说的人越来越多了。我很好奇有没有试图写小说的人的人数变化数据之类的。这样想，是因为我猜想这个数据或许同大家的幸福指数有关。人们常说，苦难是文学的土壤。写小说的大家大概也是在搭建让自己幸福的精神世界，读者则试图藏身其中。&lt;/p&gt;
&lt;p&gt;音乐，同小说、电影、电视剧、漫画等作品一样，同样承载着观者或作者对生活的幻想；但不同于小说、电影、电视剧、漫画和其他，音乐可以近乎随时随地，不需要停下手里的工作，只需要去感受，去幻想。&lt;/p&gt;
&lt;p&gt;这么看来，有音乐的存在真是太好了。&lt;/p&gt;
</content:encoded></item><item><title>去了趟图书馆</title><link>https://lain.today/blog/2026/library/</link><guid isPermaLink="true">https://lain.today/blog/2026/library/</guid><description>一个阳光明媚的冬日，图书馆的偶遇与随想。</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;去了趟图书馆。&lt;/p&gt;
&lt;p&gt;今天也阳光明媚，虽如此，周围也是一片寒冷，值得庆幸的是气温竟略有回暖。走在街道上，耳机里随机到了嵐的「love so sweet:reborn」，脚步也变得轻快了起来。真的是非常积极的一首歌，忍不住循环了几遍（都给我去听！(bgm53)）。&lt;/p&gt;
&lt;p&gt;巧合的是，在隔壁组刚发完想重拾外语的帖子后，在图书馆看到的第一本书是《如何科学学外语》(白井恭弘)，不禁感叹命运，不过最终我只是把它放进了微信读书订阅里。总感觉，在图书馆看这种类型的书，好像在浪费时间。&lt;/p&gt;
&lt;p&gt;虽然很想做个阳角，做个看起来积极一点的人，但好像也做不到对就发生在身边的事情置若罔闻。&lt;/p&gt;
&lt;p&gt;回程在公交站等车的时候，一位阿姨过来问怎么看车会到哪站，总之因为各种各样的原因，未能解答阿姨的疑惑。她走向站台另一侧后，我才反应过来，站牌大概应该在那边才对。那边姑且有几位学生模样的人在，只能祈祷阿姨再外向一次了。这种事情倒不是第一次了，上次是我刚要上车，一位老太太来问路，我马马虎虎地回答后便上车离开，以至于司机以为老太太是我的谁谁谁。&lt;/p&gt;
&lt;p&gt;另一件事发生在超市，一位大叔走进店里，拿了一袋袋装纯牛奶，问店员怎么卖，店员说一块八，大叔把牛奶放了回去，走出了店门，骑着摩托车载着一个学生模样的人离开了。那时候我想的是，要是能让他买上多好。望着手里提着的一袋子东西，不知为何我略感羞愧。&lt;/p&gt;
&lt;p&gt;从旁观者的角度记录以上两件事多少有点傲慢，倒不如说，事到如今，说这些有什么用，当时就应该确认公交到站情况、直接请客之类的，但我也不觉得这是我能做出来的事，帮看路尚可以说是乐于助人，直接请客在我看来则是傲慢中的傲慢。即便如此，虽说做不出来不等于不想做，但没做，终究像是行动上的矮子。&lt;/p&gt;
&lt;p&gt;我觉得这两件事，对我来说，某种意义上，可能是仅存在于今天的遗憾。&lt;/p&gt;
</content:encoded></item></channel></rss>