科技爱好者周刊(第24期)
这里记录过去一周,我看到的值得分享的东西,每周五发布。
(题图:浦东滨江,上海,2018。)
Hacker News 上面,有人问:"新人进入软件行业,应该学什么?"
很多热心人提供建议。有人说:
"你应该好好学习一门语言。精通一门计算机语言,可以让年轻工程师脱颖而出。这不仅对日常工作很有帮助,也有利于以后学习其他语言。学习的东西包括:设计模式、调试、性能、生态系统、标准库等等。"
立刻有人提出相反的建议。
"我建议学习几种彼此非常不同的语言。例如 Java,Go 和 JavaScript。你要学到精通其中每一种语言,能够独立地从头搭建一个新项目,在该语言的生态系统中完成所有开发工作。"
有人举出几种必须掌握的工具。
学习 SQL,你将能够使用任何与数据库相关的软件。
学习 HTML,你将能够创建一个通用的用户界面。
学习 GIT,你将能够与他人分享您的工作。
学习 Unix shell,你将能够部署所有的东西。
不少人赞同这种说法。
"大多数职业(从医生到电工),多年的经验等同于多年的专业知识。但是在软件开发中,技术变化如此之快,你花费了大量时间学习技术和工具,一旦这些技术被取代,你的知识将变得毫无价值,因为它们大部分都是实施的细节。最终,所有这些年,你确实积累了一些一般性的经验,但与具体实施相关的知识,你都不再掌握了。
唯一留下的是那些基本的东西,你应该专注于软件开发的核心知识和数学知识,您的这些技能会不断增长,而不是随着技术潮流的变化而消失。"
我最喜欢的是下面这个建议。
"不要让自己太忙碌。不过,说起来容易做起来难。
我们雇用新毕业的工程师时,会派给他们很多琐碎的工作,使他们饱和。他们会逐渐忘记大学里学到的课程,全部注意力都集中在手头的工作。很多人倾向于通过忙碌程度来评价自己,我相信这是一个死亡陷阱。"
#1、3D 金属打印
以前的 3D 打印,一般都使用塑料。今年,3D 金属打印机问世了,可以用金属打印零件,生成更轻、更坚固、更复杂的形状,而且成本更低、速度更快。这为复杂的金属模具和金属部件的生产带来了前所未有的便利。以后再不担心老机器的零件停产了,只要把老零件扫描一下,原样打印可以了。
目前,3D 金属打印机的价格不到10万美元。
2、人工胚胎
英国剑桥大学的胚胎学家,只使用干细胞就培育出了一个小鼠胚胎。这里的神奇之处在于,这个胚胎没有使用卵子,也没有使用精子,只是一个普通细胞培育出来的。这意味着,只要一个普通的细胞就能创造出生命。
3、传感器城市
多伦多正在开展一个智能城市项目,在城市中安装各种类型的传感器,收集空气质量、噪声、人们活动的所有数据。所有数据将开放出来,允许第三方公司在上面开发服务。
以后的城市不仅将布满摄像探头,而且布满传感器。
4、植物人评估
植物人能不能醒来?中国科学院和中国人民解放军总医院开发了一个人工智能系统,评估病人醒来的机会,据说准确率达到90%。
一名19岁的植物人,昏迷六个月,七个神经科医生评估以后,给出了23分中的7分,这意味着他的家人可以合法拔管。但是这个系统评估脑部扫描结果后,给出了23分中的20分。结果,该青年在12个月内醒来。
5、电动滑板车
越来越多的人使用电动滑板或电动滑板车,受伤的案例不断增加。鼻子、手腕和肩膀骨折、面部裂伤是常见情况,最糟糕时,摔到头部,会导致大脑永久性受损。加州的一家医院在7月的最后两周,治疗了18名在电动滑板车事故中受重伤的病人。旧金山的一家大医院的急诊室医生说,他每周看到多达10起重伤。
加州正准备立法,要求使用电动滑板车之前,用户必须接受安全培训,而且在使用时,必须戴头盔。
6、动物的对称性
动物几乎都是对称的,左边的四肢与右边一样,这是怎么产生的?
澳大利亚莫纳什大学的生物学家,开展了一项试验。他们在小鼠胚胎的左后腿,注射了一种限制腿部生长的细胞,使得一条腿生长得比另一条腿慢。结果发现,那条长得慢的腿会发出信号,通知其余组织( 包括另一条后腿),以减缓它们的生长。直到受阻的肢体赶上正常生长的腿,才会重新恢复均匀的生长。
美国的气象频道采用 3D 模拟视频,播放天气预报。
主持人在绿幕前录制天气预报,后面的背景用游戏引擎 Unreal Engine 4 生成。电视台将风速、方向、降雨量和无数气象数据输入系统,生成 3D渲染图,以提供准确的可视化效果。看完视频,我觉得以后电视剧也可以这样拍。
美国一个45岁的女自行车手 Denise Mueller-Korenek,骑出了每小时295公里(183.932英里/小时)的世界记录,成为世界上骑得最快的人。
她必须躲在拖车牵引的整流罩里面,防止这种速度产生的巨大风阻。而且,前1.5公里是拖车拉动前进的,以便产生150公里/小时左右的初速度。
9、一句话新闻
-
加州宣布,2045年淘汰所有化石能源,电力来源都不含碳。
-
特斯拉宣布,今年年底,电池的成本有望降到100美元/千瓦时。目前,顶配的特斯拉汽车是100千万时的电池,这意味着,电动汽车的成本有望显著降低。
-
中国在物理、工程、数学方面发表的论文数量,已经成为了世界第一。有研究称,中国学者参与的论文占到全球论文的三分之一。不过在质量上(引用次数)还是不行,落后美国较多。
- 中国财政部消息,7月份全国彩票销售额546亿元,同比增长61.9%,1-7月合计增长25.6%。去年同期的增长率只有4.2%,今年的彩票销售这么好,不知道跟经济下行有多大关系。
#本期《每周分享》很高兴得到了优达学城(Udacity)的支持。优达学城是国际著名的在线教育平台,中国区对课程进行汉化,并提供中文服务。
今天给大家推荐的,就是他们的《数据分析师》系列课程。数据科学家是现在最热门的领域,人才缺口极大,就业行情非常好。这个系列课程分成《数据分析(入门)》和《数据分析(进阶)》两个级别。
你可能不确定它们是否适合自己,优达学城为此提供了299元的"七天试学班"。你可以在七天里面,体验所有服务,并且在助教指导下,自己动手完成第一个项目。到期后,如果想继续学,再缴纳其余的学费。下面是前几期课程的学员评价摘录。
扫码下面海报里面的二维码,就可获取详细的课程大纲,或者咨询课程,进行选课自测。
#1、 <input>
元素的三个属性(英文)
HTML 网页的 <input>
元素有几十个属性,本文介绍其中三个开发者比较不熟悉的属性。
2、Cloudflare worker 的一个使用实例(英文)
这篇文章很容易懂,解释怎么使用 serverless 服务,修改 HTTP 回应。这个服务看起来很好用,缺点好像是只有使用 Cloudflare CDN 的网站才能用。
3、为什么技术有利于暴政?(英文)
《人类简史》的作者尤瓦尔·赫拉利的最新文章。他提出,人工智能有利于政府,可以将权力集中在少数精英手里。唯一可能的解决方法,是寻找分布式的技术方案,防止资源的集中。
4、命令行脚本的运行原理(英文)
脚本的第一行为什么以 #!
开头?Shell 内部又是如何处理脚本的?
5、Presentation API(英文)
Chrome 66 支持 Presentation API,这个 API 允许浏览器定制投射到第二块屏幕的内容,使用脚本进行控制。
5、跨站点请求的七种情况(英文)
网页可以向第三方站点发出请求,这是 CSRF 攻击的主要原因。这篇文章总结了可能发出第三方请求的七种情况。
6、网络协议入门(英文)
本文从协议设计的顶层角度,总体上解释互联网协议的设计思想。
7、为什么 GraphQL 可以取代 Redux?(英文)
本文解释了 Redux 想要解决的问题,而 GraphQL 可以解决同样的问题。但是,该文没有给出细节。
8、DNS over TLS 的 Node 客户端(英文)
为了提高安全性,防止监听,DNS 查询已经可以在 HTTPS 协议上完成。这篇文章教你怎么写一个 Node 客户端,获取 DNS 信息。
9、戴维·霍夫曼的人生(英文)
本文介绍著名的压缩算法霍夫曼编码的发明人戴维·霍夫曼的故事。
10、V8 引擎十周年回顾(英文)
本文是 V8 官方团队写的历史回顾,介绍 V8 每一年在技术上的突破。
#1、SQL 开源教程(英文)
这是一本互动书籍,免费,帮助读者了解如何使用 SQL 对数据集运行查询。
2、谷歌数据集搜索
大数据研究需要数据集,谷歌推出数据集搜索,根据关键词找出相关的数据集。
3、谷歌放弃的产品
谷歌推出了很多产品,许多后来都放弃了。这个网页列出所有被谷歌放弃的产品,目前有70个。
4、东京防灾手册
遇到灾难(地震、洪水、大雪等等)怎么办?东京市政府编写的免费电子书,这里是简体中文版的下载。
5、代码行数的可视化
本文给出一个可视化展示,比较不同软件的代码行数。
#1、nodebook
一般情况下,Node REPL 环境只能在命令行使用。这个工具起了一个服务,让你在浏览器里就能使用 REPL 环境。
2、Kitty
一个使用 GPU 进行渲染的终端模拟器。理论上,视觉效果将非常顺滑,尤其是长文本滚动和窗口切换。
3、mdwiki
一个前端脚本,将 Markdown 文件自动转成静态网站。
4、PixelPin
谁说密码一定是字符?这个网站的密码是图片。图片密码有两种用法,一种用法是上传某张图片作为密码,另一种是给定一张图片,你在上面点击几个只有自己知道的位置。
React 应用的原型设计工具。
一个架设在本地的网络书签管理系统,会自动抓取书签内容,并生成标签和摘要,使用 django 框架开发。
7、xsv
一个快速、强大的 CSV 文件的命令行处理工具,使用 Rust 语言开发。
8、Hacklily
一个在线编写五线谱的工具,可以实时听到编写的旋律。
Mac 的屏保程序,会显示一段文学作品的段落,里面包含了当前时间。
#1、地图如何显示道路的坡度?
有些城市位于山地,平面地图无法显示道路的坡度。
设计师希望,地图能够显示道路的倾斜方向和倾斜程度,最初的想法是加上方向箭头。
箭头太不直观,于是改成三角形。
三角形的含义还是不清晰,考虑改成3D。不同的颜色表示不同的坡度。
下面是最后的成品。
2、蟑螂工厂
山东省济南市章丘区,一家食品垃圾回收厂接收了当地餐馆和食堂送来的大量剩饭剩菜,然后使用蟑螂进行无害化处理。剩饭剩菜通过管道注入玻璃容器中,被数百万只蟑螂吞噬。
对于大多数人来说,蟑螂是传播病毒和污染食物的害虫。但是,济南的技术人员李延荣花了数年时间研究蟑螂后,成功地将它们变成了食品回收工具。
在回收工厂,蟑螂每天食用15吨食物垃圾,占章丘餐厅和食堂产生的食物垃圾的三分之一以上。以前,大部分食物垃圾都会填埋,导致出现环境问题。现在,蟑螂可以分解废物,留下很少的残留物。蟑螂死后,它们的身体具有高蛋白质和氮化合物,将被制成蟑螂粉,用作动物饲料的蛋白质来源。
回收工厂同时也是蟑螂养殖基地。养殖人员表示,由于蟑螂的恢复能力和快速繁殖能力,蟑螂的数量呈指数级增长。2014年,工厂只有400公斤的蟑螂。 2015年,这一数字飙升至4吨,而今年预计将在这里生产超过3,000吨的蟑螂。
2008年,李延荣开始研究蟑螂。他读到,昆虫(包括蟑螂)是高蛋白质的营养食品的来源。曾经在济南一家回收公司工作的李延荣很快就有了养蟑螂的想法。他发现山东已有几家蟑螂养殖场为医药公司提供原料,但是成本高昂,因为他们使用谷物喂食蟑螂,每吨蟑螂的繁殖成本可达1万元人民币(1,527美元)。然而,零售价有时只有几十元一公斤。
章丘环境卫生中心主任安峰告诉李延荣,处理食物垃圾非常困难。垃圾填埋后,食物垃圾会污染地下水,给居民带来健康问题。李延荣很自然想到,那么为什么不用食物垃圾喂蟑螂呢?
为了测试蟑螂的饮食习惯,李延荣开始给蟑螂喂食各种食物 -- 辛辣的,酸的,甚至腐烂的。事实证明,蟑螂根本没有味觉或气味。它们还具有强大的免疫系统,可以消化几乎任何东西。他还对蟑螂粉进行了测试,发现用蟑螂粉喂养的鸡不仅更健康,而且比正常鸡更强壮,更快。鸡蛋也有较厚的壳。
在他研究蟑螂的三年中,李申请了30多项专利,其中两项获得批准。 2014年,他找到了安峰,并询问环境卫生中心是否可以免费为他提供食品垃圾。政府很高兴这样做,因为它是垃圾填埋场的更好替代品。2015年底,李延荣辞去了工作,开办了自己的公司,全身心地投入到蟑螂和回收工厂。
#1、1985年的数据可视化
1985年个人 PC 刚刚诞生,那时报纸上的饼图都是手绘的。
2、编程小知识
如果变量是一个布尔值,变量名最好加上 is、has 或 can 作为前缀(见下图)。
丹麦第二大城市奥胡斯,在海港里建设了一个浮动的海水浴场。
游泳池长50米,还设有儿童游泳池和跳水池,以及日光浴甲板,供人们享受阳光。整个设施一共可以容纳650人。
#1、
作为一个决策者,你的职责不是做出很多决定,而是只需做出几个高质量的决定。
如果我每天做出三个不错的决定,就很满意了。巴菲特说,他的一年就是做对三个投资决定。
-- 贝佐斯,亚马逊公司创始人
2、
各大网站对用户的监控无所不在,为了提供服务,它们必须这么做。事实上,如果不提供那些基于用户数据分析的功能,你还会觉得它们的功能不够好。
这注定了隐私已经不复存在。唯一的应对方法就是双向透明,网站可以监控用户行为,那么用户也必须能够监督网站,知道网站怎么使用用户数据。
-- Tim O'Reilly 《未来地图》
#这个专栏每周五发布,同步更新在我的个人网站、微信公众号和语雀。
微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。
(完)