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

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

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

题图

直布罗陀机场,是世界上唯一一条与道路相交的机场跑道。幸运的是,这不是一个繁忙的机场。它每周仅处理大约 30 个航班,所有航班都往返于英国。

本周讨论:程序员的酒后真言

(来源:阮一峰

美国最大的论坛 Reddit,最近有一个热帖

一个程序员说自己喝醉了,软件工程师已经当了10年,心里有好多话想说,”我可能会后悔今天说了这些话。”

他洋洋洒洒写了一大堆,如今已获得获得 10k+ 赞。内容很有意思,值得一读,下面是节选。

1)职业发展的最好方法是换公司。

2)技术栈不重要。技术领域有大约 10-20 条核心原则,重要的是这些原则,技术栈只是落实它们的方法。你如果不熟悉某个技术栈,不需要过度担心。

3)工作和人际关系是两回事。有一些公司,我交到了好朋友,但是工作得并不开心;另一些公司,我没有与任何同事建立友谊,但是工作得很开心。

4)我总是对经理实话实说。怕什么?他开除我?我会在两周内找到一份新工作。

5)如果一家公司的工程师超过 100 人,它的期权可能在未来十年内变得很有价值。对于工程师人数很少的公司,期权一般都是毫无价值。

6)好的代码是初级工程师可以理解的代码。伟大的代码可以被第一年的 CS 专业的新生理解。

7)作为一名工程师,最被低估的技能是记录。说真的,如果有人可以教我怎么写文档,我会付钱,也许是 1000 美元。

8)网上的口水战,几乎都无关紧要,别去参与。

9)如果我发现自己是公司里面最厉害的工程师,那就该离开了。

10)我们应该雇佣更多的实习生,他们很棒。那些精力充沛的小家伙用他们的想法乱搞。如果他们公开质疑或批评某事,那就更好了。我喜欢实习生。

11)技术栈很重要。如果你使用 Python 或 C++ 语言,就会忍不住想做一些非常不同的事情。因为某些工具确实擅长某些工作。

12)如果你不确定自己想做什么东西,请使用 Java。这是一种糟糕的编程语言,但几乎无所不能。

13)对于初学者来说,最赚钱的编程语言是 SQL,干翻所有其他语言。你只了解 SQL 而不会做其他事情,照样赚钱。人力资源专家的年薪?也许5万美元。懂 SQL 的人力资源专家?9万美元。

14)测试很重要,但 TDD (测试驱动的开发)几乎变成了一个邪教。

15) 政府单位很轻松,但并不像人们说的那样好。对于职业生涯早期到中期的工程师,12 万美元的年薪 + 各种福利 + 养老金听起来不错,但是你将被禁锢在深奥的专用工具里面,离开政府单位以后,这些知识就没用了。我非常尊重政府工作人员,但说真的,这些地方的工程师,年龄中位数在 50 岁以上是有原因的。

16)再倒一杯酒。

17)大多数头衔都无关紧要,随便什么公司都可以有首席工程师。

18)手腕和背部的健康问题可不是开玩笑的,好的设备值得花钱。

19)当一个软件工程师,最好的事情是什么?你可以结识很多想法相同的人,大家互相交流,不一定有相同的兴趣,但是对方会用跟你相同的方式思考问题,这很酷。

20)有些技术太流行,我不得不用它。我心里就会很讨厌这种技术,但会把它推荐给客户,比如我恨 Jenkins,但把它推荐给新客户,我不觉得做错了。

21)成为一名优秀的工程师意味着了解最佳实践,成为高级工程师意味着知道何时打破最佳实践。

22)发生事故时,如果周围的人试图将责任归咎于外部错误或底层服务中断,那么是时候离开这家公司,继续前进了。

23)我遇到的最好的领导,同意我的一部分观点,同时耐心跟我解释,为什么不同意我的另一部分观点。我正在努力成为像他们一样的人。

24)算法和数据结构确实重要,但不应该无限夸大,尤其是面试的时候。我没见过药剂师面试时,还要测试有机化学的细节。这个行业的面试过程有时候很糟糕。

25)做自己喜欢的事情并不重要,不要让我做讨厌的事情更重要。

26)越接近产品,就越接近推动收入增长。无论工作的技术性如何,只要它接近产品,我都感到越有价值。

27)即使我平时用 Windows 工作,Linux 也很重要。为什么?因为服务器是 Linux 系统,你最终在 Linux 系统上工作。

28)人死了以后,你想让代码成为你的遗产吗?如果是那样,就花很多时间在代码上面吧,因为那是你的遗产。但是,如果你像我一样,更看重与家人、朋友和生活中其他人相处的时光,而不是写的代码,那就别对它太在意。

29)我挣的钱还不错,对此心存感激,但还是需要省钱。

30)糟糕,我没酒了。

完)

热点新闻

1、

与普通棉(左)相比,一种新材料(右)显着降低了体温

最近,国外研究人员设计了一种看起来像日常 T 恤的面料,但可以使身体降温近 5°C。

2、

据国家互联网信息办公室官方微信消息,根据举报,经检测核实,“滴滴企业版”等 25 款 App 存在严重违法违规收集使用个人信息问题。依据相关规定,通知应用商店下架滴滴旗下 25 款 App

3、

字节跳动表示,将于 2021 年 8 月 1 日起施行取消大小周制度,8 月开始有需求的团队和个人,可以通过系统提交加班申请。

