每周分享第 49 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 (题图:千岛湖,浙江,2018) 一个美国程序员分享自己的工作方法,其中有一条是 要么不做,要做就做完。 他的意思是,不要给自己留下做了一半的活。因为这意味着你需要再回来,继续把它做完;你会挂念这件事情,它就像一个钟摆,过一段时间就会重新出现在你的脑海,时不时烦扰着你。 你的目标应该是,当

Grid 布局教程

一、概述 网格布局(Grid)是最强大的 CSS 布局方案。 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了。 上图这样的布局,就是 Grid 布局的拿手好戏。 Grid 布局与 Flex 布局有一定的相似性,都可以指定容器内部多个项目的位置。但是,它们也存在重大区别。 Flex 布局是轴线布局,只能指定项目针对轴线的位置,可以看作是一维布局。Grid 布局则是

每周分享第 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