Go语言技术文章
-
https://segmentfault.com/a/随着数字化转型持续走深,再叠加人工智能技术的爆发式演进,中国网络安全市场正在迎来一场前所未有的范式切换。过去那套以“被动防御、规则匹配”为主的防护思路,面对 AI 普及催生的新型威胁,已经越来越显得力不从心。也正因为如此,以 AI 技术为核心驱动501 收藏 -
用一个带版本号的缓存写入场景,验证 Redis SET 的 GET、KEEPTTL、NX/XX 组合行为,避免更新成功却丢掉原有过期时间。501 收藏 -
PHP 8.5 的 array_last() 可以直接取得数组最后一个值,空数组返回 null,且不依赖连续数字下标。本文用事件列表场景拆解非连续键、空值判断和 PHP 8.4 及更早版本的兼容写法。501 收藏 -
Golang · Go问答 | 2个月前 | go · 性能 · bufio · 错误排查 · 分块读取 Go bufio.Scanner token too long Scanner.Buffer 大日志行
Go 用 bufio.Scanner 逐行读取日志时,遇到超长 JSON 行会返回 token too long。本文用可复现实验比较默认上限、Scanner.Buffer 和 bufio.Reader 分块读取的内存与吞吐边界,给出线上日志处理的选择方法。501 收藏 -
从零做一个 Redis 慢命令快照小工具,采集 SLOWLOG 样本,解析命令耗时和 Key 线索,按命令类型聚合成 Markdown 报告,用于接口延迟排查和上线前验收。501 收藏 -
本文用 Go 泛型实现切片保序去重,并进一步扩展到结构体按字段去重,讲清 comparable 约束、seen map、首条保留和常见边界处理。501 收藏 -
CSS变量更新后:hover动画不更新,因浏览器懒触发样式重算,仅在鼠标移入时读取变量快照;calc()混用、旧浏览器不支持动态变量、未触发hover状态均会导致失效。501 收藏 -
Symbol是JavaScript中的原始类型,用于创建唯一不可变值,常作为对象属性键以避免命名冲突。通过Symbol()函数生成,即使描述相同也互不相等,确保唯一性。Symbol属性不会被for...in或Object.keys()遍历,需用Object.getOwnPropertySymbols()访问。可用于模块间安全添加属性,防止覆盖。内置well-knownSymbols如Symbol.iterator、Symbol.toStringTag可自定义对象行为,实现可迭代、修改toString结果等501 收藏 -
给定一个N×N方阵中的任意元素(行索引i,列索引j),可通过数学关系式直接计算其所在主对角线(\)和副对角线(/)的所有坐标,无需遍历,时间复杂度O(1)起点+O(k)枚举(k为对角线长度),适用于八皇后等需高频冲突检测的算法。给定一个N×N方阵中的任意元素(行索引i,列索引j),可通过数学关系式直接计算其所在主对角线(\)和副对角线(/)的所有坐标,无需遍历,时间复杂度O(1)起点+O(k)枚举(k为对角线长度),501 收藏 -
豆包与Clawdbot提供免费AI写作工具的双路径部署方案:豆包支持多端一键安装与登录即用;Clawdbot可通过Node.js或Docker本地部署,并支持与豆包API桥接实现协同写作。501 收藏 -
宝塔面板不原生支持RVM管理的Ruby环境,因其Web服务与RVM的shell级环境隔离机制不在同一抽象层,需手动命令行配置并显式加载rvm环境变量,否则Nginx进程无法识别ruby/bundle命令。501 收藏 -
水平线测试法可判断函数的单射与满射性:若每条水平线与图像至多一个交点,则为单射;若陪域内每条水平线至少有一个交点,则为满射;两者同时满足则为双射。501 收藏 -
unset在函数内只删除局部变量副本,不影响外部原始变量;仅引用传递、全局/静态变量、超全局数组的unset才作用于原数据,资源类型需显式关闭。501 收藏 -
必须设timeout参数,推荐timeout=(3,7),连接超时≤3s、读取超时≤10s;仅status_code==200不够,需校验响应内容是否含预期关键词。501 收藏 -
结构体指针赋值后字段没变,是因为误将指针变量重新赋值(如p=&User{...}),未解引用修改原内存;正确做法是用p.Name="new"或(*p).Name="new"。501 收藏