Go语言技术文章
-
文章 · php教程 | 4天前 | PHP · api设计 · url编码 · 后端开发 · http_build_query · 查询参数 · PHP http_build_query PHP 数组参数 URL 查询参数 PHP_QUERY_RFC3986 重复键参数 接口参数设计
PHP 的 http_build_query 会把数组编码成带下标的方括号参数;这和不少接口要求的重复键写法不是一回事。用一个筛选接口场景梳理数组、null、空格编码与兼容策略,避免请求串看着对、下游却读不出参数。245 收藏 -
文章 · linux | 4天前 | Linux · 运维 · 性能排查 · 负载 · D状态 · iowait · Linux负载高 load average D状态 iowait vmstat 磁盘队列
Linux 的 load average 不只统计正在抢 CPU 的任务,也会计入等待 I/O 的不可中断任务。遇到负载高而 CPU 看似空闲时,先对齐 uptime、/proc/loadavg、vmstat 和进程状态,再确认具体等待点与磁盘或网络存储的时间关系,避免一上来扩容或杀进程。292 收藏 -
文章 · java教程 | 4天前 | Record · Java教程 · 防御式拷贝 · List.copyOf · Arrays.copyOf · 不可变性 · arrays.copyof 可变集合 Java record List.copyOf 防御式拷贝 数组克隆
Java record 没有 setter,并不表示放进 record 的 List、数组或可变对象不会在别处被改动。订单入参一旦把调用方集合或签名数组的引用直接保存,接口进入服务层后仍可能出现内容漂移。用 List.copyOf 固定集合结构、对数组在构造器和访问器两端复制,再用一段小检查覆盖输入侧与输出侧,就能把 record 的边界写得更可靠。247 收藏 -
文章 · java教程 | 4天前 | Java · 后端开发 · 批处理 · Stream API · JDK 24 · Gatherers · 分组 Java 24 Stream Gatherers windowFixed Stream.gather 批量接口
批量同步订单或调用外部接口时,手写 subList 循环容易把边界、尾批和调用节奏揉在一起。Java 24 正式提供 Stream Gatherers 后,可以用 gather(windowFixed(n)) 把元素按固定数量组成批次,再把网络调用放在流外逐批处理。本文给出最小写法、尾批语义、旧方案对比和 JDK 版本边界。411 收藏 -
预约、提醒和活动排期里,用户输入的本地时间不能直接当 UTC 保存。本文用一个小型预约转换器说明 Python zoneinfo 的最小用法:保留时区键、把带时区时间转成 UTC,并在夏令时回拨造成的重复时间里明确记录 fold 选择。469 收藏 -
GitHub Desktop 里刚提交就发现文件漏改了,先看这次提交是否已经推送。尚未推送时,可以在 Changes 页点击 Undo,把改动带回工作区;再通过 History、文件列表和推送按钮核对结果,避免把已共享的历史误当成本地提交处理。291 收藏 -
文章 · java教程 | 5天前 | Java · 文件上传 · spring · nio · 后端开发 · java 文件上传 临时文件 数据清理 MultipartFile Files.move
处理 MultipartFile 时,不要把客户端文件名直接拼进持久路径。把上传数据按校验、临时落盘、确认移动和失败清理分段处理,既能缩小异常影响范围,也能避免临时目录长期堆积。314 收藏 -
文章 · python教程 | 5天前 | 字符串 · 标准库 · 模板 · python · Python 3.14 · Template Python 3.14 t-string string.templatelib PEP 750
Python 3.14 的 t-string 仍使用花括号插值,但结果是可检查的 Template,而不是已经拼好的 str。掌握 strings、interpolations、conversion 与 format_spec 的边界,才能把它用于日志、HTML 或领域文本处理。121 收藏 -
从 Vite 7 升级到 Vite 8 时,先核对浏览器目标和旧配置,再分别检查 Rolldown、Oxc 与 CommonJS 导入边界,最后用构建产物和关键页面完成回归。248 收藏 -
PHP 导出或后台列表一到几十万行就内存耗尽,常见原因不是 PDO 连不上,而是 fetchAll() 一次把剩余结果集堆进数组。先用最小测量定位峰值,再按用途改成 SQL 限制、逐行 fetch() 或分页批处理,才能把结果集大小和内存边界重新拉回可控范围。495 收藏 -
Flask 表单保存后直接渲染页面,刷新浏览器往往会再次提交 POST。用 Post/Redirect/Get 把保存动作和展示页面拆开,再配合 flash 把一次性反馈交给下一次 GET,能让刷新、回退和提示消息各自落在正确边界。343 收藏 -
给 JTable 加双击打开详情时,别直接把 getSelectedRow 当成业务行号。用 MouseAdapter 判断双击和左键,用 rowAtPoint 排除空白区域,再把视图行转换为模型行,排序和筛选后仍能打开正确记录。135 收藏 -
文章 · python教程 | 5天前 | 并发编程 · python · 多线程 · asyncio · 多进程 · queue.Queue Python并发 Python任务队列 asyncio.Queue multiprocessing.Queue
Python 里同样叫 Queue 的对象,其实服务于线程、协程和进程三种完全不同的边界。本文从任务在哪儿运行、满队列怎么背压、完成状态怎么收尾三个维度,比较 queue.Queue、asyncio.Queue 与 multiprocessing.Queue,并给出可直接核对的最小示例。165 收藏 -
腾讯文档 App 适合需要多人同步修改、分享链接和整理轻量协作资料的场景。它是否适合长期使用,不能只看“可多人协作”:应先核对文档权限、多端同步、免费与应用内购买标记,以及团队的资料规则。本文按腾讯文档官网与 Apple 中国区 App Store 公开信息,整理一套中立的判断方法。259 收藏 -
文章 · python教程 | 5天前 | 命令行 · 异常处理 · Input · Python教程 · ValueError · 命令行交互 ValueError Python input int 输入校验 EOFError
Python 的 input 总会返回字符串,直接交给 int 转换时,空值、字母和终端输入结束都会让交互变得难用。文章从用户实际输入出发,给出循环校验、范围限制、退出命令和 EOFError 边界的最小实现,并附上核对清单。458 收藏