科技爱好者周刊(第 175 期):知识广度 vs 知识深度

这里记录每周值得分享的科技内容,周五发布。

本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。

周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。

封面图

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

河北太行山脉,山头密密麻麻都被太阳能板覆盖了。(via

本周话题:知识广度 vs 知识深度

上一期谈到,“特长程序员”比“全能程序员”吃香。

网友发给我一个网址,国外有人已经谈过这个话题。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

国外作者画了一张图,将世界上的程序员比喻成三种形状。

(1)大饼型:拥有知识广度,但没有知识深度。

(2)竹竿型:拥有知识深度,但没有知识广度。

(3)T 型:介于前两者之间。

那篇文章也认为,通常情况下,竹竿型程序员的出路最好,雇主愿意为知识深度买单。因为现代社会高度分工,越是大公司,岗位职责越明确,需要的是领域专家,而不是多面手。

但是作者提到,有一种情况例外,知识广度有明显优势,那就是确定项目路线的时候。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

请看上图,右上角有一个黑点,那是公司的目标。当前位置在左下角的原点,两点之间没有现成的道路,需要自己寻找实现路径。

这时,知识广度就发挥作用了,了解的信息越广泛,知道的情况越多,就越可能具备洞察力,能够在多条路径里面,选出最合适的道路。知识面狭窄的人,由于不了解其它道路,不管遇到什么问题,可能都选择他会的那一条路,比如 Java。

这就是全能程序员的优势,判断正确的仰角 θ,使得两点之间距离最短;特长程序员的优势是前进速度 r,可以在既定道路上做到快速前进。所以,知识的广度能告诉你什么是正确的方向,知识的深度则可以让你在该方向上快速前进。

对于长期而艰巨的项目,走得快固然重要,但更重要的是走对方向。如果仰角 θ 不对,走得再快也没用,因为一开始就走错方向,后期必须停下来校正方向,甚至可能永远到达不了目标,白白浪费了生命。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

因此,全能型的人才比较适合确定项目方向,担任团队领导。 乔布斯、马斯克就是这样的人,强在知识的广度,而不是知识的深度。他们既懂技术,又懂市场和管理,还了解人文(“我喜欢站在人文和技术的交叉点”),一旦掌握资源,就能带领团队,做出创新的产品。但是,如果让他们担任工程师,绝对是糟糕的工程师,会被开除。

不过话说回来,现实中,谁会因为你知道的事情多,就让你担任团队领导呢?反而是因为你克服了技术难题,才有机会来领导团队。乔布斯和马斯克都是自己创业才出头的,恐怕不是偶然。

总结一下,对于公司来说,如果有明确的技术方向,那么就需要聘请特长程序员,帮助加快开发速度。如果是刚刚诞生的创业公司,方向还在摸索之中,那么全能程序员也许更有价值。

设计师零基础入门

随着互联网一起飞速发展的职业,除了程序员,就是设计师了。

大家知道吗,设计师的招聘需求,一点不比程序员少。而且,由于自学的难度高,好的设计师有时比程序员更难求。

国内的设计师一直存在巨大的人才缺口,供不应求。设计师的平均工资,北京市今年达到了18K,可能已经超过了程序员的平均工资。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

在互联网公司的产品团队里面,设计师都是标配,而且往往不止一个,前端程序员都有对接的设计师。大型团队的设计师,还有明确的分工:UI 设计师、平面设计师、交互设计师……

周刊每周介绍的课程,一般都是程序员课程,今天是第一次,向大家介绍一个免费的设计师课程 《零基础学 UI 设计 & 视觉设计》

如果你想增加一些设计知识,或者就是想成为设计师,去互联网公司或广告公司求职,那么就是这个课程的目标听众。

课程分成三天,老师先讲解海报设计、品牌设计、UI 设计的一些要领,然后带你完成一个真实的海报设计项目和一个名企品牌的设计方案,最后还会分享设计师的市场行情和职业规划。它可以当作设计师入门培训,也可以当作求职训练。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

该课程由国内著名的培训机构“开课吧”提供,三天的讲课之中,除了体验如何完成设计项目,动手实操海报创意作品以外,还可以获赠设计的学习资料包。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

微信扫描上方二维码,或者点击这个链接,添加助教老师就可以报名。感兴趣的朋友,不妨听听看。

科技动态

1、高科技软甲

《自然》杂志报道,科学家最近研发出一种 3D 打印面料,可以做成人体软甲。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

这种材料是一种聚合物,而不是针织物。它的最大特点是能在柔软和坚硬两种状态之间切换。处于柔软状态时,它易弯折,可以贴附在人体表面。

但是一旦成型以后,它会变得异常坚硬,能够承受巨大的外力。因此,可以用作运动员、军人的外骨骼和防弹衣。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

2、智能机器马

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

小鹏汽车发布了一款可以乘坐的智能机器马,其实就是一个四足机器人,带有摄像头、激光雷达等汽车级别的智能驾驶系统。

它可以当作玩具,让小朋友骑,会自动行进,智能避障,并且能跟小朋友进行互动对话。小朋友抚摸机器马,它也会做出反应。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

此外,它还可以当作载具,在主人取货、逛街、远足时载货。它的具体发售日期和售价,还没有公布。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

3、新陈代谢速率

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

《科学》杂志报道,科学家发现人体新陈代谢的速率,与以前认为的不一样。

  • 1岁时,新陈代谢达到最高点。
  • 1岁到20岁,新陈代谢每年放缓约3%。
  • 20岁到60岁,新陈代谢保持稳定。
  • 60岁以后,每年下降约0.7%。

这意味着,青年和中年时期,人体的能量消耗速度并没有下降。

所以,20岁到60岁之间,节食可以减肥,因为新陈代谢并没有放缓,只要吃得少,体重就会下降。进入60岁以后,就很难通过节食减肥,因为新陈代谢每年都在下降,节食效果越来越小。

4、SpaceX 的民用航天项目

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

SpaceX 公司预定在下周三(9月15日),发射一艘宇宙飞船,四名宇航员全部都是平民。这是历史上第一次“平民宇航员”的宇宙飞行,为将来的太空旅游做尝试。

这四名乘客此前没有任何宇航经验,他们将在太空停留三天。这与贝佐斯今年7月份仅仅持续50分钟的“飞出大气层”之旅完全不一样,更接近真正意义上的“太空旅游”。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

5、道路使用费

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

美国国会最近通过了一项计划,研究征收统一的道路使用费是否可行。

目前,世界各国都对汽油额外收费,用于道路维护,比如美国征收汽油税,中国征收燃油附加费。但是,越来越多的人开始使用电动汽车,不再使用汽油车,这笔钱就收不到了。

为了给道路维护提供资金,确实应该找到一种办法,按照行驶里程,对所有车辆征收道路使用费。

6、小行星撞地球

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

根据美国宇航局的计算,有一颗叫做 Bennu 的小行星,直径约为492米,将在一个多世纪后的2135年到2200年之间,在地球和月球之间经过,而且不能排除撞上地球的可能性。

早先的计算是撞击概率为2,700分之一,后来经过修正为1,750分之一。不过,就算千分之一的可能,真的相撞了,那时的科技应该有改变小行星轨道的方法。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

7、Mac 专用机械键盘

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

很多人不喜欢笔记本电脑的键盘,不如机械键盘手感好。一家英国的键盘公司,就发明了一种供笔记本电脑使用的便携式机械键盘。

使用时,套在 Mac 笔记本键盘上方即可。这样的话,既提供了良好的打字手感,又不必适应不同的键盘布局。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

文章

1、青海冷湖:东半球唯一一个世界级天文台址诞生记(中文)

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

中国国家天文台经过3年连续监测认定,青海冷湖的光学观测条件比肩国际一流大型天文台。

这一发现为中国光学天文发展创造了重大机遇,也为国际光学天文发展提供了宝贵的战略资源。8月18日的《自然》杂志公布了这项重大科学进展。

2、中国的实验室猴子短缺(中文)

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

生物医药研究,都需要用到实验室猴子(主要是猕猴)。猕猴是国家保护动物,不能去野外抓,只能从养殖场购买。由于疫情,猴子供应紧缺,价格飞涨。本文介绍了国内实验室猴子的状况。

3、使用 React.memo() 提高组件性能(英文)

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

默认情况下,如果 React 父组件重新渲染,它包含的所有子组件都会重新渲染,即使子组件没有任何变化。

React.memo() 方法可以防止子组件不必要的渲染,从而提高组件性能。

4、CSS 盒状模型的 block 和 inline 之分(英文)

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

CSS 盒状模型的bordermarginpadding属性,有 block 和 line 之分,比如paddingpadding-inlinepadding-block两个子属性。本文介绍这种区别。

5、elm 语言的使用心得(英文)

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

作者在生产环境使用 Elm 将近两年了,写了10万行代码。这篇文章详细评价了 elm 语言,给予很高的评价。本文写得很好,推荐阅读。

6、NetBSD 解释(英文)

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

一篇科普文章,介绍什么是 NetBSD 操作系统,它的由来和特点。

7、Let's Encrypt 的免费替代品(英文)

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

现在大家都用 Let's Encrypt 生成免费的 HTTPS 证书,本文介绍其它三个类似的免费证书服务。

8、JavaScript 涟漪动画(英文)

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

一篇简单的 JavaScript 教程,介绍如何在 Canvas 上面,使用正弦函数画出涟漪动画。

工具

1、Clip It

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

一个智能视频剪辑软件,分析 OBS 软件的直播视频,从中选出精彩片段,通过人工智能自动生成一段精选视频。

2、NvChad

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

一个 NeoVim 编辑器的插件集合,将其变成一个完备的 IDE 开发环境。你也可以用它来了解 NeoVim 编辑器需要安装什么插件。

3、Lit

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

谷歌推出的基于 Web Components 的前端框架,非常小巧(5KB),用法很优雅。

4、intellij-media-player

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

这个插件可以让 JetBrains 公司的 IDE,在背景里面播放视频。适合在同一个窗口,一边编码,一边看视频。(@wuyr 投稿)

5、markdown-tweet-scheduler

使用 GitHub Actions 将仓库里面的 Markdown 文件,定时发到推特上面。

6、Webpack to Vite

这个工具可以将 Webpack 项目转为 Vite 项目。(@Chieffo2021 投稿)

7、Act

一个在本机搭建 GitHub Actions 环境的工具,让你在本机运行 GitHub Actions,可以用来验证 workflow 文件是否正确。

8、TypeIt

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

一个 JS 库,用来在网页上生成打字机输入文字的动画效果。

9、Gitfs

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

这个工具把一个远程 Git 仓库挂载到本地目录,该目录所有的变动自动提交到 Git,并推送到远程仓库,因此也可以回滚到任意时点。它相当于实现了基于 Git 的文件系统。

资源

1、商务部国别指南

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

商务部网站提供全世界各国的《国别指南》,PDF 文件免费下载,详细介绍各国基本情况,内容非常实用。

2、交互式线性代数

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

一本英文的初级线性代数教材,免费在线阅读,并提供 PDF 下载,最大特点就是配有很多图片,方便理解。

3、机器学习入门

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

瑞典乌普萨拉大学的《机器学习》英文教材,针对大学新生,有 PDF 全书下载。

4、Merlin

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

一个手机 App,用来识别看到或听到的鸟类,特色是可以根据鸟的叫声识别是什么鸟。

5、技术面试手册

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

工程师如何准备技术面试的英文免费电子书,全书分成两部分:面试本身的准备和技术知识的准备。GitHub 有5万多颗星。

图片

1、中银胶囊塔大厦

1972年,日本东京建造了一个胶囊大厦,使用140个预置的公寓单元,堆叠成一幢楼,称为中银胶囊塔。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

建筑师的设想是,以后可以随意更换某个单元,使用新的胶囊替换旧的,不影响其他单元。但是建造完成后,开发公司就破产了,所有单元后来都没有更换过。

更糟糕的是,由于组合结构本身的缺陷,以及建造质量不过关,建成后一直有漏水问题,导致内部结构生锈,破损不堪。前几年,*决定拆除这栋楼,但是一直没有动工。

目前,楼里只有少部分的房间,还有人居住。前几年,有一位摄影师拍摄了一些胶囊大楼居民的生活状态。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

2、古斯塔夫·哈肯松

1951年,66岁的瑞典人古斯塔夫·哈肯松(Gustaf Håkansson),报名参加一个超长距离1764公里的自行车比赛。主办方拒绝了,理由是他的年纪太大了,比赛只允许40岁以下的人参加。

但是,他还是跟选手一起出发了,但不是正式参赛者,而是在最后一名参赛者出发后一分钟出发,并穿着一件写着零的号码牌衬衫。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

比赛分成好几天,其它参赛者睡觉时,古斯塔夫·哈肯松依然在骑车。他留着很长的白胡子,显得更加苍老。许多报纸都报道了他的故事,引起了全国的关注,他变成了知名人物。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

经过6 天 14 小时 20 分钟,他率先到达终点,比其它参赛者早了 24 小时。人们在终点迎接他。

他一直活到了1987年,102岁逝世。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

3、空中看极光

一位欧洲宇航员在国际空间站,拍到了地球南极的极光照片。

最难得的是,那天是满月,所以光照非常好,可以清晰地看到云层和地面,非常壮观。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

文摘

1、错误的面试答案,让我得到了工作

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

2007年,我去一家公司应聘程序员。当时,为了应聘成功,我不得不故意答错了一个问题。你可能觉得很奇怪,让我解释一下怎么回事。

面试官有两个人:技术团队的负责人和公司总经理。总经理是技术负责人的上级,技术负责人对我进行提问。

一开始是几个一般性的问题,然后他问我“什么三层架构”?

我回答说,“三层架构”就是客户端-服务器-数据库。我还补充说 Web 浏览器就是最常见的瘦客户端。他们似乎对我的回答很满意。

他接着问:“三层架构与 MVC 模式(模型-视图-控制器)有什么关系?”

我知道,这个问题有一点棘手。大多数人都会将两者等同起来,但是实际上,MVC 模式只用于中间的“应用程序”层,并不涉及客户端和数据库。

*是这样解释的:

“三层架构”的一个基本规则是,客户端不直接与数据层通信,所有通信都必须通过中间层。因此,从概念上讲,三层架构是线性的。

然而,MVC 模式是三角形的:视图层向控制器发送更新,控制器更新模型,模型的更新又直接触发视图的更新。

我原想这样回答,但是我怀疑,面试官认定的正确答案,就是大多数人的错误答案。如果我说出自己的答案,他会认为我是错的。

要是我当面指出他的错误,而他的老板又在一旁,就等于在老板面前让他丢脸。那么,他可能会坚持自己的立场,拒绝我的正确答案,挽回自己的面子。他也可能承认自己错了,当众丢脸。

我觉得这两种结果都不好,最后决定,我必须回答他们眼中正确的答案。

我先试探着,说出我的正确答案,看看对方的反应。

“MVC 模式是一种软件模式,属于代码的组织形式,大多数情况下,仅在应用程序层运行……”

我看到技术负责人皱着眉头,所以猜想这不是他预期的答案。我就改口说:“视图对应用户界面,控制器对应应用层,模型对应数据库”。

搞定!回答正确!大家都很高兴,我得到了这份工作。

这个故事告诉我们,面试不仅仅需要技术技能,还需要人际交往能力。这也很合理,因为实际工作中,确实两种能力都需要。

言论

1、

宇宙诞生于138亿年前的大爆炸,可能会在未来数十亿年后终结。我们还不知道宇宙到底是什么,但是无论宇宙是什么,它肯定与我们人类无关。我们越了解宇宙,宇宙也就越发显得毫无意义。

-- 史蒂芬·温伯格,不久前去世的诺贝尔奖得主、美国物理学家。这是他的畅销科普书《宇宙诞生后的前三分钟》里面的名言。

2、

*软件运动,本质上不是一场软件运动,而是一场社会运动,因为它的核心是提倡一种基于“共享”的意识形态,要求成员相互支持和帮助。

-- 《理查德·斯托曼与*软件的历史》

3、

许多企业拒绝*软件,提出质疑:如果一家公司免费赠送软件产品,它如何生存?

理查德·斯托曼不得不向他们解释:*软件只是要求给予用户*,而不是提倡免费。但是,企业无法理解这种意识形态的细微差别。

-- 《理查德·斯托曼与*软件的历史》

4、

日本的卡通片画师,画一帧可以赚 1.80 美元,有时一个月只能画 300 帧,总收入为 540 美元。这点钱维持生计非常困难,所以日本动画师离职率极高。

-- 《日本动画师离职率高达90%》

5、

我在普林斯顿大学学习物理学时,曾经与一个同学一起花了三个小时,研究一个非常困难的偏微分方程,但一无所获。后来,我们去找了班上最聪明的同学,他看了几分钟就说:“余弦变换可以解”。我们表示不理解,他就写了三页纸的答案,并说几年前就解过类似的问题。

因为这件事,我知道自己永远不会成为一名伟大的理论物理学家,所以就改学了计算机。

-- 贝佐斯,亚马逊公司的老板,回忆大学生活

历史上的本周

2020年(第 124 期):华为如何考核员工

2019年(第 72 期):当代人不再有手稿

2018年(第 21 期):人生的水平运动和垂直运动

订阅

这个周刊每周五发布,同步更新在阮一峰的网络日志微信公众号

微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。

科技爱好者周刊(第 175 期):知识广度 vs 知识深度

(完)

上一篇:Practice5.1 测试与封装5.1


下一篇:【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)