机遇,远见加上一些执着,“世界都在手中”,改变一个时代的计算机、商业和管理奇才。这段视频因为当年母带从伦敦运往美国途中遗失,也被称为《遗失的访谈》。在2011年,时隔16年才得以面世,值得一看。
注:微信需要在QQ浏览器等打开才能全屏播放。
机遇,远见加上一些执着,“世界都在手中”,改变一个时代的计算机、商业和管理奇才。这段视频因为当年母带从伦敦运往美国途中遗失,也被称为《遗失的访谈》。在2011年,时隔16年才得以面世,值得一看。
注:微信需要在QQ浏览器等打开才能全屏播放。
提到这两个系统,他们在核心思路上是非常类似的,但有一些细节性的东西又有所偏重,在分布式系统中也算是独树一帜了,很有代表性的一个系列,这些不一致的地方,最明显的地方就在于一致性上。可见,哪怕是从追求简单为上的工程化实现来说,各种不同的方式实现一致性也都有很大的不同,不过他们也有一些共性和一些独树一帜的概念,下面来做一下分别解说。
我们知道/dev目录下存放的是设备的文件描述符。直接往设备描述符中写入数据,将破坏整个设备,如:对于硬盘设备映射到/dev/目录下的文件描述符写入数据,将破坏该磁盘设备上面的文件系统,或者已有的数据。
echo “ ”> /dev/sda,这样一个简单的命令就可以破坏整个磁盘上面的数据;
mkfs.ext3 /dev/sda1,创建文件系统;
fdisk /dev/sda ,重建分区;
dd if=/dev/zero of=/dev/sda,直接写入数据到磁盘设备文件描述符。
这些对于已经存在数据的硬盘而言,都是致命的。
通常,为了,一条命令就能删除一个目录下的所有文件,以及整个目录,我们会直接使用:rm -rf,有时还会给出这样的代码:rm –rf /$SOME_DIR_TOBE_DEL/,如果SOME_DIR_TOBE_DEL变量未被赋值,那么这条命令将会执行:rm –rf /,将整个Linux系统的根文件目录都删掉了,后果可想而知。
正确的重定向标准输出和标准错误的方法是:>/dev/null 2>&1 ,关于连环重定向,可以参考这里的解释:>/dev/null 2>&1 含义。如果一不小心,可能会导致/dev/null 被重定向到0,1或2,导致整个系统异常。
继续翻老文章,首先是从Jeff Dean的一篇PPT演示文稿中看到了这一页,觉得对这些数值形成概念还是挺有用的,就转过来了,经常拿出来看一下,最终能做到熟记于心,并能在理论分析和程序设计时用上。
尽管是大神给出的数据,也还是想考证一下数字的出处,于是又在搜索引擎中找了一下。找到了对这个数据比较好的总结和归纳:链接。还有一处:链接2。也附一下传说中的大神的介绍:Jeff Dean。坊间关于Jeff的传说也是非常多了,诸如,Jeff这个月写的代码量下降了,是因为他换了一幅新的键盘。
原文路径:What every web developer must know about URL encoding,
译文路径:每个 Web 开发者都应该知道的关于 URL 编码的知识。
译文PDF下载。
非常经典的文章了,全面系统的介绍了计算机如何使用内存、缓存,内存控制器的原理等。适合各个层次的程序员研读。共分7大部分,有一部分被翻译成了中文:每个程序员都应该了解的内存知识【第一部分】,百度文库上面有整理好的第一部分的PDF:下载。英文汇总版:What every programmer should know about memory。
系统架构是一个工程和研究相结合的领域,既注重实践又依赖理论指导,入门容易但精通很难,有时候还要讲点悟性,很具有“伪科学”的特征。要在此领域进阶,除了要不断设计并搭建实际系统,也要注意方法论和设计理念的学习和提炼。
经常有同学询问如何学习,特贴一篇学习材料,供大家参考。09年时写的,在系统领域浩如烟海的文献中提取了一些我认为值得研究和学习的项目,没包括近几年出现的一些工作,也不够全面。不过,其实也足够了,看paper是一个从少到多再到少的过程。对问题本质、背景和发展历史有大致了解,再辅以hands-on的实践(长期的真正的实践),足以摸到本领域的门径。