分类

每周分享第 10 期

作者: 阮一峰

日期: 2018年6月22日

珠峰培训

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

(题图:卢日尼基体育场,莫斯科,2014。世界杯开幕式的转播,让我意识到自己去过那个体育场。那天想去莫斯科大学玩,路过一个体育场,大门紧锁,空无一人。)

我经常收到来信,询问怎样才能变成前端工程师。大部分的信件,来自两类人:即将毕业的学生和工作多年的成年人。上周,我就收到一封。一位30出头的通信工程师问我,现在通信行业效益不好,有没有可能转到前端开发?

我一般不给人生建议。你的人生,我不介入。再说,我又不了解你,怎么给建议?何况我从来不确信自己是对的。但是这一次,我破例回信,告诉他别转前端。

互联网开发这个行业,求快求变,工作负荷非常大。年纪大了(35岁~40岁)还待在第一线开发,就会力不从心。项目下个月就要发布,这个月必须全部关在项目室加班,最忙的几天可能还要在电脑桌下面的睡袋过夜。十年前,你还能承受这种生活,十年后就不行了,没法跟刚刚毕业的年轻人一样投入了。比起年轻人,你不仅加不动班,而且技术也不占优势,经验也没太大价值,但是你的工资比较高,这时就是你离开第一线的时候了。

30多岁转前端开发,个人爱好没问题,但梦想以此谋生基本上是死路一条。当然,你原来的职业可能也是死路一条,我不知道哪条路更糟一些,但是留在原行业,至少你还有一些行业积累,从零开始风险太大了。

一个相关的问题是,已经待在这个行业的程序员,退出第一线以后干什么呢?很简单,干一些强度比较小、迭代比较慢的事情。人生几十年,能够体验不一样的生活,挺好的。至于能不能依靠那些事情谋生,就看每个人的造诣和造化了。至少那些老程序员离开第一线以后,看上去都还活得不错,对嘛?

新闻

1、棉花糖测试

有一个著名的心理实验,叫做棉花糖测试。一群小孩,每人拿到一块棉花糖。心理学家告诉他们,你可以现在就把糖吃掉,但是如果忍耐15分钟,就可以得到第二块糖的奖励。

大多数小孩子都没能忍住,有的立刻吃掉了,有的还没等实验员离开半分钟就吃掉了,有的四下张望之后偷偷吃了一点点......只有30%的孩子一直坚持了15分钟,直到实验员回来。

日后的追踪发现,那些忍住不吃的小孩,往往有更成功的人生。

以前的解释是,为了长远利益、忍受眼前诱惑的人,更可能成功。但是,新的研究发现,那些忍住不吃的小孩,大多来自富裕人家,也就是说他们的人生成功,很可能与忍耐力无关,而是家庭的帮助。

2、古巴的声波攻击

2016年12月开始,古巴首都哈瓦那的美国和加拿大使馆,至少有24名外交人员出现恶心,耳痛,听力下降,流鼻血,眩晕甚至行走困难。一份医疗报告将伤势描述为"轻度创伤性脑损伤"和"未受震荡的脑震荡"。

2018年3月,密西根大学发表一项研究成果,认为这不是古巴的有意攻击,而是窃听器失灵,造成多个音调的超声波信号相互干扰,使得不可听见的超声波变频到可听范围内,从而导致高音噪音。

3、从空气中吸收二氧化碳

科学家认为,人类过度释放二氧化碳是地球暖化的主要原因,为了保护环境,我们应该减少二氧化碳的释放。

一家加拿大公司正在尝试另一种方法:从空气里面捕获二氧化碳。方法是把空气吹向氢氧化钾溶液,形成碳酸钾。进一步加工处理之后,转变为碳酸钙颗粒。这种颗粒加热后,就会释放二氧化碳,再埋入地下的管道。现在,捕获一顿二氧化碳的成本在200美元以上,但是未来估计可以降低到100美元以下。

4、谷歌创始人投资的飞行汽车

