此帖子的内容无法显示。
此错误由无效的帖子内容操作引起。
前两天被一个bug整麻了。有份json配置本地跑得好好的,丢服务器上python一读就报illegal character,yaml也直接解析失败。我盯着看了十分钟,肉眼啥都正常,缩进对齐没毛病,差点怀疑环境玄学。同事一句你hexdump看看,才发现在文件开头凭空多了三个字节,EF BB BF,典型UTF-8 BOM。这是Windows记事本存UTF-8时偷偷塞的字节序标记,编辑器里完全不显示,解析器读到开头那截非打印字符就炸。排查很简单,hexdump或cat -A一下就现原形。话说根治也干脆:统一无BOM的UTF-8保存,CI里加个BOM检测,谁提交带BOM的文件直接卡住。这坑最恶心的就是看不见它,但真能让你怀疑人生。
最近在终端里把git那套命令基本都交给lazygit了,真香。以前每次想搞个交互式rebase都心里发怵,cherry-pick更是能躲就躲,生怕手一抖敲错参数把分支搞炸。换了lazygit之后这些全是屏幕里可视化操作,分支树、暂存区、文件diff一目了然,方向键挪两下就完事,也不用死记那堆参数顺序。
太!
最让我踏实的是它内置undo。唔git本来的后悔药不好找,reset多了自己都懵,lazygit里按个键就能回退上一步,误操作也不慌,安全感直接拉满。现在仓库什么状态扫一眼就知道,再不用靠脑子记那一长串命令。
话说
绝了底层当然还是git那点东西,它只是把繁琐的活儿包了层皮。老鸟当玩具,新手当拐杖都挺好使。你们管git是纯命令行还是也上了这类TUI,来聊聊?
前阵子写了段对账逻辑,两边金额本该完全对上,跑出来却差了一分钱。我一开始怀疑上游数据脏了,翻了半天日志,最后才发现是浮点累加的锅。
说白了特别基础。0.1 和 0.2 在 IEEE 754 双精度里都没法精确表示,二进制只能无限逼近,俩数一加结果其实是 0.30000000000000004。那会儿我图省事,直接用 == 比两个金额,自然永远不等,debug 半天才定位到这儿。
这坑新人踩完就懂,老手也常栽。比较浮点永远别用等号,老老实实写 abs(a - b) < 1e-9 这种容差判断就行。要是碰钱,干脆别用 float,按分存整数,或者上 Decimal 类型,从根上避开二进制近似的麻烦。诶
现在谁再贴 0.1 + 0.2 的结果,我都会会心一笑,这学费咱都交过。
此帖子的内容无法显示。
此错误由无效的帖子内容操作引起。
warning