Java 21虚拟线程实战:用HttpClient并发抓取100个网页的性能对比教程
昨天我还在为一个爬虫程序发愁。任务很简单:抓取一百个网页,每个网页的响应比较慢,大概500毫秒。我一开始用固定线程池,开…
ThinkPHP8 统一响应与异常处理封装:让 API 接口告别散乱的 json 返回
做 API 开发已经有三年多,最难受的不是逻辑复杂,而是接口的返回格式五花八门。有的接口直接返回一堆数据,有的用 {"s…
Python 的 ExitStack 简直是资源管理神器,但你可能还没 get 到
如果你写过需要同时打开多个文件、多个锁或者多个数据库连接的代码,肯定见过这种场景: f1 = open('a.txt',…
Python 里最容易被低估的库:dataclasses 不只是数据容器
上个月重构一个用户服务,里面有各种各样的配置结构体,有构造函数接收七个参数排序特别容易混的,有需要深拷贝防止外部修改的,…
ThinkPHP8 查询构造器花样玩法:动态条件、子查询、JSON字段一次说清
上个月给一个报表系统做数据筛选功能,产品经理一口气扔过来十几个筛选项,什么时间范围、地区、渠道、用户等级、是否首次购买……
ThinkPHP8模型事件深入实战:自动字段填充、操作日志与缓存联动
项目里有一张用户表,每次新增用户的时候,都要手动写状态、来源渠道、最后登录时间这些字段。一开始还能忍,后来越加越多,搞得…
