Stay Hungry, Stay Foolish.
有了工作后,发现之前想用上的一些软件都能用上了。那就不妨设立几种常见工作场景,总结一下使用什么软件和方法来解决。这样也能给自己工作流程加点规范,也算是我强迫症的表现。
Amortized Analysis,是对算法复杂度的另一种分析。它的基本概念是,给定一连串操作,大部分的操作是非常廉价的,有极少的操作可能非常昂贵,因此一个标准的最坏分析可能过于消极了。因此,其基本理念在于,当昂贵的操作特别少的时候,他们的成本可能会均摊到所有的操作上。
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
这次实验主要实现Log的一致性和持久性。主要是Debug的过程中会遇到非常多的问题。这里对遇到的问题做一下回顾。
这次的作业主要是要实现 LeaderElection 的部分,难度不大,但是一些实现的细节可能会影响后续的实验。
这次实验的目的是自己完成一个 MapReduce 的分布式实现。对我来说最大的困难在于语言的不熟悉,这里主要使用的是 Go 语言。由于这是我第一次接触 Go,有很多实现细节其实可以做的更好一些.
GFS 是 Google 在 2010 年提出的分布式文件存储系统。
在 CSAPP 中,说到在操作系统的线程概念模型中,每个线程有独立的栈,而线程之间不能访问其他栈的变量。但是在实现中有所区别,本文来做一个小小的实验。