• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






福兮说

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

[置顶] 打工人找工作的福利来了,AI 智能体帮你写简历
摘要: 打工人找工作的福利来了,AI 智能体帮你写简历 写简历这件事,说起来谁都会,真坐下来动笔,又是另一回事了。 打开 Word 调了半天页边距,写了删、删了写,最后一看时间,两小时过去了,成果没多少。这还是内容现成的情况。要是遇到经历不知道怎么写、措辞拿不准、排版怎么排都不顺眼——那就更耗人了。 For 阅读全文
posted @ 2026-06-01 14:14 福兮说 阅读(36) 评论(0) 推荐(0)
 

2026年10月4日

用了 Decimal 金额还是算错:Python 金额计算的八个坑(舍入、精度、JSON、入库)
摘要: 前阵子对账,一笔订单 3 件、单价 19.99,脚本算出来的应收是 59.96999999999999531041794398。写这段代码的人其实已经"用了 Decimal",问题出在 Decimal(19.99) 少了一对引号。 金额计算换成 Decimal 只是第一步,后面还有舍入、精度、序列化 阅读全文
posted @ 2026-10-04 10:33 福兮说 阅读(24) 评论(0) 推荐(0)
 

2026年9月30日

Python datetime 时区的七个坑:naive 和 aware 相等永远为 False、utcnow 差 8 小时、pytz 冒出 +08:06
摘要: Python 的 datetime 有个很阴的设计:同一个类型既可以带时区(aware),也可以不带(naive),两种对象长得一样、方法一样,大多数时候混着用也不报错。等它出问题的时候,通常是某个定时任务早跑了八个小时,或者报表里凭空多出一天。 下面七个坑都是实跑出来的,环境 Python 3.1 阅读全文
posted @ 2026-09-30 10:34 福兮说 阅读(18) 评论(0) 推荐(0)
 

2026年9月28日

JWT 退出登录之后还能用?四种让它失效的办法,附可运行的 Python 演示
摘要: 前两天帮朋友看一个后台系统,他问了个问题:用户点了「退出登录」,前端把 token 删了,但如果这个 token 之前已经被人抓包拿走,拿着它还能调接口吗? 答案是能,一直能用到它过期为止。这是 JWT 最常被问到、也最容易被忽略的一件事:JWT 本身是无状态的,服务端验的只是签名和过期时间,它不知 阅读全文
posted @ 2026-09-28 10:31 福兮说 阅读(20) 评论(0) 推荐(0)
 

2026年9月27日

支付回调被通知了五次,余额加了五遍:重复通知的三种处理方式实测
摘要: 支付渠道的回调是"至少一次"送达的:你没有按约定格式回 success、回得慢了、网络抖了一下,渠道都会重发。几乎每家渠道的文档都会写一句"商户需自行保证幂等"。 这句话大家都知道,但我见过的第一版回调代码,十个里有八个是"先查订单状态,没付过就改成已付再加余额"。平时跑得好好的,直到某天渠道在几百 阅读全文
posted @ 2026-09-27 10:29 福兮说 阅读(22) 评论(0) 推荐(0)
 

2026年9月26日

软删除和唯一索引冲突:把 deleted_at 加进唯一索引,为什么反而不唯一了
摘要: 软删除(逻辑删除)和唯一索引放在同一张表上,几乎是每个后端项目都会遇到的冲突:用户注销了账号,过两天想用同一个邮箱重新注册,结果插入报 Duplicate entry。因为那条"已删除"的记录还在表里,唯一索引可不管它删没删。 网上最常见的解法是"把 deleted_at 加进唯一索引"。这个解法有 阅读全文
posted @ 2026-09-26 10:20 福兮说 阅读(38) 评论(0) 推荐(0)
 

2026年9月25日

游标分页改完反而慢了一倍:OR 展开和行值比较差了三个数量级
摘要: 列表页翻到很后面越来越慢,是 LIMIT ... OFFSET ... 分页最常见的毛病。标准答案大家都知道:换成游标分页(keyset pagination)。 但我这次在本机实测时踩了一个坑:照着网上最常见的写法改成游标分页,深页反而比 OFFSET 还慢一倍。这篇把测量过程和原因都摊开,代码是 阅读全文
posted @ 2026-09-25 10:30 福兮说 阅读(25) 评论(0) 推荐(0)
 

2026年9月24日

Go 的 http.Client 到底有几层超时:设了 Timeout 为什么请求还是会卡住
摘要: 一个很常见的线上现象:调用第三方接口的 goroutine 卡了十几分钟才返回,而代码里明明给 http.Client 设了 Timeout: 10 * time.Second。 这类问题查到最后,往往是那个请求根本没走你以为的那个 client。但要讲清楚为什么,得先把 net/http 客户端的 阅读全文
posted @ 2026-09-24 10:37 福兮说 阅读(61) 评论(1) 推荐(0)
 

2026年9月23日

定时任务总在凌晨出事:时区、夏令时和 cron 的三个坑
摘要: 线上定时任务的故障有个很明显的时间分布:凌晨两三点出事的概率远高于白天。原因不是那个时段负载高,是那个时段正好是几类时间问题的集中爆发区。 这篇把我踩过和见过的三类坑整理一下。都是通用问题,跟具体框架关系不大。 坑一:容器里的时区不是你以为的时区 最常见的一种:本地开发跑得好好的任务,上线之后整整晚 阅读全文
posted @ 2026-09-23 11:15 福兮说 阅读(44) 评论(0) 推荐(0)
 

2026年9月22日

数据库连接池:最大连接数设多少,以及为什么你的池子会耗尽
摘要: 连接池的配置,很多项目是这么来的:复制一份别人的配置,跑起来没报错,就一直用下去。直到某天接口开始大面积超时,日志里全是 timeout acquiring connection。 这篇把几个关键参数说清楚,以及池子耗尽时该怎么查。 一、最大连接数不是越大越好 最常见的直觉是:接口慢、报连接不够,那 阅读全文
posted @ 2026-09-22 10:54 福兮说 阅读(37) 评论(0) 推荐(0)
 

2026年9月21日

Go 的 context 取消传不下去,八成断在这四个地方
摘要: context 这套东西的约定很简单:上游取消,下游全部收到信号、尽快返回。写起来也不复杂——函数第一个参数传 ctx,往下一层层传。 但线上经常出现的情况是:请求已经超时返回了,后台的 goroutine 还在跑,日志还在打,数据库连接还占着。取消信号在某个地方断掉了。 下面是四个最常见的断点,以 阅读全文
posted @ 2026-09-21 10:55 福兮说 阅读(10) 评论(0) 推荐(0)
 
下一页