Go语言技术文章
-
tuozi工具箱产品站称应用约占50MB、冷启动约0.5秒,并支持Android 5.0及以上;本文区分页面自述与实际设备表现,说明如何核对入口、功能范围和安装前注意事项。108 收藏 -
Java Optional 的 orElse 会先计算默认参数,所以即使 Optional 有值,默认方法也可能执行。本文用最小示例解释 orElse 与 orElseGet 的求值时机和选择边界。382 收藏 -
Go 客户端连续调用登录接口和业务接口时,应复用同一个配置了 cookiejar.Jar 的 http.Client。本文说明 Cookie 的域名、路径、协议和过期边界,并给出公共后缀列表、多账号隔离与内存持久化注意事项。104 收藏 -
PHP 同一用户的多个请求出现排队,常见原因是 session_start 持有会话锁。本文说明如何用 read_and_close 或 session_write_close 缩短锁范围,并处理关闭后的写入与并发覆盖。373 收藏 -
Go map 单值读取时,缺失键和实际零值看起来一样。本文用双值索引解释如何判断键是否存在,并覆盖 nil map、不同值类型、默认值与业务封装边界。298 收藏 -
介绍36漫画产品站展示的搜索、排行、Android 5.0及以上支持和阅读进度线索,并说明如何核对页面自述与安装边界。318 收藏 -
CodeQL 2.26.4 重点收紧了 GitHub Actions 的 actor 字段保护判断,扩展了可变 reusable workflow 引用检测,并提供 EnvironmentCheck 的 models-as-data 入口。238 收藏 -
Go TCP 是字节流,不能把一次 Read 当成一条消息。本文用 4 字节大端长度前缀设计帧协议,演示如何用 io.ReadFull 处理半包与粘包、限制最大帧大小,并补齐发送端的部分写入处理。407 收藏 -
本地大模型聊天效果差时,先检查 chat template 是否正确渲染 messages、assistant 回复起点和特殊 token,本文给出一套可回滚的排查清单。273 收藏 -
Go 的 sync.Mutex 可以使用零值,但首次使用后不能再复制。本文说明按值传参、range、返回值为什么会复制锁,并给出指针接收者、快照类型和 go vet 检查方案。233 收藏 -
Go 处理大文件时不要先读入完整 []byte。本文用 base64.NewEncoder 和 io.Copy 流式转换,说明 encoder.Close 的必要性,并比较标准、URL 安全和无填充 Base64 的适用场景。394 收藏 -
Redis SCAN 允许同一键在一次完整遍历中多次返回。本文解释游标、COUNT、MATCH 和并发修改的边界,并给出幂等消费与重复排查方法。285 收藏 -
漫千绘产品站展示了心情书架和漫读日记功能。本文说明如何按阅读心情理解书架分类,并核对日记输入、Android入口与使用边界。253 收藏 -
Go sync.Pool 里的对象会消失,是因为它只承诺临时对象复用,不承诺持久保存:池中元素可被运行时自动移除,Get 也可能直接把池当作空池。本文用 New、Get、Put 示例说明正确用法,并划清 sync.Pool 与业务缓存的边界。109 收藏 -
MySQL 的 NOT IN 查询突然查不到数据,常见原因是列表或子查询结果含有 NULL。本文从三值逻辑解释这个现象,并用 NOT EXISTS、IS NULL 和过滤 NULL 的写法建立可检查的排除条件。413 收藏