6月初,谷歌创始人拉里·佩奇支持的飞行汽车在新西兰试飞。这种飞机使用电动引擎,可以在地面行驶,它的机翼上有10个小型升力扇,使其能够像直升机一样垂直起降。

它的飞行最高时速限制在32公里/小时,飞行高度不超过3米。设计目的是水上飞行,主要用于游乐用途。

5、微软的海底机房

6月6日,微软在苏格兰沿岸30米的海底放入一个机房。这个海底机房配置了12个机架864台服务器,合计27.6PB存储空间。它主要由海底电缆供电,并通过电缆连回互联网。同时,它还装备了涡轮发电机和波浪发电转换器,能够利用潮汐流和海浪摇曳发电。

海底机房的最大好处是节省能源,机房会产生大量热量,放在海底就不用担心散热。另外,由于是无人空间,机房里面的氧气和水蒸气会全部抽除,减少服务器腐蚀。

6、GraphQL 指南

jQuery 的作者 John Resig 出新书《GraphQL 指南》了。他的时间现在都投在 React 开发。

7、生育率与房价

美国一项研究发现,房价上升最快的县市,生育率下降最多。

真是挺有趣的结果,因为生育率统计的是当地居民,这批人都是房价上涨的受益者。他们变得更有钱了,却不愿意多生小孩了。联想到穷人往往多生,结论只能是:多生小孩的主要动机是养儿防老。

教程

1、如何使用 AWS LAMBDA 做一个 YOUTUBE MP3 下载器(英文)

作者做了一个 Bookmarklet。浏览 Youtube 的时候,只要按一下这个书签工具,就会把请求发到 AWS LAMBDA,然后抓取 Youtube 流文件,转码成 mp3 文后以后存到 S3,再返回下载地址。

2、各种数据结构的 JavaScript 实现(英文)

这篇文章针对初学者,介绍 Array、HashMaps、Sets、Linked Lists、Stacks、Queues 这六种数据结构的 JavaScript 实现。

3、tcpdump 示例教程(英文)

tcpdump 是一个 Linux 命令行工具,用来查看 TCP 通信。

4、Eloquent JavaScript 3rd edition 中文版

一本开源的 JavaScript 语言的入门教材。

5、2018 世界杯预测

有人根据历史数据,写了一个脚本,预测本届世界杯的所有比赛(见上图)。四强是葡萄牙、阿根廷、巴西、德国,决赛是巴西对德国,冠军是德国。链接是完整的脚本和数据集下载。不过,世界杯已经开始了,跟真实结果一比较,似乎出入比较大,这届的强队都表现一般。

6、MATLAB 处理照片

你还是使用 PhotoShop 处理照片吗?可以考虑试试看 MATLAB。

7、V8 改进垃圾清理机制(英语)

V8 引擎宣布"垃圾清理机制"的重大改进。我们知道,对于大型程序,垃圾清理很影响性能,因为程序必须暂停,让引擎识别哪些内存不再需要。

V8 现在允许内存识别不暂停程序,而是并发进行,使得程序停顿时间减少70%左右。引擎如何识别不再需要的对象,希望了解具体实现的朋友,可以看看上面这篇文章。 8、Testcafe 教程(英文)

Testcafe 是一个 UI 测试框架,可以在各大浏览器进行 UI 测试。相比 Puppeteer,它提供各种专门针对测试的封装好的方法。

资源

1、高中物理笔记(英文)

高中物理要点讲解,配有插图和动画。

2、FiraCode

开源的代码字体。

3、C 语言学习资料

收集各种网上可以免费得到的 C 语言学习资料,不过都是英语资源。

4、2018年最有上升潜力的 Linux 发行版

它们是 AntergosDeepinMX LinuxSubgraphDebian

工具

1、Reach router

React router 的两位创始人闹翻了,其中一位另起门户,写了一个功能相同的 Reach router

2、Lottie

Airbnb 推出的动画效果库,可以把 Adobe After Effects 制作的动画用于 Web、安卓和 iOS。

3、maid

Node 项目的任务运行器,特点是用 Markdown 格式写配置文件。

4、wtf

