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

《ES6 标准入门(第3版)》上市了!

2017年6月,TC39 委员会正式发布了《ES2017 标准》。

相比两年前,JavaScript 语法有了很大的升级,主要是引入了 async 函数和 decorator。这让我觉得,《ES6 标准入门》必须要出新版,否则就跟不上形势了。

电子工业出版社的张春雨编辑很支持我的想法,最快时间投入出版社的资源;孙奇俏编辑连续几周都忙于校对排版。7月初我交稿,8月底送印刷厂,9月中旬《ES6 标
...

阮一峰 2017-09-19 07:06 | 查看: 177

卡辛斯基的警告

1、

1978年5月25日,美国西北大学的工程教授巴克利·克利斯(Buckley Crist),收到了邮政局退回的一个包裹。

这个包裹寄往芝加哥大学,但是收件人"查无此人"。克利斯教授不记得寄过它,可是发件人却写着自己的名字。他叫来了学校的保安。保安打开了包裹,里面是一颗炸弹,立刻爆炸了。保安身受重伤。

此后的18年,这样的案件一再发生。凶手一共寄出了16枚邮件炸弹,共炸死3人,炸伤23人。
...

阮一峰 2017-09-12 23:51 | 查看: 452

asm.js 和 Emscripten 入门教程

Web 技术突飞猛进,但是有一个领域一直无法突破 ---- 游戏。

游戏的性能要求非常高,一些大型游戏连 PC 跑起来都很吃力,更不要提在浏览器的沙盒模型里跑了!但是,尽管很困难,许多开发者始终没放弃,希望让浏览器运行 3D 游戏。

2012年,Mozilla 的工程师 Alon Zakai 在研究 LLVM 编译器时突发奇想:许多 3D 游戏都是用 C / C++ 语言写的,如果能将 C /
...

阮一峰 2017-09-07 07:44 | 查看: 445

如何使用 Issue 管理软件项目?

软件开发(尤其是商业软件)离不开项目管理,Issue 是最通用的管理工具之一。

本文介绍 Issue 的基本用法。

一、Issue 是什么?

Issue 指的是一项待完成的工作,通常与系统的改进相关,中文可以译为"问题"或"事务"。下面这些都是 Issue 的例子。

一个软件的 bug

一项功能建议

一项待完成的任务

文档缺失的报告

每个 Issue 应该包含该问题的所有信息和历史
...

阮一峰 2017-08-29 08:23 | 查看: 507

你的鞋都比你聪明

1、

2017年2月,世界移动通讯大会(MWC)在巴塞罗那召开,今年的演讲嘉宾是日本首富软银集团 CEO 孙正义。

他的演讲主题是《为什么人工智能肯定会超越人类?》。他提到,人类的智能是一个正态分布,IQ 测试假设平均智能是100,标准差是15,因此95%的人的智商在正负两个标准差范围内(即70~130)。爱因斯坦的智商可以达到190,也就是六个标准差,这意味着他比99.99966%的人都要聪
...

阮一峰 2017-08-22 07:28 | 查看: 467

全文搜索引擎 Elasticsearch 入门教程

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。

它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。

Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST AP
...

阮一峰 2017-08-17 07:36 | 查看: 655

Koa 框架教程

Node 主要用在开发 Web 应用。这决定了使用 Node,往往离不开 Web 应用框架。

Koa 就是一种简单好用的 Web 框架。它的特点是优雅、简洁、表达力强、自由度高。本身代码只有1000多行,所有功能都通过插件实现,很符合 Unix 哲学。

本文从零开始,循序渐进,教会你如何使用 Koa 写出自己的 Web 应用。每一步都有简洁易懂的示例,希望让大家一看就懂。

零、准备

首先,
...

阮一峰 2017-08-09 07:29 | 查看: 494

正态分布为什么常见?

统计学里面,正态分布(normal distribution)最常见。男女身高、寿命、血压、考试成绩、测量误差等等,都属于正态分布。

以前,我认为中间状态是事物的常态,过高和过低都属于少数,这导致了正态分布的普遍性。最近,读到了 John D. Cook 的文章,才知道我的这种想法是错的。

正态分布为什么常见?真正原因是中心极限定理(central limit theorem)。

"多个独立
...

阮一峰 2017-08-02 07:33 | 查看: 656

窗口管理器 xmonad 教程

开发者最需要的,就是一个顺手的开发环境。

每个人的偏好不一样,我的开发环境是 Fish Shell + Xfce + xmonad + Vim,已经用了好多年,非常满意。

三个月前,我介绍了 Fish Shell,今天就来介绍 xmonad。根据本文,读者可以从零开始配置并使用 xmonad。

xmonad 的所有操作都通过键盘,只适合命令行的重度用户。如果你喜欢鼠标和图形界面,xmonad
...

阮一峰 2017-07-29 08:25 | 查看: 626

穷忙的人生

1、

香港曾经有一档电视真人秀,叫做《穷富翁大作战》,专门邀请富人体验穷人的生活。

有一期节目的主人公是田北辰。他的父亲田元灏是香港纺织界的头面人物,人称"一代裤王"。他本科毕业于康奈尔大学电子工程专业,又去读了哈佛大学 MBA,回到香港后创办了服装品牌 G2000 和 U2,是那种很努力的"富二代"。

他崇尚自由竞争和人生奋斗,座右铭是"如果你今天对自己满意,明天就会被淘汰",一直宣扬 "
...

阮一峰 2017-07-26 20:29 | 查看: 663

IaaS,PaaS,SaaS 的区别

越来越多的软件,开始采用云服务。

云服务只是一个统称,可以分成三大类。

IaaS:基础设施服务,Infrastructure-as-a-service

PaaS:平台服务,Platform-as-a-service

SaaS:软件服务,Software-as-a-service

它们有什么区别呢?

IBM 的软件架构师 Albert Barron 曾经使用披萨作为比喻,解释这个问题。D
...

阮一峰 2017-07-23 11:20 | 查看: 448

Pull Request 的命令行管理

Github 的一大特色就是 Pull Request 功能(简写为 PR)。

对于多人合作的项目,该功能简直必不可少。大部分人都是使用 Web 界面(如上图),本文介绍如何在命令行下处理 PR,翻译自 Cédric Beust 的文章。

一、Pull Request 是什么?

Github 官方文档的定义如下。

"Pull Request 是一种通知机制。你修改了他人的代码,将你的修改通
...

阮一峰 2017-07-18 18:06 | 查看: 389

...更多...