AlstonWilliams's Blog

Thinking will not overcome fear but action will.

推荐阅读-Docker实现原理之Namespace,CGroup

找了几篇这方面的文章,写的还不错,跟大家共享: DOCKER基础技术:LINUX NAMESPACE(上) DOCKER基础技术:LINUX NAMESPACE(下) DOCKER基础技术:LINUX CGROUP

披荆斩棘,披星戴月

现在也是大四了,自打上大四以来,还没有写过一篇生活随笔.借着昨天面试产生的一点点思考,写下这篇随笔. 当初我为什么选择计算机专业? 说实话,在上大学之前,我虽接触过电脑,但是都是用电脑来玩游戏,看视频.上大学之前,我甚至不知道有编程是什么. 那时候,做系统什么的,都不曾接触过,当时甚至连U盘是干嘛的都不知道. 在高考完,选志愿的时候,从网上查了一下哪个行业前景好.当时也不会翻墙,就在...

我为什么着急找工作-

忙里偷闲,记录一下最近一直盘旋在我的心头,却无人诉说的话. 一年一度的就业黄金时期这就来了,今年春天,我也加入了这波浪潮.虽然需要各种准备,但也挺兴奋. 我不知道多数人在这时期找工作,都是怀揣着什么梦想.是正好该找工作了,还是为了实现自己的梦想? 我找工作的最直接的原因,就是为了挣钱,实现财务自由. 看到这个原因,我想有部分朋友就会不屑于往下看了. 但是这个理由是非常现实的,朋友们...

性能调优之网络瓶颈

之前我们在项目中引入了数据库连接池之后,在一定程度上,提升了性能.但是,上次我们只是用20个并发量做的测试,而这显然太小了.所以,这次我们使用了2000个并发量来进行测试. 上次我们把数据库连接池的尺寸,设置成了20.在并发量为20时,没有什么问题.然而,一旦到了2000的并发量,我们从Hibernate的Statistic中就能看到,其中有大量的操作,都卡在了从数据库连接池请求数据库连接...

当Java的枚举类型遇到Spark

其实不仅仅是Spark,也适用于其他的分布式技术。 假设我们有这么一个Java枚举类: public enum AtomicType { NORMAL, CHECK } 在本机上测试一下它们的hashcode,你会看到它们是相同的。 但是,要注意,这并不意味着,在分布式环境中,它们也是相同的。 我们先来说明枚举类的hashcode是怎样生成的。 我们进入到Enum这个类,看它...

如何阅读一个开源项目的源码?

大约半个月之前,我稍微了解了一些分布式系统的理论知识.但是它们很枯燥,而且有的内容,在我看来都是过时的东西.于是,我想到了,找一个分布式系统的项目的源代码,来了解分布式系统的实现.首先我想到了Kubernetes,但是我担心因为对其了解不多,而不能成功地理解它.所以我选择了先研究Docker. 我们都知道,Docker是用Golang语言写的.而我在阅读Docker的源码之前,对Golan...

如何浅显易懂的解说Paxos-

参考知乎问题如何浅显易懂地解说Paxos算法的GRAYLAMB的答案. 如果你没有读过«Paxos Made Simple»这篇论文,读这个答案也会是云里雾里的,所以建议还是先读原文,再读那个答案,那么这个算法就非常容易理解了. 但是,原版的Paxos算法是无法容忍Byzantine错误的.

如何向五岁的孩子解释Kerberos-(译)

译者注:在翻译这篇文章时,我力求完美,能够完整且正确的反映原文的意思.但是,由于译者水平有限,可能有一些地方理解的有偏差,所以还是请读者读原文进行更加深一步的理解.另外,在本文中,我还添加了一些自己的心得,如果其中有差错,请各位大牛更正. 概括 一般情况下,Kerberos有以下几点: 用于验证的协议 使用tickets来进行验证 不需要在本地存储密码,也不需要通...

如何写出具有高鲁棒性的代码-

马不停蹄的做了两周的Android开发.好久没做了,连最基本的内容基本上都已经忘记了. 在做Android开发的过程中,给我们的后台服务提交了大量的issue,这迫使我思考到底怎样才能写出健壮的代码. 在这片文章中,我将会介绍,我想到的方法. TDD(测试驱动开发) 尽管这个在业界似乎还不是很流行,但是它对于保证代码的健壮性很重要.我们开发人员中的很多人,在开发完成后,不会写测试用...

如何使用gdb来调试一个应用-(译)

用C来开发一个应用,我们不可避免会产生一些错误.有些错误,编译时,编译器便会提示我们.而有些运行时的错误,由于在运行时才会出现,很难诊断.比如常见的Segment Fault错误.我现在在开发一个HTTP服务器时,最常见的就是这个错误.通常来说,只会给你上面那么一个错误提示.这样的话,我们往往不明所以.但是,有了gdb,这一切都So easy. 这篇文章,便初步介绍了如何使用gd...