在终端窗口显示控制台面版。

5、tusk

一个非官方的 Evernote 桌面客户端。

6、hiper

一个查看网页加载性能的命令行程序。

7、Gource

Gource 是一个很好玩的可视化工具,可以将代码仓库的历史变成视频,支持 Git 和 SVN 等多种格式。只要在仓库目录执行 gource 命令,就能看到提交历史的视频。

8、vnote

一个写 Markdown 笔记的桌面应用,跨平台。

文摘

1、腾讯 TCFT 比赛采访记

我刚刚从深圳回来。腾讯组织了一场挺有意思的 CTF 比赛,名为 TCTF。

用一句话说,CTF 比赛就是黑客们的"奥赛":出题人会精心设计二十多道"心机谜题",每个黑客战队的目的就是尽可能多地解开更多的谜题。比赛持续两天一夜的时间。中间那晚你可以睡觉,但你的对手可不一定会睡觉。解出不同的题目,获得不同的分数。谁的技术最叼,拿到的总分最多,就能分到最多的奖金。

参加 TCTF 的战队,每个队不能超过四个人。看起来人数不少,但你要知道。这二十多道题目,随便拽出来一个,可能都需要几个小时时间的分析。所以,这四个人,虽然各个智商冒烟,但还是远远不够用的。

之前说到,比赛的题目分了五类。而这几类题目,需要动用的专长都不尽相同。所以对大多数战队来说,每个队员基本都承担了一个特定方向的题目。比如在比赛开始时,队长可能会分配:密码学的三道题都交给你,答不出来提头来见。比如这次 TCTF 最终获得冠军的 Dragon Sector,他们就解出了 Crypto(密码学)分类的全部三道题目。而第三名的 LC↯BC 战队,就解出了 Misc(杂项)的全部三道题目。这在全场是独一无二的。

2、斯蒂芬·金的笔名

美国最畅销的小说家斯蒂芬·金,是在上个世纪70年代成名的。

当时,出版公司为了保证每本书的销量,只允许小说家一年出一本书,但是斯蒂芬·金一年可以写两本书。他决定不放慢写作速度,另一本用笔名 Richard Bachman 出版。接下来的几年里,每一本署名斯蒂芬·金的书都卖出了数百万美元,而每一本署名 Richard Bachman 的书都不成功。虽然,它们的内容质量是完全相同的。

最终,有人发现了,这两个作者实际上是一个人,因为写作风格实在太像了。斯蒂芬·金接受采访的时候,承认这个事实。于是,所有 Richard Bachman 的书立即重版,署名改成了斯蒂芬·金。它们马上占据了畅销书排行榜第一名,最终一共卖出了300万本。

这个故事告诉我们,起步时的市场占有率是多么重要。两个水平相当的作品或者项目,仅仅因为一个已经有市场,另一个没有,就会导致后者仅仅依靠自身的力量,根本无法与前者竞争。

新奇

1、完全安静的电脑

外国网友自制了一台"完全安静的电脑",运行时毫无声音,可以达到 0db。全机没有任何风扇,为了替 CPU 散热,采用巨大的铜管散热。

2、Radio Garden

世界地图上每一个绿点,就代表一个当地的电台。光标移上去,就可以听到该电台的现场直播。

本周图片

1、谷歌硬件产品的设计风格

上图是谷歌硬件产品的全家福,从左到右依次是 Google Pixel Buds,Pixel 2 XL,Pixel 2 XL,Pixel 2,Google Home Mini,Google Home,Google Home Max,Google Clips,Daydream View,Pixelbook Pen,Google Pixelbook。

可以看到,这些产品大多采用了统一的设计语言:纯净的双色块对比。

2、来自遥远法罗群岛的故事(组图)

BBC 的图片报道。

法罗群岛藏在挪威和冰岛之间,在北大西洋的黑暗水域中,18个小岛屿拥有超过5万人口。这些居民中有一半居住在群岛首府托尔斯港的"托尔镇"。但是一些岛屿人口稀少,只有少数人居住在这些岛屿上。