4、

海地临时总理克劳德·约瑟夫 (Claude Joseph)表示,当地时间周二(7月6日)夜间,一群身份不明的武装分子突袭莫伊兹总统的私人宅第并开枪打死了总统若弗内尔·莫伊兹(Jovenel Moïse),其妻玛蒂娜(Martine)也受伤住院。

5、

冰岛试行一周四天工作制度,工人工时缩短,但是薪酬不变。研究人员指出,这样做之后,大部分工作场所的生产力没有改变,甚至有所提升。

6、

苹果公司据报道将大量 iCloud 数据,存储在谷歌云,总量达到 800万 TB,单单今年的费用就是 3 亿美元,是谷歌云最大客户。

这表明,苹果自己的数据中心可能规模很小,根本存储不了它的所有数据。

文章

1、四十分钟讲完三体(视频)

三体是非常经典的科幻类题材小说,如果你不想读纸质类的书籍,那么这个视频可以带你深入了解。

2、图形解释 SQL 连接类型(英文)

使用图形的形式,生动解释了 SQL 中的不同连接类型究竟是怎样连接的。

3、新手如果没有搭建环境,还能怎样快速练习写代码?

很多时候,浇灭新手的不是什么复杂的 Coding,而是搭建编程环境。

文章介绍了很多「开箱即用」的编程环境,对于初学者来说无疑是个提高学习效率或保持编程热情的解决方案。

4、iOS 15 如何让您的应用程序启动更快(英文)

文章揭示了 iOS 15 是如何让程序更快的原因。

5、如何使用 Python 构建股票交易机器人(英文)

作者用 Python 搭建了一个简单的自动交易的机器人程序,虽然国内似乎没有接口实现,但看上去还是挺有趣的。

6、相机维修课程(英文)

在过去,相机维修技术人员需要跑到专门的学校学习,但现在所有的学习材料在互联网上都是公开的。

7、编程语言内存模型(英文)

这一篇文章揭示了一些通用的,被各大编程语言使用的内存模型。

8、Git 最佳实践(英文)

最佳实践因环境而异,并没有一个正确的答案,但仍然有一些 #git 的共识,需要提前了解,并且在某些情况下可以帮助您构建讨论以生成您自己的最佳实践。

好奇星人

1、为什么许多游戏在存档时会提示「不要关闭电源」?

第一,减少意外。

玩家所擅长的领域千差万别,不是每一个人都知道“写入磁盘时掉电可能会对数据乃至磁盘本身产生重大危害”——偏偏玩游戏的过程中存档又是一个非常频繁的操作。设备坏了事小,心血没了事大啊。

加上提示以后,如果真的因为关机丢失了存档,也可以很大程度上规避责任,避免和玩家扯皮。

第二,丢失存档的技术细节。

其实现代游戏,如果处理方式合适的话,丢失存档的概率可以做到非常低。存档的逻辑可以用伪代码这样表示:

1
2
3
4
5
功能:存档()
步骤 1. 将当前需要保存的数据全部整理出来,转换为一串纯数据 data
步骤 2. 打开存档文件
步骤 3. 写入存档数据 data
步骤 4. 关闭文件

这一连串功能中,如果执行步骤 4 时关闭电源,大概率会丢失存档。

步骤 2~3 时关闭电源,有可能丢失存档,概率大小取决于存档大小,以及主机写文件的速度。

所以如果这块代码写的合适,存档容量不特别大,丢失存档的概率并不高。因关闭电源而丢失存档可以看成是巧合。

最后,也是可以防止玩家在存档时闲着没事儿做,给一句苦口婆心的忠告。

言论

1、

软件开发机会如此丰富,以至于大多数雇主发现招聘专家开发人员几乎是不可能的。机会如此丰富,以至于尽管全世界有名副其实的大量新手开发人员,但他们中的每一个人都存在工作机会。

最后,软件工程没有任何把关。任何人都可以参加编码训练营,参加一些在线编码课程,并在第二天开始在 Upwork 上销售他们的服务。他们的工作产品可以立即投入生产,无需监管。

将这三者结合起来,很容易理解为什么有这么多糟糕的软件。软件正在吞噬世界,它的错误和安全漏洞也是如此。

《为什么世界上有这么多垃圾软件》(英文)

2、

编码只是解决问题。学习编码不会花费您太多时间,但是您需要花费大量时间来培养敏锐的解决问题的能力。

Twitter用户

3、

真正有效的减肥方式,是你要找到一种能够令你感到舒适的,同时又相对比较健康的饮食模式,按这个模式去践行就可以了。

也就是说:最核心的关键,是找到一种能够自发持续实践下去的饮食方式,而不是强行靠意志力「坚持」下去。

《如何长期坚持做一件事情?》

4、

人类学习效率最高的方式,不是”读书 + 思考”,而是”观察 + 模仿”。 前者需要较长时间的注意力投入,后者只需要短时间注意力,更符合人类的天性。

阮一峰

5、

公司不喜欢员工远程工作,因为觉得员工像在兼职,而公司却支付了全职的薪水。

公司的想法是,既然我支付了全职薪水,那么从早上9点到下午5点,我对你的所有时间、注意力和精力,拥有所有权。这种所有权的体现就是,这段时间你需要到我指定的办公场所,让我看着你在工作。

《远程工作会摧毁老板》(英文)

订阅

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

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