我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情
GitHub严选:每天推荐一个GitHub优质开源项目
过去属于死神,未来属于你自己。
大家好,我是严选哥。
今天给大家带来的项目是:hacker-laws
这个项目搜集了一些对开发人员有用的定律、理论、原则和模式。坐拥16.8k的star。
大家一定不会觉得很奇怪?开发人员不是应该学习代码、语法么?为什么还要看这些理论性的带有哲学味的文章呢?
其实理论万物皆通,不管是在软件开发领域,还是在其它的领域,理论和法则都是一样的,这些理论和法则只是在这些不同领域的展现而已。
就拿阿姆达尔定律 (Amdahl's Law)来说:
阿姆达尔定律是一个公式,它显示了可以通过增加系统资源来实现的计算任务的潜在加速。通常用于并行计算,它可以预测增加处理器数量的实际好处,这受程序的可并行性限制。
什么意思呢?如果程序由两部分组成,A部分必须由单个处理器执行,B部分可以并行运行。那么向执行程序的系统添加多个处理器只能获得有限的好处。它可以极大地提升部分 B 的运行速度,但部分 A 的运行速度将保持不变。
我们看这个图:
在这里插入图片描述
我们看到,如果系统中有95%的可并行任务,那么增加的处理器越多,效果越明显;但是如果系统中只有50%甚至更少的可并行任务,那么同样你增加更多的处理器,但是取得的效果并不明显。
大家是不是可以感受到,这些定律和法则对于我们设计系统方案和解决实际问题的时候是有一定的帮助的。
这个项目有很多内容:
在这里插入图片描述
这个项目同样也有中文版本:
https://github.com/nusr/hacker-laws-zh
网友评论