法罗群岛的居民是自力更生、谦虚的人,具有丰富的讲故事的传统,并且渴望彼此分享信息。

3、12 间值得一去的日本洗手间

日本作家 Maritomo,耗時十餘年,遍訪了日本各地300多間洗手間,寫下《日本的洗手間及其它》(Aspect出版)一書,為此還得了一個「洗手間獵手」的綽號,在雜誌、電視、網站上也常常可以看到她的活躍身影。

上图:福井縣越前海岸,有一家名叫「Rest有情」的日本餐廳,這裡連洗手間都是日本庭院式的。

上图:兵庫縣明石市林崎松江海岸前的「Hipopopapa」(原名「嚕嚕米爸爸」),是一家看得見海景的餐廳,這裡的洗手間,還能讓你享受到身在海中的感覺。

4、三星折叠手机

据传,三星一直在研发可折叠手机,上图是网友流出的界面图。左侧是两个屏幕垂直折叠的界面,右侧是水平折叠的界面。

本周金句

挪威画家蒙克一生留下了7000张画作,他活了79岁;大家经常听到的梵高,活了37岁,大概也留下了2000张各种作品。这些人不光天才,还勤奋加努力,关键还得有兴趣,一件事一直做,坚持一辈子。(@cathayan

欢迎订阅

这个专栏每周五发布,同步更新在我的个人网站微信公众号语雀

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

(完)

QCon

腾讯课堂

留言(42条)

决赛没有阿根廷了,已经凉了

我觉得阮老师给他的建议真的很好,真的不建议都往前端扎了。不要以为什么互联网行业好做,工资高,如果你的学历和技术足够的话,确实没问题,如果你的技术和学历不占优势,真的你要付出很大的努力,结果最后还不一定是跟你的努力成正比的。

世界杯这种比赛预测,不知道现在的AI有没有这种水准?

要预测世界杯需要很多数据,不仅仅是以往的比赛成绩,还有球员的心理状态,体能状态,甚至球场的温度,光照,湿度等。

棉花糖那种,很可能是富裕家庭的孩子,早就吃够了棉花糖。 这种实验不能盲目信任。就连“斯坦福实验”都被曝 造假。所以评价一个实验,还得从科学角度来看,实验设计的合不合理。

vnote 还有些bug 当然已经非常棒了 希望以后更好
另外推荐一下 Mark Text 所写即所得的 markdown 编辑软件

看从空气中吸收二氧化碳有点疑问
变成碳酸钙之后为什么还要加热释放出二氧化碳埋入地下呢?

阮老师,一直在关注您的博客,感谢您的分享。老师您的个人博客代码是开源的吗?如果是开源希望您分享一下,我一直在写自己的博客,想看看您是怎么写的

图床挂了吗 没显示

专一很重要

文章中提到的世界杯预测感觉是基于以往经验,但是这届世界杯有太多的冷门了,根据以往经验压球的还在排队等着上天台。也许这就是足球比赛的乐趣吧。

阮老师你的文章有地方显示点击次数吗, 可以吸引广告主

捕获一顿二氧化碳的成本在200美元以上
捕获一二氧化碳的成本在200美元以上

Radio Garden:
真的很有意思,不过中国的电台很少,应该是不开放国外读取不到吧!

hiper 会不会成为攻击的工具呢,一行代码自动访问数次站点。。。

前端到35以后转行干什么呢,迷茫

中国有一项研究发现,房价上升最快的县市,生育率下降最多。
房子都买不起 自己都养不活自己 还要什么孩子 难不成要把孩子饿死..

阮老师 说的对

时刻都要有危机意识吧。

对这个世界挺悲观的

不错,平时没时间看一些新事物,阮老师这个分享很不错????

棉花糖实验能否归类为鸡汤类实验鸡汤?对于通讯想转前端的那位可以问问他的动机,如果是因为待遇好那可以让他继续了解一下。如果发现自己真的爱上了技术开发,年龄并不是什么问题。三十岁很年轻的。我今年已经三十七周岁了,两个孩子,01年工作,做过嵌入式、SP、电子公交,后来做了七八年生意,中间管过仓库,跑过市场,管账,开三轮摩托和面包车送货也会。这三年又干回老本行,给人做软件系统开发。我很清楚,我热爱这个行业。今年已经预计开始盈利了,当然赚的不多。如果这些年一直干技术可能现在也是能在各个大会走穴的砖家,但是我觉得今天得到的更全面的能力,更宽广的视野,谢谢一样很有价值。失之东隅,收之桑榆。所以我倒是建议有想法时要尽快去验证和实施,比待在舒适区还是更有希望和前途。人得有自知之明,没有投机的能力,逼一逼自己也不是坏事。

吸收二氧化碳本身就是个搞笑行为。 因为每年人类活动产生的二氧化碳连全世界每年二氧化碳产生量的10%都不到,其他都是自然界自然产生的,这个查下资料就知道了。 而且什么时候二氧化碳成了有害气体了。 纯粹就是骗人骗钱而已。
另外那个房价上升的事情,大部分人都没有两套房的, 所以你住的房子的房价上升没有意义, 除非你卖掉房子搬到其他地方去。 但那样房价高和生育率低更没关系了。

一件事一直做,坚持一辈子!

阮老师这个"不要转前端"的建议很好, 对我很有用. 谢谢

引用lczlcz的发言:

另外那个房价上升的事情,大部分人都没有两套房的, 所以你住的房子的房价上升没有意义, 除非你卖掉房子搬到其他地方去。 但那样房价高和生育率低更没关系了。

房价上升和生育率低有相关性, 但不代表一个是另外一个的原因.
打个比方, 例如湾区, 那儿工资高, 压力大, 所以房价上升, 生育率低.

评论区居然有人迷茫35岁以后干嘛,作为程序员,到35岁了肯定去养老啊

稍微闲下来就会逛逛阮老师的博客,每周的分享质量不错,大赞。

三十三岁的我转行做了全栈,年纪虽然大了,但是依然有激情,依然有人要我,依然可以努力向前

有没有最新版V8成功编译的文章???网上搜不到,谢谢。

为了提前看到这个,已经开始关注微博了

阮老师,我想请问一下你的es6入门里面的js代码的样式很好看,是怎么实现的呢?用的什么富文本编辑器吗?

嗯,前端工作强度太大,没有自己的生活,无法顾及到家庭

请教阮老师一个让我头疼了很久的问题:您是如何学习并熟练掌握英文阅读的,也许市场上有很多方法、模式,但是我只想听听您说说这件事,因为我发现资料和知识的获取,直接看英文会拿到更多的一手材料,这个中文无法代替,有机会可否写一篇文章介绍一下,谢谢。

引用zqq的发言:

决赛没有阿根廷了,已经凉了

兄弟, 不抛弃, 不放弃

引用zqq的发言:

决赛没有阿根廷了,已经凉了

??????

引用吴明的发言:

我觉得阮老师给他的建议真的很好,真的不建议都往前端扎了。不要以为什么互联网行业好做,工资高,如果你的学历和技术足够的话,确实没问题,如果你的技术和学历不占优势,真的你要付出很大的努力,结果最后还不一定是跟你的努力成正比的。

我学习前端两个月了,我技术和学历不占优势

东西不错,试试推荐的最后一个markdown编辑器。

北航机械专业硕士工作了两年,明年就30了。想转前,但看了阮老师的建议,心凉了半截……

引用zlx的发言:

前端到35以后转行干什么呢,迷茫

要么管理,要么架构师级别的,要么还是底层的拧螺丝码农,要么转行,要么自己当老板

他们变得更有钱了,却不愿意多生小孩了。联想到穷人往往多生,结论只能是:多生小孩的主要动机是养儿防老。

这结论只能适合用在中国,或者跟中国类似的发展中国家,发达国家的那些人可不是这样想的,比如日本,人家国家政府给的福利待遇方面好,根本不指望以后小孩来养老

这个世界杯预测也是没谁了。。

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接