Go 1.25链接器提速、执行文件瘦身:DWARF 5调试信息格式升级终落地
Go 1.25链接器提速、执行文件瘦身:DWARF 5调试信息格式升级终落地 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
Go 1.25链接器提速、执行文件瘦身:DWARF 5调试信息格式升级终落地 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
前两天一位网友在微博私信我这样一个问题: 抱歉打扰您咨询您一个关于Go的问题:对于goroutine的概念我是明了的,但很疑惑goroutine的调度问题, 根据《Go语言编程》一书:“当一个任务正在执行时,外部没有办法终止它。要进行任务切换,只能通过由该任务自身调用yield()来主动出让CPU使用权。” 那么,假设我的goroutine是一个死循环的话,是否其它goroutine就没有执行的机会呢?我测试的结果是这些goroutine会轮流执行。那么除了syscall时会主动出让cpu时间外,我的死循环goroutine 之间是怎么做到切换的呢? ...
这两周来业余时间都在用Golang写代码,现在处于这样一个状态:除了脚本,就是Golang了。反正能用golang实现的,都用golang写。 Golang语言相对成熟了,但真正写起来,还是要注意一些“坑”的,下面是这周遇到的三个问题,这里分享出来,希望能对遇到同样问题的童鞋有所帮助。 一、误用定时器,狂占CPU golang中有一个通过channel实现timeout或tick timer的非常idiomatic的方法,代码如下: ...
如果你看到一个C程序员在通宵熬夜神情紧张地对着电脑敲代码或阅读代码,多数只有两种可能:一是为了赶进度;二就是查找内存Bug。 — 个人感悟 ...
我们在平时编码过程中很少考虑代码的安全性(security),与正确性、高性能和可移植性相比,安全性似乎总被忽略。昨天从安全性角度泛泛地Review了一下现有的代码,发现了不少具有安全隐患的地方。我们的程序员的确缺乏系统地有关安全编码方面的训练和实践,包括我在内,在安全编码方面也都是初级选手,脑子中对安全性编码缺乏系统的理解。 ...
今天上午处理了一个线上产品的故障。分析来分析去,最后定位问题还是出在字节序转换的环节上。 其实测试组早在产品上线前就曾报告了这个问题,但是对应的开发人员并未对该问题进行深入地分析,而是有些草率地将该问题归结为客户端模拟器的实现不符合标准。因为这位同事比较资深,所以当时我也没有给予足够关注。 ...
都说汇编不易学习和使用,的确不假。自己自大学以来也曾多次尝试学习汇编,甚至大学时还有相应课时,但是自己对汇编依旧是浅尝辄止。工作后也少有使用,对汇编的认识也就停留在基础层面。汇编的学习与对计算机系统的理解是密不可分的。工作这些年也算是一直浸淫于系统层面,经过多本底层相关书籍的教诲以及工作中的实践,对计算机系统的理解就自然而然加深了。昨天下载了一本名为:“Professional Assembly Language(中文名:汇编语言程序设计)” 的电子书,目的是想了解一下C内联汇编(Inline Assmebly)。花了半个小时读后,居然感觉轻松自如,和自己大脑中的知识融会贯通起来。发现这本书在卓越网还有“剩本”,也就抓紧买了下来,下周到货。 ...
暑去清凉来,一场大雨让燥热一去不复返了,这让身体舒服了许多。本周四晚有一次产品升级操作,按惯例每次升级前的都会对产品做一次针对性的回归测试,这次也不例外,不过临近下班时测试组爆出一个莫名奇妙的问题。 测试人员在BUG说明中写到:产品在只运行某个流程A的情况是正常的,但是当流程A和流程B一起运行时,就会出XX异常情况。作为开发人员遇到类似的问题第一反映多为:这怎么可能呢?这个产品已经经过N轮测试并且早前已在某个省份上线运行了近两个月,如果有此潜在的BUG应该早就暴露出来了才对。及时找到测试人员沟通,测试人员很轻松的就复现出了该BUG,眼见为实!离升级时间点已经不多了,赶紧解决吧。 ...
C语言程序员在平时工作中,到底如何获取成就感呢?我几乎可以肯定的是:找到一个隐藏已久,多年无人发现的大Bug肯定可以归属到C程序员成就感的范畴中。与操作系统斗、与编译器斗、与内存斗,其乐无穷吗^_^。 ...
每年都有应届毕业生来到公司,每年都要对新同事进行代码方面的培训,比如编码规范就是其中之一。编码规范初听起来比较新鲜,但是培训时间长了,显然有些乏味。今年我打算改变策略,让新同事结合已有规范文档和项目代码,自己先挖掘一遍,然后大家通过坐下来讨论的互动方式来加深对规范的理解,每次讨论时间限制在1 hour以内,不给大家打瞌睡的机会^_^。 ...