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

一方面是整理记录一下自己一周的学习,另一方面也是期待自己有更多的输出,有更多的价值。

周刊开源(Github:wmyskxz/weekly),欢迎提交 issue,投稿或推荐精彩内容。

题图

Space X 已经从佛罗里达肯尼迪航天中心发射升空,将四名乘坐“灵感4”太空舱的宇航员送入轨道。

四人中有 1 名亿万富翁和 3 名“普通公民”组成,接下来的三天,他们将和这个“龙”太空舱一起围绕地球飞行。

本周讨论:知识广度 vs 知识深度

(本文来源:阮一峰

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

  1. 大饼型:拥有知识广度,但没有知识深度。
  2. 竹竿型:拥有知识深度,但没有知识广度。
  3. T 型:介于前两者之间。

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

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

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

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

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

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

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

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

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

热点新闻

1、

最近,英国床褥制造商 Sleepseeker,针对全球 16 个主要国家进行调查,然后公布了全球疲劳国家排名

新加坡凭借超高的生活节奏,超过中日韩,成为全世界“最累的国家”,而中国则排名第九。

排名时主要考虑四个因素:1)民众睡眠时间;2)民众每日上网时间;3)民众平均每年工作时长;4)Google Keyword Planner中不同语言睡眠相关关键字搜寻次数;

2、

中国每年发表的科学论文数量已经超过美国。

虽然不能证明创新方面的突破,但也侧面展示了中国科研能力的提高。

3、

近日,大连理工大学研究生学生手册中的一条规定引发热议:学习期间发生未婚性行为者,给予记过以上处分。

另外从国内 20 所高校官网发现,包括浙江大学、复旦大学、华中师范大学等都有相同规定,另有多所大学对宿舍留宿异性做出禁止。

4、

9·18,不敢忘,不能忘

5、

世界目前最大的二氧化碳捕捉工厂,最近在冰岛建成了。它通过风扇吸入空气,过滤出二氧化碳,然后再将二氧化碳液化,注入地下 1000 米深处的矿洞存储。

二氧化碳的过度排放,是气候变暖的主要原因,目前没有好的方法吸收二氧化碳。该工厂每年只能吸收 4000 吨二氧化碳,只相当于 800 多辆汽车的排放量,而全世界 2015 年的二氧化碳排放量是 360 亿吨。(@阮一峰)

6、

今天是 9 月 17 日,工信部要求各大互联网公司解除“屏蔽网址链接”的期限已至。

腾讯迈出了一大步:用户升级最新版本微信后,可以在一对一聊天场景中访问外部链接,群聊尚不支持。

文章

1、全自动炒股源码

作者用 Python 写了一个全自动炒股的脚本软件,每天定时发送邮件然后手动操作。

具作者描述,他实现的策略,8 年回测,收益 715.44%,最大回撤 28%。

PS:同时 B 站也有视频,播放超 70w

2、一图流|一张图带你看完 Apple 2021 年秋季新品发布会

最简单直观的方式迅速了解本届 Apple 新品发布会的完整动态。

3、用 CSS 设计漂亮的阴影(英文)

一篇探讨如何提高阴影品质的文章。

4、OpenJDK 17 中的 Shenandoah(英文)

本文解释了 Shenandoash GC 如何解决剩余垃圾收集暂停的问题,并在 JDK 17 中提供可靠的亚毫秒级垃圾收集暂停。

各版本垃圾收集暂停的基准测试对比

5、SQL 交互式学习网站(英文)

一个交互式的英文在线教程,一共 19 课,从零开始讲授 SQL 知识,以及如何查询数据库。

6、1985年《花花公子》采访乔布斯

1985 年乔布斯只有 29 岁,但已经被称为计算机革命之父,身家曾一度高达 5 亿美元——1985 年的 5 亿。

《花花公子》的记者在这篇采访中,谈及了以下问题(部分摘录):

  • 乔布斯的财富和财富观;
  • 计算机普及的可能性;
  • 对技术未来的展望;
  • 乔布斯所面临的权力斗争;
  • 乔布斯对苹果公司的愿景和价值观的解读;
  • 苹果与IBM的市场与路线之争;
  • ….

感兴趣的可以看看,全程高能。

7、为什么数据库不应该使用外键

外键提供的几种在更新和删除时的不同行为都可以帮助我们保证数据库中数据的一致性和引用合法性,但是外键的使用也需要数据库承担额外的开销,在大多数服务都可以水平扩容的今天,高并发场景中使用外键确实会影响服务的吞吐量上限。

PS:Draveness 大佬文章质量一直贼高,没关注的朋友建议关注一波。

8、Python 修饰器的函数式编程

关于 Python 修饰器比较详细系统的文章,对于新手也非常友好。

好奇星人

1、猫为什么会用猫砂

简单来说,就是为了掩埋气味,不暴露自己的行踪。这是喵星人祖上传下来的刻在基因里的东西。

家养喵星人的祖先是生活在沙漠里的纯肉食动物,这让它们的排泄物非常“重口味”。

在摄取水分少的情况下,猫科动物让水分尽量保持在体内,所以它们排除的尿液浓度很高,味道也比较“浓郁”。

猫的粪便也是发酵后、未完全消化的高蛋白质的产物,那味道相信各位铲屎官也体会过。

因此为了不暴露行踪,大部分猫科动物都会寻找隐蔽的地方排泄,不给捕猎和逃避天地造成麻烦。

而在沙漠里,松软的沙土无疑是掩埋排泄物最好的天赐礼物。

后来喵星人足迹遍布全球,这种习惯也没有改变。

自 1937 年第一款猫砂 “Kitty litter” 诞生起,为了替代沙土,已经做了很多改良。

言论

1、

你的成功多半取决于你愿意进行多少长令人不快的对话。

斩断关系,拒绝邀请,提出请求,都需要艰难的对话,而为了满足自己的诉求,这样的对话越多越好。

最棒的人生建议

2、

Go 通常更适合那些已经知道如何编码并希望将另一种编程语言添加到他们的武器库中的人。正如 Go FAQ 报告的那样,它是根据 Google 工程师现有的问题创建的。

在运行时没有关于类型的奇怪转换,没有棘手的指针算法,没有泄漏。

编写 Go 的乐趣(英文)

3、

工程师们喜欢把它做好;而企业家喜欢完成它。

工程师与企业家心态(英文)

4、

如果美国当年不去起诉微软垄断,如果微软有在 Windows 上任意屏蔽程序和网站的能力,那么就不会又后来的 Google、Facebook 和 Amazon。

腾讯明明只是个信息管道,但是这个管道居然以为自己有权力控制信息内容和走向,它想太多了。

知友@姚东

5、

首先,会带来新的流量红利。

其次,可以活跃互联网创业市场。

当微信能打开淘宝页面,对于中国互联网意味着什么?

订阅

这个周刊每个礼拜天发布,同步更新在个人博客微信公众号

微信搜索”我没有三颗心脏”或者扫描二维码,即可订阅。