每周分享第 48 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 上图是世界最著名的程序员之一:Bill Joy。 四十年前,他20岁出头,在加州大学柏克利分校读研究生,是 Unix 系统 BSD 版本的主要作者之一。因为找不到合适的编辑器,他用一个周末,在 ex 命令的基础上创造了 Vi 编辑器。Unix 系统的 TCP/IP 协议也是他实现的。 28岁

普通人的网页配色方案

网页需要配色。一种好看、易用、符合心意的配色,是很不容易的,尤其在没有设计师时。 一、Flat UI 色表 最简单的方法是,从一个给定的色表选择颜色。我以前就是这样,主要根据 Flat UI 的色表配色。 这个色表提供20种颜色(其实是10种,每种颜色有深和浅两个色调),对于简单的网页,基本够用了。实际效果可以参考 Flat UI 官网。 二、香港地铁色表 后来,我听说香港地铁的每个车站,颜色都不一样。比如,中环是红色。 金钟是蓝色,北

每周分享第 47 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 如果你长期看这个周刊,可能知道我的观点:人工智能将导致大量失业,因为算法将取代大部分白领工作。 很多人不同意,认为未来不会有大量失业,因为新的工作岗位可以容纳就业。但是,到底什么岗位可以让大部分人就业呢?没人说得出来。有一点是显然的,这种岗位不可能是程序员、工程师、算法专家,因为大部分人达不到

每周分享第 46 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 (题图:西子宾馆,杭州,2018) 现在,很多网站使用大数据算法,很精确地知道用户的喜好和立场,总是推荐感兴趣的新闻给你看,或者说只给你看想看的东西,比如今日头条和 Facebook。 久而久之,天天看到一大堆同类新闻,你会产生一种幻觉,以为自己的喜好和立场是主流,跟大多数人一致。但是实际上

敏捷开发入门教程

敏捷开发(agile development)是非常流行的软件开发方法。据统计,2018年90%的软件开发采用敏捷开发。 但是,到底什么是敏捷开发,能说清的人却不多。本文尝试用简洁易懂的语言,解释敏捷开发。 一、迭代开发 敏捷开发的核心是迭代开发(iterative development)。敏捷一定是采用迭代开发的方式。 那么什么是迭代开发呢?迭代的英文是 iterative,直译为重复,迭代开发其实就是重复开发。 对于大型软件项目,传统的开发

每周分享第 45 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 美国科幻小说大师阿西莫夫,写过一本回忆录《人生舞台》。他在里面提到,成名后,他的收入一年比一年高,完稿时的1990年是收入最高的一年。 很不幸,1992年他就去世了,享年72岁。据他的妻子说,那一年的收入比1990年还要高。也就是说,去世时,他达到了一生最高的年收入。我当时心想,这种收入模式真

每周分享第 44 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 (题图:杭州西湖,2018年) 最近,一位荷兰统计学教授查找一篇论文,就是下面这篇。 Van der Geer, J., Hanraads, J.A.J., Lupton, R.A., 2010. The art of writing a scientific article. J S

ORM 实例教程

一、概述 面向对象编程和关系型数据库,都是目前最流行的技术,但是它们的模型是不一样的。 面向对象编程把所有实体看成对象(object),关系型数据库则是采用实体之间的关系(relation)连接数据。很早就有人提出,关系也可以用对象表达,这样的话,就能使用面向对象编程,来操作关系型数据库。 简单说,ORM 就是通过实例对象的语法,完成关系型数据库的操作的技术,是对象-关系映射(Object/Relational Mapping) 的缩写。 ORM

每周分享第 43 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 上图是一架小飞机停在草地,一个人从上面跳下来。 这张图取自一篇2018年12月发表的正式论文,作者单位是哈佛大学医学院,论文题目叫做《从飞机跳下时,降落伞防止伤亡的作用研究》。 研究小组让一组人带着降落伞,另一组人不带(就像上图),都从停在草坪上的小飞机跳下来。可想而知,所有人都平安无事

npx 使用教程

npm 从5.2版开始,增加了 npx 命令。它有很多用处,本文介绍该命令的主要使用场景。 Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。 $ npm install -g npx 调用项目安装的模块 npx 想要解决的主要问题,就是调用项目内部安装的模块。比如,项目内部安装了测试工具 Mocha。 $ npm install -D mocha 一般来说,调用 Mocha ,只能在项目脚本和