Python partial 参数合并:固定了默认选项,调用时为什么还能覆盖 给导出函数做一个常用版本时,很多人会用 partial 预先填好格式和目录。后来调用方传入同名选项,输出格式却改变了,于是误以为封装失效。问题通常在于把“预先提供参数”理解成“禁止修改参数”。partial 负责组合... yunqueblog/ 技术教程/ 2026-10-02/ 4 阅读
Python splitlines:末尾有换行,为什么没有多出一条空记录 导入一段手工维护的任务清单时,程序原本用换行符拆分字符串,再把列表长度当成条目数。编辑器给最后一行补上换行,数量就多了一条;换成另一台机器导出的文本后,末尾又残留回车。这里先别删除所有空字符串,应该确定业务里的“行”... yunqueblog/ 技术教程/ 2026-10-02/ 5 阅读
JavaScript Object.is:两个零看起来相同,为什么缓存还需要区分 做一个只记住上次输入的缓存,看上去只要用三个等号比较就够了。可当输入从正零变成负零,缓存可能直接复用旧结果;连续两次输入 NaN,却又每次重新计算。两种现象来自同一件事:你选的相等规则与计算语义没有对齐。Object... yunqueblog/ 技术教程/ 2026-10-02/ 5 阅读
Git mailmap:贡献者名字统一了,提交里的旧邮箱为什么还在 贡献者换过邮箱,提交统计里就出现两个名字。直接改写历史虽然可能统一记录,却会改变提交对象并影响引用。若需求只是让日志与贡献报表采用同一份显示身份,可以先评估 mailmap:把旧身份映射为约定的规范姓名和邮箱。这种映... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
Bash select 菜单:输入选项文字,为什么没有选中那一项 用 Bash 做一个简单菜单,用户输入选项文字以后,变量却变成空串;再按一次空回车,循环体甚至没有执行。select 不等于“把输入文本赋给变量”的普通读取,它会先把选项编号,然后按输入编号选择对应的词。菜单变量保存... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
Bash 花括号展开:上限换成变量,为什么范围就不再展开 脚本里原来写着 part{1..3},能生成三个名称。把上限提取成变量之后,却只剩下一个带花括号的字符串。变量明明有值,末尾打印出来也像合法范围,为什么 Bash 没有再展开一次?关键在于展开阶段的先后顺序。花括号展... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
用 AI 检查文案预设:一个“再次”,可能带进没有证据的过去 一句文案即使没有明显的数据错误,也可能用“再次”“仍然”“终于”带进未被确认的背景。AI适合帮忙把这些前提挑出来,但不能只靠一份禁用词表。真正要检查的是:读者会被引导相信什么,现有材料有没有支持它。 yunqueblog/ AI分享/ 2026-10-02/ 2 阅读
让 AI 设计逐级提示:没写最终答案,也可能已经把解法全说完 用AI帮助别人练习时,直接给出完整解题过程往往太快。即使提示里没有出现最终数字,也可能已经交代了全部步骤。先把题目解对,再控制每一级提示透露的信息,才能把“帮下一步”写得具体。 yunqueblog/ AI分享/ 2026-10-02/ 2 阅读
用 AI 编一条记忆路线:每个地点只放一个能解回任务的动作 临时要记住一串低风险待办,可以请AI把它们编成沿熟悉路线发生的小场景。这个练习的重点不是画面越奇怪越好,而是每个场景都能清楚解回一项任务,并且不会把执行顺序弄乱。 yunqueblog/ AI分享/ 2026-10-02/ 2 阅读
让 AI 检查合成报名表:去掉姓名,几列组合仍可能只剩一个人 分享一张报名表前,删掉姓名并不自动回答隐私问题。年龄段、场次和地区这样的普通字段组合起来,仍可能把一行单独挑出来。可以先用完全虚构的表练习,让AI检查组合唯一性,再决定真实数据应该怎样由有权限的人处理。 yunqueblog/ AI分享/ 2026-10-02/ 2 阅读