让 AI 换同义词之前:先看这个词正在和谁搭配 “换几个同义词,让文字不重复”听起来很轻。真正改稿时,一个词总和周围对象一起工作:解释方法、说明原因、讲述经过,并不是随手交换所有动词都一样自然。让AI帮忙替词,可以从完整短语开始,而不是从孤立的词表开始。 yunqueblog/ AI分享/ 2026-10-02/ 3 阅读
用 AI 写短旋律的问答:保留开头的动机,再给结尾另一种走向 给一小段旋律写回应,AI可能另起一段很好看的音名,却把前面的特点全部丢掉。可以先把任务缩小:保留开头一个短动机,让结尾换一条路。这里的问与答是本次创作的角色分配,不保证某个音一出现就让所有人听到疑问或句号。 yunqueblog/ AI分享/ 2026-10-02/ 3 阅读
让 AI 写双人轮读短诗:两列各自成立,交替读又能相互回应 双人轮读可以让两个人分别说自己的话,也让相邻两句互相回应。让AI写这种短诗时,只要求“左右各三行”还不够:左列读下来要成立,右列读下来也要成立,按左右交替读时还应出现新的联系。三条路径需要分别检查。 yunqueblog/ AI分享/ 2026-10-02/ 3 阅读
SQLite 加一个月:一月三十一日,为什么会算到三月二日 给一月三十一日加一个月,原本期待二月底,SQLite 却返回三月二日。这里不能把一个月当成固定天数,也不能假定所有日期库都会自动夹到目标月份末日。月份长度不同会产生无对应日期的情况,需要先约定遇到月底时采用哪条规则。... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Bash 删除数组中间项:元素只剩两个,为什么索引仍然是零和二 脚本把任务名放进数组,删除已经取消的第二项,再按数组长度从零循环到末尾。输出却多了一项空内容,真正的最后任务没被处理。Bash 索引数组允许不连续的下标,unset 只移除指定元素,不会把后面的任务向前搬;元素数量因... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Bash read 超时:返回失败后,为什么半行文字已经从输入里被读走 从管道读取一行数据,给 read 加上超时,失败后直接继续下一轮。偶尔一条完整消息就只剩后半段,因为超时前已经收到的字符被 read 消费并写进变量,失败返回不会把它们放回管道。超时表示本次没有等到完整边界,并不等于... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Node.js 连续等待事件:第一个 await 已返回,为什么第二个事件却等不到 一个任务先发 ready,再发 done。消费端顺序写两次 await once,看起来严格遵守事件顺序,却在第二次等待处停住。发布端的日志明明显示 done 已经发射,问题是消费端直到第一个 await 恢复后才注... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Node.js 定时器 unref:程序可以退出了,为什么回调有时仍然执行 命令行工具加了一个后台清理定时器,主任务结束后却迟迟不退出。给定时器调用 unref 后,工具能及时结束,于是有人把它当成取消操作。后来工具接入另一个活跃连接,原来那个定时器又执行了。unref 改变的是它是否要求事... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
JavaScript 英文序数词:名次末尾都是一,为什么 11th 和 21st 不同 排行榜要显示英文名次,程序按个位数字给一、二、三分别加 st、nd、rd,其余加 th。第一页看起来没问题,到第十一、十二、十三名却出错。英语序数词不能只看最后一位,Intl.PluralRules 可以按指定语言和... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
JavaScript map(parseInt):同样是三个数字字符串,为什么后两项变成 NaN 把字符串数组转成整数,看起来只需 values.map(parseInt)。输入一、二、三个普通十进制字符串,结果却是一个正确数字加两个 NaN。parseInt 本身并没有随机失败,而是 map 会给回调传入元素、... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读