[返回] [最新] [最热门] [最高评价]

CAP 定理的含义

分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。

分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。

本文介绍该定理。它其实很好懂,而且是显而易见的。下面的内容主要参考了 Michael Whittaker 的文章。

一、分布式系统的三个指标

1998年,加州大学的计算机科学家 Eric
...

阮一峰 2018-07-16 08:48 | 查看: 129

每周分享第 13 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。

(题图:武林门码头,杭州,2017)

自从我认定,未来二三十年,人类社会将有天翻地覆的大变。我的所有时间,就都投在技术领域了。因为变化是技术引起的,只有了解技术,才可能应对变化。

我相信,未来最大的那些机会,一定是技术带来的机会。底层的年轻人要想翻身,当工程师是比较可能的途径。当然,医生和律师依然可以赚钱,但我觉得前景不如工程师,因为将
...

阮一峰 2018-07-13 12:53 | 查看: 188

关于《未来世界的幸存者》

今天宣布一个消息:我的两本书----《未来世界的幸存者》和《前方的路》----正式出版了。

不过,这个事情说了好久,不能算新消息了。所以,这篇文章想谈一件更重要的事情:为什么我要写《未来世界的幸存者》,以及今后的打算。

一切要从2016年开始讲起。年初,我读了一本畅销书,叫做《人类简史》,可能很多人都看过。

这本书的观点,很让人震惊。人类在生物学上属于"智人"(有智慧的猿人),这本书宣称,智
...

阮一峰 2018-07-10 08:12 | 查看: 248

Web Worker 使用教程

一、概述

JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个线程上完成,一次只能做一件事。前面的任务没做完,后面的任务只能等着。随着电脑计算能力的增强,尤其是多核 CPU 的出现,单线程带来很大的不便,无法充分发挥计算机的计算能力。

Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行。
...

阮一峰 2018-07-08 20:59 | 查看: 252

每周分享第 12 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。

(题图:佘山,上海,2018。)

我看到一篇报道,美国2016年的社会福利支出,占到政府总支出的73%。这就是说,美国政府的大部分支出,都用在养老金、医疗保险、失业救济这些方面了。现在,大多数的美国穷人和老人,都仰仗政府的这笔支出活着。问题是,美国政府快要承担不起了。

政府的钱从哪里来?主要就是两个途径:债务和税收(包含强制保险)。现在
...

阮一峰 2018-07-06 13:51 | 查看: 302

浏览器数据库 IndexedDB 入门教程

一、概述

随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。

现有的浏览器数据储存方案,都不适合储存大量数据:Cookie 的大小不超过4KB,且每次请求都会发送回服务器;LocalStorage 在 2.5MB 到 10MB 之间(各家浏览器不同),而且不提供搜索功能,不能建立自定义的索引。所以,需要一种新的解决方案,
...

阮一峰 2018-07-04 08:55 | 查看: 340

每周分享第 11 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。

(题图:虎跑后山,杭州,2016。

很多人去虎跑泉游玩,却不知道,泉眼后面的山是可以爬上去的,山顶有很棒的视野。翻过山就是九溪,可以一直走到龙井村或杨梅岭。)

=============================

6月27日,TC39 委员会正式通过了《ECMAScript 2018标准》,新增了四个较大的语法点,以及几个较小的
...

阮一峰 2018-06-29 14:11 | 查看: 305

DDOS 攻击的防范教程

一个多月前,我的个人网站遭受 DDOS 攻击,下线了50多个小时。这篇文章就来谈谈,如何应对这种攻击。

需要说明的是,我对 DDOS 并不精通,从没想过自己会成为攻击目标。攻击发生以后,很多素昧平生的朋友提供了各种帮助和建议,让我学到了很多东西。这里记录的就是对我最有帮助的一些解决方案。

一、DDOS 是什么?

首先,我来解释一下,DDOS 是什么。

举例来说,我开了一家餐厅,正常情况下,
...

阮一峰 2018-06-26 17:49 | 查看: 282

每周分享第 10 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。

(题图:卢日尼基体育场,莫斯科,2014。世界杯开幕式的转播,让我意识到自己去过那个体育场。那天想去莫斯科大学玩,路过一个体育场,大门紧锁,空无一人。)

我经常收到来信,询问怎样才能变成前端工程师。大部分的信件,来自两类人:即将毕业的学生和工作多年的成年人。上周,我就收到一封。一位30出头的通信工程师问我,现在通信行业效益不好,有没有可能
...

阮一峰 2018-06-22 14:03 | 查看: 300

JavaScript 的 this 原理

一、问题的由来

学懂 JavaScript 语言,一个标志就是理解下面两种写法,可能有不一样的结果。

var obj = {
foo: function () {}
};

var foo = obj.foo;

// 写法一
obj.foo()

// 写法二
foo()

上面代码中,虽然obj.foo和foo指向同一个函数,但是执行结果可能不一样。请看下面的例子。

var obj
...

阮一峰 2018-06-18 15:43 | 查看: 310

每周分享第 9 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。

这个周末是端午节,我要陪家人旅行,所以提前一天发布,祝大家端午节快乐。

(题图:星愿公园,上海,2017)

一个网友看了我的新书《未来世界的幸存者》,留言说:"现在已经是未来了,大多数人不知道而已"。这也是我的感受,普通人不知道现在的技术先进到什么地步,很多神话般的功能都已经做到了。

举例来说,我看到一个消息,麻省理工学院发明了一种远
...

阮一峰 2018-06-14 14:01 | 查看: 336

每周分享第 8 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。

(题图:烟台山历史保护区,烟台,2017。我小时候的商店都是这种样子。)

最近,日本厚生劳动省公布了正式的统计数据。2017年,日本全国一共出生了94.6万个新生儿,这是有史以来最低的数字,比上一年足足少了3万人。日本人看到这个统计,都吓死了。日本的总人口是1.27亿左右,每年全国的新生儿只有90几万,这意味着什么?

这么说吧,日本现在
...

阮一峰 2018-06-08 13:45 | 查看: 377

...更多...