科技爱好者周刊,每周五发布
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

346 lines
22 KiB

# 每周分享第 24 期
这里记录过去一周,我看到的值得分享的东西,每周五发布。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092801.jpg)
(题图:浦东滨江,上海,2018。)
[Hacker News ](https://news.ycombinator.com/item?id=18000410)上面,有人问:"新人进入软件行业,应该学什么?"
很多热心人提供建议。有人说:
> "你应该好好学习一门语言。精通一门计算机语言,可以让年轻工程师脱颖而出。这不仅对日常工作很有帮助,也有利于以后学习其他语言。学习的东西包括:设计模式、调试、性能、生态系统、标准库等等。"
立刻有人提出相反的建议。
> "我建议学习几种彼此非常不同的语言。例如 Java,Go 和 JavaScript。你要学到精通其中每一种语言,能够独立地从头搭建一个新项目,在该语言的生态系统中完成所有开发工作。"
有人举出几种必须掌握的工具。
> 学习 SQL,你将能够使用任何与数据库相关的软件。
> 学习 HTML,你将能够创建一个通用的用户界面。
> 学习 GIT,你将能够与他人分享您的工作。
> 学习 Unix shell,你将能够部署所有的东西。
不少人[赞同](https://news.ycombinator.com/item?id=18001963)这种说法。
> "大多数职业(从医生到电工),多年的经验等同于多年的专业知识。但是在软件开发中,技术变化如此之快,你花费了大量时间学习技术和工具,一旦这些技术被取代,你的知识将变得毫无价值,因为它们大部分都是实施的细节。最终,所有这些年,你确实积累了一些一般性的经验,但与具体实施相关的知识,你都不再掌握了。
>
> 唯一留下的是那些基本的东西,你应该专注于软件开发的核心知识和数学知识,您的这些技能会不断增长,而不是随着技术潮流的变化而消失。"
我最喜欢的是下面[这个建议](https://news.ycombinator.com/item?id=18001008)。
> "不要让自己太忙碌。不过,说起来容易做起来难。
>
> 我们雇用新毕业的工程师时,会派给他们很多琐碎的工作,使他们饱和。他们会逐渐忘记大学里学到的课程,全部注意力都集中在手头的工作。很多人倾向于通过忙碌程度来评价自己,我相信这是一个死亡陷阱。"
## 新闻
1、[3D 金属打印](https://www.technologyreview.com/lists/technologies/2018/)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092802.jpg)
以前的 3D 打印,一般都使用塑料。今年,3D 金属打印机问世了,可以用金属打印零件,生成更轻、更坚固、更复杂的形状,而且成本更低、速度更快。这为复杂的金属模具和金属部件的生产带来了前所未有的便利。以后再不担心老机器的零件停产了,只要把老零件扫描一下,原样打印可以了。
目前,3D 金属打印机的价格不到10万美元。
2、[人工胚胎](https://www.technologyreview.com/lists/technologies/2018/)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092803.jpg)
英国剑桥大学的胚胎学家,只使用干细胞就培育出了一个小鼠胚胎。这里的神奇之处在于,这个胚胎没有使用卵子,也没有使用精子,只是一个普通细胞培育出来的。这意味着,只要一个普通的细胞就能创造出生命。
3、[传感器城市](https://www.technologyreview.com/lists/technologies/2018/)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092804.jpg)
多伦多正在开展一个智能城市项目,在城市中安装各种类型的传感器,收集空气质量、噪声、人们活动的所有数据。所有数据将开放出来,允许第三方公司在上面开发服务。
以后的城市不仅将布满摄像探头,而且布满传感器。
4、[植物人评估](https://www.scmp.com/news/china/science/article/2163298/doctors-said-coma-patients-would-never-wake-ai-said-they-would)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092805.jpg)
植物人能不能醒来?中国科学院和中国人民解放军总医院开发了一个人工智能系统,评估病人醒来的机会,据说准确率达到90%。
一名19岁的植物人,昏迷六个月,七个神经科医生评估以后,给出了23分中的7分,这意味着他的家人可以合法拔管。但是这个系统评估脑部扫描结果后,给出了23分中的20分。结果,该青年在12个月内醒来。
5、[电动滑板车](https://www.washingtonpost.com/business/economy/scooter-use-is-rising-in-major-cities-so-are-trips-to-the-emergency-room/2018/09/06/53d6a8d4-abd6-11e8-a8d7-0f63ab8b1370_story.html)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092806.jpg)
越来越多的人使用电动滑板或电动滑板车,受伤的案例不断增加。鼻子、手腕和肩膀骨折、面部裂伤是常见情况,最糟糕时,摔到头部,会导致大脑永久性受损。加州的一家医院在7月的最后两周,治疗了18名在电动滑板车事故中受重伤的病人。旧金山的一家大医院的急诊室医生说,他每周看到多达10起重伤。
加州正准备立法,要求使用电动滑板车之前,用户必须接受安全培训,而且在使用时,必须戴头盔。
6、[动物的对称性](https://www.scientificamerican.com/article/how-mammals-maintain-symmetry-during-development/)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092807.jpg)
动物几乎都是对称的,左边的四肢与右边一样,这是怎么产生的?
澳大利亚莫纳什大学的生物学家,开展了一项试验。他们在小鼠胚胎的左后腿,注射了一种限制腿部生长的细胞,使得一条腿生长得比另一条腿慢。结果发现,那条长得慢的腿会发出信号,通知其余组织( 包括另一条后腿),以减缓它们的生长。直到受阻的肢体赶上正常生长的腿,才会重新恢复均匀的生长。
7、[3D 场景的天气预报](https://blogs.nvidia.com/blog/2018/09/14/in-the-eye-of-the-storm-the-weather-channel-forecasts-hurricane-florence-with-stunning-visuals/)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092808.jpg)
美国的气象频道采用 3D 模拟视频,播放天气预报。
主持人在绿幕前录制天气预报,后面的背景用游戏引擎 Unreal Engine 4 生成。电视台将风速、方向、降雨量和无数气象数据输入系统,生成 3D渲染图,以提供准确的可视化效果。看完[视频](https://www.weibo.com/tv/v/GzqEGEBhg?fid=1034:4284439367198153),我觉得以后电视剧也可以这样拍。
8、[自行车骑得最快的人](https://www.npr.org/2018/09/18/649221471/woman-rides-bicycle-to-183-9-mph-a-new-world-record)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092809.jpg)
美国一个45岁的女自行车手 Denise Mueller-Korenek,骑出了每小时295公里(183.932英里/小时)的世界记录,成为世界上骑得最快的人。
她必须躲在拖车牵引的整流罩里面,防止这种速度产生的巨大风阻。而且,前1.5公里是拖车拉动前进的,以便产生150公里/小时左右的初速度。
9、__一句话新闻__
* [加州](https://www.sacbee.com/news/politics-government/capitol-alert/article218128485.html)宣布,2045年淘汰所有化石能源,电力来源都不含碳。<br><br>
* [特斯拉](https://electrek.co/2018/09/11/tesla-100-kwh-battery-cost-investor-gigafactory-1-tour/)宣布,今年年底,电池的成本有望降到100美元/千瓦时。目前,顶配的特斯拉汽车是100千万时的电池,这意味着,电动汽车的成本有望显著降低。<br><br>
* [中国](https://www.bloomberg.com/view/articles/2018-09-12/chinese-researchers-are-outperforming-americans-in-science)在物理、工程、数学方面发表的论文数量,已经成为了世界第一。有研究称,中国学者参与的论文占到全球论文的三分之一。不过在质量上(引用次数)还是不行,落后美国较多。<br><br>
* [中国财政部](http://finance.sina.com.cn/7x24/2018-09-17/doc-ihkahyhy1698423.shtml)消息,7月份全国彩票销售额546亿元,同比增长61.9%,1-7月合计增长25.6%。去年同期的增长率只有4.2%,今年的彩票销售这么好,不知道跟经济下行有多大关系。
## 数据分析师课程
本期《每周分享》很高兴得到了优达学城(Udacity)的支持。优达学城是国际著名的在线教育平台,中国区对课程进行汉化,并提供中文服务。
今天给大家推荐的,就是他们的[《数据分析师》](https://cn.udacity.com/dand?utm_source=wechat-kol-ruanyf&utm_medium=kol&utm_campaign=dand)系列课程。数据科学家是现在最热门的领域,人才缺口极大,就业行情非常好。这个系列课程分成[《数据分析(入门)》](https://cn.udacity.com/course/data-analyst-nanodegree--nd002-cn-basic-trial)和[《数据分析(进阶)》](https://cn.udacity.com/course/data-analyst-nanodegree--nd002-cn-advanced-trial)两个级别。
> * [入门课](https://cn.udacity.com/course/data-analyst-nanodegree--nd002-cn-basic-trial)帮助初学者进入这个领域,通过3个月的时间,让你学会 Python 和 SQL 两大主流数据分析工具,掌握数据清洗、探索性分析、可视化等基础分析技能,并且辅导你做完"空气质量分析"、"气候是否变暖"、"网站用户行为分析"等5个实战项目。<br><br>
> * [进阶课](https://cn.udacity.com/course/data-analyst-nanodegree--nd002-cn-advanced-trial)适合有一定数学、Python、SQL 基础的学员,帮助大家成为一个真正的数据工程师。它也是3个月时间,教授高级的数据分析和统计方法,完成4个可以用于生产环境的真实项目。
你可能不确定它们是否适合自己,优达学城为此提供了299元的"七天试学班"。你可以在七天里面,体验所有服务,并且在助教指导下,自己动手完成第一个项目。到期后,如果想继续学,再缴纳其余的学费。下面是前几期课程的学员评价摘录。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092810.jpg)
扫码下面海报里面的二维码,就可获取详细的课程大纲,或者咨询课程,进行选课自测。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092811.jpg)
## 教程
1、[ `<input>` 元素的三个属性](https://dev.to/stefanjudis/three-input-element-properties-that-i-discovered-while-reading-mdn-30fg)(英文)
HTML 网页的 `<input>` 元素有几十个属性,本文介绍其中三个开发者比较不熟悉的属性。
2、[Cloudflare worker 的一个使用实例](https://jvns.ca/blog/2018/09/03/editing-my-blog-s-http-headers-with-cloudflare-workers/)(英文)
这篇文章很容易懂,解释怎么使用 serverless 服务,修改 HTTP 回应。这个服务看起来很好用,缺点好像是只有使用 Cloudflare CDN 的网站才能用。
3、[为什么技术有利于暴政?](https://www.theatlantic.com/magazine/archive/2018/10/yuval-noah-harari-technology-tyranny/568330/?single_page=true)(英文)
《人类简史》的作者尤瓦尔·赫拉利的最新文章。他提出,人工智能有利于政府,可以将权力集中在少数精英手里。唯一可能的解决方法,是寻找分布式的技术方案,防止资源的集中。
4、[命令行脚本的运行原理](https://blog.twentytwotabs.com/the-smallest-bash-program-in-the-universe/)(英文)
脚本的第一行为什么以 `#!` 开头?Shell 内部又是如何处理脚本的?
5、[Presentation API](https://developers.google.com/web/updates/2018/04/present-web-pages-to-secondary-attached-displays)(英文)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092812.jpg)
Chrome 66 支持 Presentation API,这个 API 允许浏览器定制投射到第二块屏幕的内容,使用脚本进行控制。
5、[跨站点请求的七种情况](https://blog.acolyer.org/2018/09/05/who-left-open-the-cookie-jar-a-comprehensive-evaluation-of-third-party-cookie-policies/)(英文)
网页可以向第三方站点发出请求,这是 CSRF 攻击的主要原因。这篇文章总结了可能发出第三方请求的七种情况。
6、[网络协议入门](https://www.destroyallsoftware.com/compendium/network-protocols?share_key=97d3ba4c24d21147)(英文)
本文从协议设计的顶层角度,总体上解释互联网协议的设计思想。
7、[为什么 GraphQL 可以取代 Redux?](https://hackernoon.com/goodbye-redux-26e6a27b3a0b)(英文)
本文解释了 Redux 想要解决的问题,而 GraphQL 可以解决同样的问题。但是,该文没有给出细节。
8、[DNS over TLS 的 Node 客户端](https://sagi.io/2018/09/dns-over-tls---thoughts-and-implementation/)(英文)
为了提高安全性,防止监听,DNS 查询已经可以在 HTTPS 协议上完成。这篇文章教你怎么写一个 Node 客户端,获取 DNS 信息。
9、[戴维·霍夫曼的人生](https://www.huffmancoding.com/my-uncle/scientific-american)(英文)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092813.jpg)
本文介绍著名的压缩算法霍夫曼编码的发明人戴维·霍夫曼的故事。
10、[V8 引擎十周年回顾](https://v8project.blogspot.com/2018/09/10-years.html)(英文)
本文是 V8 官方团队写的历史回顾,介绍 V8 每一年在技术上的突破。
## 资源
1、[SQL 开源教程](https://selectstarsql.com/)(英文)
这是一本互动书籍,免费,帮助读者了解如何使用 SQL 对数据集运行查询。
2、[谷歌数据集搜索](https://toolbox.google.com/datasetsearch)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092814.jpg)
大数据研究需要数据集,谷歌推出数据集搜索,根据关键词找出相关的数据集。
3、[谷歌放弃的产品](https://www.lemonde.fr/pixels/visuel/2018/09/05/google-memorial-les-projets-abandonnes-par-google-depuis-vingt-ans_5350679_4408996.html)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092815.jpg)
谷歌推出了很多产品,许多后来都放弃了。这个网页列出所有被谷歌放弃的产品,目前有70个。
4、[东京防灾手册](http://www.metro.tokyo.jp/chinese/guide/bosai/index.html)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092816.jpg)
遇到灾难(地震、洪水、大雪等等)怎么办?东京市政府编写的免费电子书,这里是简体中文版的下载。
5、[代码行数的可视化](http://www.visualcapitalist.com/millions-lines-of-code/)
本文给出一个可视化展示,比较不同软件的代码行数。
## 工具
1、[nodebook](https://github.com/netgusto/nodebook)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092817.jpg)
一般情况下,Node REPL 环境只能在命令行使用。这个工具起了一个服务,让你在浏览器里就能使用 REPL 环境。
2、[Kitty](https://sw.kovidgoyal.net/kitty/)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092818.jpg)
一个使用 GPU 进行渲染的终端模拟器。理论上,视觉效果将非常顺滑,尤其是长文本滚动和窗口切换。
3、[mdwiki](https://github.com/Dynalon/mdwiki)
一个前端脚本,将 Markdown 文件自动转成静态网站。
4、[PixelPin](https://www.pixelpin.io/)
谁说密码一定是字符?这个网站的密码是图片。图片密码有两种用法,一种用法是上传某张图片作为密码,另一种是给定一张图片,你在上面点击几个只有自己知道的位置。
5、[react-proto](https://github.com/React-Proto/react-proto)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092819.jpg)
React 应用的原型设计工具。
6、[reminiscence](https://github.com/kanishka-linux/reminiscence)
一个架设在本地的网络书签管理系统,会自动抓取书签内容,并生成标签和摘要,使用 Django 框架开发。
7、[xsv](https://github.com/BurntSushi/xsv)
一个快速、强大的 CSV 文件的命令行处理工具,使用 Rust 语言开发。
8、[Hacklily](https://www.hacklily.org/)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092820.jpg)
一个在线编写五线谱的工具,可以实时听到编写的旋律。
9、[LiteraryClockScreenSaver](https://github.com/mmattozzi/LiteraryClockScreenSaver)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092821.jpg)
Mac 的屏保程序,会显示一段文学作品的段落,里面包含了当前时间。
## 文摘
1、[地图如何显示道路的坡度?](http://www.tobyeglesfield.com/a-map-showing-the-steepness-of-streets/)
有些城市位于山地,平面地图无法显示道路的坡度。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092822.jpg)
设计师希望,地图能够显示道路的倾斜方向和倾斜程度,最初的想法是加上方向箭头。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092823.jpg)
箭头太不直观,于是改成三角形。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092824.jpg)
三角形的含义还是不清晰,考虑改成3D。不同的颜色表示不同的坡度。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092825.jpg)
下面是最后的成品。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092826.jpg)
2、[蟑螂工厂](http://www.globaltimes.cn/content/1066448.shtml)
山东省济南市章丘区,一家食品垃圾回收厂接收了当地餐馆和食堂送来的大量剩饭剩菜,然后使用蟑螂进行无害化处理。剩饭剩菜通过管道注入玻璃容器中,被数百万只蟑螂吞噬。
对于大多数人来说,蟑螂是传播病毒和污染食物的害虫。但是,济南的技术人员李延荣花了数年时间研究蟑螂后,成功地将它们变成了食品回收工具。
在回收工厂,蟑螂每天食用15吨食物垃圾,占章丘餐厅和食堂产生的食物垃圾的三分之一以上。以前,大部分食物垃圾都会填埋,导致出现环境问题。现在,蟑螂可以分解废物,留下很少的残留物。蟑螂死后,它们的身体具有高蛋白质和氮化合物,将被制成蟑螂粉,用作动物饲料的蛋白质来源。
回收工厂同时也是蟑螂养殖基地。养殖人员表示,由于蟑螂的恢复能力和快速繁殖能力,蟑螂的数量呈指数级增长。2014年,工厂只有400公斤的蟑螂。 2015年,这一数字飙升至4吨,而今年预计将在这里生产超过3,000吨的蟑螂。
2008年,李延荣开始研究蟑螂。他读到,昆虫(包括蟑螂)是高蛋白质的营养食品的来源。曾经在济南一家回收公司工作的李延荣很快就有了养蟑螂的想法。他发现山东已有几家蟑螂养殖场为医药公司提供原料,但是成本高昂,因为他们使用谷物喂食蟑螂,每吨蟑螂的繁殖成本可达1万元人民币(1,527美元)。然而,零售价有时只有几十元一公斤。
章丘环境卫生中心主任安峰告诉李延荣,处理食物垃圾非常困难。垃圾填埋后,食物垃圾会污染地下水,给居民带来健康问题。李延荣很自然想到,那么为什么不用食物垃圾喂蟑螂呢?
为了测试蟑螂的饮食习惯,李延荣开始给蟑螂喂食各种食物 -- 辛辣的,酸的,甚至腐烂的。事实证明,蟑螂根本没有味觉或气味。它们还具有强大的免疫系统,可以消化几乎任何东西。他还对蟑螂粉进行了测试,发现用蟑螂粉喂养的鸡不仅更健康,而且比正常鸡更强壮,更快。鸡蛋也有较厚的壳。
在他研究蟑螂的三年中,李申请了30多项专利,其中两项获得批准。 2014年,他找到了安峰,并询问环境卫生中心是否可以免费为他提供食品垃圾。政府很高兴这样做,因为它是垃圾填埋场的更好替代品。2015年底,李延荣辞去了工作,开办了自己的公司,全身心地投入到蟑螂和回收工厂。
## 本周图片
1、[1985年的数据可视化](https://medium.economist.com/data-visualisation-from-1987-to-today-65d0609c6017)
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092827.jpg)
1985年个人 PC 刚刚诞生,那时报纸上的饼图都是手绘的。
2、[编程小知识 ](https://twitter.com/samantha_ming/status/1043578525339418624)
如果变量是一个布尔值,变量名最好加上 is、has 或 can 作为前缀(见下图)。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092828.jpg)
3、[世界最大的浮动海水浴场](http://themindcircle.com/aarhus-harbor-bath/)
丹麦第二大城市奥胡斯,在海港里建设了一个浮动的海水浴场。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092829.jpg)
游泳池长50米,还设有儿童游泳池和跳水池,以及日光浴甲板,供人们享受阳光。整个设施一共可以容纳650人。
![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092830.jpg)
## 本周金句
1、
作为一个决策者,你的职责不是做出很多决定,而是只需做出几个高质量的决定。
如果我每天做出三个不错的决定,就很满意了。巴菲特说,他的一年就是做对三个投资决定。
-- [贝佐斯](https://www.axios.com/jeff-bezos-amazon-secrets-rubenstein-1c4d2c5f-80ee-4389-99de-6501449d5ee5.html),亚马逊公司创始人
2、
各大网站对用户的监控无所不在,为了提供服务,它们必须这么做。事实上,如果不提供那些基于用户数据分析的功能,你还会觉得它们的功能不够好。
这注定了隐私已经不复存在。唯一的应对方法就是双向透明,网站可以监控用户行为,那么用户也必须能够监督网站,知道网站怎么使用用户数据。
-- Tim O'Reilly 《未来地图》
## 欢迎订阅
这个专栏每周五发布,同步更新在我的[个人网站](http://www.ruanyifeng.com/blog)、[微信公众号](http://weixin.sogou.com/weixin?query=%E9%98%AE%E4%B8%80%E5%B3%B0%E7%9A%84%E7%BD%91%E7%BB%9C%E6%97%A5%E5%BF%97)和[语雀](https://yuque.com/ruanyf/share/)。
微信搜索"__阮一峰的网络日志__"或者扫描二维码,即可订阅。
![](http://www.ruanyifeng.com/blogimg/asset/2018/bg2018042311.jpg)
(完)