后端开发
已收录文章:38篇
-
预约、提醒和活动排期里,用户输入的本地时间不能直接当 UTC 保存。本文用一个小型预约转换器说明 Python zoneinfo 的最小用法:保留时区键、把带时区时间转成 UTC,并在夏令时回拨造成的重复时间里明确记录 fold 选择。469 收藏
-
文章 · java教程 | 2个月前 | Java · 文件上传 · spring · nio · 后端开发 · java 文件上传 临时文件 数据清理 MultipartFile Files.move处理 MultipartFile 时,不要把客户端文件名直接拼进持久路径。把上传数据按校验、临时落盘、确认移动和失败清理分段处理,既能缩小异常影响范围,也能避免临时目录长期堆积。314 收藏
-
Go 的传统 encoding/json 会把 nil slice 编码为 null,把已初始化的空切片编码为 []。先由接口契约决定返回形状,再在成功响应的边界归一化并用测试锁定,避免前端空列表处理出现分支。392 收藏
-
Redis 7.0 起,EXPIRE 可用 NX、XX、GT、LT 为过期时间加条件。NX 只给没有 TTL 的 key 首次设置过期,XX 只更新已有 TTL 的 key,GT 只允许延长,LT 只允许缩短。它们互斥;TTL 返回 -1 表示 key 存在但没有过期时间,-2 表示 key 不存在。把条件写清楚,才能避免续期任务意外把缓存窗口改乱。250 收藏
-
Java Stream 使用 Collectors.toMap 收集数据时,双参数重载遇到相同 key 会抛出 IllegalStateException。若业务允许把两条记录压成一条,应明确传入合并函数并定义保留旧值、覆盖新值或择优规则;若重复本身有业务意义,应改用 groupingBy 保留完整列表。并行流还要评估合并成本与是否真的需要并发 Map。159 收藏
-
dataclass 里的 list、dict、set 不能直接当默认值:当前 Python 会把常见的不可哈希默认值拦成 ValueError。应使用 field(default_factory=list) 在每次创建实例时生成新列表;当默认值来自配置或需要延迟构造时,也要分清工厂函数、浅拷贝和 None 的语义。111 收藏
-
Golang · Go教程 | 2个月前 | HTTP服务 · Go教程 · 后端开发 · net/http WriteTimeout HTTP超时 Go教程 ReadHeaderTimeout IdleTimeoutGo HTTP 服务不要只靠默认超时。请求头、请求体、响应写入和空闲长连接各有边界,ReadHeaderTimeout、ReadTimeout、WriteTimeout、IdleTimeout 要分开设计。140 收藏
-
PHP 文件上传不要只看后缀名,要先检查上传错误码和大小,再用 finfo_file 识别 MIME,最后用随机文件名和 move_uploaded_file 移到受控文件夹。409 收藏
-
Golang · Go问答 | 2个月前 | JSON · 后端开发 · Go问答 · encoding/json · JSON解析 encoding/json DisallowUnknownFields Go问答 RawMessage json.Decoder UseNumberGo 解析 JSON 不只看写法短不短。本文围绕字段稳定性、数据量、数字精度、未知字段和延迟解析,比较 struct、map、RawMessage 与 Decoder 的适用场景。151 收藏
-
文章 · python教程 | 3个月前 | logging · Python教程 · 后端开发 · 日志排查 · Python logging 日志重复 propagate addHandler basicConfig从 Python logging 一条日志重复输出的现象出发,逐步检查 handler 数量、basicConfig 位置和 propagate 传播链,给出可复现代码和稳定修复方式。324 收藏
-
围绕 Python 定时任务上云,按负载、约束、方案对比、推荐架构、风险点和落地清单,比较单机 cron、容器任务、队列 Worker 和函数运行方案。435 收藏
-
按数据生命周期梳理 PHP 文件上传:表单来源、大小和 MIME 校验、临时文件转存、数据库记录、访问路径、异常处理与过期清理,给出可落地代码片段。240 收藏