Go语言技术文章
-
ByteBuffer 写入完成后要先 flip 才能按有效数据读取。本文用具体状态值说明 position、limit、capacity 的变化,并区分 flip、rewind、clear 与 compact。368 收藏 -
Go crypto/rand.Reader 的类型是 io.Reader,固定长度随机字节不能假设一次 Read 填满缓冲区。本文用 io.ReadFull 处理短读,并解释 n、EOF 与错误的判断边界。232 收藏 -
PHP 中统一处理中文字符串时,mb_internal_encoding 负责提供 mbstring 默认编码,mb_substr 的 encoding 参数只覆盖当前截取调用。本文用 UTF-8、混合输入和 PHP 8 异常边界说明两者怎么选择。177 收藏 -
介绍AI绘画爱好者使用LiblibAI开展角色设定、同题风格实验与系列图创作的三种练习方法,并说明模型选择、变量控制、结果记录、一致性检查及平台能力边界。126 收藏 -
Go 1.21 起可以用 clear 清空 map。它保证删除所有条目并保留 map 的可写语义,但 Go 没有 map 的 cap 接口,也没有承诺 clear 立即释放底层存储。本文用别名、nil map 和重新 make 的对比说明什么时候只是清空内容,什么时候应该替换整个 map。277 收藏 -
Python 3.15 为 pathlib.Path.mkdir 新增 parent_mode。本文说明它与 mode、parents、umask 的边界,并给出兼容 Python 3.14 及更早版本的逐级创建写法。496 收藏 -
Go slog.HandlerOptions.Level 是日志最低级别门槛。本文用 TextHandler 和 JSONHandler 说明如何过滤 Debug,如何用 LevelVar 动态打开调试日志,并排查默认 logger、独立 logger 与性能开关不生效的问题。498 收藏 -
图像问答不稳定,常常不是模型不会看,而是说明文字和视觉证据没有分层。本文给出冲突分类、证据优先级、结构化输入和人工复核的实用提示设计。404 收藏 -
循环里写 defer f.Close() 时,Close 不会在本轮循环结束,而会等外围函数返回。本文解释原因,并给出单次迭代函数、关闭错误处理和资源边界选择。167 收藏 -
用 Go slog.LogValuer 为包含 token 和邮箱的业务对象定义安全日志表示,只输出 request_id、账号后缀和状态摘要;同时说明 LogValuer、Value.Resolve 与 ReplaceAttr 的职责边界。398 收藏 -
Redis pipeline 返回结果与发送命令一一对应,但单条命令错误、连接中断和事务失败的执行边界不同。本文用响应下标、批次和重试策略说明如何判断哪些命令已执行。478 收藏 -
自定义错误想让 errors.Is 匹配,关键是实现 Is(error) bool;Error 只负责展示,Unwrap 只负责暴露包装链。本文用配额错误小项目演示哨兵错误、%w 包装、浅比较和误匹配测试。246 收藏 -
面向AI绘画爱好者分析LiblibAI是否适合作为入门与长期练习平台,并给出从确定主题、选择Checkpoint与LoRA、控制变量试图、记录参数到建立个人风格册的完整方法。472 收藏 -
用 EXPLAIN 判断索引选择问题,比较 USE INDEX、FORCE INDEX 与 MySQL optimizer hint 的作用范围、风险和验证方式。478 收藏 -
Go 的 log/slog 可以为同一请求派生一个带 WithGroup 和 With 公共属性的 logger,让 request_id、method、path 等字段自动出现在后续日志中。本文说明派生作用域、TextHandler 与 JSONHandler 的输出差异,以及 WithGroup 和 slog.Group 的选择。272 收藏