写代码的16个好习惯,减少大部分的bug
入参校验也是每个程序员必备的基本素养。你的方法处理,「必须先校验参数」。比如入参是否允许为空,入参长度是否符合你的预期长度。这个尽量养成习惯吧,很多「低级bug」都是「不校验参数」导致的。 如果你的数据库字段设置为varchar(16),对方传了一个32位
为什么在Python代码中装饰器很关键
要理解什么是装饰器,您首先需要熟悉Python处理函数的方式。从它的观点来看,函数和对象没有什么不同。它们有属性,可以重新分配: deffunc(): print( hellofromfunc ) func() hello from func new_func=func new_func() hello from func print(new_func.__na
Java 分析 — CPU Cache 与缓存行
如上述代码所示,定义了一个二维数组 long[][] arr 并且使用了横向遍历和纵向遍历两种顺序对这个二位数组进行遍历,遍历总次数相同,只不过循环的方向不同,代码中记录了这两种遍历方式的耗时,不妨先卖个关子,他们的耗时会有区别吗? 这问题问的和中小学试

CPU时间都去哪了:一步步定位数据库代码中的性能极限
前言 最近接到技术支持部门的求助,说是有个客户在测试我司数据库某个版本的过程中发现明显的性能问题,希望我们能够帮忙尽快找到原因,并提供解决方案。经过调查研究,最终确定是由CPU cache line false sharing 引起的问题。 鉴于网上类似的文章较少,并且
一行代码怎样删除Linux进程?
总有朋友问隐藏Linux进程的方法,我说你想隐藏到什么程度,是大隐于内核,还是小隐于用户。网上通篇论述的无外乎 hook 掉 procfs 或者类似的用户态方案,也都难免长篇大论,我说,这些场面都太大了,太复杂了。对于希望马上看到效果的而言,看到这么一堆复杂
什么是基础架构即代码和平台即代码?看完就明白了
云计算的兴起,首先让基础层得以抽象化。借助基础架构即服务(IaaS)模型,IT/运维团队只需通过云即可立即配置云基础架构。AWS、微软Azure、谷歌GCE,阿里云等都提供广泛的IaaS服务,如AWS EC2。在其上的是平台即服务(PaaS)模型。基础设施提供商在云上提供平台
软件工程师完备的代码品质导航
有些人在使用软件时会遇到出错或体验不佳的情况,但可能没有意识到代码质量问题,但是软件工程师查看软件的代码时可能知道这一点。造成这种情况可能是由于编程方式不合理,充满错误,过于冗长,或在使用术语和命名约定时非常不一致。幸运的是,软件工程师可
开发过程中安全代码的实例项目分析
1.转义/逃逸输入(Escape the Input) 所谓转义攻击是指攻击者将执行命令/查询,伪装并嵌入到普通的文字输入中,通过欺骗应用程序的执行引擎,而让其能够向攻击者提供各种信息与控制权。可见,为避免此类攻击的发生,我们需要对用户的输入进行转义,将其解释为
提升代码质量和速率的软件质量保证
代码的质量是产品质量的基
编写简洁的React代码方案
干净的代码易于阅读,简单易懂,而且组织整齐。在这篇文章中,列举了一些平时可能需要关注的点。 如果你不同意其中任何一条,那也完全没问题。 只对一个条件进行条件性渲染 如果你需要在一个条件为真时有条件地呈现一些东西,在一个条件为假时不呈现任何东西