跟随,学习,进步

阮一峰

阮一峰的个人网站

http://www.ruanyifeng.com
转到作者网站

科技爱好者周刊:第 85 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 封面图:彩色公寓楼,土耳其伊斯坦布尔,英国《卫报》。 刊首语 最近,我看一个教授的讲座视频,介绍访问美国的感受。 他说,全世界的人都去美国,各种各样的人都有,有上层人,也有底层的难民。美国是世界最大的移民国家,三教九流,各种文化背景的人,你在美国都能看到。 美国这个国家很杂,奇怪的是,它不乱。按理说,那么多形形色色的人在一起,蛇鼠一窝,各自都有自己的小算盘,彼此冲突,应该乱成一团才对啊。但是,现实却是互相仇恨的民族,在那里都能共同生活,和平相处。美国社会不仅不乱,而且高度有秩序,社会运行井井有条,这是为什么? 教授认为,一个原因是美国的规则很简单,大家容易理解,社会运行的理解成本很低。美国社会的根本规则,一句话就能说完:政治上投票,谁的票多,谁掌权;经济上自由竞争,谁的产品好,谁赚钱。 基本规则就是这句话,很容易理解和执行,可操作性高。当然,次要规则很多,美国的法律体系是世界最复杂的,但都是为了保障主要原则的执行。全世界的人来到美国,只要理解了基本规则,就能理解美国社会的运作。大家都按照基本规则行事,协调和沟通成本低了很多,整个社会的运作就顺畅了,政府的管理成本就低了。 推广开来,个人和公司都可以借鉴这一点。人生的原则、公司的规则,不妨简单一点,这样可能活得更容易。 Vue 免费教学视频 Vue 是主流的 JavaScript 前端框架,国内有着广泛的应用,招聘需求一直很大。因为它上手相对简单,小项目马上可以见效,中文资料也多,所以往往也是新手入门的首选框架。Vue 的生态也非常繁荣,有许多配套的周边工具,被称为全家桶,比如 vuex、vue-router、element、elenent-admin 等等。 下面是两套 Vue 的免费教学视频,深入解读 Vue,帮助学习者深入掌握它的用法。这是国内领先的在线教育平台"开课吧",特别提供给我们周刊的读者。 视频一: 《一步到位 Vue 精讲》。内容包括:Vue 基础、Vue-cli 脚手架的使用、Vue-router 路由的使用、axios 和 webpack 用法讲解等。 视频二: 《Vue 源码剖析之整体流程》。内容包括:Vue 源码调试环境搭建、入口文件剖析、Vue 初始化流程分析、Vue 源码学习整体流程总结、数据响应化流程分析等等。 感兴趣的读者扫描下方二维码(手机端长按两次即可),就可以免费领取这两个视频教程。 资讯 1、蚯蚓塔 现在养狗的人很多。遛狗的时候,狗狗往往会在路上排泄,造成环境问题。上海松江的一个居民小区设置了"蚯蚓塔",专门处理狗粪,目前已有近10座。 蚯蚓塔主要用来让居民投放宠物粪便,也可以投放一些果皮。它的地下部分有20cm,工作人员会定期投放一些蚯蚓在塔周围,蚯蚓通过塔底下的孔钻进去吃掉宠物粪便。蚯蚓活动期间,不仅松弛了土壤,让土壤保持透水及透气,留下的蚯蚓茶(蚯蚓的尿液)和蚯蚓土(蚯蚓的粪便)还含有丰富的微生物以及氮、钾等养分,是非常好的天然肥料,可以滋养植物。 2、超滑马桶涂层 每天,全世界用于冲洗厕所的水超过1410亿升,与此同时很多地方水资源短缺。如果可以把厕所用水减少50%,就能节省巨大的水资源。宾夕法尼亚州立大学发明了一种生物涂层,可以喷在马桶内,具有清洁作用,能够明显减少冲洗马桶所需的水量。 这种涂层干燥后,会生长出像毛发一样的一层分子,然后再在上面注入一层薄薄的润滑剂,就能形成超滑的表面。有了超滑表面,马桶内就不会有残留物,因为都滑下去了,可以仅用很少的水冲洗。此外,这种表面能够有效驱除细菌,特别是传播传染病和具有难闻气味的细菌。所以不会有异味。这种涂料估计可承受约500次冲洗,然后需要重新喷涂。 3、铝箔气球 在社交媒体名人和网红照片的引导下,越来越多的人喜欢使用派对气球,即包有闪闪发光铝箔的气球。问题是,这种气球充有氦气,会向上飞,一旦碰到电线,铝箔可能会导致短路停电。 2019年10月1日,铝箔气球导致的短路使得南加州一个城市停电了半个小时。电力公司警告,这个问题目前毫无解决办法,整个2018年,铝箔气球在南加州造成了1,128次停电,比几年前增加了四倍。此外,铝箔很难降解,气球飘到野外会造成环境问题。 4、火星小屋 一家美国创业公司推出 3D 打印的森林小屋,全部使用玄武岩和生物聚合物打印而成,整个过程由机器完成,不需要工人现场施工。这个小屋是为了火星移民而设计的,因为玄武岩砂土是火星表面的主要材料。屋内的器具也可以用这种方式打印出来。 今年上半年,美国宇航局举办了一个火星住宅设计比赛,纽约一家建筑事务所得到冠军,作品就是这个小屋。现在,这家事务所把小屋的实物建造了出来,就在距离纽约不远的森林中。小屋高8米,面积为46.4平方米,现在可以在线预定住宿体验。 5、苏门答腊犀牛 马来西亚最后一头苏门答腊犀牛(上图),2019年11月23日死于癌症。自从2014年3月被捕捉以来,这头名叫伊曼(Iman)的雌犀牛就被发现患有子宫肿瘤,过去几年中多次大量失血,动物保护官员已经获取了她的卵细胞进行保存。此前在2019年5月,马来西亚的最后一头雄性苏门答腊犀牛也死了。 这种犀牛是唯一一种长有两只角的犀牛,也是现存最小的犀牛。它曾经遍布亚洲,在中国的华南地区长期存在,尤其是四川,但于1916年在中国灭绝。中医认为犀牛角是珍贵药材,这导致它现在是全球十大最濒危的稀有动物物种之一,目前只在印度尼西亚还存有几只。 6、直播换宿 日本福冈的一家小旅馆想出了一个新招:住宿费一晚只要100日元(相当于6.5元人民币),条件是在该旅馆的 Youtube 频道直播住宿过程。 直播时,只有睡觉时间可以关灯,卫生间和浴室不在直播范围,并且不得有色情内容。没有客人的夜晚,该频道就直播老板的办公室。频道上线一个月,已经有4位客人进行"直播换宿",频道订阅者达到1000人。 7、一句话新闻 美国一家医院发现不喝酒的病人发生了酒精中毒,检查以后才知道,病人的小肠和盲肠中居然有酵母菌,对吃进去的碳水化合物进行发酵,生成了酒精。 美国零售巨头 Costco 的网站在黑色星期五购物节的晚上,由于汹涌而入的访问者而当机,下线了16.5个小时,预计损失1100万美元。 国家网信办的最新规定:(1)人工智能生成的非真实视频音频,必须显著标识。(2)人工智能不得生成非真实新闻。 芝加哥大学每年的学费、杂费、书本费、食宿费和其他费用加在一起,两三年后估计将超过10万美元,成为美国第一所费用达到6位数的大学。今年,芝加哥大学的学费是5.76万美元。 美国加州修改法律,司机意外撞死或发现死亡的动物,可以带回家食用。加州公路每年约有20,000只鹿被撞死,不吃掉它们的肉有点可惜。 华为发布 ARM 架构的台式机主板,使用自家的 CPU 鲲鹏920。这块主板是不是可以直接装安卓系统? 伦敦一所大学的科学家开发了新的神经网络算法,可以识别出不同时间走过摄像头的同一个人。而且,这种算法的计算力要求不高,可以部署在摄像设备里面,不用部署在云端。下图每三张一组的照片,算法可以识别出是同一个人。 文章 1、HTTP 协议基础(英文) HTTP 是一个比较简单的协议,本文在不长的篇幅中,对它的基本内容做了一个完整介绍。(@weinberggithub 投稿) 2、铁的历史(英文) 长篇科普文章,有大量插图,介绍人类使用铁的历史。最早,人类从陨石中发现了铁,用它制造工具,从而进入铁器时代,然后逐步发现了铸铁和锻铁,直至近代的钢铁。 3、为什么会有非绿色植物?(英文) 植物依靠光合作用,将二氧化碳转变为糖,从而获取能量。完成光合作用的叶绿素是绿色的,所以大部分植物都是绿色。但是,有些植物完全不绿,它们怎么获取能量? 4、谁杀了滚动条?(英文) 现在有些桌面网页也学习手机,隐藏滚动条,这篇文章认为这种做法不好。 滚动条可以提示页面的长度,还提供了一个快速移动到页首或页尾的方法。你把它都隐藏掉,确实更整洁了,但对使用者(尤其是深入阅读的人)就很不方便。 5、我制作了一把智能椅子(英文) 本文使用大量照片,记录了一个美国少年如何在自己家里,制作一把智能椅子。他先从网上,用25美元淘了一个破沙发(上图),最终改装成下图的样子,可以接受指令进行远程操作。 6、MacOS、Windows、Ubuntu 性能比较(英文) 作者在同一台 MacBook Pro 上面安装 MacOS、Windows、Ubuntu 的最新版本,比较它们的性能。 7、代码移入数据库(英文) 作者说,这些年他一直在改变工作语言,1997年是 Perl,1998年是 PHP,2004年是 Rails,2007年又是 PHP,2012年是 JavaScript。每改一次,有些代码就要重写一次。但是,后台的数据库从来没有变过,那么为什么不把逻辑写进数据库呢? 8、手机网页避免使用 100vh(英文) 手机浏览器由于会自动显示/隐藏地址栏,所以网页如果设成高度为 100vh,会有一部分看不见,可以参考 CSS Tricks 和 Stack Overflow 的解决方法。 9、CSS 伪元素的罕见用例(英文) 本文介绍一些通过 CSS 伪元素实现的奇妙的网页效果。 10、备份软件比较(英文) 这是一个 Hacker News 的帖子,讨论数据备份软件的优缺点,主要是 Restic 和 Borg 的比较。 工具 1、幼儿密码 麦克斯是一个一岁半的小孩,经常在笔记本电脑乱按。父母就做了一个网站,用户可以随机获取一个他乱按的字符串,作为密码。 2、SingleFileZ 一个浏览器扩展,可以将网页和上面的静态资源打包成一个 zip 文件。 3、NitroShare 一个跨平台的文件分享软件,可以在同一个局域网里面不同系统的机器之间互传文件。 4、PostgREST PostgreSQL 数据库的一个扩展,为任意数据库添加 RESTful API 接口。 5、日本铁路通 国人开发的适合日本自由行的交通换乘 App,特点是全中文搜索显示,可一键切换查看日语站名,支持日本所有的地铁、电车、新干线,无广告。(@metromancn 投稿) 6、高铁通 爱好者开发的全国高铁 App,可以显示列车的实时位置,支持点选车站,显示列车信息等,无广告。(@metromancn 投稿) 7、在线屏幕录制 一个浏览器里面的在线录屏小工具。(@w3yyb 投稿) 8、加密信息写入图片工具 这个在线工具可以把隐藏文本写入图片文件。图片依然可以正常使用,并且外观不发生变化,用户不会发现里面隐藏了加密信息。(@w3yyb 投稿) 9、snapdrop 一个开源的文件分享服务,使用 WebRTC 协议进行点对点传输。 10、marktext 一个跨平台的桌面 Markdown 编辑器。 资源 1、hacker-laws-zh 这是一个中文仓库,收集对开发人员有用的定律、理论、原则和模式,比如摩尔定律、侯世达定律、墨菲定律等等。 2、seekbetter.me 该网站收录中国个人独立博客。(@wensonsmith 投稿) 3、OCR 教程(英文) 这组系列文章教你如何自己写一个 OCR(光学字符识别)系统,从照片识别出文字。 4、Node.js 编程最佳实践 该仓库收集 Node.js 编程的注意点,目前已经有80多条了。 5、全球生活费用排名 该网站提供全世界国家和地区的生活费用排名,每个国家还可以查看各个城市的排名,以及各种生活费用的具体金额。 图片 1、搭建一个帐篷住宅(英文) 组图,作者用照片记录了如何搭建自己的帐篷住宅。 2、狮人 狮人是一个人身狮头的象牙雕塑,高31厘米,宽5厘米,是迄今发现的历史最早的人类雕塑品,年代大约在距今4万年~5万年之间。 它是1939年在德国的一个洞穴发现的,当时只发现了身子,1970年代才发现了头。1987年,开始将整个雕塑拼了起来,大概完成了原貌的三分之二。背部严重受损,腿部部分缺损。耳朵、眼孔、嘴、鼻子、头后部,大致都保留了下来。 目前的样子是2013年完成的,让雕塑的高度从296毫米增加到311毫米。 文摘 1、俄罗斯的太空墓地 俄罗斯的拜科努尔(Baikurur)航天中心位于中亚的阿尔泰山区。这里是欧亚大陆的中心,崎岖而偏远,处于哈萨克草原、西伯利亚的雪林和蒙古干旱平原的交叉点。西伯利亚大羚羊在这里漫步,麝香鹿在春天跟随着融化的雪地远行觅食。 这里可能是地球上最偏远的地方之一,很少有公路可通行,但是它位于世界上最古老、最大、最繁忙的太空中心的主要飞行路线的下方。每次火箭发射的碎片都落在这些偏远的丘陵上,该地区的人们被迫在火箭废料中谋生。 拜科努尔航天中心建于1955年,人类的第一颗人造卫星Sputnik 1 就在这里发射,第一个进入太空的宇航员尤里·加加林(Yuri Gagarin)1961年也是从这里起飞。今天,它是全球各地太空任务的发射地,包括每月一次的商业、科学和军事发射。自从美国航天飞机退役以后,拜科努尔发射的俄罗斯联盟号太空舱就成了国际空间站(ISS)补给的唯一来源。 所有这些火箭在飞行时产生了大量的碎片。一颗重6.3吨的卫星进入轨道,需要重达700吨的四级火箭,这些助推火箭会分3个阶段从飞船上剥离下来,然后落到地球上。美国的火箭残骸都落在海洋里面,拜科努尔离海洋太远,火箭残骸就落在这片土地上。第一阶段的火箭残骸通常落在发射台周围90公里以内,第二阶段是在飞行了整整14分钟后,会落在阿尔泰山区周边的1000公里的范围内。 俄罗斯媒体估计 ,自1950年代以来,该地区已有超过2500吨的空间碎片掉落,其中一些碎片的长度达到10米。前苏联为回收助推火箭付出了巨大的努力,部分原因是担心泄漏机密。但是,自从苏联解体,这些碎片就没人管了,越来越多地留在哈萨克斯坦和阿尔泰山区的草地上生锈。 对于那些生活在飞行路线下方的人来说,发射已经成为他们熟悉的景象。一位居民说,碎片落下看起来"像是夜晚愤怒的红眼睛" 。然后是很大的雷声,"小地震"震动地面。为了安全起见,危险区域内的居民会在24小时内收到发射通知。但是,发生在危险区域以外的事故并非罕见。2011年,联盟号火箭发射失败,火箭落到地面时,仍充满燃料。尽管没有人受伤,但爆炸使得远在100公里外的窗户破裂 。 尽管许多居民担心每月一次的火箭发射带来的危险,但其他人则认为这是一个独特的机会。足智多谋的废品商人等待火箭发射的宣布,然后用双筒望远镜注视天空。他们跟踪碎片的路径,开吉普车甚至骑马到现场。除了使用焊接面罩以外,几乎没有防护装备,他们使用喷枪将宝贵的轻金属,钛和铝的合金以及其他有用的组件(例如铜线)从残骸剥落。 这是危险的工作。火箭零件坠地时经常仍在燃烧,释放出有害蒸气,并在干燥的草原上引燃野火。然而,该地区不发达的经济意味着额外的收入来源是必不可少的。居民会将部分火箭残骸带回自己的村庄,这构成了严重的危险。火箭燃料往往含有剧毒成分,回落到地面时可能仍有多达10%的燃料。化学物质和太空垃圾的扩散,进入食物和地下水,引起该地区日益严重的健康问题。 2、我们不知道要花多少时间解决问题 我在 IT 行业工作,发现一个奇怪的现象。 职业生涯的早期,我从事 Web 开发,比如开发 CRUD 应用、构建 API 等。我注意到,我的经理和更高层的领导都对项目时间有一定的期望,但实际上他们往往不具备评估项目时间的技术能力。如果我花费的时间,超过他们的期望,那么我就会有麻烦。 后来,我的领域转到了分布式计算,涉及集群管理、系统开发、高可用性、功能编程、分布式图形计算、数据科学等等。但是我发现,我的经理对项目时间的评估,与我以前进行简单的 Web 开发工作时大致相同! 他们一开始不会说。你先给出自己的估计,将任务分解为合理的块,并考虑不确定性因素和测试因素。但是如果你坐下来跟他们交谈,你会发现他们仍然期望你在几周内完成更多的事情。如果时间不够,他们会认为问题出在你身上,而不管问题的实际难度如何。我很惊讶,领导以为简单的 REST API 集成所需的时间,与开发一个实时事务性分布式计算集群所花费的时间相同。工程技术真的已经走到了这么远的地步吗?没有。 这些年来,我终于得出一个简单的结论:领导们对事情需要多长时间一无所知。 这些年来,软件工程并没有变得越来越简单,而是变得越来越复杂,因为我们正在解决越来越多的问题,将需要更长的时间来解决。但是,许多技术经理都秘密地相信,问题已经减少到拖放式解决的程度。结果就是,技术经理对实施时间的期望与程序员应该花费的时间之间存在巨大差距。程序员不得不继续推出用胶带浆糊拼凑而成的不可靠的解决方案,使之勉强能赶上截止日期,然后将其扔给运营团队,并在整个余生中为产品补漏洞,直到自己精疲力尽离职为止。 言论与数字 1、 星期天,我收到一封电子邮件,通知要在星期一早上开会。星期一,我被告知公司已经解雇我了,不要返回办公室,规定期限内不能为竞争对手工作。 我联系了工会,工会帮我将合同交给了一个非常昂贵的律师,他打了几个电话。第二周,我就被解除了竞业限制,并获得了7个月的免税薪水的补偿。 -- 《你是否受到过裁员的影响?》 2、 西北太平洋生成的热带气旋叫做"台风"(typhoon),其他海域生成的叫做"飓风"(hurricane)。 -- 《台风还是飓风?》 3、 不要构建系统,而要构建子系统。 这就像 Unix 哲学:每个工具做好一件事,不同的工具协同工作。 -- Jessitron 4、 一个人应该能够换尿布,策划战争,杀猪,开船,设计房子,写十四行诗,结算账户,砌墙,接脱臼的骨头,安慰濒死的人,服从命令,发布命令,携手合作,独立行动,解数学方程,分析新问题,铲粪,电脑编程,做出可口的饭,善打架,勇敢地死去。专业是昆虫学。 -- Robert Heinlein (海因莱茵,美国科幻作家)谈什么是通才 5、 推出一个新产品很难,组建一个能够持续推出新产品的团队更难。 我最引以为傲的产品,就是苹果公司和我在苹果公司建立的团队。 -- 史蒂夫·乔布斯 招聘信息 周刊讨论区的《谁在招人?》,有大量工作/实习岗位,欢迎查看。 如果你的团队需要招人,可以免费在那里张贴招聘信息。如果希望发在周刊上,请联系我(Email: yifeng.ruan@gmail.com ),每条价格 300 元。 1、 易路软件 易路软件聚焦企业人力资源 SaaS 领域,致力于以复杂薪酬计算为核心的"移动互联网+员工服务"研发及运营。工作地点:上海闵行区。 招聘前端工程师,参与公司产品研发,包括不限于 PC 端、H5、小程序、Node 服务。详细要求和联系方式看这里。 回顾 去年的本周:《周刊第 33 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年12月 6日


科技爱好者周刊:第 84 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 周刊讨论区的帖子《谁在招人?》,提供大量就业信息,欢迎访问或发布工作/实习岗位。 封面图:集装箱公寓大楼,南非约翰内斯堡,图片来自 Reddit。 刊首语 每次看到 IT 公司的招聘广告,我往往有一种感觉,很多工作是一次性工作。所谓"一次性工作",就是企业用完人之后,就会把人裁掉,就像一次性筷子一样。 IT 竞争太激烈,市场和技术变化太快,企业都是敏捷开发,要求项目快速见效,招聘都是为项目服务的。校招可能还有储备人才的考虑,社招完全是项目导向,要么是旧项目补充人手,要么是新项目组建团队。 因为大部分项目最后都会失败,所以项目扩张补充人手是少数情况,大多数情况是为筹备新产品或新方向招人。这时,企业也没有把握,新产品或新方向能不能活,能活多久。招人的首要目的是先把东西做出来,交给市场检验。如果项目活下来了,工作岗位就是长期岗位;如果项目活不下来了,就是短期岗位。 项目没了,招来的人自然就没用了,要么内部转岗,要么就裁掉。大家应该有一个清醒的认识,现在的企业招人,并不会对你有一个三年五年的培养计划,你能不能留下来,一方面取决于你是否表现出良好的即战力,另一方面取决于市场是否认可你所在的项目。这两个条件,只要有一个没满足,你的工作就悬了。 在我看来,很多企业的招聘策略,完全是一次性的。项目需要用人,我就招人,而且是大量招人,短期内把产品做出来。然后,要是市场反响不好,项目活不下来,那就赶快做下一个项目,现有人员如果不合适转岗就走人,空出来的位置继续招新人。 这方面,大公司也没有比小公司好多少,大家要这样想,BAT 现在的每个位置都是有人的,他们要招新人,一定是找你去干内部找不到人干的事情。什么事情是 BAT 内部找不到人干的事情?太难太苦活太多,无非就是这几种情况,再加上严格的考核制度,你经历"一次性岗位"的可能性也许比小公司更大。 前端学习资料免费领 今年只剩最后一个月了,春节后一般会有招聘高峰。有计划跳槽换工作的朋友,可以开始有针对性地准备了,对那些面试的热门知识点加深学习。 前端开发依然是 IT 就业的大头,下面是两份对于面试很有帮助的前端学习资料,完全免费。这是国内领先的在线教育平台"开课吧",特别提供给我们周刊的读者。 第一份资料是 《2019 WEB 面试题系列:ES6 专题》 。这是一个视频讲座,主要深度讲解 ES6 类、类的继承,类的用法等等。内容都是前端面试的高频考察知识点。 第二份资料是 《前端开发语言:TypeScript 实战》 。现在,大型项目开发一般都会优先考虑 TS,使用静态类型保证项目质量。这份资料从新建一个项目开始,手把手教你完成 TS 的安装、类型检查、接口、泛型等每一个关键步骤,最后使用 TS 语言编写一个真实的 Vue 项目。 本次资料领取的免费名额,一共只有499名。感兴趣的读者抓紧扫描下方海报中的二维码领取。 资讯 1、欧洲 IPv4 地址用光 11月25日,欧洲 IP 地址注册机构 RIPE 宣布,欧洲的 IPv4 地址全部分配光了,一个也没剩下,从此没有新的 IP 地址可以分配。为了纪念这个历史时刻,全体人员合影留言(上图)。 此后,该组织要分配 IPv4 地址,只有等待破产或关闭的团体交还已用的地址,才能再分配。解决全球 IP 地址不足的根本办法,是尽快向 IPv6 过渡。全球一共有5个组织负责分配 IP 地址,RIPE 负责下图黄色的区域。 2、宽屏转换 Disney + 视频订阅服务11月初发布后,影迷发现动画片《辛普森一家》变成了16:9宽屏。第20季之前,《辛普森一家》的原始长宽比是4:3(下图一)。 迪斯尼公司这一次除了提升分辨率,还裁去了一些画面,统一将其转成了16:9(下图二)。迪斯尼已经同意,另行放出4:3版本,影迷可以自己选择看哪个版本。《辛普森一家》一共30季,从第20季之后,原始播放的就是16:9版本。 3、数字服装 BBC 报道,旧金山一家区块链公司的 CEO 理查德·马(Richard Ma),花了9,500美元为妻子买了一件衣服。这件衣服不是实体的,而是数字的,不能在现实生活中穿,只能穿在社交媒体发布的照片上(上图)。 这位 CEO 说:"这衣服确实非常昂贵,但这也是一项投资。未来10年里,每个人都将'穿着'数字的时尚服装。这会是独特的纪念品和时代的标志。"根据他的预测,未来人们会有专门设计的数字服装,让你在社交媒体上拥有独一无二的装饰。数字服装往往是超现实的设计,现实中很难实现。数字服装还可以买卖和转让,因此有投资价值。 瑞典的一家公司从去年开始,就已经在发布数字服装,起价约为11美元一件(下图)。 4、世界最长的航班 澳大利亚地处南半球,前往北半球任何一个主要城市,都非常遥远。澳大利亚航空公司正在进行一系列实验,评估是否能够开行更多的超长航班。10月18日,澳航测试了悉尼----伦敦航班,空中飞行时间为19小时19分钟,如果开行将是世界最长航班。 乘客这么长时间的久坐不动,很可能对健康产生影响,比如产生静脉血栓。澳航想了很多办法,减少久坐产生的厌倦和疲惫。起飞后马上提供晚餐,然后很快熄灯,意在使乘客入睡。乘客醒来后,允许在飞机上绕圈行走,并进行伸展运动。该航班只搭载50个乘客,所以比较空,有利于乘客走动。等到日出的时候,邀请乘客离开座位,到舷窗观看。 澳航将在今年底决定,是否开出更多的远程直达航班。一旦决定开行,航班将在2022年前正式启运。 5、哥本哈根垃圾发电厂 丹麦首都哥本哈根新建的垃圾发电厂,通过焚烧垃圾发电,是世界上最绿色的发电厂。它的表面是巨大的玻璃结构,看上去就像绿色山峦。顶部是一个大斜坡,建有滑雪缆车,可以滑雪。建筑物内部还有玻璃电梯,让游客观察垃圾如何为22万户家庭发电,整个工厂可以只由2名工程师操作。 哥本哈根附近没有山,居民要去滑雪,都要去很远的地方。现在有了这个发电厂,市内就可以滑雪,每小时收费22美元。游客还可以在建筑物最高处的餐厅和酒吧放松身心,或在大屋顶远足和漫步。它甚至具有世界上最高的攀岩墙-高85米。 6、太阳能发热 太阳能一般用来发电,但是比尔·盖茨正在资助一项新计划,尝试将太阳光转为超过1000℃的热源,用来替代化石燃料。 该项目使用软件操作大量镜子,把阳光反射到目标上,产生1500度的温度,是以前的商用太阳能系统的三倍。高温用来分解水分子提取氢气,再把氢气用作燃料。高温也可以用来制造水泥,减少传统燃料的消耗。 7、雇主最欢迎的技术技能 美国一家招聘网站统计了,过去五年招聘岗位的技能要求。提到最多的前十位技能如下:SQL、Java、Python、Linux、JavaScript、AWS、C++、C、C# 和 .net。 不过需求增长速度最快的技能,排名完全不一样:docker、azure、机器学习、aws 和 Python。 8、一句话新闻 一项研究发现,长期暴露在发光二极管(LED)的蓝色光谱中,果蝇会加速衰老,并且大脑出现神经性病变。所以,人体尽量避免长时间照射 LED 蓝光。 澳大利亚将使用高速公路摄像头,辨识一边开车一边使用手机的司机。 特斯拉发布电动皮卡,最低售价4万美元。由于外观完全采用直线条,这车看着有点像装甲车,而不像小卡车,车身后部的车斗是隐藏的。确实像车名 cybertruck 所提示的,有朋克的感觉。目前,特斯拉的产品线越来越全了,已经有了轿车、卡车、皮卡,下一个会发布新的跑车。 世界最大的风力发电机开始在荷兰安装,叶片长度为107米,为世界最长,超过此前的纪录15米。 谷歌团队公开了 Pixel4 XL 拍摄的银河照片,未经任何处理。下面一张是谷歌的样张,另一张是华为 P30 Pro 的样张(背景过亮的那张),明显是谷歌效果较好。更多夜拍样张。 文章 1、 DNS 基础知识与 dig 命令(英文) 本文讲解 DNS 的基本知识,然后用 dig 命令演示如何获取 DNS 信息。 2、C++ 创始人 Bjarne Stroustrup 访谈(英文) 编辑访问 Bjarne Stroustrup,请他谈谈怎么发明 C++,并且回答 StackOverflow 上面得票最高的5个 C++ 问题。 3、恶意的 SSH 访问分析(英文) 暴露在互联网上的服务器,每天都会收到大量的恶意 SSH 登录请求。作者分析了自己服务器的98万次 SSH 日志记录,看看能发现什么。 4、Elm 开发教程(英文) 本文很长,介绍 Elm 语言的语法知识,如何用它写一个网页应用。 5、AWS 的数据迁移费(英文) 亚马逊云服务 AWS 的费用包含一项"数据迁移费"(data transfer)。本文分析 AWS 头部客户的这项费用,可以借此了解云服务的付费情况。 6、贫铀对伊拉克儿童的影响(英文) 贫铀是铀浓缩过程的副产品,带有放射性,用于炸弹可以刺穿装甲。美军在伊拉克战争中大量使用贫铀弹,造成了无法清除的严重污染,使得许多新生儿有先天畸形。 提醒,谨慎打开上面链接,本文带有畸形新生儿的照片,会让人不适。 7、钴元素在电池的应用现状(英文) 本文是一篇新闻报道,详细介绍钴元素的应用和开发现状。锂电池的阴极目前采用钴元素的效果最好,这导致钴价飞涨,很可能会影响电动汽车的普及速度。世界三分之二的钴产量来自刚果民主共和国。 8、Web 图标指南(英文) 本文介绍四种常用的图标解决方案:CSS Sprite、图标字体、内嵌的 SVG 图像、SVG 文件。 9、Swift 学习数据科学指南(英文) 数据科学通常使用 Python 语言,但是其他语言也可以。本文从零开始教你使用 Swift 语言来做数据科学项目。 10、Web 缓存投毒攻击(英文) 访问网页,大多数时候都要通过缓存服务器,CDN 就是一种缓存。有可能做到缓存服务器投毒,从而使得网站无法访问,本文介绍它的原理。 11、我用AI机器人留住去世的父亲(中文) 上周,我推荐《连线》杂志的这篇长文。儿子得知父亲晚期肺癌以后,进行谈话录音,把内容做成一个对话机器人,父亲去世后还能跟他对话。当时我说,希望文章能有中文版。真有网友翻译了,而且译得很好,我再次读依然感动。我们太强调技术胜过人,但技术也可以有人性。 工具 1、aimAndShoot 一个纯概念的开源网页射击游戏,具有神经演化功能,软件会根据玩家的反应,对敌人进行增强,直到玩家失败。 2、Chrome remote desktop 谷歌推出了远程桌面软件,可以在手机和桌面浏览器里面,访问远程电脑的桌面,进行各种操作。 3、CustomAnim 这个网站可以将用户输入的文本,渲染成一段微粒的动画,支持中文。缺点就是后台资源有限,玩的人一多,就要排队等。 4、onefetch 这个命令行工具可以显示 Git 仓库的信息。 5、Daily-warm 一个 Go 语言脚本,每天向指定邮箱发送一封邮件,里面是天气、名言、诗歌。(@BarryYan 投稿) 6、leonsans 一款用 JavaScript 脚本绘制的英文字体,只要网页插入脚本,就能使用这个字体,即字体使用脚本画出来的,特别适合制作字体动画。(@rolitter 投稿) 7、snake-go Go 语言写的命令行贪吃蛇游戏。 8、dn 一个非常简单的命令行笔记脚本,可以写入/读取笔记。所有代码就是十几行 Bash 命令。 9、hr-code QR 码本质是机器可读的字符串,主要缺点是人类无法辨识。现在有人提出了一种新的QR码,机器和人类都可读。缺点就是如果字符很多,码图就会很大。 10、SearX SearX 是一个开源的搜索代理,可以自己架设谷歌实例,查看 demo 和实例列表。 资源 1、 The GAN Zoo 对抗生成网络(GAN)是人工智能模型提高效果的一种方法,该仓库收集各种领域的 GAN 应用模型,目前已经有500多种。 2、统计小手册 一本针对初学者的统计学英语教材,内容比较精简。 3、中文独立博客列表 该仓库根据 feedly 的 RSS 订阅数,列出了主要的中文独立博客。(@timqian 投稿) 4、微软 Azure 架构设计文档(英文) Azure 云服务的文档,专门讲解架构知识,包括架构模式,设计原则,设计模式等。(@NeoTse 投稿) 5、滚动条的演进 这个网页展示自从有计算机以来,系统滚动条的样式变化。 6、gov-takedowns GitHub 有一个官方仓库,收录政府的来函,要求取缔某些内容。现在里面有三个国家的政府来函:中国、俄国和西班牙。所以,放在 GitHub 上的东西,可以合法地被政府拿掉。因此不要在 GitHub 乱放东西,尤其考虑到 GitHub 的老板是微软。 图片 1、巴拿马运河 下图是1881年法国在开挖前提出的巴拿马运河示意图,连通大西洋和太平洋。 下图是实际的巴拿马运河。 2、木柴汽车 二战时,欧洲的汽油都用于战争。很多民用汽车得不到汽油,只能加装锅炉,使用木柴驱动的内燃机。 3、Chrome 恐龙模型套装 Chrome 浏览器每当断网时,会出现一个恐龙游戏,比喻回到了洪荒时代。 谷歌总部的纪念品商品有实物出售,网上订购价格30美元一套。 文摘 1、莴苣香烟 香烟由烟草制成,含有伤害健康的尼古丁。1959年,化学家普赞特·托里吉安(Puzant Torigian)想到可以用其他植物的叶子,制造无尼古丁的香烟。 他系统地测试各种不同植物的叶子,包括羽衣甘蓝、葡萄、卷心菜、大头菜、菠菜、胡萝卜、花生、番茄和甜菜。最后,他认为最好的替代品是莴苣,它的叶子可以像烟草一样燃烧,但没有尼古丁,也没有生物碱,无毒,并且焦油和氨的残留量比烟草低。 他在家乡得克萨斯州赫里福德市找到了一群投资者,于1965年推出了莴苣香烟 Bravo Smokes。 结果市场反响非常差,用户评论:"就像抽老袜子一样"、"比抽咖啡渣还差"。该公司调整了销售方向,专门向试图戒烟的烟民销售。那些人改不掉吸烟习惯,但希望抽没有尼古丁的东西。 但是没有用,1972年 Bravo Smokes 倒闭了。 2、告别快时尚 很多人追求时尚服装,每一季甚至每个月都更换新服装,每套衣服穿的次数越来越少。这被称为"快时尚"。根据统计,人们消耗和丢弃的衣服,比以往任何时候都要多。每次购买新衣服的时候,消费者就把上一季过时的衣服扔掉。 2015年,美国一共产生了1,190万吨的纺织废料,平均每个美国人34公斤,很多衣服都没穿过几次,它们大部分最终被填埋。相比1960年,这个数字增长了750%以上,是同期人口增长速度的10倍。 H&M、Zara 这些快时尚品牌的崛起,直接导致了服装浪费的增长。快时尚的商业模式就是大量销售低价服装,然后鼓励消费者尽快扔掉过时的服装,不停购买当季流行,以获得新的外观。例如 Zara 公司每年发布 20,000 种新设计,不停推出新系列,不再是传统的冬季/秋季和夏季/春季少数几种系列。 咨询公司麦肯锡公司调查发现,从2000年到2014年美国服装产量翻了一番,同期普通人每年购买的服装数量也增加了60%。另一项研究发现,人们购买的快时尚品牌服装,很少穿着超过10次。 社交媒体上,流行的观念是,你只要发过一次这套衣服的照片,就不能再发穿它的照片了。根据一项调查,英国 9% 的购物者承认,自己为能在 Instagram 发照片而购买衣服,等到在网上发布自己穿着该衣服的照片后,他们就将衣服退回商店。 面对这种现实,"慢时尚"的概念在过去十年中开始出现了,作为对"快时尚"的一种平衡。它的出发点是,放慢服装消费的速度,购买更少的服装。环境人士已经发出警报,旧衣服对环境的负面影响,无法通过垃圾填埋场消除。纺织品的制造、染色和处理都会用到很多有害的化学物质,服装和鞋类生产而导致的温室气体占全球温室气体排放量的8%以上。 下一次,你决定购买一件衬衫或一双鞋时,请问一下自己:我真的喜欢它吗?它合适吗?我会穿很多次吗? 言论与数字 1、 特斯拉汽车的自动驾驶可以挽救数百万人的生命,但它可能首先会造成一些人的死亡,然后才能达到这个目标。 -- 彭博社 2、 明显的 UI 通常是最好的 UI。 -- Medium 文章 3、 推特公司有4000个员工,全世界35个办公室。 -- 推特年报。推特上市之前的2012年只有200多个员工,上市之后人员膨胀了十几倍。全世界35个办公室,出差和协调成本该有多高,怪不得这家公司股价一直上不去。 4、 2005年的一天,伊利诺伊州的一位母亲注册了 Flickr,上传了自己孩子的一些照片,然后忘记了这个帐户的存在。 多年以后,这些孩子的照片被发现存储在一个数据库中,用于训练世界最复杂的一些人脸识别的智能系统。 -- 《纽约时报》 5、 1860年,人们还不知道细菌感染。只要你住进医院,就有12%的可能死亡,50%的可能截肢。 -- 《巴斯德的贡献:细菌的发现者》 6、 内布拉斯加州最大的家具市场是一个95岁的老太太开的,巴菲特收购了,让老太太退休。 老太太发现,巴菲特没让她签竞业条款,就在马路对面又开了一家家具市场。巴菲特只好把新的家具市场也收购了,并签了竞业条款,这一年老太太97岁。 -- 维基百科 回顾 去年的本周:《周刊第 32 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月29日


如何识别文件的真假

每个人都下载文件,大家有没有想过,文件可能是假的,尤其来自网盘或专门的下载站。 本文就来谈谈如何识别文件的真假。 一、XcodeGhost 事件 我们从一件真实的事件说起。 2015年9月,苹果手机的一些 App 被发现向可疑网站发送数据。进一步调查确认,可疑代码是 Xcode 打包时植入的。也就是说,开发者的编程工具 Xcode 被动过手脚了。 腾讯的安全团队公布调查报告,应用商店的前 5000 名应用有76个被感染。360 应用商店检查后发现,共有1076个 App 被感染,包括微信、网易云音乐、滴滴打车、高德地图、12306、同花顺等热门应用。苹果公司将所有被感染的版本,都从官方软件商店下架了。这个事件就称为 XcodeGhost 事件。 国家互联网应急中心专门发出了预警通知。 追查下去,那些动过手脚的 Xcode 都不是从官方渠道下载的,而是来自网盘或下载站。一个网名"coderfun"的人,在各种 iOS 开发者论坛或者微博留言,引诱其他开发者下载修改过的 Xcode,版本从 Xcode 6.1 到 6.4。 事后,这位 coderfun 发出致歉公告,表示这只是自己的一次实验,没有恶意。但是,这个事件足以引起警惕,任何下载的文件都不一定安全,很可能被修改过或植入恶意代码。 二、软件的防伪措施 为了防止来源不明的软件,很多平台都有签名机制。软件发布必须由认证过的开发商,使用平台的密钥签名。如果用户安装未签名的软件,平台会弹出警告,阻止安装。下面就是 MacOS 的警告。 但是,不可能所有开发者都去认证,尤其是认证要收费。而且,用户对这种警告不在乎,一般都会忽略或手动关闭。所以,这种做法的效果不明显。 目前的常用做法是,软件发布时,同时给出哈希码和签名文件。前者保证没有被第三方修改,后者保证确实出自原始作者。 举例来说,Linux 的发行版 Manjaro 除了提供原始的 iso 文件,还提供另外三个文件:sha1 哈希文件、sha 256 哈希文件和 sig 签名文件。 它们保证了软件的真实性。 三、哈希码验证 哈希码指的是,文件内容经过哈希函数的计算,会返回一个独一无二的字符串。哪怕原始内容只改动一个字节,哈希码也会完全不同。用户下载软件后,只要计算一下哈希码,再跟作者给出的哈希码比较一下,就会知道软件有没有被改动。 目前,常用的三种哈希函数是 MD5、SHA1 和 SHA256。其中,SHA256 最安全,SHA1 次之,MD5 垫底。一般来说,软件至少会提供其中一种哈希码。 下面是哈希码的验证方法。 (1)Linux 系统 Linux 系统直接用md5sum、sha1sum、sha256sum这三个命令,计算哈希码。 $ md5sum foo.zip $ sha1sum foo.zip $ sha256sum foo.zip 上面命令返回文件foo.zip的三种哈希码。用户再跟作者给出的哈希码比对。如果不一致,文件就是被改动了,或者没有完整下载。 有时,就像前面 Manjaro 的例子,哈希码不是写在网页上,而是作为一个单独的文本文件下载。这时可以使用-c参数。 $ md5sum -c foo.zip.md5file $ sha1sum -c foo.zip.sha1file $ sha256sum -c foo.zip.sha256file 上面命令会返回哈希码的比对结果,直接告诉用户是否一致。 (2)Mac 系统 MacOS 的验证命令需要自己安装。 $ brew install md5sha1sum 执行上面命令以后,md5sum 和 sha1sum 就可以使用了。至于 sha256sum 要用 shasum -a256 命令代替。 (3)Windows 系统 Windows 可以下载安装免费软件 Quick hash 或者 Raymond's MD5 & SHA Checksum Utility。其中,Quick hash 是跨平台的,还支持 Linux 和 MacOS。 四、签名验证 哈希码只能保证文件内容没有修改,但是哈希码本身也有可能仿冒,完全可能连带原始文件一起造假。 文件签名能解决这个问题。软件发布时,作者用自己的私钥,对发布的软件生成一个签名文件(Manjaro 例子的 sig 文件),用户使用作者的公钥验证签名文件。 第一步,下载公钥。 软件的官网一般都会给出作者公钥的下载方法。比如,Manjaro 就可以从 GitHub 仓库下载公钥。 $ wget github.com/manjaro/packages-core/raw/master/manjaro-keyring/manjaro.gpg 公钥也有可能放在专门的公钥服务器,这时可以使用gpg命令在从公钥服务器下载。 $ gpg --keyserver hkp://eu.pool.sks-keyservers.net --search-keys [公钥 ID] 上面命令会列出搜索结果,让你选择是否下载某一个公钥。--keyserver参数指定公钥服务器,search-keys参数给出搜索参数,可以是作者的名称,也可以是公钥的指纹。 gpg命令在 Linux 下可以直接使用,MacOS 和 Windows 需要安装 GnuPG。 第二步,导入公钥。 下载得到公钥后,将其导入操作系统。 $ gpg --import [公钥文件] 如果有完整的公钥指纹,gpg 命令的 --recv-key参数可以直接从服务器导入公钥。 $ gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-key "27DE B156 44C6 B3CF 3BD7 D291 300F 846B A25B AE09" 第三步,验证签名。 导入公钥以后,就可以验证签名文件(后缀名为 sig的 文件)了。 # 用法一 $ gpg --verify [签名文件] # 用法二 $ gpg --verify [签名文件] [原始文件] 上面命令的两种用法,效果是一样的。但是,用法一要求原始文件与签名文件同名,且在一个目录下。比如,签名文件是foo.iso.sig,原始文件必须是同目录下的foo.iso。 签名文件一般包括完整的公钥指纹,所以也可以跳过上面的第一步和第二步,直接从公钥服务器获取公钥,验证签名。 $ gpg --keyserver-options auto-key-retrieve --verify [签名文件] (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月26日


科技爱好者周刊:第 83 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 周刊讨论区的帖子《谁在招人?》,提供大量就业信息,欢迎访问或发布工作/实习岗位。 封面图:黎巴嫩首都贝鲁特,环卫工人罢工,垃圾无人清理。图片来自 Reddit。 刊首语 TechCrunch 创始人迈克尔·阿灵顿,最近说了一句话: "我来到推特以后,才发现不管怎么沟通,一半人总是会讨厌另一半人。" 我理解他的意思。人与人的对立,原以为是互相不了解造成的。互联网拉近了人们的距离,让我们彼此更了解,所以理论上,互联网应该减少对立。 结果不是这样,人们依然对立。而且由于距离变近了,冲突更多更直接了,变得更讨厌对方了。 所以, 不能对技术的正面作用估计过高,尤其不能期待技术会改变人性。不过,我们还是需要宽容和合作,现在世界有这么多问题,尤其是环境污染和气候变迁,都需要全人类的合作。否则,我们无法解决问题,到来头可能会被问题解决。 最后,这几天我常常在想, 这个十年只剩下了最后一个月,二十一世纪10年代马上就要过去了,这个十年期我到底做了哪些事情,达到了十年前我对自己的期望吗。 前端全栈精英班 本周的培训信息是向大家介绍,来自北京京程一灯的《前端全栈精英班》。 前端的覆盖范围其实很广,所有跟用户直接交互的界面技术,都可以算前端。一般的培训往往只注重一个方面,比如 Web 端或手机端。《前端全栈精英班》这个培训的特色就是全面,涵盖了大前端的各个领域。下面是讲课体系图(点击看大图),内容相当多。 课程会涉及 JavaScript 语言新发展、Vue 源码分析、前端持续集成方案、MV* 框架深度分析 、前端图形学、NodeJS 大规模站点架构等多个专题,兼具深度和广度,目标是培养学员成为真全栈! 京程一灯创办于2016年,目前和腾讯课堂联合运营,是腾讯课堂前端 TOP 机构之一。毕业生平均薪水可以达到25.5K。 该课程现在开放 7天免费试学名额,仅88个名额, 微信扫码下面的二维码进群报名即可。 成功进群后,还会免费赠送 Webpack 全系列教程《手把手带你成为 Webpack 头号玩家》,攻克Webpack! 资讯 1、北极代码地窖 GitHub 宣布,为了把开源软件留给子孙后代,将在2020年2月2日为所有公共存储库生成快照,保存在北极一个地下250米的废弃煤矿。快照储存在一种特殊胶片上,寿命高达1000年。 它在 Youtube 上面放出了一段现场视频(微博镜像),简直就像科幻电视剧一样。 2、储存数据的玻璃 微软和华纳兄弟电影公司合作,成功地在一块玻璃上储存了1978年的经典电影《超人》。这块玻璃是透明的,光通过照射在玻璃上读取数据,玻璃的大小约为7.5厘米 x 7.5厘米,厚度为2毫米。上图左侧是原始的电影胶片,右侧是保存同样数据的玻璃片。 这种玻璃内部有一个纳米级的数据层,通过光栅的各种深度和角度的变形,达到储存数据编码的目的。由于玻璃的成本很低,这个项目的主要目的是延长数据的保存期限,玻璃比其他材质能保存更长时间,可以达到几个世纪。 3、短信故障 11月6日的凌晨,成千上万的美国人收到了今年情人节的一条短信。也就是说,8个多月之前的短信被重新发了一遍,收信人重新收到了那时别人发给自己的短信。这产生了许多令人尴尬的情况,有些恋人已经分手了,有些人已经不再是朋友了,还有人收到了2月份之后去世的亲人的短信。 第二天,美国社交媒体上面,都是用户的抱怨和困惑。这个事故的影响范围遍及所有四家电信服务商(T-Mobile、AT&T、Sprint 和 Verizon),也不分安卓和苹果手机,主要原因是为大型电信公司提供服务的软件商 Syniverse 出了故障。 Syniverse 已经在网站上,向16.8万名受影响的客户发出道歉信,保证问题已得到解决,不会再次出现。但是,用户现在要求解释,为什么电信公司储存用户的短信。 4、鲸鱼监狱 2018年10月,绿色和平组织发现,俄罗斯远东地区的四家国有公司,违反国际条约,捕捉了90头白鲸和11头虎鲸,均未成年,饲养在几个很小的池子(上图),准备进行商业销售。媒体把这些池子称为"鲸鱼监狱"。 经过俄罗斯政府的调查,最终决定将这些鲸鱼全部放生。2019年11月6日,最后一批13条鲸鱼被运到日本海,放入大海。 5、谷歌云游戏 11月19日,谷歌的云游戏服务 Stadia 正式开放。它最大特点是游戏画面的渲染和计算都在云端完成,通过网络传输给用户,用户本地不需要购买昂贵的游戏主机设备,也不需要本地安装,点进去就能玩。费用是每月10美元,目前有几十个游戏可玩, 这种游戏模式要求巨大的网络带宽,以及极小的网络延迟,否则用户按下按钮就不能实时看到结果。这意味着用户不能离机房太远,这是推广这种模式的最大障碍。 已经有用户在网上反映,由于延迟太大,射击类和战斗类游戏几乎没法玩,可能只有一些进展缓慢的游戏才适合这个平台。但是,手机端表现不错,而且传统的主机游戏可以直接在手机上玩,这很可能是它的最大卖点。 6、中国最大垃圾填埋场满了 西安灞桥的生活垃圾填埋场,是中国最大的垃圾填埋场,占地面积超过1000亩,相当于100个足球场。该填埋场1994年建成,原计划使用50年,结果提前20年填满了,今年8月垃圾堆积到将近150米(约50层楼高)。这样的高度已经达到了垃圾堆高的极限,如果不封场,继续再加高堆砌,垃圾填埋场的运行风险将急剧增加。 西安市近期将关闭这个填埋场,原址逐步改建为生态公园。新的垃圾将通过分类,进行焚烧处理。 7、中国的火星探索 中国国家航天局透露,2020年将实施中国的第一次火星探测任务。 这次任务将实现火星环绕和着陆巡视,即会有火星车着陆,开展火星全球性和综合性探测,并对火星表面重点地区精细巡视勘查。上图是河北怀来的亚洲最大的地外天体着陆综合试验场,正在进行火星着陆器悬停避障试验。 8、一句话消息 美国法院判决,LinkedIn 不得阻止其他公司抓取公开的成员信息。 普林斯顿大学的研究生入学,不再统一要求 GRE 成绩,而是把这个权力下放各系所。明年入学申请,将有14个专业不需要 GRE 成绩就能申请。 专家表示,印度人很快会变成"水难民"。全国一半的州缺水,21个主要城市已经耗尽了地下水。 密码管理器 1Password 从风投筹集了2亿美元。著名程序员 DHH 公开表示担忧,1Password 现在至少必须变成10亿美元估值的公司,才能让这么多风投得到回报。一个密码管理器怎样达到这种估值呢?这种压力下,可能会做出很多糟糕的决定。 美国最大的三家航空公司正在拆除飞机座椅背面的屏幕,目前只限于国内航班,理由是乘客可以使用自己的电子设备。 下图是拆除前后对比。 上海科技大学和腾讯 AI 实验室发表了一篇新论文,可以只根据一张照片和一段视频,就让照片里的人按照视频里面的动作动起来。 美国一所大学正在研发防火毯。这种毯子的材料是氧化铝和二氧化硅,可以用在室内或野外,防止火势蔓延。 文章 1、我比较了麦当劳最便宜和最贵的汉堡(英文) 一个美国记者详细比较了,当地麦当劳最便宜的汉堡(1.69美元)和最贵的汉堡(8美元),发现它们差异巨大。 2、如何将任意命令装为图形界面?(英文) 本文介绍使用 Gooey 这个工具为任何命令行的命令,生成一个图形界面,用户只需写一个配置文件即可。上图是一个 MP3 转换命令的图形界面。 3、我如何建造一个父亲对话机器人(英文) 这是一篇长篇散文。作者的父亲是癌症末期,作者录下了自己与父亲的对话,利用这些对话资料,建造一个人工智能的对话机器人。父亲去世以后,跟机器人对话,机器人说出父亲会说的话。我很喜欢这篇文章,希望有人会把它译成中文。 4、PHP 的这25年(英文) PHP 创建者 Rasmus Lerdorf 的一次讲演,回顾自己创造 PHP 语言的这25年。 5、Unix 先驱的密码(英文) 几十年前,Unix 源码公开的时候,/etc/passwd 文件也一起公开了。里面包含了早期使用者的密码哈希,因此可以从哈希破解出他们的密码,其中有5个人的密码一直没有破解。 最近有人使用最新的硬件,终于找出了这五个人的原始密码。其中最难的是 Unix 发明者 Ken Thompson 的密码p/q2-q4!,上个世纪80年代的密码,现在的硬件仍然需要计算4天才能破解。 6、Python 爬虫保存美国农业部网站的水果数据库(中文) 美国农业部为全世界已知水果制作了 7500 幅水彩"证件照",并提供高清下载。作者讲述自己如何编写 Python 爬虫,抓取这些图片。(@jwenjian 投稿) 7、Costco 如何改变零售规则并成功?(英文) Costco 是一家美国的连锁超市,采取了与其他超市不一样的模式,为实体店如何在网络时代活下去,提供了一些经验。 8、React Hooks 的原理(英文) 本文通过简单的代码,自己做了一个 Hooks 的简单实现,讲解 React Hooks 的原理。(@hacker0limbo 投稿) 9、谢耳朵猜想被证明(中文) 美剧《大爆炸理论》的主角谢尔登说,他最喜欢的数字是73。因为73是第21个质数,7 乘以 3 正好等于21,而且翻转过来也成立,37是第12个质数,宇宙中不会再有第二个这样的数字。电视剧播出后,这被称为"谢尔登猜想",还真有数学教授写论文证明,这个猜想是正确的。 10、GraphQL 相对 REST 的优势(英文) GraphQL 是客户端与服务器之间的一种数据请求方式,本文解释了它比 REST 好在哪里。 工具 1、OnionShare 匿名分享文件的工具,通过 Tor 网络下载文件。 2、dcp 一个在主机间分享文件的命令行工具,使用 Dat 协议,进行点对点拷贝。 3、rough-charts 手绘风格的 React 图表库。(@beizhedenglong 投稿) 4、repo-analytics 分析 GitHub 仓库信息的在线工具。(@timqian 投稿) 5、mintotp 一个 Python 的二因素认证时间码工具,代码很简单,只有20行。 6、Memex 浏览器插件,可以对书签和浏览历史进行全文搜索。 7、彩云小译 浏览器插件,一键将网页翻译成中英对照模式。(@bitwater 投稿) 8、AntzGameOS 该项目把游戏做成操作系统,打包成镜像,装到U盘,插入电脑开机启动,就能直接玩游戏。(@CasterWx 投稿) 9、Pinbox 一个国产的收集网上各种资源(网址、图片、文本)的在线服务,类似 Pinterest。(@yoler 投稿) 10、bruno simon 这是很久以来,我见过的最酷主页,整个页面都是 3D 的。页面源码是开源的。 资源 1、YubiKey 使用指南(英文) YubiKey 是一种目前较为流行的硬件密钥,这个仓库是网友写的使用手册。 2、free-for.dev 该仓库收集各种可以免费使用的(或有免费层的)互联网服务。 3、学习 ClojureScript ClojureScript 是基于 Clojure 的函数式网页脚本语言,本书是它的开源教程。 4、awesome-naming 有一句名言:命名是软件开发最难的事情之一。该仓库收集最好的命名,比如 Stack(堆栈)、Adapter(适配器)、Sandbox(沙箱)、Honeypot(蜜罐)等等。 5、Google dork list 该仓库专门收集泄漏保密信息的谷歌搜素命令,比如搜索泄漏的数据库导出文件,就在谷歌输入"#mysql dump" filetype:sql。目前,已经收集了将近10000条。 图片 1、拉美西斯二世 1976年,古埃及法老拉美西斯二世的木乃伊,在死后3000多年从埃及运到了法国,进行全面的法医检测。 该木乃伊是1881年发现的,从1885年开始一直放置在开罗的古埃及博物馆。1974年,博物馆发现木乃伊的状况正在恶化,因此同意送往法国检查。 根据法律,死者离开埃及也需要护照。埃及政府为拉美西斯二世颁发了护照,职业一栏填的是"国王(已故)"。 木乃伊到达法国后,法国政府按照国王的仪式迎接了他。 检查发现,拉美西斯二世有战伤、骨折、关节炎和血液循环不良。据信,关节炎使他在生命的最后几十年都弯腰驼背行走。下颌骨上发现了一个大洞,研究人员认为"尽管他的牙齿脓肿严重到足以导致感染死亡,但尚不能确定死因。" 2、我能吞下玻璃而不伤身体 互联网的早期,哈佛大学学生 Ethan Mollick 发起了一个语言项目。他认为,来到国外的游客有"不可抗拒的冲动"用当地语言说些什么,如果他们所说的话非常简单,当地人通常会立即将他们标记为游客。但是,如果他们说"我能吞下玻璃而不伤身体",就可以确保受到当地人的尊重。 他邀请网友为这句话提供各种语言的版本,目前该短语已翻译成150多种语言,包括一些虚构的语言,以及多种计算机语言。 这句话还是 GNOME 字体查看器展示中文时的示例文字。 3、 Linux Logo 上图是各种 Linux 发行版的 Logo,你认得出几种?能认出四分之一(11种),就算对 Linux 相当熟悉了。 文摘 1、粮食生产和农业的巨变 我们正处于粮食和农业生产的最大变革的前夜,人类合成蛋白质即将工业化。 到2030年,人工合成蛋白质的价格将比现有的动物蛋白质便宜5倍,到2035年将便宜10倍,最终蛋白质的价格跟糖差不多。 除了价格,人工合成蛋白质还将在每个关键属性上都具有优势:更有营养,更健康,味道更好,更方便,并且具有几乎难以想象的多样性。这意味着,到2030年,现代食品将具有更高的质量,而生产成本不到动物源食品的一半。 这种发展对畜牧业的影响将是深远的。到2030年,美国的奶牛数量将下降50%,养牛业将几乎破产。其他畜牧业也将遭受类似的命运。 这是生物学快速发展的结果,现在的生物科技使我们能够对微生物进行编程,以生产几乎任何复杂度的有机分子,最终导致"食品即软件"。科学家先设计单个分子,然后世界各地的食品工程师以设计软件的方式设计食品,并且不断迭代,从而使产品快速改进,每个版本均比上一个版本优越且便宜。它还可以确保生产系统完全分散,任何地方都可以生产食物,甚至在高楼大厦之中生产蛋白质,比传统农业更加稳定和有弹性。 这种现代食品生产方案将使土地使用效率提高100倍,原料效率提高10-25倍,时间效率提高20倍,节水效率提高10倍,还将减少废物的数量级。 一旦现代食品技术能够提供一瓶牛奶的蛋白质(蛋白质仅占牛奶的3.3%),整个牛奶产业将开始崩溃。工业化牛养殖业也会在不久的将来崩溃,现代技术将人工合成完美的牛排。 2、企业软件已死 几十年来,企业软件(即针对大公司的软件)与其它软件存在明显的区别,有着不同的品牌目标、不同的产品优先级和不同的销售周期。 今天,这些差异正在消失。企业软件的区别变得无关紧要,未来将全都是商务软件。 原因一:SaaS 的出现,改变了软件的销售模式。 云端软件的出现,使得软件的开发速度和成本降低了几个数量级。软件的购买决策,慢慢不再由上层决定,而开始变成自下而上的决策。起初,小团队和个人会自发使用一些帮助他们解决问题的工具,然后这种行为会在整个公司中蔓延。 比如,一个小组先采用了 Slack,然后整个团队都在用,接着邻近的团队也开始用,直至其他部门的团队也开始用。最终,高管们别无选择,只能在整个公司范围内采用它。如果普通员工一直在使用替代解决方案,并且知道它更有效时,他们就会站起来并要求采用它。 随着软件自下而上地采用,业务部门的行为开始像消费者。一个小团队会一时兴起尝试新事物,如果不起作用,他们会继续前进,尝试其他选择。如果确实可行,他们将继续使用它,甚至将其散布到整个组织中。 原因二:公司使用的软件品种激增。 根据一项统计,过去的15年中,公司使用的软件工具的品种激增。曾经的企业软件包含的专有功能(例如:性能管理,团队沟通,文件共享等),现在都不得不与专注于单一功能解决方案的 SaaS 公司竞争。这意味着,企业软件的固定合同锁定模式已经一去不复返了,企业软件对客户将不再有多年的锁定,而是必须与那些不断涌现的廉价云端替代产品竞争。 原因三:单个软件的使用周期变短。 公司也比以往任何时候,都更加频繁地更换工具。以前,IBM 出售企业软件时,会派遣一个团队在客户公司的办公室内安装价值25万美元的硬件。如果该客户想要更换软件,就需要将所有这些硬件都丢掉,向另一家公司支付6位数的费用,然后进行数月的迁移。现在只需要点几下鼠标,就能完成数据迁移。 总之,目前的现状就是,越来越多的企业将更多的业务转移到线上和云上,因此整个市场正在扩展。企业只要以每个用户每月几美元的价格,就能开始使用一个软件。通往企业软件的道路比以往任何时候都更短、更容易,并且软件公司非常容易融资,因此新产品不断涌现。最后,市场已经大规模分散化,企业以前会购买一个涵盖多种工具的单一产品套件,而现在则是分散购买不同功能、不同业务的在线服务组合。 这一切意味着: (1)企业软件已死,以后只存在用于工作场所的软件。当然,发展一家财富500强公司作为客户,与发展一家75人的创业公司,仍然有所不同,但是销售的差异正在迅速缩小。 (2)现在,仅靠说服决策者,不再能赢得客户,需要为整个组织上下的所有最终用户提供令人愉悦的体验才可以。客户群正在从高管,转变为这些公司中数以百万计的工作人员。 (3)市场比以往任何时候都更具流动性。软件供应商曾经每年竞争一次年度合同,现在则是每天都在竞争。 (4)最后,品牌以新的方式发挥作用。企业软件的品牌曾经追求代表稳定性和可靠性。今天,如果软件不酷,就无法取胜。 言论与数字 1、 这些年来,我都是凌晨4点被电话叫醒,去紧急处理代码问题。这一切只是为了贯彻"快速行动"(move fast)的理念。 -- TJ Holowaychuk 2、 商人在理论上不如经济学教授,但是他的观念往往有事实根据,并且也肯用全部的意识使其实现;反之,经济学教授对于现实的观念往往不正确,他的理论很多,但是缺乏实现的能力和勇气。结果,发财的都是商人,而不是教授。 -- 德国二战元帅隆美尔 3、 随着消费者对信息的了解越来越容易、越来越多,企业应该将大量的精力、注意力和金钱投入到构建优质的产品或服务中,而将更少的精力投入到产品或服务的营销中。 -- 杰夫·贝佐斯(Jeff Bezos) 4、 如果可以的话,(你应该)多学一点法律。即使不当律师,了解律师的想法也非常有用。法学院教的是社会的操作系统。 -- HN 读者留言 5、 谷歌云游戏平台 Stadia ,不是为了满足人们的需要,我不知道它为什么存在。它的存在似乎只是因为它"可能"被制造出来,谷歌想证明这样一个概念可行,然后就制造了它。 -- 《Stadia 不是为了人们想要而存在》 6、 谷歌云游戏平台 Stadia 的所有负面评论,都是那些已经有游戏主机或游戏 PC 的人说的。 这个平台的目标用户是我这样的人,我随身携带轻便笔记本和手机,想在上面玩游戏,不希望买专门的游戏设备,也没时间耐心等待游戏安装和打补丁,并且占据巨大的存储空间。 -- HN 读者 回顾 去年的本周:《周刊第 31 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月22日


Python 异步编程入门

本文是写给 JavaScript 程序员的 Python 教程。 Python 的异步编程,其他人可能觉得很难,但是 JavaScript 程序员应该特别容易理解,因为两者的概念和语法类似。JavaScript 的异步模型更简单直观,很适合作为学习 Python 异步的基础。 本文解释 Python 的异步模块 asyncio 的概念和基本用法,并且演示如何通过 Python 脚本操作无头浏览器 pyppeteer 。 一、Python 异步编程的由来 历史上,Python 并不支持专门的异步编程语法,因为不需要。 有了多线程(threading)和多进程(multiprocessing),就没必要一定支持异步了。如果一个线程(或进程)阻塞,新建其他线程(或进程)就可以了,程序不会卡死。 但是,多线程有"线程竞争"的问题,处理起来很复杂,还涉及加锁。对于简单的异步任务来说(比如与网页互动),写起来很麻烦。 Python 3.4 引入了 asyncio 模块,增加了异步编程,跟 JavaScript 的async/await 极为类似,大大方便了异步任务的处理。它受到了开发者的欢迎,成为从 Python 2 升级到 Python 3 的主要理由之一。 二、asyncio 的设计 asyncio 模块最大特点就是,只存在一个线程,跟 JavaScript 一样。 由于只有一个线程,就不可能多个任务同时运行。asyncio 是"多任务合作"模式(cooperative multitasking),允许异步任务交出执行权给其他任务,等到其他任务完成,再收回执行权继续往下执行,这跟 JavaScript 也是一样的。 由于代码的执行权在多个任务之间交换,所以看上去好像多个任务同时运行,其实底层只有一个线程,多个任务分享运行时间。 表面上,这是一个不合理的设计,明明有多线程多进程的能力,为什么放着多余的 CPU 核心不用,而只用一个线程呢?但是就像前面说的,单线程简化了很多问题,使得代码逻辑变得简单,写法符合直觉。 asyncio 模块在单线程上启动一个事件循环(event loop),时刻监听新进入循环的事件,加以处理,并不断重复这个过程,直到异步任务结束。事件循环的内部机制,可以参考 JavaScript 的模型,两者是一样的。 三、asyncio API 下面介绍 asyncio 模块最主要的几个API。注意,必须使用 Python 3.7 或更高版本,早期的语法已经变了。 第一步,import 加载 asyncio 模块。 import asyncio 第二步,函数前面加上 async 关键字,就变成了 async 函数。这种函数最大特点是执行可以暂停,交出执行权。 async def main(): 第三步,在 async 函数内部的异步任务前面,加上await命令。 await asyncio.sleep(1) 上面代码中,asyncio.sleep(1) 方法可以生成一个异步任务,休眠1秒钟然后结束。 执行引擎遇到await命令,就会在异步任务开始执行之后,暂停当前 async 函数的执行,把执行权交给其他任务。等到异步任务结束,再把执行权交回 async 函数,继续往下执行。 第四步,async.run() 方法加载 async 函数,启动事件循环。 asyncio.run(main()) 上面代码中,asyncio.run() 在事件循环上监听 async 函数main的执行。等到 main 执行完了,事件循环才会终止。 四、async 函数的示例 下面是 async 函数的例子,新建一个脚本async.py,代码如下。 #!/usr/bin/env python3 # async.py import asyncio async def count(): print("One") await asyncio.sleep(1) print("Two") async def main(): await asyncio.gather(count(), count(), count()) asyncio.run(main()) 上面脚本中,在 async 函数main的里面,asyncio.gather() 方法将多个异步任务(三个 count())包装成一个新的异步任务,必须等到内部的多个异步任务都执行结束,这个新的异步任务才会结束。 脚本的运行结果如下。 $ python3 async.py One One One Two Two Two 上面运行结果的原因是,三个 count() 依次执行,打印完 One,就休眠1秒钟,把执行权交给下一个 count(),所以先连续打印出三个 One。等到1秒钟休眠结束,执行权重新交回第一个 count(),开始执行 await 命令下一行的语句,所以会接着打印出三个Two。脚本总的运行时间是1秒。 作为对比,下面是这个例子的同步版本 sync.py。 #!/usr/bin/env python3 # sync.py import time def count(): print("One") time.sleep(1) print("Two") def main(): for _ in range(3): count() main() 上面脚本的运行结果如下。 $ python3 sync.py One Two One Two One Two 上面运行结果的原因是,三个 count() 都是同步执行,必须等到前一个执行完,才能执行后一个。脚本总的运行时间是3秒。 五、实例:pyppeteer 模块 最后是一个异步编程的真实例子:操作无头浏览器。异步编程对代码的简化,在这个例子体现得淋漓尽致。 我们需要用到 pyppeteer 模块,它是无头浏览器 Puppeteer 的 Python 移植,API 跟 JavaScript 版本基本一致。下面是安装命令。 $ python3 -m pip install pyppeteer 然后,写一个网页截图脚本screenshot.py。 #!/usr/bin/env python3 # screenshot.py import asyncio from pyppeteer import launch async def main(): browser = await launch() page = await browser.newPage() await page.goto('http://example.com') await page.screenshot({'path': 'example.png'}) await browser.close() asyncio.run(main()) 上面代码中,启动浏览器(launch)、打开新 Tab(newPage())、访问网址(page.goto())、截图(page.screenshot())、关闭浏览器(browser.close()),这一系列操作都是异步任务,使用 await 命令写起来非常自然简单。 执行这个脚本,当前目录下就会生成截图文件 example.png。 $ python3 screenshot.py 如果脚本执行时报错 No usable sandbox!,可以参考这里。另外,第一次执行这个脚本,会下载安装 Puppeteer,可能需要等待较长时间,但是此后的执行就会很快。 Pyppeteer 的官网还有其他实例,比如向网页注入 JavaScript 代码,大家可以自己试玩。 六、参考链接 Async IO in Python: A Complete Walkthrough, Brad Solomon (正文完) 如何通过实战项目快速提升 Python 开发技能? Python 是当下最火的编程语言,房地产大佬潘石屹都说要学。 它上手极为简单,短时间内你就能写出解决实际问题的小程序,甚至去面试初级 Python 工程师的职位。 不过,要写出更复杂的应用,或者从事数据分析、机器学习、Web 开发等工作,就需要正规系统的学习了。建议从一个简单的小项目开始,然后不断完善功能,去学习更多新东西。 第一步:写一个最简单的爬虫,比如获取 B 站的弹幕或豆瓣的书评影评。 第二步:单线程爬虫扩展为多线程爬虫,了解进程、线程、锁。 第三步:对收集的数据进行清洗和分析。 第四步:将数据报告在 Web 端展示,了解 MVC 设计模式、Web 框架、数据库操作。 完成以上四步,就从一个初级 Python 使用者成长为一名熟练工了。当然说起来简单,真正实践起来并不容易。每一步都会有比较多的坑,对于没有经验的人来说,自学效率比较低。如果有一个经验丰富的老师带,效果会好很多。 尹会生,金山公司西山居运维总监,在极客时间讲过《零基础学Python》和《Linux实战技能100讲》两个课程,参与编写过 《白话大数据与机器学习》 《运维前线》等书籍。 他与极客时间合作,推出了线下+线上相结合的《Python 进阶训练营》,手把手、面对面地帮助你,50天内实现 Python 开发技能的进阶和突破,完成上面四步,从初级使用者成长为专业选手。 4 个实战项目串联起全部关键知识 4 天线下教学 + 5 次线上直播 + 7 周刻意练习 + 助教每日答疑 高效学习社群 + 班主任带班 一线大厂和 TGO 鲲鹏会600多家企业面试直通车。优秀毕业生一年内获得两次企业内推服务。 原价 ¥3600, 早鸟特惠 ¥2499,早鸟仅限 100 人 ,微信扫描下方二维码,立即加入???? 无论是否报名,微信扫描下方二维码,即可免费获取 Python 学习资料包。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月21日


CSS 定位详解

CSS 有两个最重要的基本属性,前端开发必须掌握:display 和 position。 display属性指定网页的布局。两个重要的布局,我已经介绍过了:弹性布局flex和网格布局grid。 本文介绍非常有用的position属性。我希望通过10分钟的阅读,帮助大家轻松掌握网页定位,说清楚浏览器如何计算网页元素的位置,尤其是新引进的sticky定位。 本文由国内最大的在线教育平台之一"腾讯课堂"赞助。他们现在启动了"腾讯课堂101计划",推广平台上的课程资源,有不少优质内容。希望提高前端技术水平的同学,可以留意一下本文结尾的免费课程信息。 一、position 属性的作用 position属性用来指定一个元素在网页上的位置,一共有5种定位方式,即position属性主要有五个值。 static relative fixed absolute sticky 下面就依次介绍这五个值。最后一个sticky是2017年浏览器才支持的,本文将重点介绍。 二、static 属性值 static是position属性的默认值。如果省略position属性,浏览器就认为该元素是static定位。 这时,浏览器会按照源码的顺序,决定每个元素的位置,这称为"正常的页面流"(normal flow)。每个块级元素占据自己的区块(block),元素与元素之间不产生重叠,这个位置就是元素的默认位置。 注意,static定位所导致的元素位置,是浏览器自主决定的,所以这时top、bottom、left、right这四个属性无效。 三、relative,absolute,fixed relative、absolute、fixed这三个属性值有一个共同点,都是相对于某个基点的定位,不同之处仅仅在于基点不同。所以,只要理解了它们的基点是什么,就很容易掌握这三个属性值。 这三种定位都不会对其他元素的位置产生影响,因此元素之间可能产生重叠。 3.1 relative 属性值 relative表示,相对于默认位置(即static时的位置)进行偏移,即定位基点是元素的默认位置。 它必须搭配top、bottom、left、right这四个属性一起使用,用来指定偏移的方向和距离。 div { position: relative; top: 20px; } 上面代码中,div元素从默认位置向下偏移20px(即距离顶部20px)。 3.2 absolute 属性值 absolute表示,相对于上级元素(一般是父元素)进行偏移,即定位基点是父元素。 它有一个重要的限制条件:定位基点(一般是父元素)不能是static定位,否则定位基点就会变成整个网页的根元素html。另外,absolute定位也必须搭配top、bottom、left、right这四个属性一起使用。 /* HTML 代码如下 <div id="father"> <div id="son"></div> </div> */ #father { positon: relative; } #son { position: absolute; top: 20px; } 上面代码中,父元素是relative定位,子元素是absolute定位,所以子元素的定位基点是父元素,相对于父元素的顶部向下偏移20px。如果父元素是static定位,上例的子元素就是距离网页的顶部向下偏移20px。 注意,absolute定位的元素会被"正常页面流"忽略,即在"正常页面流"中,该元素所占空间为零,周边元素不受影响。 3.3 fixed 属性值 fixed表示,相对于视口(viewport,浏览器窗口)进行偏移,即定位基点是浏览器窗口。这会导致元素的位置不随页面滚动而变化,好像固定在网页上一样。 它如果搭配top、bottom、left、right这四个属性一起使用,表示元素的初始位置是基于视口计算的,否则初始位置就是元素的默认位置。 div { position: fixed; top: 0; } 上面代码中,div元素始终在视口顶部,不随网页滚动而变化。 四、sticky 属性值 sticky跟前面四个属性值都不一样,它会产生动态效果,很像relative和fixed的结合:一些时候是relative定位(定位基点是自身默认位置),另一些时候自动变成fixed定位(定位基点是视口)。 因此,它能够形成"动态固定"的效果。比如,网页的搜索工具栏,初始加载时在自己的默认位置(relative定位)。 页面向下滚动时,工具栏变成固定位置,始终停留在页面头部(fixed定位)。 等到页面重新向上滚动回到原位,工具栏也会回到默认位置。 sticky生效的前提是,必须搭配top、bottom、left、right这四个属性一起使用,不能省略,否则等同于relative定位,不产生"动态固定"的效果。原因是这四个属性用来定义"偏移距离",浏览器把它当作sticky的生效门槛。 它的具体规则是,当页面滚动,父元素开始脱离视口时(即部分不可见),只要与sticky元素的距离达到生效门槛,relative定位自动切换为fixed定位;等到父元素完全脱离视口时(即完全不可见),fixed定位自动切换回relative定位。 请看下面的示例代码。(注意,除了已被淘汰的 IE 以外,其他浏览器目前都支持sticky。但是,Safari 浏览器需要加上浏览器前缀-webkit-。) #toolbar { position: -webkit-sticky; /* safari 浏览器 */ position: sticky; /* 其他浏览器 */ top: 20px; } 上面代码中,页面向下滚动时,#toolbar的父元素开始脱离视口,一旦视口的顶部与#toolbar的距离小于20px(门槛值),#toolbar就自动变为fixed定位,保持与视口顶部20px的距离。页面继续向下滚动,父元素彻底离开视口(即整个父元素完全不可见),#toolbar恢复成relative定位。 五、 sticky 的应用 sticky定位可以实现一些很有用的效果。除了上面提到"动态固定"效果,这里再介绍两个。 5.1 堆叠效果 堆叠效果(stacking)指的是页面滚动时,下方的元素覆盖上方的元素。下面是一个图片堆叠的例子,下方的图片会随着页面滚动,覆盖上方的图片(查看 demo)。 HTML 代码就是几张图片。 <div><img src="pic1.jpg"></div> <div><img src="pic2.jpg"></div> <div><img src="pic3.jpg"></div> CSS 代码极其简单,只要两行。 div { position: sticky; top: 0; } 它的原理是页面向下滚动时,每张图片都会变成fixed定位,导致后一张图片重叠在前一张图片上面。详细解释可以看这里。 5.2 表格的表头锁定 大型表格滚动的时候,表头始终固定,也可以用sticky实现(查看 demo)。 CSS 代码也很简单。 th { position: sticky; top: 0; } 需要注意的是,sticky必须设在<th>元素上面,不能设在<thead>和<tr>元素,因为这两个元素没有relative定位,也就无法产生sticky效果。详细解释可以看这里。 (正文完) 免费前端全栈课程 初学者刚接触前端,往往会被一大堆技术名词、框架和工具,搞得眼花缭乱。 到底哪些技术是目前的主流技术栈,既能用于公司的开发实务,又能为自己的简历增添亮点? 下面就是一套目前主流的前端技术栈。 (1)Node.js:服务器端的 JavaScript 运行环境,不管哪种前端开发,都必不可少的底层环境。 (2)Webpack:语法转换工具,把 ES6/TypeScript/JSX 语法转成浏览器可以运行的代码。 (3)Koa2:一个非常流行、简洁强大的 Node.js 后端的 Web 开发框架。 (4)MongoDB:目前应用最广泛的非关系数据库之一,功能丰富,用法较简单。 (5)Vue 全家桶: Vue:前端基础框架 Vuex:配套的前端状态管理库。 Vue Router:官方的路由插件,构建单页面应用必不可少。 Vue CLI:脚手架工具,帮你快速上手 Vue 开发,无需再花多余时间去实现项目架构。 Vant:有赞前端团队开发的轻量级移动端 Vue 组件库,让你快速使用已经封装好的各种页面组件。 看到这个名单,你是不是感到有点头大,全部掌握它们需要多少时间啊? 现在,腾讯课堂就有一门这样的课程,内容包含了所有这些工具,教你怎么用它们从头完成一个全栈项目,亲手做出一个手机端的移动商城,是由 慕课网的精英讲师--谢成老师讲授 。 这个课程原价98元, 活动期间,只要1块钱哦! 微信扫描下面的二维码,就可以领取优惠券,享受1元听课的福利。 该课程的制作单位是青盟科技。它是《腾讯课堂101计划》重点推广的优质机构,已有7年 IT 行业教学经验,培养收费学员2000+,有超过72%的学员都进入到名企大厂。如果你想了解课程的详细内容,获取课程大纲,或者想接受系统的前端培训,可以登录腾讯课堂查看"青盟科技"。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月19日


容错,高可用和灾备

标题里面的三个术语,很容易混淆,专业人员有时也会用错。 本文就用图片解释它们有何区别。 容错 容错(fault tolerance)指的是, 发生故障时,系统还能继续运行。 飞机有四个引擎,如果一个引擎坏了,剩下三个引擎,还能继续飞,这就是"容错"。同样的,汽车的一个轮子扎破了,剩下三个轮子,也还是勉强能行驶。 容错的目的是,发生故障时,系统的运行水平可能有所下降,但是依然可用,不会完全失败。 高可用 高可用(high availability)指的是, 系统能够比正常时间更久地保持一定的运行水平。 汽车的备胎就是一个高可用的例子。如果没有备胎,轮胎坏了,车就开不久了。备胎延长了汽车行驶的可用时间。 注意,高可用不是指系统不中断(那是容错能力),而是指一旦中断能够快速恢复,即中断必须是短暂的。如果需要很长时间才能恢复可用性,就不叫高可用了。上面例子中,更换备胎就必须停车,但只要装上去,就能回到行驶状态。 灾备 灾备(又称灾难恢复,disaster recovery)指的是, 发生灾难时恢复业务的能力。 上图中,飞机是你的 IT 基础设施,飞行员是你的业务,飞行员弹射装置就是灾备措施。一旦飞机即将坠毁,你的基础设施就要没了,灾备可以让你的业务幸存下来。 灾备的目的就是,保存系统的核心部分。一个好的灾备方案,就是从失败的基础设施中获取企业最宝贵的数据,然后在新的基础设施上恢复它们。注意,灾备不是为了挽救基础设置,而是为了挽救业务。 总结 上面三个方面可以结合起来,设计一个可靠的系统。 容错:发生故障时,如何让系统继续运行。 高可用:系统中断时,如何尽快恢复。 灾备:系统毁灭时,如何抢救数据。 参考文献 The Difference Between Fault Tolerance, High Availability, & Disaster Recovery , Patrick Benson (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月17日


科技爱好者周刊:第 82 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 封面图:11月2日,印度首都新德里出现严重雾霾,PM 2.5 指数 AQI 达到900多。 刊首语 本周推荐一篇文章,一个美国的高级工程师谈如何选职业。 作者原来是一个外行,但是通过努力,进入了一家机器学习公司,现在发展得很好。他从自己的经历,得出一个观点: 就业要选择发展最快的行业。 停滞发展、或者缓慢发展的公司,完全是一个零和游戏。 如果你想晋升,必须等别人把位置空出来。你得到的,一定是其他人失去的。相比之下,快速发展的公司有源源不断的新人加入,最终每个人都会得到晋升! 最重要的是,业务的发展比人员增长快,所以你会被"往上拉",拉到更高层的岗位。 作者以自己为例,他并没有机器学习背景,但是公司发展得太快,他需要组建团队,自然就成了团队管理者,环境把他"拉"到了更高的位置上。位阶高了,就有了更多的机会和资源。 这让我想起自己呆过的一所大学,每年学校就那么几个名额,可以晋升教授和副教授,大家挤破头,如果今年评不上,就要至少再等一年。有的老师熬到头发白了,才评上副高职称。这就是发展缓慢的结果。去了这种地方,真是消耗生命。 那篇文章还提到了另外一点,我也很赞同。他说,就业的目的是为自己积累两种资本:人力资本(增长能力)和金融资本(多赚钱)。对于年轻人来说,人力资本更重要。 就业时,年轻人的关注重点应该是,快速增长自己的人力资本。 因为长期来看,在你的一生中,人力资本会比金融资本带来更大的回报。 最快速形成人力资本的方法,就是去聪明人多的地方,从比你更聪明的人身上学习。跟高手在一起工作,你会成长得非常快。大公司虽然高手很多,但是你接触不到也没用。 在一个快速发展的行业里面,加入一群聪明人组成的小团队,可能是事业成功的最佳方式。 前端架构师免费课程 开课吧(kaikeba)是国内著名的职业教育培训品牌,他们最近推出了一个 《进击的前端架构师》 免费课程,介绍给大家。 这个课程的主讲人是百度和360的前端架构师----大圣,他有8年的开发经验,讲课风格幽默,内容实在。 他在这个课程里面,主要讲了以下内容:(1)自己如何进入百度、360团队,如何从高级工程师进阶为全栈架构师,以及如何通过 BAT 大厂的面试;(2)分享自己的工作经历和学习方法,以及对技术提升的看法,如何做到有计划地学习才能不走弯路?(3)不同类型的企业,不同氛围的团队中的工作方式,他们的薪资水平以及工作氛围怎么样等等;(4)在前端团队中快速成长的实际经验,如何才能得到清晰的提升路径方便后续的职业发展规划? 这个课程很适合刚入行的新人,以及工作1年~3年、但是还缺乏工作方法和系统知识体系的开发者观看。帮助你看清技能提升路线,节省学习时间。 微信扫描下方二维码,就可以获取课程。 本次免费名额有限,仅提供 499 份 ,感兴趣的读者抓紧扫码领取。 资讯 1、正在消失的加油站 美国电动汽车越来越多,传统的汽油车少了以后,加油站受到了影响,生意越来越清淡。不少加油站被迫改成亚马逊的包裹站(上图),或者快餐店。 据估计,电动汽车的流行将使得美国汽油消耗量,在2025年至2027年期间开始下降。如果不改变业务模式,到了2035年,60%~80%的加油站将关闭。 目前,美国加油站的数量已经在下降了,从1990年代的约20万家,减少到目前的约13.5万家。下面是未来的无人驾驶汽车充电站。 2、纸电话 手机变得越来越重要,使得人们无法离开它。即使你想少用手机,但是重要的事情都在上面,你不得不用。谷歌正在发起一个实验项目"纸电话",尝试让人们少用手机。 它开发了一个安卓应用,用户可以选择当天的重要事项:联系人、日程、地图、会议等等......。该应用会将所有这些事项,打印在一张纸上,用户只要携带这张纸,就不用看手机了。 3、钢筋混凝土建筑的寿命 现代建筑大量使用钢筋混凝土,这种建筑的寿命只有60年~100年。因为混凝土有裂缝,水会进入裂缝,使得钢筋生锈而膨胀,扩大了裂缝,削弱了混凝土的强度。现有的解决方案都很昂贵,比如不透水混凝土。 澳大利亚科研人员提出一种新的解决方案,采用玻璃纤维和碳纤维钢筋,防止钢筋生锈,大大延长建筑寿命。虽然成本比传统方法高一些,但是从长远来看价格会更便宜,因为这些建筑至少可以使用100年,而无需任何维护。 下一步,研究人员将研究融化玄武岩,并将其挤压成纤维来制造钢筋,这样能彻底解决生锈问题。玄武岩纤维比碳纤维更便宜、更环保。 4、脑电波头环 最近,美国媒体报道,浙江金华的一所小学为学生们配置了"脑机接口头环",让学生戴在头上。据该媒体说,这款产品可以检测脑电波,评判学生上课、写作业时是否集中注意力。还会将结果实时传输到老师的电脑上,发到家长群里。 该产品是深圳一家公司研发的,由投资人捐赠给该小学使用。这家深圳公司称,头环根本不是为了监控学生,而是帮助学生自我训练,集中注意力进行学习。它通过脑电波反馈,使得用户提高专注力,此前已经在美国波士顿地区的多所中学进行了运用,包括耶鲁大学的暑期班。 5、贴片显示器 南京大学的研究人员发明了一种薄型的发光贴片,可以贴在皮肤上,显示数字或图案。这对于运动员和跑步爱好者很有用,也可以当作临时纹身。 显示器一般需要较高的电压,但是这种发光贴片是在低电压下使用,所以对人体安全。贴片里面的发光材料是一种陶瓷纳米颗粒,这些颗粒夹在两个柔性的银纳米电极之间,一旦通电,可以发出亮度很高的光,足以在室内或黑暗环境中看到。 6、复制云冈石窟 山西云冈石窟的第12窟2018年在深圳完成了3D打印,2019年11月完成了上色总装,将于12月底亮相浙江大学艺术与考古博物馆。 第12窟又名"音乐窟",建造于公元5世纪。前殿后室,入深14米、宽11米、高9米,石窟内部用立体雕刻的形式,记载了古代音乐人盛大演出场面。打印石窟与原石窟1比1复制,整个石窟体积超过2000立方米。里面的雕像都是打印出来的,但是需要人工上色。 7、为什么亚马逊不缴税? 亚马逊是美国最大的公司之一,2018年赢利110亿美元,但是一分钱所得税也没缴,而且完全合法。 这主要有两个原因。一是根据美国的税法,利润用于研发和投资,可以抵税。二是,员工的股票薪酬也可以抵税。2018年,亚马逊的股票大幅上涨,员工持有股票期权因此大幅获利,这部分获利也作为企业成本扣税,最终导致亚马逊不用缴税。 这件事在美国已经引起轩然大波,不少人抗议,美国正在研究如何改进税法,避免大型技术公司不缴税。 8、一句话消息 美国人口统计局公布,2018年,美国人的平均通勤时间为27分钟,创历史新高。其中,通勤时间超过60分钟的约占10%。 一个欧洲医生组织发表声明,反对世界卫生组织 WHO 将中医列入《国际疾病分类》的第11版。 美国有人起诉苹果手机的刘海屏,理由是根据苹果公司宣传的屏幕尺寸和分辨率计算出的像素跟实际不符。法官在法庭上说:"美国似乎没人真正担心这个"。 日本的软银公司出现14年来第一次季度亏损,金额为65亿美元,主要原因是它投资的 WeWork 公司 IPO 失败。 一家好莱坞电影公司决定明年开拍的新片,启用詹姆斯·迪恩(James Dean)作为男主角。詹姆斯·迪恩已在1954年车祸去世,明年他的表演将完全采用计算机图形生成。 水星凌日于11月11日发生,美洲可以看到水星经过太阳表面(下图的小黑点),亚洲本次看不见。下一次水星凌日将发生在2032年。 巴西是全世界主要的牛肉和大豆出口国,为了把牛肉和大豆从内陆运出来,以及获得更大的种植基地,该国把亚马逊雨林变成耕地,并且在雨林地区修建公路。 文章 1、软件工程师如何才能晋升?(英文) 本文总结了软件工程师如何才能在大公司里面获得职级晋升。 2、椭圆曲线加密介绍(英文) 本文抽离了数学细节,尽量用简单的图形解释椭圆曲线加密算法。 3、TypeScript 的由来(英文) 本文由当事人讲述 TypeScript 早期的故事,从中可以看到这门语言的设计过程。 4、数据库类型的历史回顾(英文) 本文按照历史发展,介绍了数据库的四种类型以及子类:传统数据库、关系型数据库、NoSQL 数据库、NewSQL 数据库。 5、两行 Nginx 配置返回客户端的 IP 地址(英文) Nginx 的一个小技巧,在不使用编程语言的情况下,在 JSON 对象里返回客户端的 IP 地址。 6、AMD 与 英特尔的财务数据比较(英文) 本文比较这两家主要 CPU 公司的财务数据指标,可以了解 CPU 市场的格局。我印象比较深的是,这两家公司的员工平均收入都可以达到60万美元。 7、CSS 如何自动切换明暗模式(英文) 本文介绍如何让 CSS 根据不同设备,自动选择暗模式(dark mode)或明模式(light mode)。 8、Timsort 介绍(英文) Timsort 是 Python、Java 等的默认排序算法,本文简要介绍这种算法。 9、C++ 生态环境介绍(英文) 本文介绍 C++ 的各种配套工具:编译器,IDE,调试器等。 10、如何估算银河系中的外星文明的数目?(英文) 1961年,美国天文学家弗兰克·德雷克(Frank Drake)提出一个方程,用于计算银河系中可能与地球发生无线电通信的外星文明数量,当时估计20个~5000万个之间。本文根据现在的数据计算,得出结果是46个。 工具 1、Apache Guacamole 一个远程桌面网关,可以在浏览器中远程访问其他计算机的桌面。 2、HTTP Toolkit 这个工具可以拦截和查看 HTTP/HTTPS 请求,并且可以 mock 服务器的回应。 3、imgproxy 一个 Go 语言写的图片代理网关,可以代理远程图片,并且提供格式转换和大小缩放功能。 4、WebTest.app 一个在线工具,比较广告拦截器对指定网址加载速度的影响,比如少了多少个请求、页面总体积下降多少。 5、React Hooks Form 这是一个 React 表单库,基于 React Hooks,看上去代码相当简洁,star 也很高,也许以后可以摆脱那些笨重的表单组件了。 6、Shiori Shiori 是一个自己架设服务的网址书签管理器,使用 Go 语言编写。 7、navi 一个命令行的交互式备忘工具,你可以查阅某个命令的作用。 8、Slouch stoppah 一个在线小工具,通过电脑摄像头,判断坐在屏幕前面的人的坐姿是否正确。 9、诺基亚短信图片生成器(英文) 这个工具可以生成老式诺基亚手机的短信图片。(@dcalsky 投稿) 10、YaoYao - 跳绳 一个微信小程序,带着手机跳绳,可以自动计数跳了多少下。(@haozes 投稿) 11、Basecamp 个人版 著名的项目管理软件 Basecamp 推出免费的个人版,此前都是要收费的。个人版最多一个项目可以有20个用户,对于小团队够用了。 12、GitHub Mobile GitHub 首次发布官方的手机客户端,目前只有 iOS 的 App,安卓版将稍后发布。 资源 1、LXC 系统教程(英文) LXC 是 Linux 容器的一个运行时,可以看作 Docker 的替代品。本系列是 LXC 的一个作者写的如何上手的系列文章。 2、Clojure for the Brave and True Clojure 语言的在线教程。 3、法信 一个法律仓库,可以在线搜索国内的各种法律。(@Gina1101 投稿) 4、《高性能 Go 代码工坊》中译 原文是深入研究 Go 应用性能提升的英语系列文章,这里是中译。(@hznuksco 投稿) 5、Haskell 语言48小时教程:如何写一个 Scheme 语言解析器(英文) 这是一个入门教程,针对的是不懂 Haskell 语言、但有经验的程序员。 图片 1、蝴蝶的诞生过程 美国生物学家蒂姆·黄(Tim Wong)在后院饲养珍稀蝴蝶,他拍下了蝴蝶诞生的整个过程。蝴蝶成员产下红色的卵后,就会死去。 卵孵化成毛毛虫。 毛毛虫变成蛹,蛹变成蝴蝶。 2、动物桥梁 新加坡的高速公路上方,建有动物桥梁,方便动物通过。 下图是另一座动物桥梁。 荷兰是这种桥梁最多的国家,一共有30多座。 3、死亡公路 1990年海湾战争,科威特城外的一条高速公路,炮火阻塞了2000多辆汽车。美军为了清出这条道路,摧毁了路上的每一辆车,将它们都推到路边。 文摘 1、锂元素对人体的影响 澳大利亚医生约翰·卡德(John Cade)发现了锂元素可以治疗精神疾病,但大多数人从未听说过他。今天,锂元素被看作治疗精神疾病的青霉素。它是人类发现的第一种治疗精神疾病的有效药物。 卡德生于1912年,来自一个医生世家,他的父亲担任过精神病院的医生,所以他从小就了解精神病。他坚信,所有严重的精神疾病最终原因都是大脑的生化异常,而不是心理因素导致的,弗洛伊德的精神分析法是无用的。 他做了一个实验,将躁狂症患者的尿液注射到豚鼠,结果豚鼠出现惊厥和死亡。他认为,躁狂症患者尿液中尿酸水平较高,导致豚鼠出现尿素中毒。 根据文献,锂元素可以溶解含有尿酸的肾结石,他就向豚鼠注射了锂元素饱和的尿液,豚鼠结果没有惊厥或死亡。受到这一发现的鼓舞,他随后开始自己服用锂盐以测试其安全性,然后再给躁狂症患者服用。 1949年,37岁的卡德发表了一篇论文,宣布锂元素可以使躁狂症患者冷静下来,症状平息。因此他认为,锂元素可以用来治疗躁狂症和癫痫。 论文发表后,并没有引起太大反响,只是一些有好奇心的医生注意到了这篇文章。1950年~1960年期间,一位名叫 Mogens Schou 的精神病学家进行了大量的临床试验,结果表明锂元素不仅可以缓解急性躁狂症,还可以减少复发频率。越来越多的证据表明,锂是可以挽救生命的神奇药物。 由于锂元素只需简单添加,不必开发出专门的药物,对于制药公司来说无法申请专利,也无利可图,且会打击市场上已有的药物,所以产业界不愿意推广它。布朗大学精神病学家沃尔特·布朗(Walter Brown)目睹了锂的积极作用后,伤心地写道,1960年代美国医药管理局 FDA 拖拖拉拉,没有及时批准锂元素的药物上市,使得成千上万的美国公民失去了一种能够防止破坏性的情绪波动,并降低自杀风险的治疗方法。 最终,锂元素终于投放了市场。布朗医生估计,此后20年中它为美国节省了约1,450亿美元。 锂元素的药用效果,其实早有应用。1929年,一种柠檬苏打水上市,被命名为 7 Up(中文名为七喜),成为流行的饮料。它含有镇静剂成分,后来发现镇静效果来自它包含的柠檬酸锂。 1948年,7 Up 的生产商从饮料中去除了锂。后来,随着锂元素的效果被医学研究证实,以及人们发现,世界上锂使用量较高的地区自杀率较低,7 Up 又重新加入了锂。 2、伊万·奇索夫 伊万·奇索夫(Ivan Chisov,1916-1986)是一个二战时期的苏联飞行员,从7000米高空自由落体下坠,却幸存下来。 1942年1月,一架德国空军的战斗机击中了奇索夫的轰炸机,迫使他在7000米的高空跳伞。 由于德军战斗机仍在他的上方,奇索夫一开始故意不打开降落伞,防止成为战斗机的目标。等到战斗机飞远了,他想打开降落伞的时候,已经来不及了,由于急速下坠,他陷入昏迷,失去了知觉,无法拉开降落伞的拉索。 奇索夫以大约190至240公里/小时的速度落地,撞到了一个积雪的山坡,然后一路向下滑行,滚到山沟底部。苏联骑兵赶到现场时,惊讶地发现他还活着,身上带着没有打开的降落伞。过了不久,奇索夫醒来,恢复了意识。 他受了重伤,包括脊柱受伤和骨盆骨折,紧急进行了手术。整整一个月,医生都认为他的病情很危险。但是,三个月之后,他恢复了健康,要求继续执行飞行任务。 战争结束以后,他进入了军事院校读书,后来成为苏军的人民代表。他于1986年去世。 言论与数字 1、 软胜硬,慢胜快。 让你的工作是个谜,只是向人们展示结果。 -- 斯蒂芬·米切尔翻译的《道德经》第36章 2、 /usr/bin/cat命令的作用是,从一个位置读取数据并将其写入另一个位置。 -- 《躲开 cat 命令》 3、 两页的文章是所有写作中最重要的形式。 -- 《在亚马逊写文档》 4、 收入波动率自1980年代以来一直在创新高,人们对自己的收入变化越来越不可预测。 -- 《收入下降可能损害大脑》 5、 为了证明自己比互联网功能多,许多大学图书馆都将资源投入到室内设计和建筑物的翻新,或在"炫目的技术"上投入大量资源,例如 3D 打印机。但是,学生通常最喜欢图书馆提供的最简单产品:一个安静的地方进行学习研究,打印论文、以及获取书籍。 -- 《大学生只需要普通图书馆》 6、 我认为,电动汽车比传统汽车更简单是一个谬论。因为电动汽车将复杂性从硬件转移到了软件,因此看上去硬件更简单。 -- HN 读者 招聘信息 周刊讨论区的《谁在招人?》,有大量工作/实习岗位,欢迎查看。 如果你的团队需要招人,可以免费在那里张贴招聘信息。如果希望发在周刊上,请联系我(Email: yifeng.ruan@gmail.com ),每条价格 300 元。 1、 长亭科技 长亭科技是全球顶尖的网络信息安全公司,专注为企业级用户提供专业的网络信息安全解决方案。办公地点:北京市海淀区768创意园区。诚意招聘以下岗位: 前端工程师:负责公司 Web 产品的研发和维护。 后端工程师:熟悉 Python 或 Go 语言,负责后端架构的设计和实现。 详细要求和联系方式,请看这里。 2、薄荷健康 薄荷健康是一家健康领域 App 开发公司,主要产品为"薄荷健康"和"食物库",总用户已达数千万级别。工作地点为上海浦东世纪大道地铁站附近。诚意招聘以下岗位: 前端 Web 工程师(1名):有Web和小程序经验,熟悉React/Vue。 后端工程师(2名):熟悉Go/Ruby/Python,进行 App 系统后端开发。 详细要求和联系方式请看这里。 3、易路软件 易路软件聚焦企业人力资源 SaaS 领域,致力于以复杂薪酬计算为核心的"移动互联网+员工服务"研发及运营。工作地点:上海闵行区。 招聘前端工程师,参与公司产品研发,包括不限于 PC 端、H5、小程序、Node 服务。详细要求和联系方式看这里。 回顾 去年的本周:《周刊第 30 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月15日


杨安泽的总统竞选

2020美国总统参选人有一个44岁的华人,名叫杨安泽(Andrew Yang)。 开始时,谁也没在意,华人选美国总统,不是开玩笑吗? 华人是美国的少数民族,很少参与政治,历史上只有1964年一个夏威夷华人參选过总统。杨安泽是史上第二个,而且各方面条件都不突出:资历平平,毫无政治经验,没有干过公职,知名度是所有参选人的倒数第一。很多人把他当作笑话看。 但是,他让所有人跌破眼镜。目前,民主党候选人辩论进入了第五轮,许多政治老将都已经被甩下车,但他还活着,而且支持率不断上升,正在逼近领先的第一集团,堪称神奇表现。 这两天,我仔细看了他的竞争主张,感到耳目一新,很有说服力,理解了为什么很多美国人愿意支持他。 杨安泽在美国出生长大,父母是台湾过去的留学生。他的专业是法律,毕业后干了5个月实习律师,就不想干了,去创办网站。2001年,网站倒闭,他又去担任了几家公司的管理工作。2009年,他的公司被收购,赚到了不少钱。 2011年,他创立了一个名叫"为美国创业"的奖学金计划,帮助美国各地想要创业的大学生。 这个计划看起来很成功,2012年他被奥巴马政府授予"白宫变革领袖"的称号,2015年又被授予"全球创业精神总统大使"。他还获选为"全球100位商界创新人士"。 在创业过程中,他深深感到,底层人民很难赶上新技术的进步,变得越来越难以就业,就算找到了工作,最终往往会陷入失业的泥潭,无法自拔。正在发生的"第四次产业革命",会让卡车司机、电话客服、售货员都逐渐消失,那些岗位上现有从业者的生活将变得非常困难。 一项研究表明,制造业工人失业后进行再就业培训,成功率只有0%~15%。也就是说,失业者想要再就业,10个人里面只有1个人能成功,剩下的9个人将毫无办法。 有鉴于此,他提出了一个对策,也是本次竞选的主打政策,称为"全民基本收入": 只要他当选美国总统,年满18岁的美国公民,每人每月可以从政府领取1000美元,没有任何前提条件。 他希望,通过发放全民基本收入,缓和新技术革命给社会带来的阵痛。 他警告说,未来的三十年,自动化和人工智能将占据美国一半的就业岗位。那些没有技能的劳工,很难在市场上找到自己的位置。他的1000美元全民基本收入,可以缓解社会的痛苦,解决各种社会问题。直接给人民发钱,比再就业培训更有效,更符合人民的需要。 竞选对手质疑他的计划,如果真要发钱,每年将新增2兆美元的预算支出,这些钱从哪里来?杨安泽回应,除了调整现有福利经费,还将对科技公司征收增值税,补足资金缺口。 一次演讲中,他对听众提问:"有一个州每年发红利,每个居民可以获得一千到两千美元,那是哪个州?" 听众在下面喊:"阿拉斯加州!" "他们怎么解决资金问题?" 听众回答:"石油!"阿拉斯加州有大量石油,从1982年开始,州政府每年都提取一部分石油收入,向该州居民发补贴。 杨安泽继续问:"21世纪的石油是什么?" 听众跟着他一起喊:"技术!" "对,阿拉斯加州用石油赚的钱,来发津贴,我们也可以用技术赚到的钱,在全国范围实现基本收入。我们需要对大型科技公司征收增值税。" 除了基本收入,杨安泽另外两个政策主张是,"全民医保"和"以人为本的资本主义 "。这些政策主张,还有他对技术的看法(技术带来的社会影响是美国未来最迫切的问题),以及他对自动化带来大量失业的警告,引发了极右派民众的共鸣。他们认为杨安泽理解蓝领白人的困境,他的很多支持者也是特朗普的支持者。此外,进步主义者和保守派也支持他的主张。所有这些人构成了他的支持者的基础,杨安泽说自己是最有希望击败特朗普的人。 2018年3月,杨安泽宣布参选2020。民主党这次的参选人超过20个,因此要求只有收到65,000人次的捐款和民调支持率超过1%的候选人,才能参加辩论。 2019年3月14日,杨安泽超过了65,000个捐款者的筹资门槛,并在18项民意调查中达到1%支持率,有资格参加第一轮和第二轮辩论。 2019年6月27日,民主党第一轮辩论。杨安泽只被问了两个问题,发言时间一共两分零五十六秒,是所有參选人最低的。他声称自己的麦克风出了故障,他要讲话时,麦克风没有发声。 2019年7月31日,民主党第二轮辩论,他一共讲了8.7分钟,再次成为所有參选人中最低的,他也是唯一没有跟别人诘辩的参选人,即没人拿他当目标。 杨安泽在两轮辩论中,都不戴领带,这引起了媒体的注意,开始讨论他为什么不戴领带。他因此在第二轮辩论中,说了一段被广泛引用的话。 我们在这里穿得整整齐齐,演练如何攻击其他参选人,好像参加一场电视真人秀,而不去讨论自动化技术和我们的未来,不提400万个制造业的工作岗位即将由于自动化而消失。这就是为什么我们会选出真人秀明星担任总统! 我们需要专注于解决当今的实际挑战。眼前的事实就是,未来十年中,美国现在最常见的一些工作岗位将消失,大多数美国人可能无法支付账单。我的主要对策是全民基本收入,每个美国成年人每月发给一千美元。对于成千上万的美国家庭来说,这将改变他们的命运。 如果你关心自己的家人和孩子,超过关心我的领带,请到yang2020.com输入邮政编码,看看这1000美元对你的社区意味着什么!我已经帮你做好了各种计算。我不向左也不向右,我会一直前进,这就是我们击败唐纳德·特朗普的方式。 2019年8月8日,杨安泽在民意调查中得到了2%的支持率,加上他的捐款人数过了13万,获得参加第三轮和第四轮辩论的资格。 2019年8月10日,著名企业家马斯克在推特上宣布,支持杨安泽竞选美国总统。 2019年9月12日,民主党第三轮辩论,他总共讲了7分54秒,再次是所有候选人中最低的。当晚辩论直播后,Reddit 的联合创始人 Alexis Ohanian 在推特上宣布支持杨安泽,并愿意为其提供资金。 2019年9月16日,最新民调显示,杨安泽支持率上升至5%。 2019年10月15日,民主党第四轮辩论,他发言了8分32秒,排在所有候选人的倒数第四。CNN 认为,他是当晚的获胜者之一,他的全民基本收入已经引起了全国的注意,并在民主党内部产生了重大影响。 目前,杨安泽的筹款金额在所有候选人中排名第七,但是第三季度的增长速度排名第一。 值得注意的是,少于200美元的小额捐款百分比,他排名第一。 杨安泽在互联网上高度受欢迎,《纽约时报》称他是"互联网最爱的候选人"。如果计算第一轮辩论以来新增的推特粉丝数量,他也排名第一。 民主党第五轮辩论将在2019年11月20日举行,参加资格是16.5万个不同的捐款者,并在全国民调中支持率达到3%以上,杨安泽已经符合条件。 虽然杨安泽是华人,但是他的这次竞选超出了华人竞选的层面,而是代表了整个科技行业和创业者,表达了对于未来社会的担忧,以及想要尝试的对策。相比之下,其他候选人都是政治背景,跟科技业无关,可以说杨安泽是这次选举中仅有的科技行业的代表者。 他预言的大规模失业,自动化消灭大量的工作岗位,并非空穴来风。不仅可能在美国发生,也可能在中国发生。且让我们拭目以待,看看美国社会对他的警告和全民基本收入,会有什么反应,能达到多大的接受程度。 最后,本文的照片都来自他的一分钟竞选广告,下面就是这支广告(腾讯视频,YouTube)。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月11日


科技爱好者周刊:第 81 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 周刊讨论区的帖子《谁在招人?》,提供大量就业信息,欢迎访问或发布工作/实习岗位。 封面图:液晶屏拼接器 刊首语 最近,我看到一个网友的推特发言。 年轻时,我觉得亲戚们都是前车之鉴,我要避免重蹈他们的生活、性格、工作与处世态度。 直到现在这年纪,我觉得我跟他们越来越像了,于是感慨人生早就在家族基因注定。如果没有碰上基因突变,一个人的一生就是父母两边家族平均基因的 ±20% 吧,至少我觉得我是。 他的意思是, 不管你多么努力,大多数情况下,你的处境最多只比父辈好上20%。我也有类似的感受,子辈很难大幅度超越父辈,尤其是在经济增长放缓的情况下。 好像是巴尔扎克说的:"培养一个巴黎的上等人,需要三代人的努力。"当时我觉得这话太夸张了,现在觉得这是现实。我认识的人里面,子辈远远超过父辈的例子并不多, 大多数人的生活境遇、社会阶层、经济地位跟父辈都是类似的。 计算一下,如果每一代比上一代改善20%,翻倍确实需要经过三代人,即你的人生处境会比曾祖父好上一倍(1.2 的四次方等于2.07)。这还是最理想的情况,前提是每一代都勤奋努力。如果当中出了一个游手好闲之徒,改进速度就会大大放缓;要是出了败家子,还会出现倒退。 总之,正常情况下,人生境遇的改变,是一个缓慢的过程,需要几代人的累积。只有运气特别好,你才可能有着大大超越父母的人生,或者说大大地超越你的起点。如果运气不好,你的人生可能还不如父母。 职坐标系列课程 大家知道,国内最大的在线教育平台之一的腾讯课堂,赞助了我的个人网站。他们最近启动了"腾讯课堂101计划",推广优质的技术教育资源。今天,就向大家介绍三门课程。 第一门是 《前端全栈程序员:小白165天逆袭成为 Web 全栈工程师》,帮助你学习全栈,提升实务能力,开拓就业竞争力。这门是全面性的前端课程,覆盖前端开发的主要知识点和技能。 下面两门是微信小程序的专项课程,分别是 《小程序入门课程》 和 《2019新语法课程》,适合学习小程序的同学。 这些课程的出品方都是"职坐标"。它是腾讯课堂上面唯一一家双认证("严选课程"和"官方认证")的前端培训机构,汇聚了一批国内外 IT 资深师资力量,注重教辅服务,培训都以就业和跳槽加薪为导向。 微信扫描下方的二维码,加入职坐标 web 前端学习群,即可获得 免费的200种 web 前端学习系列电子书 ;回复"小程序"即可获得 《7天入门 | 微信小程序开发课程》5折优惠券 ! 除了收费课程,他们还诚意提供了许多 CSS、H5、Nodejs 的试听课程,欢迎大家去看看。 资讯 1、搜索失踪儿童 最近,一个6岁男孩在明尼苏达州的森林地区走失了。当时已经入夜,气温零度以下。当地的警察组织了600人投入搜索,但是一无所获。 晚上8点,一位摄影师得知了这件事,立刻赶到了现场。他带上了大疆的 DJI m210RTK v2 无人机,上面配备了热像仪,可以拍摄红外线图像。他随身携带了10~12组电池,将无人机升空,查看地面的热源。 排除了各种误报(主要是野生动物水獭、鹿、熊)以后,终于在凌晨1:40 发现了小男孩的位置,正好在两组搜救人员之间(上图)。搜索人员迅速赶往该地点,救出了男孩,下图是搜索队前往救人的热像图。 2、漫游的老鹰 俄罗斯科学家为了了解濒临灭绝的草原老鹰的迁移轨迹,在它们身上绑定了追踪装置,里面的 SIM 卡会每隔一段时间,就发出一条短信报告位置。 10月初,这几只老鹰飞出了哈萨克斯坦草原,即将进入伊朗和巴基斯坦,这引起了科学家的恐慌。因为一旦进入那两个地区,手机信号就会变成国际漫游,短信费用将暴涨,从2卢布~15卢布一条,变成49卢布一条。 科学家在网上发起了"为老鹰充值"运动,希望网友捐款,弥补短信费用。鸟类爱好者纷纷支持,目前筹集的费用已经够一年的支出。下图为17只老鹰的迁移轨迹。 3、消灭脊髓灰质炎病毒 10月24日(星期四)是世界脊髓灰质炎日,世界卫生组织当天宣布在世界范围内根除第3型脊髓灰质炎病毒。 脊髓灰质炎病毒是小儿麻痹症的病因,这种病毒有三个类型(类型1、2、3)。第2型病毒已经在2015年根除,第3型病毒的最后一个病例在2012年尼日利亚北部出现,此后再也没有发现新的病例,可以认为它已经根除。 目前,只剩下第一型病毒还存在于阿富汗和巴基斯坦,今年报告了94个病例。一旦在这两个国家消灭了这个病毒,人类就将彻底告别小儿麻痹症。这将是继天花以后,人类消灭的第二种传染病。 4、搜索新算法 10月25日,谷歌发布了一种新的搜索算法 BERT,已经用于生产环境。这种算法最大的特点,就是考虑了搜索词的语序。以前的算法只考虑每个词本身,搜索hello world与搜索world hello,结果是一样的。 但是很多时候,语序是搜索结果的关键因素之一。上图搜索"巴西游客去美国的签证",里面的单词to表示语序。传统的搜索算法往往识别不了这个to,搜索的第一个结果是美国游客去巴西不需要签证,新算法的第一个搜索结果则是美国大使馆的签证网页。 目前,这种算法只对英语搜索有效,后面会扩展到其他语言。 5、人类的起源 大部分人类学家都认为,人类起源于非洲。现在,有一个研究团队提出,人类的祖先最早出现于非洲中部的博茨瓦纳,即人类的发源地在那里,时间是距今20万年前。在那里生活了7万年以后(即距今13万年前),开始向东北方向迁移,逐渐进入今天的埃及。 距今8万年前,人类开始走出非洲,迁移到全世界各地。 6、780天的飞行 美国一架太空无人飞机 X-37B 在地球轨道上飞行780天以后,10月27日回到地球。这架飞机大约是小型公共汽车的大小,具有航天飞机的许多设计特征,但是不能载人。它于2017年发射进入轨道,是美军的第五次太空轨道机试验任务。 此前的一次太空无人飞机在太空待了718天,于2017年返回地球。目前,该试验已经累计在太空进行了2865天。 7、一句话消息 一家数据公司称,2018年全世界的软件工程师有2230万人,中国有190万。 中国航天科技集团称,2050年中国将建成地月经济区,月球相关产业的产值可以达到10万亿美元以上。 沙特的阿美石油公司(Aramco)是全球最赚钱公司,决定进行 IPO。它的石油产量占全球的10%,去年净利润为1110亿美元,比苹果+谷歌+埃克森美孚还要多。该公司的总市值可能会到2万亿美元,目前世界市值最大的公司也只有1万亿美元。 美国心理学家重做了著名的"10000小时规则" 实验,结果发现练习10000个小时以后,你可以变得更好,但没法保证你一定会超过其他人。 美国空军邀请7个黑客破解 F-16 战斗机的数据系统,结果发现了不少漏洞。空军感到满意,明年计划邀请黑客攻击轨道上的真实卫星。 美国人口统计局提供的1960年与2060年的美国人口年龄结构图。今后几十年中,年轻人占总人口的比重将急剧下降。 俄罗斯程序员制作了一条 LED 领带,里面装有 LED 发光二极管,可以编程显示发光的图案。 Firefox 浏览器明年会隐藏弹出的通知框(notification,下图),用户必须点击地址栏图标才会显示。早该如此了,这个框和是否同意 Cookie,是网页的两个毒瘤。 文章 1、为什么秋天叶子会变黄?(英文) 一篇图文并茂的科普文章,制作精良。 2、华为 HR 五千字实名控诉(中文) 胡玲是一位从研发转岗到 HR 的华为员工,她的这篇5000字长帖讲述了她在 HR 岗位上几个月的感受。当研发员工月加班160多个小时的时候,HR 团队领导只关心160个小时中有多长时间是怠工;这位领导吃着公司200块一对的大闸蟹,却认为给食堂提意见的研发应该清退;当32岁的研发绩效B+被劝退的时候,40岁的 HR 同事上班摸鱼绩效三连B却还随心所欲。 3、JSON.stringify 如何影响 Node.js 的性能(英文) JSON.stringify() 方法用于 JSON 对象的串行化,该方法对 CPU 的消耗很大,会影响 Node.js 的性能。本文是深入分析。 4、影响世界未来最重要的三件事(英文) 一篇非常好的英语长文,指出有三种大趋势将完全改变世界和每个人的未来。 5、六个画板程序的 Linux 替代品(英文) 本文介绍6个可以用来作画的 Linux 开源程序。 6、华为 MateBook X Pro 笔记本体验(英文) 一个澳大利亚开发者购买了一台华为 MateBook X Pro 笔记本,在上面安装 Linux,本文是他的总结。 7、网站发布到 IPFS 指南(英文) 一个简单的教程,教你如何把网站发布到 IPFS,并设置域名解析。 8、Bash 自动补全的工作原理(英文) 本文教你如何为自己的命令行工具,加上 Bash 补全功能。 9、学术论文的变化(英文) 本文是一个以色列研究团队分析了200年来5.28亿篇学术参考文献,所得到的一些发现。这些年来,随着论文数量激增,论文变得越来越短,而标题、摘要、作者列表和参考文献却越来越长,大量的自我引用。研究者认为,论文的发表数量和引用数量,已经成为学者主要追求的目标。 10、如何把回调函数转为 Promise?(英文) JavaScript 的异步操作,传统上采用回调函数写法,本文介绍如何把基于回调函数的代码改为 Promise。 工具 1、浏览器地址栏的贪吃蛇游戏 整个游戏就在地址栏里玩。 2、algosuggest 一个在线工具,只需回答几个简单的问题,描述你遇到的机器学习场景,它就返回应该使用哪一种机器学习算法。 3、crontab 编辑器 crontab 是 Linux 系统的定时任务执行器。这个在线工具可以可视化生成 crontab 的配置文件。 4、Calibre 4.0 电子书管理软件 Calibre 发布4.0版本,底层进行了大幅度重写。 5、AltStore 苹果设备安装第三方应用商店的方法(不必越狱),看上去好像有效。 6、nanoid 一个极小的 uuid 生成的 JS 库。 7、AutoCannon 一个 Node.js 写的 Web 服务器负载性能测试工具。 8、streamlit 一个机器学习工具,可以一边写脚本,一边自动生成模型的可视化运行结果。还可以生成网页控件,手动拖拉查看模型变化。 9、Bitwarden 一个免费的多端密码管理器。 10、imagededup 一个基于 Python 的找出重复图片的工具,支持多种查重算法。 11、Visual Studio Online 微软官方的 Visual Studio 在线版,在浏览器里面提供 IDE 功能。 资源 1、折纸地球仪 该网站提供多种模板下载,可以打印出来,自己折纸做一个地球仪。 2、后端常用文档 该网站收集开发常用框架文档及中文翻译(部分是机器翻译),包含 Spring 系列文档、大数据(Apache Hive, HBase, Apache Flume)、日志(Log4j2, Logback),Http Server(NGINX,Apache),Python,数据库等最新官方文档。(@heyuxian 投稿) 3、码农周刊一周精选分类 码农周刊一周精选的分类整理。(@rogerzhu 投稿) 4、Go 语言风格规范 Uber 公司开源了该公司的《Go 语言风格规范》。 5、50座最具影响力的高层建筑 该网站评选和介绍,过去50年中50座最具影响力的高层建筑。下图是伦敦 Swiss Re Tower 大楼,179米高,2004年建成,俗称"小黄瓜"。 图片 1、数据、信息、知识、洞察、智慧 2、摄影师塞巴斯蒂昂·萨尔加多 1986年,巴西摄影师塞巴斯蒂昂·萨尔加多(Sebastião Salgado)在亚马逊丛林的一个金矿待了16天。5万人在那里手工淘金。 3、Apple I 与录音机 1976年,苹果公司的第一个产品 Apple I 电脑发布。 该电脑的数据保存在普通磁带上面,写入/读取数据的设备(即硬盘)是松下公司的 Panasonic RQ-2102 录音机。 文摘 1、软件架构被高估,清晰和简单的设计被低估 (1)设计一个计算机系统的目标应该是简单性 。 系统越简单,理解起来就越简单,找到问题就越简单,实现它就越简单。描述的语言越清晰,设计就越容易理解。 干净的设计类似于干净的代码:它易于阅读且易于理解。 (2)如何编写干净的代码? 编写干净代码有很多好方法。但是,你很少会听到有人建议,在代码中应用"四人帮"的设计模式。 干净代码的特征是:单一责任,明确命名和易于理解的约定。这些原则同样适用于清晰的架构。 (3)设计模式的作用是什么? 设计模式可以为你提供如何改进代码或架构的想法。了解常见的设计模式是一件好事,它们有助于缩短与他人的讨论,让别人以与你相同的方式谈论一件事。 但是,设计模式不是目标,它们不能替代系统设计的简单性。在设计系统时,你可能会发现自己意外地应用了一个众所周知的设计模式,这是一件好事。但你不应该为了采用一种或多种设计模式,而将其用作锤子,到处寻找钉子来使用它。 我承认,虽然我花了很多时间阅读和理解"四人帮"的《设计模式》,但它们对我成为一名更好的程序员的影响,要小于我从其他工程师那里得到的反馈。 作为一名工程师,你的目标应该是更多地解决问题,并通过它们进行学习,而不是选择闪亮的设计模式。 2、我的孩子喜欢抖音和 FaceApp 你8岁的女儿正在一个貌似梦幻般的游乐园里独自走来走去,这个游乐园远在中国或俄罗斯,一个你毫无了解的地方。 公园没有入场费,一切都是免费的,从糖果到数百个景点。公园充满了闪光和彩虹的所有颜色,有趣的音乐不断播放。 公园大得无穷无尽,她越深入公园,就会发现更多的乐趣。不需要排队,就可以参观各个景点。只要是能看到的东西,就立即可用。对她来说,这就像一个独立于外部世界的幻想宇宙。 你的女儿与数千名其他孩子一起在公园里游玩,大家都非常喜欢它,一样狂欢跳舞。她感觉好极了! 在此同时,拥有成千上万工人的巨型公司,通过高度机密的人工智能和机器学习、超级先进的摄像头、麦克风以及数百种其他传感器,监控你女儿在公园中的每一步。 该公司分析了数百万个数据,建立您女儿的完美模型。她穿什么衣服、她的音乐品味、她的动作、她的幸福感、伤心、着急、害怕。她在公园的每一步,公司都在分析她的面部表情。 进入公园仅几个小时,公司就知道了有关你女儿的一切,她的年龄、性别、兴趣爱好、确切的家庭位置、生日、眼睛的颜色、她的朋友、她喜欢什么衣服、她最喜欢的颜色,甚至无限期地保留了她的数据。 你的女儿毫无所知,仍然一切正常在公园玩耍。她感觉好极了! 游乐园不像监狱。她可以随时离开。有时她觉得有些不对劲,想离开公园。然而,每次她决定离开公园后不久,她都会想返回。她害怕错过了好东西,担心自己不会第一个发现有新景点可玩,不会认识新朋友。她最大的恐惧是,如果我的一位朋友发现了一项新活动,而我什么都不知道,这该怎么办。 人工智能监控系统收到了她想离开公园的信号,系统开始将她最喜欢的景点移向公园的入口区域,因此她无需走很长时间即可做到这个景点,一切对她来说都变得更加容易。更好的是,她在公园里喜欢的所有东西,从糖果到背景音乐,都针对她的口味进行了优化。她感觉好极了。 与此同时,公司的先进计算机网络一直在后台努力工作,通过过去几天和几周收集到的有关女儿的数百万条信息,为你的女儿建立一个完美的数据模型。庞大数据库还为她与其他孩子们进行了配对,这些数据库包括了公园的数亿其他孩子。 你女儿不知道的是,她现在已经成为公司的产品。公司用她作为模型和内容,去服务其他跟她相似的儿童,使公司创始人和股东成为亿万富翁。 言论与数字 1、 负利率的一个严重问题是,规模万亿美元的金融工具所使用的数学模型,根本无法使用负数。 -- 《负利率正在改写现代金融规则》 2、 世界正在迅速电气化,轿车、卡车、摩托车、飞机都在变成电动设备。原因大致相同:运行更安静,维护需求减少,性能和效率更高,能源使用更加灵活。 -- IEEE 3、 1900年,美国83%的死者不超过65岁,今天正好反过来,75%的死者超过65岁。 -- George Will 4、 一旦战争变成对峙的阵地战,就进入了静态阶段。在动态阶段,获胜依靠奇袭;在静态阶段,哪一方发射较多的弹药,哪一方获胜。 -- 二战德国元帅隆美尔 5、 人工智能的计算量越来越大,使得越来越少的人可以负担这样的计算能力。大型科技公司每年花费数十亿美元,建设自己的数据中心,垄断了计算资源。最终,只有它们才负担得起人工智能。 -- 《纽约时报》 6、 是的,美国人只能暴露在美国公司批准的宣传之中。 -- HN 读者评论美国政府宣布对抖音收购 Musical.ly 进行国家安全审核 回顾 去年的本周:《周刊第 29 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月 8日


关于计算机科学的50个误解

计算机科学(Computer Science,简称 CS)是大学的热门专业。但是,社会上对这个专业有很多误解,甚至本专业的学生也有误解。 一个美国的 CS 老师写了一份清单,列出了许多关于计算机科学的伪命题。它们都是 CS 学生信以为真,以后才慢慢明白,这些都是不正确或不完全正确的命题。 下面就是计算机科学的50个常见误解,欢迎补充。 1、 CS 毕业生懂 C 和 C ++ 语言。 2、 Java 语言是几乎所有编程任务的合理选择。 3、 懂得编程 == 懂得计算机科学。 4、 CS 毕业生是优秀程序员。 5、 CS 毕业生会编程。 6、 CS 教授懂编程。 7、 CS 教授会使用计算机,或者懂得互联网原理。 8、 如果一个软件可以运行在我的笔记本电脑上,就可以运行在其他人的笔记本电脑上。 9、 StackOverflow 问答社区的答案都是可信的。 10、 如果一段代码出现到互联网上,就意味着你可以使用它。 11、 开源软件意味着更少的错误并且更加安全。 12、 开源软件(open software)和自由软件(free software)是同义词。 13、 git 和 GitHub 是同义词。 14、 Unix 和 Linux 是同义词。 15、 bash 和 sh 是同义词。 16、 AWS 和"云服务"是同义词。 17、 "隐私"和"秘密"是同义词。 18、 "加密"和"安全"是同义词。 19、 聪明的程序员会写出聪明的代码。 20、 编程能力是一名优秀软件工程师的最重要品质。 21、 拥有 CS 学位是成为一名优秀软件工程师的必要和充分条件。 22、 计算机解析时间和日期是轻而易举的。 23、 CS 毕业生知道如何验证电子邮件地址。 24、 雇主关心 CS 学生选修了哪些课程。 25、 分布式网络是可靠的。 26、 第三方服务是可靠的。 27、 AWS 云服务是可靠的。 28、 你可以将整个文件读入内存。 29、 在fork命令之后,父进程始终先执行。 30、 删除文件需要对该文件具有写权限。 31、 线程竞争很少发生。 32、 面向对象编程是最好和最常见的编程范式。 33、 CS 毕业生不会被黑客钓鱼,因为他们了解计算机。 34、 CS 毕业生了解计算机。 35、 CS 毕业生已经学过大多数的重要课程。 36、 电子表格和 Powerpoint 只适用于商业活动。 37、 程序员大部分时间都花在编程上。 38、 计算机可以按照指令进行操作。 39、 技术和算法是中立的。 40、 学习人文学科是浪费时间。 41、 你的职业生涯需要使用大量数学。 42、 如果谷歌使用它,那么别的公司也应该使用它。 43、 如果一种技术很先进,就应该使用它。 44、 如果一种技术超过5年,就不是新技术。 45、 只为了能够用上红黑树或某个高级算法,重写代码是值得的。 46、 大学毕业后,你还有机会遇到霍夫曼编码。 47、 具有 CS 学位的两个人,将具有非常相似的背景和知识。 48、 算法复杂性和大 O 表示法在现实世界中一直使用。 49、 学术界某种程度上跟现实世界不一样。 50、 没有人会输入这种数据,或者这样写代码。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月 3日


科技爱好者周刊:第 80 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 封面图:后滩游艇码头,上海,2019 刊首语 很多程序员创业,会选择做开发工具,给其他程序员使用,专攻开发者市场。 背后的想法很简单:我知道程序员需要什么工具,我给你写,如果你觉得好用,就让你的公司采购我的软件。这种模式在国外或许可行,但是我觉得,在国内很困难。 企业级开发工具创业,在国内生存下来的难度极高。 理由是国内企业采购开发工具的金额和意愿都很保守,尤其是采购创业公司的产品。 绝大部分的国内企业都不是技术导向的,负责人普遍不是技术出身,不了解工程师和程序员的需要。技术部门的主管,在公司往往不占主导地位,不能拍板。即使公司内部的程序员(码农)都觉得很好用,但是他们对管理层没有影响力,无法说服管理层为他们购买这个工具。 那么,为什么工程师在公司里通常不占主导地位,对管理层没有影响力? 因为在国内,技术并不是企业生存的决定性因素,非技术因素(比如融资能力)对企业生存影响更大。 以创业为例,技术好就能创业吗?不一定。常见的模式是,看准市场热点,先写一份创业计划书,准备好 PPT,去找风投,看看谁愿意投你。有钱以后,再高价雇佣程序员,来实现产品。 结果就是,公司的创始人不是技术最好的人,而是最能够找到资金的人。 这就是为什么中国创业公司的发起人和大股东,往往不是程序员的原因。 程序员只是公司雇佣的高级劳工,对于管理层的决策没有影响力。 综上所述,在中国创业,最好不要做面向企业的开发工具。不仅融资难,销售更难,个人向企业销售软件产品,难度太高。反而是做一个面向大众的产品,有了一定数量的用户,再去找风投,更容易创业成功。 资讯 1、肉眼夜视仪 美国科学家正在尝试将夜视仪植入人眼,使得裸眼就可以在黑暗中视物。 该技术已经在实验室小鼠上证明可行,研究人员将一种可以把红外线转换成可见光的纳米粒子,注入了小鼠的眼睛。纳米粒子与小鼠眼睛的感光细胞结合,可提供长达10周的夜视效果,而不产生任何不良影响。这些小鼠被放置在黑暗的迷宫中,能够找到走出迷宫的路。 传统的夜视仪使用红外传感器感知热源,根据辐射的热量绘制周围环境的图像。它价格昂贵,体积笨重且需要使用电源,还严重限制了佩戴者的视野。如果新技术有效,就减少了战场上对电池的需求,减轻士兵的负担,使部队更加机动。不过,这种技术目前还没有进入人体实验,不知道是否可行,以及效果如何。 2、世界最古老的树 世界最古老的树是一棵瑞典的云衫树 Old Tjikko,高4.8米。2004年发现以后,经过碳14测定,年龄达到9500岁。 具有争议的是,只有树根是9500岁,树干是后来长出来的,只有几百年历史。即使树干死亡,这种树的根系仍活着,能够重新生成新的树干。树干的生命大约是600年左右,当大雪将树干压倒,推入地面后,树枝随后在地下生根,从旧根中萌芽新根。 如果只考虑树的可见部分,世界上最古老的活树是一棵加利福尼亚的松树 Methuselah,年龄达到4768岁。 3、塔斯马尼亚虎 塔斯马尼亚虎,又称袋狼,曾广泛分布于澳大利亚,后因人类活动只出现在塔斯马尼亚岛。它身上有酷似老虎的条纹,因此得名。它的奇特之处是,它与袋鼠一样,有一个育儿袋,产下的幼仔在育儿袋中发育。 这种动物已经灭绝了,最后一只在1936年9月7日死于动物园(下图)。但是,塔斯马尼亚州政府最近发布了一份文件,披露了过去三年中,共有八次目击报告。目击者都确认,动物身上有条纹,很像一只大猫。此前,澳大利亚科学家有计划,通过 DNA 克隆,复活一只塔斯马尼亚虎。 4、人工智能评估大学申请人 《华盛顿邮报》报道,威斯康星州的一所大学对申请入学的新生进行人工智能评估,然后决定面试的优先顺序。这种做法正开始在美国高校中流行。 举例来说,某高中毕业生对该大学感兴趣,想要申请入学。于是,他访问该校的招生网站,这时服务器会记录他在网站停留的时间、访问的页面、点击的顺序,还会通过 Cookie 追踪他有没有再次回来。理想情况下,还能通过他提交的信息,识别出他的真实身份。 然后,系统根据收集到的信息,判断他对该大学的兴趣到底有多大,从而决定面试的顺序。 5、含糖饮料禁止做广告 新加坡宣布,含糖饮料将不得在该国做广告,成为世界上第一个这样做的国家。该命令明年生效后,汽水、果汁、酸奶、速溶咖啡,将都不能做广告。 这主要是为了防止糖尿病。含糖饮料的大量摄入会导致肥胖,并增加了糖尿病和心脏病等慢性疾病的发病率。新加坡的肥胖率一直在上升,近七分之一的成年人患有糖尿病。 根据调查,超过70%的民众支持该命令。除了禁止做广告,该命令还要求含糖饮料在包装的醒目位置,列出糖含量。可口可乐公司表示,愿意配合该命令,以后在新加坡多推广低糖和无糖饮料。 6、防鸟撞玻璃幕墙 城市里面的玻璃幕墙建筑,有时会迷惑鸟类,每年都有很多鸟因为撞上玻璃幕墙而死亡。澳大利亚昆士兰大学的一个博士生,因为看到一些珍贵的鹦鹉撞死在研究所大楼门口,感到很沮丧。他要求学校采取行动。 校方决定在幕墙前,安装一排绳索,这样可以在视觉上使得幕墙产生条纹。根据美国鸟类保护协会,只要在玻璃上贴花、贴膜和放置醒目的图案,就能让鸟类产生视觉感知,从而不会撞到玻璃上。 7、一句话消息 纽约州宣布,艾滋病已经不再是流行病。该州2018年仅诊断出248例艾滋病毒感染者,比上年下降11%,比2014年下降28%。目前,艾滋病毒的预防和治疗药物,都已经证实有效。 广州市宣布区块链奖励政策,公链项目最高补贴1000万元、本地项目最高补贴300万元。补贴基金总计10亿元。 国际南极旅游组织协会报告,去年共有超过5.1万人到访南极,同比增长16%。其中美国游客最多,达到1.7万人,中国游客其次,约8200人。预计中国将在几年后超过美国,成为南极游客最多的国家。 英国广播公司(BBC)发布官网的暗网版本bbcnewsv2vjtpsuy.onion,只能通过 Tor 浏览器访问。这可能是第一个发布暗网版本的大型网站。 美国政府公布了,总统观看击毙恐怖组织伊斯兰国头目巴格达迪的照片。网友评论,总统会议室也有布线问题,而且看上去不使用 Wifi。 OpenJS 基金会推出两个 Node.js 证书,只要通过考试就能拿到。以后,JavaScript 开发也有考证了。 美国宇航局开始为接下来的登月计划招标宇航服,希望更多厂商投入设计下一代的宇航员服装。 纽约市立图书馆为了让更多的人阅读,2018年开始在 Instagram 上连载经典小说(比如《爱丽丝漫游奇境》)。一年过去了,共有30万人在 Instagram 上读小说。 英国将在北海建设世界最大的风力发电场,每台风力发电机只比埃菲尔铁塔略小一些,功率为12兆瓦。下图为建成后的效果图。 文章 1、如何实现网站的暗模式(英文) 本文介绍如何为网站添加暗模式(dark mode)。白天显示为亮模式,晚上使用脚本,自动切换成暗模式。 2、如何设置粘性页尾(英文) 一个 CSS 技巧,如何使用 Flexbox 布局将网页的页尾始终放置在窗口最底部。 3、S 表达式是更好的数据格式(英文) 如果不使用 XML 作为数据传递的格式,应该使用什么格式?答案是 S 表达式。 4、提交信息的规范(中文) 代码仓库的提交信息应该怎么写,这份规范标准可以参考。 5、隐藏字符加密(中文) 解释使用零宽度字符加密文本的原理。(@rover95 投稿) 6、JavaScript 编程技巧(英文) 本文总结了六种很有用的编程技巧,帮助你成为更好的 JavaScript 程序员。 7、如何确定电子邮件地址是否存在(英文) 本文使用 nslookup 命令确定一个电子邮箱是否存在。 8、如何写 Linux 的监控脚本(英文) 本文演示一个简单脚本,监控某个服务是否正常,如果启动失败就会发邮件通知管理员。 9、我为什么北大计算机图形学直博第五年退学(中文) 作者刚刚博士肄业,计算机图形学直博第五年退学,没有硕士学位。读博读到怀疑人生,所以就退了。退学之前作者问了自己五个问题,在全部想清楚回答之后,就毅然选择退学。 10、树莓派的局限(英文) 作者从硬件角度谈了树莓派三代的一些问题,以及由此导致的不合适使用的场景。 工具 1、git-quick-stats 查看 Git 仓库各种统计信息的命令行工具。 2、Regexper 将 JS 的正则表达式转成图形解释的在线工具。(@DoctorLai 投稿) 3、Write With Transformer 这个工具可以自动生成英语文本。你输入一句话,然后按 Tab 键,就得到一整段。 我输入:以前有一个男孩。得到:他名叫杰克,还有一个女孩名叫维奥莱特。 女孩穿黄色,男孩穿蓝色。杰克说他打算买一件新衣服,搭配她的衣服。 4、Cosmoteer 一款模拟类免费游戏,用户设计自己的宇宙飞船,然后投入战斗。 5、Publisheet Excel 表格转为网页表格的在线工具。 6、Facebook Horizo​​n Facebook 推出的大型 VR 虚拟游戏。玩家带上 VR 眼镜,在一个虚拟的世界漫游,将电影《头号玩家》的情节变成现实。 7、This is sand 一个手机 App,用来制作沙画。(@victor-fa 投稿) 8、folder-explorer 扫描一个目录,给出目录结构、文件大小等统计信息的桌面工具。(@FairyEver 投稿) 9、文本插入零宽度字符的工具 这个在线小工具,在每个字符之间插入一个零宽度字符,用来逃过文本过滤系统,正常阅读不受影响。(@gongchengra 投稿) 10、Bot Land 一个在线策略游戏,玩家编程设计自己的机器人进行战斗。 11、微信对话开放平台 微信的问答机器人服务,用户可以接入这个服务,在微信公号、微信小程序、企业网站等场合,对外提供客服机器人,进行智能答问,这里有介绍文章。(@juemuren4449 投稿) 资源 1、java-design-patterns 一个开源仓库,收集 Java 语言的各种编程模式。 2、codelani 该仓库对所有计算机语言进行统计,目前一共收集了3563种。 3、mini-tokyo-3d 该项目利用东京地铁 API 制作列车行驶的实时 3D 地图。 4、计算机科学自学计划 这个英文仓库提供了计算机科学的自学计划,应该学哪些课程、参考什么开源教材、学习的进度安排,都有提供。 5、机器学习的数学基础 免费的英文电子书。 图片 1、SPHINX SPHINX 是前苏联1986年开始研发的一个家用计算机项目,全称是"超级功能集成通信系统"。它不仅仅是一台计算机,而是把数字娱乐、通信、远程办公,家庭自动化集成在一起。 该系统的 CPU 可以外接三个三角形的存储器模块。 系统包括许多外围设备,包括液晶显示器、带两个球形卫星扬声器的电视。 甚至还包括带有小型 LCD 屏幕、麦克风和扬声器的手持式遥控器,也可以变成掌上电脑。 整个系统有多种配色。 随着苏联解体,这个系统在1991停止原型机的研发。 2、博士帽键盘 文摘 1、贪吃蛇游戏 1995年,芬兰诺基亚公司的软件工程师 Taneli Armanto 接到一个任务:为即将推出的诺基亚6110手机开发"一些很酷的小游戏" 。他以前有一点游戏背景,所以任务派到他头上。 当时,手机尚未在全球普及,业界刚刚开始推出更小、更便宜、更易于使用的手机。诺基亚在1993年发布2110后,开始研发6110,希望这部新手机更小更快,具有更长的电池时间和通话时间。它将带有一个全新的用户界面,允许用户在各个功能之间轻松切换。 最初,Taneli Armanto 想移植俄罗斯方块。但是,俄罗斯方块公司希望从每部手机收取授权费,诺基亚不可能同意这个要求。于是,Taneli Armanto 不得不自己发明一个全新的游戏。 6110 的规格很不利于游戏:屏幕非常小,用于游戏操作的按键必须很少,编程存储空间也很小......到底什么游戏才能满足这些条件,人们还会爱玩? Taneli Armanto 想到,自己在苹果的 Macintosh 电脑上玩过一个叫做"蛇"的游戏,用户使用键盘控制一条蛇。他觉得,这个游戏应该在手机上可行。 游戏中,用户可以控制蛇前进的方向,但是不能让蛇碰到自己的身体,随着蛇越变越长,这会变得越来越难。每次游戏,用户只有一次生命,必须全神贯注,否则很快就会死去。 6110 在1997年12月发布,这个游戏由于规则简洁,而大受欢迎。人们开始盯着他们的手机,长时间玩游戏。现在,"贪吃蛇"游戏(snake)公认是有史以来第一款重要的手机游戏。 2、硬盘危机带来的100万美元成本 1981年,1GB 存储的成本是100多万美元。2011年,变成不到0.05美元。这种30年的硬盘价格下降趋势,在2011年10月结束了。 那时,泰国发生洪水,导致全世界的硬盘供应发生危机。硬盘价格飙升并且一直居高不下,直到将近两年后才回到危机前的价格水平。 Backblaze 是一家互联网公司,硬盘危机之前,几乎全部购买日立 3TB 硬盘,2011年9月的价格是每个130美元(每 GB 0.044美元)。 危机爆发以后,2011年11月,同一种硬盘的价格上升到249美元(每 GB 0.083美元),上涨了88%,而且还买不到。该公司不得不购买其他硬盘。 到2013年10月为止,这两年期间,公司的储存成本高达每 GB 0.064美元。虽然每 GB 增加0.02美元似乎不是很多,但在此期间增加了大约 50PB 的存储。计算一下就可以知道,存储成本增加了100万美元。 上图就是存储成本变化图。转折点出现在2011年10月,价格突然上涨,直到两年后才回到原来的位置。红色虚线表示如果没有泰国洪水危机,硬盘的价格理论趋势线。 言论与数字 1、 马克思理论认为,利率降至零时,共产主义的时机就会到来,因为零利率意味着资本家不再知道如何处理他们的钱,没有好的投资机会,此时唯一要做的就是重新分配资本。 -- Peter Thiel 2、 中国是一个新兴的世界大国,在军事和经济上都与美国竞争。第二次世界大战后,美国曾在这两个方面分别与苏联/日本作战,但中国看起来像是两者的结合,使其更具威胁性,难以容忍。 -- HN 读者评论 3、 我们的头顶就有一个巨大的核聚变反应堆,每天非常可靠地运作。如果我们用太阳能电池板吸收它的能量,并将其存储在电池中,就可以一天24小时使用。 -- 埃隆·马斯克(Elon Musk)认为,发展太阳能优于研究商业性核聚变反应堆 4、 数据科学是软件业中唯一需要博士学位的地方,但也有很多数据科学家没有博士学位。如果您想从事任何其他的软件开发,则完全不需要博士学位。 -- HN 读者讨论程序员是否需要博士学位 5、 有一个古老的笑话,每个 Unix 函数都变成了一家互联网公司。现在,每个Craigslist 的功能、LinkedIn 的分类或 Excel 的模板也都变成了一家公司。 -- 《新生产力的软件创业公司》 6、 我们看到的是一个决心要自杀的国家,但甚至对于如何自杀都无法达成共识。 -- 托马斯·弗里德曼评论英国脱欧 招聘信息 周刊讨论区的《谁在招人?》,有大量工作/实习岗位,欢迎查看。 如果你的团队需要招人,可以免费在那里张贴招聘信息。如果希望发在周刊上,请联系我(Email: yifeng.ruan@gmail.com ),每条价格 300 元。 1、高级前端工程师 易路软件聚焦企业人力资源 SaaS 领域,致力于以复杂薪酬计算为核心的"移动互联网+员工服务"研发及运营。工作地点:上海闵行区。 招聘前端工程师,参与公司产品研发,包括不限于 PC 端、H5、小程序、Node 服务。详细要求和联系方式看这里。 2、秘猿科技 秘猿科技是区块链创业公司,为加密经济提供区块链基础设施和服务。工作地点:杭州或 remote。 本公司招聘区块链工程师、高级后端工程师、安全和测试工程师。详细要求和联系方式看这里。 回顾 去年的本周:《周刊第 28 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年11月 1日


你所不知道的 AI 进展

人工智能现在是常见词汇,大多数人可能觉得,它是学术话题,跟普通人关系不大。 但是实际上,AI 突飞猛进,正在脱离实验室,进入日常生活。仅仅是现在的技术水平,就足以模糊现实与虚拟的界限,颠覆一般民众的认知。 (图1:2018年10月,世界第一幅 AI 生成的肖像画,拍卖成交价43.25万美元。) 为了让普通人了解 AI 的进展,谷歌的机器学习专家格里高利·萨普诺夫(Grigory Sapunov)写了一篇通俗的科普文章,介绍目前的技术成果。这盘文章非常精彩,有大量的图片,加上一些简单的解释,信息量很大,对于了解技术动态很有帮助。 (图2:谷歌的机器学习专家格里高利·萨普诺夫) 下面就是那篇文章的翻译,比较长,图片很多,但是值得耐心读完。我保证,有些内容一定会让你感到吃惊。 另外,插播一条活动消息。大家知道,国内最大的在线教育平台之一的腾讯课堂,赞助了我的个人网站。他们最近启动了"腾讯课堂101计划",推广优质的技术教育资源。 大家可以留意一下本文结尾的免费活动信息,帮你掌握开发网页和手机 App,提高技术水平。 一、图像处理 人工智能最早是从图像处理开始的。图像处理是一种常见任务,智能要求比较高,需要使用 PhotoShop 之类的软件人工编辑,一般的算法解决不了。 1.1 对象补全 2017年,日本科学家提出了一种图像的对象补全模型。经过训练,模型可以补全图片上缺失的部分。 (图3:图像的对象补全模型) 上图中,左边是原始图片,然后把中间的花盆涂掉,输入模型。模型会自动补全缺失的部分(右图),由于它不知道,那里有一个花盆,所以只会根据没有涂掉的部分,补上地板和扶手。 下面是更多这样的例子。涂掉的部分,模型都会补上,哪怕它根本不知道,那里原来是什么。 (图4:图像的对象补全示例) Nvidia 公司将这个模型做成了产品,放在网上。你可以到它的网站,上传一张图片,然后涂掉一些部分,让网站替你补全。 (图5:涂掉沙发旁边的茶几) 有的图像软件已经应用这项技术,去除人像脸上的斑点。 1.2 背景处理 背景处理指的是,将前景物体从图片分离出来,再对背景进行加工。目前,已经有很好的智能算法可以去除图片背景。 (图6:图片的背景去除) 在模型内部,图片会转成像素的色块。下图的浅紫色块就是前景物体,然后再把这些像素提取出来。 (图7:背景去除模型) 这个模型也已经做成了线上服务,大家可以上传图片感受一下它的效果。 既然可以去除背景,那当然就可以更改背景,为图片合成打开方便之门。 (图8:更改图片背景) 1.3 样式转换 人工智能还能够识别图片的风格样式(即像素的变化规律),将其套用在另一张图片。 (图9:原始图片) 上图是两张原始图片,第一张是梵高的名画《星夜》,第二张是普通的风景照。模型可以提取第一张图片的风格,将其套用在第二张图片。 (图10:套用梵高的《星夜》风格) 其他名画的风格,同样可以套用。 (图11:图像的风格转换) 1.4 图像着色 一旦识别出图片中的物体,模型就可以统计不同物体的像素颜色规律,然后就能推断黑白照片可能的颜色,从而实现照片着色。 (图12:黑白照片的着色) 网上也有免费的着色服务,大家可以体验。 二、GAN 方法 2.1 简介 GAN 是"生成对抗网络"(Generative Adversarial Networks)的缩写,它是一种革命性的提升人工智能模型效果、生成虚拟图像的方法。 原理很简单,就是两个神经网络互相对抗。一个神经网络负责生成虚拟图像,另一个神经网络负责鉴定假图像。理论上,如果 GAN 训练成功,那么生成的假图像与真图像将无法区分。2014年,这种方法提出以后,快速发展,目前效果已经可以乱真。 (图13:GAN 的改进速度) 上图是过去几年,GAN 生成的虚拟人像。可以发现,每过一年,图片越来越大,细节越来越丰富,越发接近真实人像。它的工作方法也是如此,第一步生成一张低分辨率图片,然后慢慢放大,依次修改每一个像素,确定该像素怎样才能最大概率通过鉴定器。 GAN 不仅能生成虚拟图像,还能生成音频、文本,甚至是化合物分子。AI 模型可能创造出来的任何东西,都能使用 GAN 提升效果。GitHub 有一个仓库,专门收集不同用途的 GAN,目前已经有500多种模型。 2.2 StyleGAN 目前,生成虚拟人像效果最好的模型是 Nvidia 公司的 StyleGAN。下面两张头像,你能分辨哪张是虚拟的,哪张是真实的吗? (图14:GAN 虚拟人像) 这是网站截图,你可以去那个网站试试看,能猜对多少张。需要提醒的是,这是2018年底的模型产物,随着模型进化,迟早将无法分辨真假。 GAN 不仅能生成人像,实际上可以生成任何图像。下面是 BigGAN 模型生成的各种图像,图片里的东西都是不存在的。 (图15:BigGAN 模型生成的虚拟图像) 2.3 图像翻译 一种图像通过 GAN 转变为另一种图像,称为图像翻译。空拍照片变成地图、黑白照片变成彩色照片,都是图像翻译的例子。 pix2pix 是图像翻译的开源工具,它可以让黑夜变成白天,示意图变成实物图。 (图16:图像翻译) 也可以让春天变成夏天,晴天变成雨天。 (图17:图像翻译) 图像翻译的难点在于,它需要有成对的示例(源图像和相应的目标图像),告诉模型应该怎么翻译,这些示例可能很难创建。但是反过来,只要有配对的示例,就可以翻译图像,不管这种翻译是否合理。下面是两只小猫翻译成对应的豹子、狮子和老虎。 (图18:图像翻译) CycleGAN 模型还支持跨域翻译,将照片翻译成油画,斑马翻译成马。 (图19:图像翻译) Nvidia 开发了一个 GauGAN 软件,可以在线试玩。用户只需手绘一个示意图,软件就能生成一张对应的风景照片。 (图20:GauGAN 将示意图变成照片) 2.4 人像翻译 图像翻译用于人像,就是人像翻译。StarGAN 模型可以翻译面部属性,比如头发的颜色、性别、肤色等。 (图21:脸部属性的改变) 还可以把其他人的表情移植到你的脸上,下图分别是愤怒、快乐、恐惧的表情翻译。 (图22:表情的改变) SC-FEGAN 是人像翻译的开源软件,可以让你编辑人像,比如加上刘海,去除墨镜等等。 (图23:人像编辑软件 SC_FEGAN) 2.5 文本到图像生成 GAN 最惊人的成果之一,大概就是根据文本生成图像。用户提供一个句子,软件生成对应的图像。原始文本"一只红中透白、长着非常短的尖嘴的鸟",可以得到下面的图像。 (图24:根据文本生成图像) 论文甚至提到,将来存在可能,根据剧本直接生成一部电影。 三、视频生成 图像处理逐渐成熟以后,人工智能业界的关注重点就转向了视频。 从一个视频生成另一个视频,这就叫视频翻译。目前比较成熟的两个方向是运动传递和面部交换。 3.1 运动传递 运动传递指的是,将一个人的动作(包括身体、眼睛或嘴唇的动作)翻译到另一个人身上,使得另一个人出现一模一样的动作。 2018的论文《Everybody Dance Now》,给出了一个模型,可以将舞者的动作移植到任何人身上。 (图25:动作传递) 上图中,蓝衣女子的跳舞视频完全是假的,是将左上角舞者的动作套用在她身上,自动生成的。 NVIDIA 公司的开源软件 vid2vid 更为强大,可以生成高分辨率的、连贯的逼真视频。 (图26:vidvid 软件) 3.2 脸部生成 脸部生成指的是,根据一张脸的表情和动作,重建另一张脸。最著名的例子是虚拟的奥巴马演讲。2017年,华盛顿大学的团队发表了一段奥巴马的演讲视频。奥巴马其实从未做过这个演讲,是将别人的表情和口型套在他脸上生成的,语音也是合成的。 (图27:虚拟的奥巴马演讲) 这种伪造的视频被称为 Deepfake(深度伪造),具有很大的欺骗性,许多在线平台都禁止上传这一类视频。 (图28:伪造的特朗普演讲,将喜剧演员的表演变成特朗普自己在讲。) (图29:深度伪造的普京) 2018年出现的《深度视频肖像》更进了一步,生成的视频不局限于虚拟的面部表情,还会头部旋转、眼睛凝视和眨眼,是 3D 的肖像重构。 (图29:深度视频肖像) 这些技术还在继续发展,现在你可以给出任意文本,从任何你指定的对象嘴里说出来。甚至只凭一张照片,就可以生成一段表情变化的视频。 (图30:一张照片生成各种表情) 3.3 中国的实践 国内的人工智能视频生成,并不落后于国外。换脸应用 ZAO 只需用户上传一张照片,就能把影视剧主人公的脸换掉,好像你本人在表演电影一样。 (图31:换脸应用 ZAO) 2018年,新华社与搜狗合作推出了虚拟新闻主播,具有真人的形象,带有声音、面部表情和动作,在电视上播报新闻,已经开通了英语、俄语、阿拉伯语的主持人。 (图32:虚拟新闻主播) 3.4 视频渲染 除了视频生成,人工智能在视频渲染上也取得了很大进展。 Nvidia 公司2018年展示了实时光线追踪 RTX 技术。这项技术用人工智能预测光线的变化,从而不用耗费大量计算去追踪光线,因此可以实时渲染出高画质的 3D 动画。这对于视频游戏有重大意义。 下面是使用这项技术的 Unreal Engine 4,实时渲染出的一个女子的3D 动画,可以一边计算生成,一边播放,完全没有延迟。 (图32:实时渲染的动画) 实时光线追踪技术还可以用于自动驾驶,在白天和黑夜的不同时间,不同的路面和环境下,预测出暴雨、风雪和强烈的眩光导致的光线变化,对驾驶做出调整。 四、文本和声音处理 最后,简单提一下,人工智能在文本和声音处理领域的进展。 (1)语音合成 谷歌在2018年推出了智能助手 Google Duplex,它会根据你的日程,自动打电话去餐厅订座位。谷歌 CEO 说,这个机器人的对话能力,使得对方完全没有发现这是机器人。 (2)音乐合成 OpenAI 基金会推出的 MuseNet,通过学习数十万段 MIDI 音乐,能做到使用10种乐器,生成一段4分钟的音乐。它的官网有这些音乐的下载,相当动听。 (3)自动评论 据报道,使用 Yelp 网站的数据进行训练的模型,可以自动生成餐厅评论。 我喜欢这个地方,一直来这里已经好多年。它是与朋友和家人相聚的好地点,我喜欢这里的食物和服务,从未有过糟糕的经历。 我吃了烤蔬菜汉堡配薯条!哦,很好吃! 我和我的家人都是这个地方的忠实粉丝。工作人员超级好,食物也很棒。鸡肉很好,大蒜酱也很完美。配水果的冰淇淋也很美味。强烈推荐! 上面这些都是机器生成的评论。 (4)智能邮件 Gmail 会根据电子邮件的来信内容,自动生成三种不同的回复,让用户选择。如果只是简单回应,用户不用自己动手写。 Gmail 的另一个功能是,根据用户已经写的内容,预测接下来会写的句子,供用户选择。 五、小结 毫无疑问,人工智能是很酷的技术,创造出了神奇的产品,有着难以想象的巨大应用前景。 但是,人工智能也是一把双刃剑,模糊了现实与虚拟之间的界限,把我们带上了一条不可预测的道路。作为个人,了解这些技术的进展和潜力,有助于保持一份清醒,享受技术之福的同时,避免它带来的一些副作用。 (正文完) 前端学习资料免费送 时间过得很快,2019年接近尾声了。你今年有没有达到年初设定的目标?技术水平提升了多少?是不是感叹时间太少,永远有学不完的东西? 下面是前端开发的10份免费专题资料,既有基础内容,也有进阶内容,都是实战一定会用到的东西。不管你是刚开始学习前端,还是已经从事了0~3年的开发实务,这些资料相信都会让你有所收获。 HTML 专题 JavaScript 进阶 ES6 专题 TypeScript 深入剖析专题 VUE 入门到进阶实战专题 React 专题 底层源码剖析专题 Node.js 专题 服务器部署专题 大型实战项目解析 这10份专题资料,来自《腾讯课堂101计划》重点推广的优质机构"金渡教育"。金渡教育培训人次累计超过了40000,好评度98%,很多学员就职于 BAT 等一线互联网企业,许多薪水超过了 20K。 只要微信扫描识别下面的二维码,就能免费获取上面这些最新的前端资料。 金渡教育专注于做前端进阶培训。他们在腾讯课堂这个平台上,有一门精品课程 《Web 前端进阶班试听课》。如果你看了上面资料,想了解更多,或者想接受系统的前端培训,还可以 0 成本得到这门课的试听。 目前正值"双十一",他们提供各种优惠,是腾讯课堂上性价比非常高的一门课程。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年10月29日


科技爱好者周刊:第 79 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 周刊讨论区的帖子《谁在招人?》,提供大量就业信息,欢迎访问或发布工作/实习岗位。 封面图:卢浦大桥,上海,2019 刊首语 最近,我想买一个自动炒菜机,就不用再忍受油烟了。 超市有很多半成品的配菜,买来以后直接倒进炒菜机。开好定时,机器就自动开始炒菜了。 没有油烟,也不用在旁边看着,时间一到,过来吃就可以了。味道不一定多好,但是下饭没有问题。我觉得很适合我的需要。 我家已经有电饭煲、微波炉、烤箱,再加上想买的炒菜机和洗碗机,以及平时在用的净水器、热水器、空气净化器和空调。 我不禁感到,生活中的机器越来越多,需要我做的越来越少。 很多以前需要自己动手的事情,现在都由机器代劳了,比如炒菜机。现在不出门,也能正常过日子,机器能够满足你的各种生活需要。 我们生活的人工环境,正变得比自然环境更适合人类生存。机器提供了各种自动化便利,使得人类离不开它们。事实上,也不想离开,那么舒服和方便,而且便宜,为什么不用呢? 电影《瓦力》中,未来的人类根本不走路,坐着飞行椅,飞到人造海滩或者游乐场。 或者索性不飞了,就躺着,跟眼前的电脑屏幕互动。饿了渴了,饮食还会自动送过来。 机器的自动化这么发展下去,未来的生活真会像这部电影一样。 算法训练营 极客时间的编辑,把他们《算法训练营》的课件 PPT 做成一个 GitHub 仓库,发给了我,在这里分享给大家。对算法基础知识感兴趣的朋友,可以点击链接进去看看,内容大纲如下。 预习周:数据结构和算法总览 第一周:数组与链表、栈与队列 第二周:哈希表、映射、集合 第二周:树、二叉数和图 第三周:递归、分治和回溯 第四周:深度、广度优先搜索与剪枝 第四周:贪心算法与二分查找 第五周:动态规划 第六周:并查集、字典树、红黑树和 AVL 树 第七周:位运算、布隆过滤器和 LRU Cache 第七周:排序、字符串操作串讲 毕业周:整体知识总结 目前上线的是讲课 PPT,每周的解题 PPT 马上也会上线。课件作者是覃超,同时也是训练营的讲师。大家可能听说过他,前 Facebook 工程师,在算法教育这方面经验丰富。 算法的理论性比较强,自学难度高,往往不成体系、不得要领,缺乏结果反馈,难以评估效果,面对面试题也不知从何入手。这个训练营就是为了解决上面的问题,采用视频和直播方式教学,结合线下讨论,并由班主任和教研组提供全方位的线上学习服务,包括助教答疑、作业、期中总结、考试、毕业等环节。 内容从低到高,由浅入深,从链表数组讲到布隆过滤器和 LRU Cache,适合不同基础的软件工程师精进算法能力、构建知识体系。 训练营已经办了四期,学员的口碑不错。现在第 5 期开始招生了, 原价 ¥2499,限时早鸟价 ¥1499。 微信扫描下方二维码,可以查看训练营详情并报名。 资讯 1、机器人公司的遗产 硅谷一家机器人创业公司 Megabots 最近破产了,该公司最值钱的资产(遗产)是一个15吨重的巨型机器人。这个机器人在 eBay 上拍卖,一美元起标,最终的中标价是17万美元。 这个机器人专门用于对战,最初是为了与日本的巨型机器人决斗而制作的,成本为250万美元。卖家 Megabots 特别说明,如果买家想用这个机器人赚钱,可以对外售票"表演",根据他们的经验,一次表演至少可以赚7000美元。 2、Apple Watch 的自动报警功能 苹果手表如果检测到佩戴者跌倒60秒不动,会自动报警。该功能最近出现了真实案例。 一位62岁的美国西雅图居民,在骑自行车时车轮打滑,摔倒昏迷,周围没有其他人。苹果手表发现他不动以后,自动拨打911报警,并发送了坐标。救护车很快赶到现场,发现他左眼上方大量出血,肩膀和肋骨错位,进行了及时抢救。 3、高分辨率照片的后果 日本一个少女偶像经常发自拍,因为照片分辨率太高,被一个粉丝从她眼睛的反光里面,识别出公交站牌和标志性建筑。结果就到这个站点等她,然后袭击了她,简直像电视剧的情节。 这件事的启示就是,公开发布照片的时候,要注意减少分辨率和 EXIF 信息。 4、斑马一样的奶牛 一队日本研究人员找来六头奶牛,将它们分成三组,分别漆成黑白条纹、黑色条纹和没有条纹。然后,研究虫子叮咬这三组奶牛有无区别。 还真的有区别!研究发现,斑马状的奶牛被叮咬次数最少,几乎减少了近50%。未上漆的奶牛和黑色条纹的奶牛在30分钟内有110次叮咬,但斑马状奶牛不到60次。 原因可能是,条纹导致的光的偏振会削弱蚊虫的感知力,使得它们无法适当减速,停在奶牛身上。研究人员因此提出,驱除蚊虫的简便方法,可能就是为奶牛上涂料。 5、催化转化器盗窃案激增 伦敦警方最近提醒市民提高警惕,防止自己轿车底部的催化转化器被盗。催化转化器用在汽车的排气系统中,在有害气体离开排气管之前对其进行净化。 该设备含有贵金属钯和铑,这两种元素最近价格上涨,导致小偷盯上了它。2019年上半年,伦敦的催化转化器盗窃数量达到2,894起,而2018年全年为1,674起。 根据记者观察,犯罪团伙在光天化日之下,钻入停在路边的轿车底部,不到三分钟就熟练地偷走了催化转化器。 6、逐梦者太空飞机 逐梦者太空飞机(Dream Chaser)的主体结构今年十月制造完成,预定于2021年下半年首次执行国际空间站补给任务。 它是美国的下一代航天飞机,可以多次使用,往返于地面与太空。它长9米,宽4.5米,高1.8米,可以载人或载货,一次最多乘坐7人。根据美国宇航局的计划,这架飞机会整体放在大型的 Vulcan 火箭的整流罩内发射上天。 下图是2013年制造的原型概念机。 7、一句话消息 cloudflare 公司宣布,新推出的 Bot fight 功能所释放的二氧化碳,将通过种树弥补。根据计算,一个 CPU 内核每年释放8公斤二氧化碳,而一棵树吸收21公斤二氧化碳,因此计算量每新增2.5个 CPU 年,该公司将种植一棵树。 美国学术杂志开始用软件过滤投稿的论文。一旦发现投稿与其他论文的重合度较高,就表明可能剽窃或者没有新意,从而自动向作者发送拒稿信。 2024 巴黎奥运会的会徽公布,即像一团火焰,又像一个女子的头像,象征法兰西共和国。不过,法国网友称,这个标志更适合约会网站或美发沙龙。 亚马逊公司宣布采购10万辆电动小卡车,这样可以减少环境和气候影响。这是有史以来最大的电动汽车订单。 一位土耳其盲人工程师发明了智能手杖,集成了传感器、扬声器和谷歌地图。它可以自动导航,一旦发现前面道路有障碍,就会震动,并且语音报警。 文章 1、Chrome 扩展的数量分析(英文) 本文分析 Chrome 商店的十多万个浏览器扩展,它们的类别和下载次数,以及哪些扩展最受欢迎。 2、Strml.net 一个很有意思的网站,会一行行显示自己的源码,页面跟着代码实时变化。实现方法可以参考这里。 3、OLPC 项目的历史(英语) 2005年,麻省理工学院媒体实验室推出了100美元的 OLPC 笔记本电脑,目标是"每个孩子一个笔记本电脑"。2013年,该项目解散,公告写着"让我们对自己诚实。团结在一起的那种激动,活力和热情已经荡然无存。"本文回顾了这个项目的历史。 4、休假十周的感受(英文) 作者是一个程序员,离开工作岗位,进行了一次为期十周的长途旅行。本文是他的一些感受,如何从繁忙的工作中脱身,以及从旅行中得到了什么。 5、看清机器学习的炒作(英文) 作者认为,机器学习这个词是一种炒作,已经被神化了。实际上,机器学习就是要解决四类问题,每一类问题都有对应的算法,并没有神奇之处。 6、警惕多个同类型参数的函数(英文) 一个函数如果有多个同类型的参数,比如两个参数都是字符串f(string A, string B),作者认为必须警惕,因为容易误用,必须查文档才能分辨每个参数的含义。所以,函数定义时最好避免同类型的参数。 7、Chrome 浏览器的一键暂停播放功能(英文) 你在 Chrome 浏览器打开了20个标签,其中一个正在播放音乐或视频,你单击一个个标签找出到底是哪个标签在播放,这样很麻烦。Chrome 现在提供了一键暂停/播放功能,一个按钮让所有标签停止播放。 8、计算机科学经典书籍的书单(英文) 作者列出心目中最佳 CS 书籍,分成编程、算法、语言、系统和网络五个部分。(@nickmose8 投稿) 9、浏览器 user-agent 字符串的混乱历史(英文) 浏览器发出 HTTP 请求时,会带有一个 user-agent 字段,表明自己的身份。但是,这个字符串相当混淆,许多浏览器都在故意冒充别人。本文介绍这个字段的历史 10、怎么看待微软亚洲研究院?(英文) 过去5年中,人工智能领域引用最多的论文出自北京的微软亚洲研究院 MSRA,作者是四个中国人。事实上,MSRA 培养了大量的人才。本文站在美国的立场,分析美国应该怎么看待这件事情。 工具 1、Tweet Jobs 该网站自动抓取推特上面的招聘推,并按照岗位分类。 2、Raw Therapee Raw 格式的数码照片处理桌面软件,跨平台。 3、web-clipper Chrome 浏览器插件,支持一键将网页内容存储到多个平台,包括 Github、Notion、OneNote、语雀、有道等。(@DiamondYuan 投稿) 4、MarioHTML TypeScript 写的马里奥网页游戏。 5、Kate KDE 项目里面的多文档编辑器,可以在一个窗口编辑多个文档,具有 IDE 的功能。 6、Markdown-Here 浏览器插件,让你可以使用 Markdown 写 Email,然后由这个插件转为富文本格式。 7、mjml 复杂格式的电子邮件 HTML 源码很难写,因为各个邮件客户端支持的 CSS 属性不一样。mjml 是一个响应式电子邮件框架,定义了一套自己的语法,你用这套语法写邮件,然后编译成 HTML。 8、LaTeX Search LaTeX 搜索引擎。你给出英语描述,它返回符号的写法。比如,搜索root(平方根),返回 \sqrt{}。 9、Textmate 一个好用的文本编辑器,最近推出了2.0版。 10、doka 一个使用 WebGL 技术搭建的在线图像编辑器,使用非常流畅。 资源 1、 HTTP Cat 该网站对每个 HTTP 状态码,返回一张不同的猫咪照片。(@zhaofenghao 投稿) 2、《自然语言处理 NLP 的基本概念》 中文的59页 PDF 小册子,通过可视化图形,通俗地向非技术人员解释什么是自然语言处理。(@easyaitech 投稿) 3、resume.io 该网站提供多套简历模板,用户可以选择一套,自动生成自己的简历。 4、Python 编程基础(PDF) 免费英文电子书。 5、学习 ClojureScript ClojureScript 是 Clojure 编程语言的一种方言,可编译为JavaScript,专门为网页编程而设计。 图片 1、特斯拉上海工厂 10月23日,特斯拉汽车发布第三季报告,大篇幅宣传上海工厂,20多页的全文,整整8页是上海的大幅彩照。 确实惊人,10个月前还是一片空地,现在已经投产了。 2、欧洲酒精带 欧洲各国饮用的主要酒类各不相同。上图中,深红色国家主要饮用葡萄酒(wine),黄色国家饮用啤酒(beer),蓝色国家饮用伏特加(vodka)。 文摘 1、贡贝黑猩猩战争 贡贝黑猩猩战争是1974年到1978年,发生在坦桑尼亚贡贝溪国家公园里面,两个黑猩猩族群之间的一场暴力冲突。 1974年,生物学家珍·古道尔首次发现,这个公园的南部和北部分别住着两群大猩猩。它们原来属于一个统一的族群,后来分裂了,产生了敌对关系。 南派有六只雄猩猩,三只雌猩猩,以及一些幼仔。 1974年1月7日,两派之间的战争爆发。一个由六只北派成年大猩猩组成的团伙,袭击并杀害了一只南派的幼仔。当时,这只幼年大猩猩正在树上进食。这也是人类第一次观察到,黑猩猩故意杀害一只同类。 接下来的四年,南派的所有六只成年雄猩猩均被北派消灭,雌猩猩一只被杀,一只失踪,一只被北派掳走。北派随后占据了南派的领地。 然而,北派未能永久占有这片领地。南派领地旁边有另一群大猩猩,实力和数量都多于北派。双方几场遭遇战后,北派很快放弃了新近获得的南派领地。 这场战争给珍妮·古道尔带来了极大的震撼。她先前认为黑猩猩虽然与人类相似,但"应当比人类好一些"。但是这场战争使古道尔第一次认识到黑猩猩的黑暗面。 上图为珍妮·古道尔在公园里的喂养站,她在这里喂养大猩猩。 2、程序员的誓言 鲍勃·马丁大叔(Bob Martin)是软件开发理论的巨头之一。他提出的程序员誓言,是这个行业的基本职业道德。 誓言由关于软件开发人员的九个道德目标组成。 为了捍卫和维护计算机程序员的职业荣誉,我承诺,尽我所能和判断力: 1、我不会产生有害的代码。 2、我制作的代码永远是我最好的作品。我不会故意允许在行为或结构上有缺陷的代码。 3、每次发布时,我都会生成一个快速、可靠、可重复的证据,证明代码的每个元素都应该正常工作。 4、我将经常发布小版本,这样我就不会妨碍其他人的进展。 5、我会抓住每一个机会,无畏地,不懈地改进我的代码。我永远不会损害它们。 6、我将尽我所能保持自己和他人的生产力。我不会做任何降低生产力的事情。 7、我将继续确保支持其他人的工作,并且他们也可以支持我的工作。 8、我将对幅度和精度做出诚实的估计。我不会作出做不到的诺言。 9、我将永远不会停止学习和改进我的手艺。 言论和数字 1、 可以数学证明,一个项目拖得越久,它的预期完成日期就越遥远。 -- 《林迪定律》 2、 你始终被锁定在你的基础架构中。一旦达到一定规模,人们就不会轻易改变基础架构。 -- HN 读者 3、 一部 9TB 的磁带机,现在价格为59美元,每 TB 为6.55美元。这比市场上最便宜的 SSD 硬盘低12倍,是最便宜的 12TB 传统硬盘 Seagate Exos X14 的1/4。 -- 磁带存储仍然有优势 4、 所有算法都可以称为人工智能。 -- Eran Hammer 5、 全世界所有国家的官方文字,只有一种没有进入 Unicode 编码,就是缅甸文。 -- 《Facebook 如何从将缅甸 Zawgyi 编码转为 Unicode》 6、 大多数时候,人们都会放大场景,而不是缩小场景。因此,尽管广角摄像头可能很有趣,但我们认为长焦摄像头更重要。 -- 谷歌在 Pixel 4 手机发布会上解释,为什么 Pixel 4 只有长焦摄像头,没有广角摄像头。 回顾 去年的本周:《周刊第 27 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年10月25日


Tmux 使用教程

Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 本文介绍如何使用 Tmux。 一、Tmux 是什么? 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。 会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。 一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。 为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。 1.2 Tmux 的作用 Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。 (2) 它可以让新窗口"接入"已经存在的会话。 (3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。 (4)它还支持窗口任意的垂直和水平拆分。 类似的终端复用器还有 GNU Screen。Tmux 与它功能相似,但是更易用,也更强大。 二、基本用法 2.1 安装 Tmux 一般需要自己安装。 # Ubuntu 或 Debian $ sudo apt-get install tmux # CentOS 或 Fedora $ sudo yum install tmux # Mac $ brew install tmux 2.2 启动与退出 安装完成后,键入tmux命令,就进入了 Tmux 窗口。 $ tmux 上面命令会启动 Tmux 窗口,底部有一个状态栏。状态栏的左侧是窗口信息(编号和名称),右侧是系统信息。 按下Ctrl+d或者显式输入exit命令,就可以退出 Tmux 窗口。 $ exit 2.3 前缀键 Tmux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是Ctrl+b,即先按下Ctrl+b,快捷键才会生效。 举例来说,帮助命令的快捷键是Ctrl+b ?。它的用法是,在 Tmux 窗口中,先按下Ctrl+b,再按下?,就会显示帮助信息。 然后,按下 ESC 键或q键,就可以退出帮助。 三、会话管理 3.1 新建会话 第一个启动的 Tmux 窗口,编号是0,第二个窗口的编号是1,以此类推。这些窗口对应的会话,就是 0 号会话、1 号会话。 使用编号区分会话,不太直观,更好的方法是为会话起名。 $ tmux new -s <session-name> 上面命令新建一个指定名称的会话。 3.2 分离会话 在 Tmux 窗口中,按下Ctrl+b d或者输入tmux detach命令,就会将当前会话与窗口分离。 $ tmux detach 上面命令执行后,就会退出当前 Tmux 窗口,但是会话和里面的进程仍然在后台运行。 tmux ls命令可以查看当前所有的 Tmux 会话。 $ tmux ls # or $ tmux list-session 3.3 接入会话 tmux attach命令用于重新接入某个已存在的会话。 # 使用会话编号 $ tmux attach -t 0 # 使用会话名称 $ tmux attach -t <session-name> 3.4 杀死会话 tmux kill-session命令用于杀死某个会话。 # 使用会话编号 $ tmux kill-session -t 0 # 使用会话名称 $ tmux kill-session -t <session-name> 3.5 切换会话 tmux switch命令用于切换会话。 # 使用会话编号 $ tmux switch -t 0 # 使用会话名称 $ tmux switch -t <session-name> 3.6 重命名会话 tmux rename-session命令用于重命名会话。 $ tmux rename-session -t 0 <new-name> 上面命令将0号会话重命名。 3.7 会话快捷键 下面是一些会话相关的快捷键。 Ctrl+b d:分离当前会话。 Ctrl+b s:列出所有会话。 Ctrl+b $:重命名当前会话。 四、最简操作流程 综上所述,以下是 Tmux 的最简操作流程。 新建会话tmux new -s my_session。 在 Tmux 窗口运行所需的程序。 按下快捷键Ctrl+b d将会话分离。 下次使用时,重新连接到会话tmux attach-session -t my_session。 五、窗格操作 Tmux 可以将窗口分成多个窗格(pane),每个窗格运行不同的命令。以下命令都是在 Tmux 窗口中执行。 5.1 划分窗格 tmux split-window命令用来划分窗格。 # 划分上下两个窗格 $ tmux split-window # 划分左右两个窗格 $ tmux split-window -h 5.2 移动光标 tmux select-pane命令用来移动光标位置。 # 光标切换到上方窗格 $ tmux select-pane -U # 光标切换到下方窗格 $ tmux select-pane -D # 光标切换到左边窗格 $ tmux select-pane -L # 光标切换到右边窗格 $ tmux select-pane -R 5.3 交换窗格位置 tmux swap-pane命令用来交换窗格位置。 # 当前窗格上移 $ tmux swap-pane -U # 当前窗格下移 $ tmux swap-pane -D # 当前窗格左移 $ tmux swap-pane -L # 当前窗格左移 $ tmux swap-pane -R 5.4 窗格快捷键 下面是一些窗格操作的快捷键。 Ctrl+b %:划分左右两个窗格。 Ctrl+b ":划分上下两个窗格。 Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。 Ctrl+b ;:光标切换到上一个窗格。 Ctrl+b o:光标切换到下一个窗格。 Ctrl+b {:当前窗格左移。 Ctrl+b }:当前窗格右移。 Ctrl+b Ctrl+o:当前窗格上移。 Ctrl+b Alt+o:当前窗格下移。 Ctrl+b x:关闭当前窗格。 Ctrl+b !:将当前窗格拆分为一个独立窗口。 Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。 Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小。 Ctrl+b q:显示窗格编号。 六、窗口管理 除了将一个窗口划分成多个窗格,Tmux 也允许新建多个窗口。 6.1 新建窗口 tmux new-window命令用来创建新窗口。 $ tmux new-window # 新建一个指定名称的窗口 $ tmux new-window -n <window-name> 6.2 切换窗口 tmux select-window命令用来切换窗口。 # 切换到指定编号的窗口 $ tmux select-window -t <window-number> # 切换到指定名称的窗口 $ tmux select-window -t <window-name> 6.3 重命名窗口 tmux rename-window命令用于为当前窗口起名(或重命名)。 $ tmux rename-window <new-name> 6.4 窗口快捷键 下面是一些窗口操作的快捷键。 Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息。 Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。 Ctrl+b n:切换到下一个窗口。 Ctrl+b <number>:切换到指定编号的窗口,其中的<number>是状态栏上的窗口编号。 Ctrl+b w:从列表中选择窗口。 Ctrl+b ,:窗口重命名。 七、其他命令 下面是一些其他命令。 # 列出所有快捷键,及其对应的 Tmux 命令 $ tmux list-keys # 列出所有 Tmux 命令及其参数 $ tmux list-commands # 列出当前所有 Tmux 会话的信息 $ tmux info # 重新加载当前的 Tmux 配置 $ tmux source-file ~/.tmux.conf 八、参考链接 A Quick and Easy Guide to tmux Tactical tmux: The 10 Most Important Commands Getting started with Tmux (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年10月21日


科技爱好者周刊:第 78 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 封面照片:浦东后滩,上海,2019 刊首语 有一句有名的话:"只要站在风口,猪也能飞起来"。事业起飞的简单方法就是,起风时你正好在风口。 共享单车、AR、区块链、人工智能,这些都是过去或者现在的风口。那么,下一个风口在哪里? 我最近有一个感觉,游戏业将是下一个风口。 未来几年中,很可能会有新型游戏诞生,引爆整个市场。 一家美国游戏公司的 CEO,最近发表演讲,提到"游戏将比人工智能更重要",因为游戏业出现了几个前所未有的新变化。 (1)游戏技术的发展,使得单一游戏可以容纳的玩家,比以往任何时候都要多。 (2)游戏设备的进化。智能手机的出现,使得人们随时随地都可以进入游戏。 (3)游戏的开发难度在下降,越来越多的人可以将自己的想法做成游戏。 (4)随着游戏人口的增长,游戏的社会影响力在不断提升。 人们玩游戏,以前是为了娱乐,未来不是。你想做的各种事情,未来都可以在游戏中完成:社交、学习、创业、挣钱......更重要的是,有些独一无二的体验,只有在游戏中才能获得。 现在,游戏已经是一个巨大的产业,最终将会成为国民经济和社会生活的最大部门。如果你想赶上下一个风口,可以现在就投入游戏业。 优达学城,双十一优惠 双十一快到了,周刊之前推荐过的优达学城(Udacity),进入了全年唯一一次打折季。 想便宜购买课程和囤课的同学,现在应该是最好的时间。尤其是数据科学方面,近期有很多更新,加入了几门新课。点击这里,直接进入活动页面,领取优惠券,价格可以打八折 。 优达学城(Udacity)是来自硅谷的在线学习平台,由谷歌无人车之父、Google X 创始人 Sebastian Thrun 创立,专注编程实战为核心的前沿科技教育,包括数据分析、人工智能、无人驾驶等。它在美国有很大的知名度和市场占有率,课程质量得到普遍认可。 他家的毕业生,毕业以后可以得到独家的 纳米学位证书 。这张证书可以直接添加至 LinkedIn 个人简历,与其他国际知名证书具有同等认可。 资讯 1、SpaceX 第一次载人飞行 美国宇航局的局长10月10日访问了 SpaceX 公司,与 CEO 马斯克见面,向记者宣布 SpaceX 的第一次载人飞行可能在明年一季度。 按照原计划,SpaceX 的"龙飞船"通过猎鹰九号火箭(下图),搭载两名宇航员于今年飞往国际空间站。但是今年4月份,龙飞船在地面实验时发生爆炸,导致整个计划推迟,今年已不太可能进行载人飞行了。 美国宇航局的政策是,以后的载人飞行都发包给私人公司,政府不再建造航天飞机,现有的航天飞机都已经退役了。 目前,美国宇航员进入国际空间站,都通过俄罗斯的飞船,每个座位的价格是8000万美元。SpaceX 公司的龙飞船,迄今只完成过无人的货运任务,向国际空间站运送货物,还没有载人飞行过。 2、瘫痪病人的装甲 法国研究人员开发了一套装置,让一个脊髓受伤、四肢瘫痪的男人可以站起来走路,行动完全根据自己的意念控制。 研究人员首先对病人进行了手术,将两个传感器放置在大脑表面,用来接受脑电波。 脑电波收集完毕以后,传给计算机,将其转变为指令,控制病人身上的机械装置,让病人行走起来。 整套装置重量达到65公斤,目前支持的动作有限,还只是一个概念产品,只能在实验室内使用。 3、美国限制 DNA 数据库查询 美国有一些 DNA 数据库网站,允许用户上传自己的 DNA,跟数据库已有的 DNA 进行匹配,找出你的远房亲戚。 警察有时也会使用这项功能,上传犯罪现场发现的 DNA,用来收集线索,由此还真的抓到了不少犯人。上图就是通过公开的 DNA 数据库,抓到的一个几十年前的连环杀手。 这样一来,就引发了隐私方面的担忧。即使你本人从未上传过自己的 DNA,只要你的亲戚上传了他的 DNA,照样可以发现你的生物特征。根据一项研究,网上现有的公开 DNA 数据库,已经可以覆盖60%的美国白人。 美国司法部为此最近发布了规定,限制警察随意搜素 DNA 数据库,只有谋杀、强奸等暴力犯罪,以及识别人类遗体,才可以搜索公开的 DNA 数据库。其他目的的搜索,不能作为证据。 4、Uber 直升机 Uber 公司在纽约向所有用户推出自有品牌的直升机服务。只要你在曼哈顿下城区,就可以网上预约,从曼哈顿飞向肯尼迪机场。整个行程只需8分钟,费用是每人200至225美元,包括行程两端的地面交通费用。 同样的行程驾车可能需要一到两个小时,而公共交通则需要50至75分钟。 5、Amazon Sidewalk 协议 亚马逊公司提出,现有的无线通信协议都不理想:蓝牙和Wi-Fi 的覆盖范围太小,5G 的功耗太大且过于复杂。因此,它发明了一种新无线协议,叫做 Amazon Sidewalk。 这种协议使用900兆赫频率,特点是低带宽、长距离(通信距离可以到一英里),设计用途是连接房屋内部和周围的所有物联网设备。 亚马逊已经在洛杉矶发送了700台测试设备。一旦有大量接入点,可以创建覆盖面非常广的网络。 第一款使用该协议的产品,将是明年发售的狗牌 Ring Fetch。狗戴着这个设备,一旦失去信号,就表示狗已经远离了你,你就会收到警报。只要收到信号,就表示狗在距离你一英里的范围内。 6、第二代氢燃料汽车 丰田公司选在10月8日发布第二代 Mirai 燃料汽车,因为10月8日可以写成 1.008,这是氢的原子量。 该车使用氢气作为燃料,没有污染,也不排放二氧化碳,是目前世界上主要的氢动力汽车。第一代在2014年问世,这次的第二代加大了氢气储存容量,续航里程从500公里增加到了650公里。 该车在美国的售价是5.85万美元,日本的售价为670万日元(约44.3万人民币),日本政府会补助200万日元。 7、马拉松进入两小时 肯尼亚的世界纪录保持者埃留德·基普乔格(Eliud Kipchoge)10月12日在维也纳以1:59:40的成绩,成为第一个马拉松进入两小时以内的人! 这相当于,100米的平均速度为17秒,然后不间断跑422个这样的100米。 不过,由于这是一次专门为他破记录举办的挑战赛,为了创造记录,有41个人配合他跑,为他挡风和配速,所以国际田联不会承认这个纪录。 8、一句话消息 国际标准化组织 ISO 将图形数据库查询语言 GQL 通过为国际标准,这是继 SQL 以后第二种成为国际标准的数据库查询语言。 Perl6 改名为 Raku 语言。主要原因是,Perl6 的开发拖得太久,超过10年。而 Perl5 也没停止升级,结果导致两者语法不兼容。现在好了,Perl 语言将永远是这个样子,Perl6 也不必烦恼怎么兼容以前的脚本。 奥地利一个政党要求,宪法加入保障使用现金的条款,防止出现"无现金社会"。 东莞市政府预计,2030年该市人口会达到1020万,成为广东省继广州、深圳之后第三个人口破千万的城市。 一个美国盲人起诉达美乐批萨,该公司的网站盲人无法使用。达美乐认为法院不该受理,美国最高法院驳回达美乐的请求,表示法律保障盲人使用互联网的权利。 俄罗斯宇航员阿列克谢·列昂诺夫(Alexei Leonov)去世,享年85岁。他是第一个太空行走的宇航员,即第一个进入太空环境的人类。 一家美国创业公司推出自动行驶垃圾桶。该垃圾桶会自动到达目的地,因此可定时挨家挨户上门收垃圾。 谷歌昨天发布 Pixel 4 手机,后摄像头跟 iPhone 在同一位置,但完全是另一种风格,这是故意的吗...... 文章 1、山里拍到了23条蛇(中文) 9月7号、8号两天去山里玩。两个白天加晚上一共走了30多公里,拍到了23条蛇(虽然一小半都是虎斑颈槽蛇幼蛇,见上图),还有几条逃跑太快,没拍到。 2、谷歌为什么选择 Kotlin 作为安卓开发语言?(英文) 谷歌一直在为安卓应用开发寻找 Java 的替代品,这是为什么?Kotlin 哪里超过了 Java? 3、我的一人互联网公司(英文) 一个开发者介绍,他如何一个人开发和管理20台服务器,运营一个商业网站。 4、短网址(short URL)系统的原理及其实现(中文) 本文介绍短网址服务的原理,以及如何写一个实现。(@Youthink 投稿) 5、JavaScript 的新语法(英文) 本文介绍一些即将进入 JavaScript 标准的新语法。 6、我如何创建一个盈利的副业项目?(英文) 作者在面试 Facebook 被拒以后,决定做一个项目证明自己。本文记录他构思、开发、推广的过程,发布后4个月产生了1000美元的收入。 7、全文搜索系统入门(英文) 本文用通俗语言介绍全文搜索的原理。 8、async 函数的使用模式(英文) async 函数是 JavaScript 语言新增的异步解决方案,本文通过许多例子,介绍它比 Promise 好在哪里。 9、苹果的 A13 芯片介绍(英文) iPhone11 发布会上,A13 芯片的介绍只占四分钟,但它可能是 iPhone 11 最重要的更新和迄今最好的手机 CPU:"包含85亿个晶体管,六个内核,一个四核图形处理器,一个LTE调制解调器,一个用于机器智能功能的八核神经引擎,每秒可运行超过五万亿次运算。" 10、为什么 Jira 难用透了(英文) Jira 是常用的项目管理工具,本文使用大量图片解释这个工具是多么难用。 工具 1、scoper 一个开源工具,可以搜索 Youtube 视频的字幕,返回关键词在视频里面出现的时间。 2、instant.page 一个 JS 库,当用户鼠标悬停在链接上面,就开始预加载网页,从而使得用户真正点击的时候,页面瞬间就能加载。 3、labstack 在线的代码运行试验环境(playground),支持15种语言,包括 C、C++、Python、Go、Ruby、Swift等。 4、Stellarium 一个开源的天文软件,显示了逼真的 3D 天空,就像用肉眼或望远镜看到的一样,有桌面版和 Web 版。 5、S0lly 一个 Excel 里面的策略游戏《文明》。 6、tiler 一个将小图像拼成大图像的工具,设计马赛克镶嵌画的最佳工具。 7、manjaro 一个基于 Arch 的 Linux 发行版,具有 Arch 的灵活性,同时注重对用户的友好性。 8、cherry 一个基于机器学习的简易中文文本分类器,可以给出输入的中文内容的类别。 9、Firefly III 一个可以自己架设服务的开源财务管理软件。 10、Naptha 一个 Chrome 浏览器插件,可以选中并识别图片里面的文字。 资源 1、反向面试 这个中文仓库收集反向面试的问题,一共50多个,你可以用来问面试官。(@ifrontend-xyz 投稿) 2、简明 Python 教程 Python 初学者教程《A Byte of Python》的中文翻译。(@vtnil 投稿) 3、Modern C(第二版) 最新出版的 C 语言的英文教材,作者提供免费下载。 4、使用 Python 学习计量经济学(PDF) 英文电子书,讲解 Python 基本用法,然后用它教计量经济学。 5、开源种子 各国法律规定,人工培育的新植物品种可以获得专利,这可能导致植物的遗传资源私有化。 该项目建立开源种子库,所有种子都带有开源许可证,用户可以自由使用从他们那里取得的种子。 图片 1、鲎的血 鲎(发音为"后")是一种古老的动物,血液中含有铜离子,所以血液是蓝色的。这种蓝色血液的提取物----"鲎试剂",可以准确、快速地检测人体内部组织是否有细菌感染(比如大肠杆菌)。在制药和食品工业中,可用鲎血液对毒素污染进行监测。 这种血很贵,每升超过15000美元。制药公司每年都会捕获50万只鲎,采集它们1/3的血液,然后放回海洋。 2、运送风力发电机的叶片 风力发电机越来越多,但是运输发电机的叶片是一件很困难的事情。 3、错误响应代码 window.onerror = window.close; 上面这行代码,可以让网页应用有手机 App 的体验。 文摘 1、世界最深的洞 俄罗斯北极圈城市摩尔曼斯克附近,有一个特别的地方。地面的这个盖子下面是世界最深的洞。 20世纪70年代,苏联科学家想要更多地了解地壳,就在摩尔曼斯克附近开始钻探。直到1992年才停止钻探,地下温度已经达到了180度,超过设备能够承受的温度。 这个洞的深度超过12000米,比世界最深的马里亚纳海沟还要深。洞的直径为23厘米,如果掉下去,需要大约3.5到4分钟才能到达底部。为了防止有人或动物掉下去,洞口的盖子是焊死的。 研究人员发现,地球地壳12公里处有水,以前认为这是不可能的。他们还发现了24种新型单细胞生物,并获得了27亿年前的岩石。 2、40% 规则 互联网创业公司有一条40%规则: 年收入增长率 + 营业利润率 应该等于40%。 如果你的年增长率达到100%,那么可以承受60%的亏损。 如果年增长率为40%,你应该收支平衡。 如果增长率为20%,你应该有20%的营业利润率。 如果没有增长,你应该有40%的营业利润率。 如果业务下降10%,你应该有50%的营业利润率。 我从来没有见过一个如此简单的规则。我总是觉得如果你快速增长,就可以接受赔钱。随着增长放缓,你必须赚钱并增加利润。现在有这样一个简单的公式,我非常喜欢。 言论和数字 1、 拥有个人网站,就好像拥有了互联网的一小部分。 -- 《写给个人网站的一封情书》 2、 如果你已经富裕,2%的收入增长速度就很不错了,可以让你保持并变得更加富裕。 但是,对于几乎没有收入的人来说,2%的收入增长速度,基本上就代表他们将永远贫穷。 -- HN 读者评论中国经济增长速度降到6% 3、 如果 GDP 增长2%,人口增长1.2%,通货膨胀率为1%,那么人均 GDP 将下降。 -- 同上 4、 活在世界上,有时候人家不害你,就是对你最大的帮忙。 -- 柯文哲,台北市长 5、 雇主最看重的是解决问题的技能,而不是编程语言的熟练程度、调试能力和系统设计。 新程序员犯下的最大错误就是专注于学习语法,而不是学习如何解决问题。 -- 《解决问题的经验教训》 6、 我希望程序可以更短,不是以行数或字符衡量,而是以解析树衡量。 -- 保罗·格拉汉姆(Paul Graham)。他已经54岁了,发布了一门自创的计算机语言 Bel。有人问他目的何在,他做了上面的回答。 招聘信息 周刊讨论区的《谁在招人?》,有大量工作/实习岗位,欢迎查看。 如果你的团队需要招人,可以免费在那里张贴招聘信息。如果希望发在周刊上,请联系我(Email: yifeng.ruan@gmail.com ),每条价格 300 元。 1、高级前端工程师 易路软件聚焦企业人力资源 SaaS 领域,致力于以复杂薪酬计算为核心的"移动互联网+员工服务"研发及运营。工作地点:上海闵行区。 招聘前端工程师,参与公司产品研发,包括不限于 PC 端、H5、小程序、Node 服务。详细要求和联系方式看这里。 2、秘猿科技 秘猿科技是区块链创业公司,为加密经济提供区块链基础设施和服务。工作地点:杭州或 remote。 本公司招聘区块链工程师、高级后端工程师、安全和测试工程师。详细要求和联系方式看这里。 回顾 去年的本周:《周刊第 26 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年10月18日


科技爱好者周刊:第 77 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 封面图片:阿尔布拉罕宫,西班牙,2014年 刊首语 十一长假,我看完了韩国电视剧《阿尔布拉罕宫的回忆》。 我推荐大家也去看看这个电视剧,不是因为有多好看,而是因为它反映了未来的娱乐业、游戏业的方向。 在电视剧中,主人公遇到了一款 AR 游戏,游戏的虚拟世界与真实世界发生了重合。它应该是世界第一部主要情节发生在 AR 游戏里面的电视剧。 所谓 AR 就是"增强现实"(augmented reality),在现实世界上面叠加一个虚拟层,对现实进行了虚拟增强。比如,现实世界是一片沙漠,AR 就在上面增加几只骆驼、一个绿洲,你用游戏设备就能看见,还可以与它们互动,这些骆驼和绿洲只在 AR 世界存在。 主人公走在空旷的大街上。 突然,远处跑来了一队骑兵。 一个阿拉贡王国的武士从天而降,与主人公决斗。 主人公在小酒馆的厕所里面,找到了宝剑,才能击败武士。 一旦脱下隐形眼镜,一切就恢复正常。 电视剧里面,几乎无法分辨,哪个是虚拟世界,哪个是现实世界。我相信总有一天,技术可以做到这一点。那时,你会宁愿活在虚拟世界中,那里跟现实世界一样真实,但是更精彩,你还有漂亮的 avatar(化身)。 谱蓝家庭保障顾问 本期周刊得到谱蓝公司的支持,非常感谢。 谱蓝是一个理财服务品牌,致力于将 CFP 国际理财标准与人工智能相结合,目前正在推广家庭的财务保障顾问服务。它提供专家咨询和规划服务,为用户设计最合适自己家庭的理财和保险配置。 大家可能像我一样,一看见保险代理人推销保险,就唯恐避之不及。谱蓝针对市场的这种乱象,采用了完全不一样的方法:专业的理财规划师根据客户需求,先梳理家庭的财务数据,评估最需要保障的环节,然后把数据输入《谱蓝 Pro 人工智能系统》,自动在数据库匹配最合适的理财和保险产品,自动生成个性化家庭保障方案。 谱蓝的创始人是一直支持这个周刊的孙明展老师。他毕业于广州中山大学,曾任金融系、统计系的(兼职)硕士导师,在一家世界500强保险公司担任过精算师。 为了推广理财知识,提高家庭财务保障,他的同名公号 "孙明展" ,一直在普及相关知识。大家可以查看订阅,值得一读。 本次,谱蓝公司向这个周刊的读者,免费赠送"家庭保障定制化服务" ,借助上面提到的《谱蓝 Pro 系统》为大家量身定制属于自己的保障方案,当好大家的财务顾问。 微信扫描关注上面的公众号 "孙明展" ,然后输入 "阮一峰 + 你的手机号码" ,就可以参加这个活动了。参加者都可以获赠一份价值 800元 的免费保障规划。 资讯 1、垂直农业 苏格兰一家公司正在开发"垂直农业",在室内种植草莓、甘蓝、莴苣和香菜。 农作物种在托盘里面,托盘一共有9层,40平米的占地可以种植350平米的农作物。每个托盘上方有1000个发光二极管提供照明。手机控制温度、湿度、通风,以及水和养分的培植系统,可以远程操作,一个人就能经营整个农场。 整套系统的成本主要是电力。为了省电,LED 只发出植物所需的颜色,而不是纯白光的全谱光线。 2、美国能耗下降 研究人员发现,美国经济发展的同时,资源消耗却在下降。不仅人均消耗更少的资源,而且一些最重要的生产要素(如钢铁、铜、肥料、木材和纸张等)的消费总量也减少了。 上图是美国金属的消费总量变化图。可以看到2000年前后达到顶点,然后就开始下降。其他生产要素也是类似变化。2017年美国的能源总使用量比2008年的峰值下降了近2%,但是同期的 GDP 增长了15%以上。 研究人员认为,这个发现可能会改变我们的传统观念,即经济增长一定伴随资源消耗的增长和自然环境的压力。一旦经济进入成熟阶段以后,增长可能会带来资源消耗的减少。 3、反太阳能发电 斯坦福大学的科学家制造了一个反太阳能发电装置,该装置专门在夜间发电。 这个装置的发电不是利用太阳光,而是利用热能。夜间大气的温度低于地表温度,利用这个热能差来发电。它的上部是一个20厘米铝盘,漆成黑色,成功地创造了足够的能量为单个小型 LED 灯泡供电(下图)。 如果这个装置的潜力巨大,甚至有可能在白天运行。目前,它还处于概念产品阶段,发电效率与太阳能发电还相去甚远,每平方米发电低于0.5瓦特。 4、探亲服务 法国推出一项收费服务,每月支付37.90欧元,让邮递员每周探望一次独居老人,看看他们是否一切正常,跟他们说说话,有需要的话还可以帮忙解决。 我觉得这个服务很有必要,也很有前景,建议国内的快递公司也可以推出类似的收费服务。 5、AI 面试系统 联合利华公司开始在面试中,采用 AI 系统为应聘者打分。这个系统跟踪应聘者的脸部,根据他/她回答问题时的语言、语气和面部表情,给出一个分数,评估是否能胜任工作。 开发这项技术的 Hirevue 公司声称,这套系统使得公司在招聘的第一阶段可以面试更多的应聘者,而不仅仅依靠简历,提供了更可靠、更客观的指标,没有人为偏见。目前,该技术已经在英国进行了10万次面试。 6、亚马逊智能设备 亚马逊公司推出一组智能设备,包括指环、眼镜、烤箱。它们共同的特点,就是具有语音操作界面,即你可以跟它们对话、发出指令。以后,你看到有人在跟自己的戒指说话,比如询问天气,不要感到奇怪。 7、一句话新闻 今年的诺贝尔化学奖颁发给了一个日本人。这已经是过去19年第19个得奖的日本人了。出现一两个诺奖得主,或许可以解释为个人天才,但是这么多只能说明整个国家的高等教育和基础研究实力强大。 《纽约时报》报道,7%的美国大学生在互联网上雇佣枪手写论文,枪手主要来自肯尼亚,印度和乌克兰。 一项研究发现,在线课程的完成率只有4%,100个报名网上课程的人,只有4个能坚持学完。 武汉将在明年开始建设时速600公里~1000公里的磁悬浮列车试验线。 新加坡的人均寿命接近85岁,政府即将提高退休年龄。很多65岁的人现在不能退休,而是必须参加政府指定的技能培训班,学习计算机技能。 Shopify 超过 eBay,成为美国第二大电商,仅次于亚马逊。 有人在马萨诸塞州的高速公路上,发现旁边的一辆特斯拉汽车的司机睡着了,汽车完全在高速地自动驾驶。 智利7月2日的日全食照片,可以清晰看到日珥(太阳喷射出的气流)。 加州大学洛杉矶分校建造了一个四足机器人,非常灵活,可以前后移动,也可以左右移动。 文章 1、谷歌新增链接的说明符(英文) 谷歌宣布,除了nofollow以外,新增两个 HTML 语言中的链接说明,帮助搜索引擎更好地判断链接的性质。 2、Netlify 的 FaunaDB 集成(英文) Netlify 是一个静态网站服务提供商,它现在接入了云数据库 FaunaDB,为静态网站提供了后端数据库功能。 3、使用 Socket.io 开发一个最简单聊天应用(英文) 本文介绍如何通过 Socket.io 这个库,开发一个前后端通过 WebSocket 协议互动的最简单聊天应用。 4、为什么 Firefox 的 DNS over HTTPS 是危险的?(英文) 传统的 DNS 查询不加密,所以不安全。新的 DNS over HTTPS(简写 DoH)是加密查询,Firefox 打算默认开启,本文认为,这样会让所有 DNS 查询都导向一个实体,是危险的。 5、5G:炒作与现实(英文) 5G 通信是现在的热点,但是很大一部分是炒作。本文分析 5G 的应用场景,以及它的代价和局限。 6、Excel 的19个替代品(英文) 本文介绍可以替代 Excel 的19个在线电子表格。 7、我最喜欢的 Chrome 插件(英文) 作者是一个前端程序员,介绍自己使用的专用于 Web 开发的 Chrome 浏览器插件。 8、雇佣 Java 程序员的完整指南(英文) Java 程序员招聘非常常见,本文总结了企业对于初级、中级、高级、架构师各个级别的 Java 程序员应该考察哪些方面。 9、长途货车司机是中国经济的无名英雄(英文) 《经济学人》杂志的报道,中国的制造业和网购都依赖卡车司机,但是没有人知道他们。 10、未来的游戏物理学(英文) 本文是一个瑞典游戏开发者的专访,介绍他对游戏中的物理学应用的看法。 11、追寻核聚变(英文) 核电站都是核裂变反应堆,但是更有前景的是核聚变反应堆。这篇长篇的新闻报道,介绍核聚变的研究历史,以及目前的进展。 工具 1、Postwoman 一个在线 HTTP 请求调试工具,类似 Postman,不过是 Web 版。 2、WTF 一个命令行的信息仪表盘,可以定制显示内容。 3、gradex 一个开源的在线工具,从上传的图片里面提取两种主色,生成一张渐变的背景图,可以下载。(@jwenjian 投稿) 4、Hex Curler 一个命令行的地牢漫游文本游戏,可以感受一下早期的文字游戏。 5、NetNewsWire MacOS 的桌面 RSS 阅读器,免费软件。 6、KeeWeb 免费的密码管理器,有桌面版和 Web 版,兼容 Keepass 格式。 7、Xnip 国产的 Mac 截图软件。(@ZekeDa 投稿) 8、dfile 一种极简的基于 IPFS 的文件上传和分享工具。(@coolcode 投稿) 9、dbdiagram.io 创建数据库的实体-关系图的工具。 10、flowshare 该网站是一个 Howto 网站,允许用户上传多张图片,并添加文字说明,解释如何一步步完成一项任务,比如《如何为谷歌启用双因素认证》。 资源 1、日语语法指南 中文的日语初学者教程。(@pizzamx 投稿) 2、Guido 解析器系列文章翻译 Python 之父 Guido van Rossum 正在连载的 PEG 解析器系列文章的中文翻译,对于了解 Python 的前沿动态很有帮助。(@chinesehuazhou 投稿) 3、wtfpython-cn 这个仓库收集一些有趣且鲜为人知的 Python 特性,内容是从英语翻译而来的。(@fengrussell 投稿) 4、Sketchsheets 免费的 Sketch 模板文件下载,主要是一些电子设备(比如苹果手机、安卓手机)的设计模板图。 5、机器学习漫画 谷歌推出的机器学习漫画,解释基本知识。 图片 1、5G 基站 下图是美国亚特兰大街头的一个 5G 基站。5G 的频率比 4G 高,基站体积小很多,但是覆盖范围小,在城市中必须大量部署。 2、现代小房子 澳大利亚一对夫妻设计了一栋小房子,只有卡车大小,9米长,2.5米宽,而且装有轮子可以快速移动。房子内设置非常齐全,有两个卧室和两个淋浴间。 文摘 1、19世纪政治与21世纪数据中心 谷歌最近宣布在犹他州盐湖城新建一个大型数据中心。这是继微软、Facebook、Apple、雅虎和其他公司以后,又一家沿着北纬41度线新建的数据中心。 上图每一个红点就是一个数据中心,投资数十亿美元。 为什么这些互联网公司都选择北纬41度线,新建数据中心? 这是因为美国东西向的光缆,大部分沿着这条线埋设,而数据中心距离光缆越近越好。 那么,为什么电信服务商选择北纬41度埋设光缆呢? 因为美国第一条横贯北美大陆的铁路,是沿着这条线铺设的。根据美国法律,这条1869年完工的铁路两侧的土地,都属于联合太平洋铁路公司。埋设光缆需要土地,如果你是电信公司,你肯定希望只与联合太平洋铁路这一家公司谈判土地使用权,而不是分开来跟许许多多个体谈判。 那么,为什么第一条横贯北美大陆的铁路沿着北纬41度线架设呢? 因为这条铁路的动工是在南北战争前夕,当时美国国会分裂,北方的议员希望这条铁路铺设在北方,南方的议员希望铺设在南方。从工程角度看,南线方案更理想,不需要穿越落基山脉,施工难度和成本都较低,而且冬季不会有大雪封路。但是投票前夕,双方已经决裂了,南方议员退出了国会,北方议员就投票通过了现在的方案。 这条铁路的起点是在康涅狄格州的一个城市。它之所以被选中,因为此地向西直到落基山脉,都是平原。而且,沿路有一条大河,可以为蒸汽机车提供了良好的锅炉水源。同样的,这条河现在用于数据中心的冷却。这个作为起点的康涅狄格州城市就在北纬41度线上。 150多年前的政治,就这样决定了数十亿美元的现代数据中心投资。 2、星巴克的储值卡 下面这篇文章解释了,为什么很多公司让用户预付款购买服务,而且预付款很难拿回来。 星巴克发行储值卡,用户可以把钱存在里面,然后用储值卡购买咖啡。目前,星巴克公司所有储值卡的余额为16亿美元,这相当于用户给星巴克免费贷款16亿美元。 星巴克不是唯一一家从客户那里获得免费贷款的公司,PayPal 也是如此。持有 PayPal 余额的客户实际上是 PayPal 的债权人,PayPal 的客户贷款目前超过200亿美元。与星巴克一样,PayPal 也不会向客户支付任何利息。 但是 PayPal 必须把这些钱放在银行,防止用户随时提款。星巴克的储值卡只能用来买咖啡,所以星巴克可以随时动用这些钱,用于自己的用途。 更有利的是,向银行借钱,银行不会忘记债务,但是让客户使用储值卡,客户可能会忘记这些钱。这意味着许多储值卡和礼品卡,其实没有动用。 每年,星巴克都承认部分储值卡负债将永久消失,这称为"破损",星巴克将此金额视为利润。2018年,该公司确认了1.55亿美元的破损,约占所有储值余额的10%。这相当于星巴克从储值卡得到的贷款利率是-10%! 为了鼓励用户使用储值卡,将更多的钱存在里面,星巴克规定使用储值卡购买咖啡,用户可以得到等值的星星。一定数量的星星就可以换取免费的咖啡。 这就是为什么商家都希望有储值卡。前提是这些商家必须拥有像星巴克这么大的实体店网络。例如,沃尔玛比星巴克大得多,它的礼品卡余额也很多。 言论和数字 1、 每次打开一个源码文件,你都应该让它变得更好。 -- DHH 2、 最好的工程师不是写代码最多的工程师,而是做出未来可以少写代码的决策的工程师。 -- Dan Goldin 3、 印度的上网人口仅次于中国,2018年为5.66亿,今年将增长11%达到6.27亿(中国为超过8亿)。印度和中国是世界仅有的两个超过5亿上网人口的国家。 但是,由于印度人均收入太低(仅为中国的四分之一),印度互联网企业的收入少得可怜,2018年印度数字广告支出仅为15.3亿美元,中国为850亿美元,世界第一的美国为1080亿美元。 -- 《印度微薄的数字广告收入》 4、 RMS(理查德.斯托曼)是一个伟大的人,但遗憾的是,他与更广阔的世界沟通有困难。历史上许多伟大的思想家都是如此。很可悲,这种事情发生在他这样的英雄人物身上,但我相信,只要人们继续为自由软件作斗争,历史会还给他公正。 -- HN 读者评论 RMS 辞去自由软件基金会 FSF 主席 5、 技术通常只是达到目的的手段,除非你在销售技术,否则追求时髦技术很无聊。我看到太多团队在复杂的技术堆栈上,投入了太多能量,只是为了看起来很酷。 在内心深处,我只希望业务能够成功,干净和健全的系统架构是我追求的,只要能让业务跑起来,使用什么技术都无关紧要。 -- HN 读者 6、 一次性塑料用品的问题是,我们用一种可以持续数个世纪不降解的材料,制造只使用一次的产品。 -- 《93%的瓶装水发现微塑料》 招聘信息 周刊讨论区的《谁在招人?》,有大量工作/实习岗位,欢迎查看。 如果你的团队需要招人,可以免费在那里张贴招聘信息。如果希望发在周刊上,请联系我(Email: yifeng.ruan@gmail.com ),每条价格 300 元。 1、高级前端工程师 负责字节跳动的付费中台与作者收入相关产品,欢迎应届生/实习生应聘。工作地点:北京-海淀。 从事 Web/Hybrid/Wap/小程序/Flutter 的前端开发工作,要求熟练使用至少一种主流前端开发框架,熟悉服务端 (Go/Node.js)/Flutter/TypeScript 开发者优先。具体要求和联系方式看这里。 2、秘猿科技 秘猿科技是区块链创业公司,为加密经济提供区块链基础设施和服务。工作地点:杭州或 remote。 本公司招聘区块链工程师、高级后端工程师、安全和测试工程师。详细要求和联系方式看这里。 回顾 去年的本周:《周刊第 25 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年10月11日


科技爱好者周刊:第 76 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 封面图片:直播装备。 刊首语 我一直觉得,找工作应该找自己热爱的职业。很多人不同意。 他们说,我热爱的东西,没法当做职业。旅行、美食、看电影,这样的爱好怎么当做职业呢? 我最近想到怎么办了,只要照着我说的做,任何爱好都能变成职业。 很简单,只要把自己的爱好拍成视频,上传到网上,让别人观看你的视频,观众越多越好。只要观众足够多,爱好就能变成职业。 旅游就拍游记,美食就拍吃菜或做菜,电影就拍剧情介绍或评论。只要观众多,视频平台会给创作者分成,厂商会找你合作。哪怕只有一万个人订阅,收入也不会输给普通的上班族。 这方面,最好的例子就是电子游戏。最早的时候,喜欢玩电子游戏是挣不到钱的。后来,有人把游戏的过关视频传上网,发现居然很多人爱看。观众之多,创造出了好几个产业:游戏直播、游戏评论、游戏解说、游戏竞技,都是从视频衍生出来的。 只要能服务或娱乐足够多的人,爱好就能变成职业,不管爱好是什么。 资讯 1、机器狗 Spot 波士顿动力公司正式现货发售它的机器狗产品 Spot,有意的用户必须填写申请单,然后波士顿动力会从中选择试点用户,跟其单独商定价格。 广告视频中,机器狗能上坡下坡、开门、绕过障碍,还能互相交流。根据披露,它的速度是每秒1.6米,负重14公斤,360度视力,电池可更换,连续运行时间为90分钟左右。 2、泰国对含糖饮料加倍征税 泰国从2017年开始对含糖饮料征税,今年10月1日起加倍征收。泰国人嗜甜,饮料非常甜,就连面条也要加糖,平均每天摄取26茶匙的糖,是世界卫生组织(WHO)建议每日摄取量的4倍,多半来自含糖饮料,因此泰国政府希望降低泰国人的糖分摄取量。 10月1日开始,每100毫升含有10到14克糖的饮料,税为1泰铢(0.23人民币);14到18克糖的饮料,税为3泰铢(0.70人民币);18克以上糖的饮料,税为5泰铢(1.17人民币)。 3、Firefox 四周发布周期 Firefox 浏览器宣布,发布周期从6周改成4周,即每个月发一个大版本。相比之下,Chrome 现在是6周一个大版本。 这就是前端的速度。一年可以从v69变成v81。如果你的知识一年不更新,就会遥遥落后最新进展。 4、氢气大巴 丰田公司将向2022年北京冬季奥运会,提供100辆氢燃料电池公共汽车,在场馆之间运送游客。这应该是中国第一次引入氢气燃料的公共汽车。目前,东京已经有15辆氢气大巴在运营。 跟纯电动汽车相比,氢气汽车没有充电这个环节,更方便省事。但是,它需要广泛的充气站网络,这成了氢动力汽车推广的最大难题。 5、横渡英吉利海峡两个来回 9月17日,37岁的美国妇女萨拉·托马斯不间断横渡英吉利海峡四次(两个来回),成为世界上完成这个壮举的第一人。她总耗时超过54个小时,一共游了大约209公里。英吉利海峡最窄的地方为30多公里,但因为海上风大浪急,她最后游过的距离远超海峡的实际宽度。 此前有四个人完成不间断横渡英吉利海峡三次(一个半来回),但是没有人游过四次。整个过程中,每隔30分钟,团队都从船上将补给品拴在绳子上递给她。更惊人的是,她是一个癌症患者,去年刚刚完成乳腺癌治疗。 6、特斯拉警车 美国加州弗里蒙特警察局,购买了一辆二手特斯拉汽车作为警车。最近,该车执勤时接到任务,追捕一个驾车逃逸的嫌疑人。当时,警车的电量在40%~50%之间,而嫌疑人在高速公路上以每小时193公里的速度疯狂逃逸。 警车追到只剩6%电量时,警察害怕在高速公路上抛锚,只能放弃追捕。此事引起了媒体的热议,因为电动汽车一次充电能行驶的里程,目前要少于汽油车,而且充电站也大大少于加油站,因此可能不适合作为警车。 7、SpaceX 宇宙飞船 SpaceX 公司发布自己的宇宙飞船 StarShip,这是第一家私人商业公司推出的载人航天器。这艘飞船高度为118米,使用不锈钢制作,装有几十个发动机,可以多次循环使用,一次搭载100人前往火星。 SpaceX 的 CEO 马斯克预计,该飞船明年可以试飞,最快2022年前往火星。下一步要解决的问题是,前往火星的单程为半年,需要开发一个支持100人的生命保障系统。 8、一句话消息 日本9月30日关闭了最后的寻呼机服务。寻呼机从诞生至今已经有50年了。 俄罗斯最近加入了2016年的《巴黎气候协定》,以前它一直对气候变暖不积极,因为该国纬度高,天气不热,而且北极融冰还有利于通航。外界认为,今年夏天北极的异常高温,导致冻土带融化,威胁到俄罗斯的石油天然气设施,才是态度改变的关键原因。 复旦大学研发出5亿像素的云相机,"即便在几万人的体育场内,只需拍摄一幅全景照片,就可获得每张人脸的清晰图像,进行海量数据人脸等目标的检测与识别,瞬间发现特定目标。" 今年是无线广播电台诞生100年。很少有一种电子产品100年后还在使用。 下图是硅谷科技公司的平均工资。相比之下,2018年,国内科技公司平均工资最高的是华为110万人民币,相当于15万美元,基本上跟硅谷工资一致。虽然,平均工资不代表基层员工的收入,但是可以衡量这些公司的人均薪资支出。 一个美国车主将自己的车漆成涂鸦状,结果发现这种涂装很受欢迎。 文章 1、<portal>元素的安全性分析(英文) Chrome 浏览器最近开始支持<portal>元素。它基本上是一个更安全的<iframe>,建立一个彻底的沙箱,用于在一张网页里面插入另一张网页。 2、可以用正则表达式检测正则表达式吗?(英文) 这是一个 StackOverflow 的问答,能不能写出一个正则表达式,去检测另一个正则表达式是否形式正确。这里还有一篇文章是针对这个问题的解释,关键在于正则表达式是否支持递归检测。 3、如何用 AWS Amplify 托管网站(英文) AWS Amplify 是亚马逊的持续集成服务,作为一个简单的网站托管方案,可以直接从源码构建网站,然后自动部署。 4、傅里叶变换交互式入门(中文) 通过一系列互动图形,直观介绍傅里叶变换的含义,基本没用数学公式。 5、如何使用 CSS 变量写一个样式切换器?(英文) 本文介绍 CSS 变量的概念和一些技巧,然后演示用它写一个暗模式/亮模式的切换器。 6、我对编程语言的评价(英文) 一个程序员对十几种编程语言的简短评价,列出每种语言各自的优缺点。 7、如何使用 IPFS 集群架设静态网站?(英文) IPFS 是一种新的 Web 架构,本文作者尝试让自己的静态网站可以通过 IPFS 访问。本文还有续集,介绍如何持续集成,只要推送源码,就自动构建,然后推送到 IPFS。 8、JavaScript 的函数、对象、原型、原型链的关系(中文) 一篇对于 JavaScript 原型链相关知识的总结。(@scottcgi 投稿) 9、日本企业的产业升级之路(中文) 跟大家的印象不一样,日本企业这几年不是走下坡路,而是在走上坡路。东京股市从安倍上台的2012年的8000点,已经上升到2万2000点。本文介绍一些日本企业的最新发展。(@Hiufan 投稿) 10、我如何一个人实现亚马逊上的100万美元销售额?(英文) 一个美国大学生讲述,他如何通过代理中国产品,没有雇佣任何人,一个人在亚马逊上年销售额达到100万美元。 11、中国国庆阅兵展示的新武器(英文) CNN 分析国庆阅兵里面值得注意的新武器。 工具 1、gavatar 生成类似 GitHub 用户头像的开源工具。 2、cowrie 一个模拟的 SSH 服务器。很多攻击者都是 SSH 登录,你可以把这个软件在22端口启动,真正的 SSH 服务器放在另一个端口。黑客以为攻入了服务器,其实进入的是一个虚拟系统,然后会把他们的行为全部记录下来。 3、devfolio 一个个人简历网站的建站模板。 4、Base API 这家云服务公司提供基本的 Web API,包括身份验证、电子邮件发送、文件和图像存储。用法简单,容易上手,作为概念产品很不错。 5、Git paging 一组 Bash 函数,可以在命令行迅速查看 Git 仓库某个版本的信息(比如,第一个、最后一个、上一个、下一个版本)。 6、CodeJsFront 一个开源的编程题目的答题系统。(@Zo3i 投稿) 7、BPMN-JS 一个在线绘制业务流程图的开源工具。(@xhuihui 投稿) 8、Landfall 一个定制手工 3D 地图的网站。 9、d2-admin 一个企业中后台产品的前端集成方案。(@FairyEver 投稿) 10、GoAccess 开源的日志分析工具,可以生成命令行、JSON、HTML 等格式的分析报告。 11、drinkNow Chrome 浏览器插件。每过一段时候,就会弹出一只小鸭子,提醒你要喝水。(@sologgfun 投稿) 资源 1、如何学习 D3.js 数据可视化库 D3.js 的在线英文教程。 2、Berlin:1928与今天 这个网站将柏林1928年的地图,与今天的地图对照展示。地图往左拖动,展示1928年的柏林,向右拖动展示今天的柏林。 3、Free Stock Photos 免费的图库网站,所有图片都可以免费下载,可用于商业用途,包含数百万张图片。 4、维基百科镜像 维基百科在 IPFS 的只读镜像。 5、Julia Academy Julia 语言的官方团队开设的课程网站,目前有 Julia 语言入门、机器学习等三门课程。 图片 1、G-Shock 电子表 G-Shock 是卡西欧的高端电子表品牌,本文以几十张照片介绍 G-Shock 的设计师(下图右一),以及他是如何设计电子表的。 2、世界最长的海底电缆 SEA-ME-WE3 是目前世界最长的海底电缆,连接东亚 - 东南亚 - 中东 - 西欧,总长度 39,000公里。它于2000年3月投入使用,一共有39个登陆点。 文摘 1、莫拉维克悖论 莫拉维克悖论(Moravec's paradox)是人工智能学者发现的一个与常识相反的现象。和传统的假设不同,人类所独有的逻辑和思考能力(即所谓的智慧)只需要非常少的计算能力,但是无意识的技能和感知能力却需要极大的运算能力。 原始表达是:"要让电脑如成人般下棋是相对容易的,但是要让电脑有如一岁小孩般的感知和行动能力却是相当困难,甚至是不可能的。" 一位人工智能学者这样写道: "人工智能研究的主要教训是,难题很容易解决,而我们认为理所当然的一个四岁孩子的能力---- 识别一张脸,举起一支铅笔,走过一个房间,回答一个问题 ---- 实际上是有史以来最困难的问题。......新一代智能设备出现了,它会取代股票分析师、工程师和董事会成员,但是园丁、服务员和厨师在未来几十年中,工作都很安全。" 2、一个持续50年的太空实验 美国有些人质疑,阿波罗计划是一个骗局,宇航员从没到过月球,登月是在摄影棚拍的。下面这个已经进行50年的实验,可以证明这种怀疑是不对的。 阿波罗11号登月前,美国宇航局设计了一个实验,测量地球和月球之间的精确距离,精确到厘米。 1969年7月20日,阿波罗11号宇航员降落在月球上,在月球表面放置了一面1米宽的镜子。美国的四家天文台开始向镜子的方位射出激光,希望击中镜子。 1969年8月1日,加利福尼亚州圣何塞市外的汉密尔顿山上的利克天文台,收到了反射回来的光脉冲,往返耗时2.4秒。由此我们知道了地球与月球之间的精确距离。 直到今天,科学家仍然通过这个实验,进行月球激光测距,以跟踪月球的轨道和旋转的变化。数据显示,地球到月球的距离每年增加约1.5英寸。 2019年8月1日,天文台举行了该项实验50周年的庆祝活动。 言论和数字 1、 有些开发者对技术上瘾,而不是务实地看待技术。每当一种新技术出现,他们会立刻选择它,跳船到它上面,虔诚地传播它,应用它,然后跳船到下一个新技术。 这部分是因为,在这个行业里,简历需要很多时髦的流行语,务实的简单的技术选择,无法让别人留下深刻印象。 -- HN 读者留言 2、 达尔文和尼采有一个观点是一致的:生物体最重要的特征就是奋斗求生。 -- 书籍《当呼吸化为空气》 3、 函数式编程对个人开发没影响,但是团队开发够呛。函数式编程只适合个人英雄主义的开发者,类才适合团队。因为类具有有形的API,函数式依靠无形的概念和规范。因此我觉得React Hooks是一个巨坑。 -- 一个读者评论React Hooks 废掉了"类"(class) 4、 Perl 6 最初设计为 Perl 的下一个版本,但是设计阶段耗时太长(超过10年)。于是,很多人继续使用 Perl 5,并且接管了 Perl 5 的代码管理权。 现在,Perl 6 与 Perl 5 是两种完全不同的编程语言,不兼容,不仅仅只是版本号的不同。如今,Perl 这个词指的是 Perl 5,而 Perl 6 的开发者正在讨论是否改名,将其彻底变成一种独立的语言。 -- 《Perl 6 是否改名?》 5、 一些蓝领工作(比如焊接工)具有相对较高的工资水平,可以超过一些低层白领。但缺点是他们的工资上限很低,不会超过平均工资太远,很难拿到非常高的工资。 -- 《大西洋杂志》 6、 我很惊讶一个静态站点生成器可以筹集这么多资金,这意味着,那些非静态的内容网站依然有巨大的问题。 -- HN 读者对静态站点生成器 Gatsby 筹集1500万美元的评论 招聘信息 周刊讨论区的《谁在招人?》,有大量工作/实习岗位,欢迎查看。 如果你的团队需要招人,可以免费在那里张贴招聘信息。如果希望发在周刊上,请联系我(Email: yifeng.ruan@gmail.com ),每条价格 300 元。 1、秘猿科技 秘猿科技是区块链创业公司,为加密经济提供区块链基础设施和服务。工作地点:杭州或 remote。 本公司招聘区块链工程师、高级后端工程师、安全和测试工程师。详细要求看这里。 回顾 去年的本周:《周刊第 24 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年10月 4日


科技爱好者周刊:第 75 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 封面图片:前滩,上海,2019 刊首语 全世界都在制造电动汽车,美国一家媒体认为,汽车工人将大量失业,我觉得很有道理。 传统汽车是机械装置,需要大量零件,单单是动力传动系统就多达2,000个零件。 (图片说明:汽油发动机的复杂构造。) 但是,电动汽车是一个电子装置,核心是电动机和电池组,零件大大减少。 变速器、散热器、燃油喷射器、油箱、排气系统,这些都不需要。而且,电动机和电池组都可以外部采购,根本不需要太多工人。 (图片说明:特斯拉 Model 3 的电动机和电池组。) 未来的汽车公司,就像今天的电脑公司和手机公司:核心部件都是外购,自己只负责组装和软件系统。甚至组装都可能外包出去,自己只做设计和品牌。 这样一来,雇员就会非常少,那些跟机械装置相关的岗位,都会消失。 顺着这个思路, 以后不管什么东西,也许都是电子装置 ,因为都会加入控制电路、联网和运算能力。比如,电饭煲、门锁、运动鞋、马桶,以前跟计算机完全没关系,现在都在变成电子装置。 (图片说明:耐克智能运动鞋会自动系鞋带。) 这意味着,三类产业在未来会有较好的发展:(1)能源和电池,为电子装置提供能量;(2)电子和通信,作为电子装置的硬件载体;(3)软件,作为电子装置的控制和互动系统。 Udacity 免费课程 Udacity(优达学城)是美国最大的在线学习平台之一,很多人都听说过。除了收费的、有证书的纳米学位之外,他家其实还有很多免费课程资源。 跟收费课程相比,免费课程只少了项目实训和教学辅导,视频内容还是一样的,而且不少配有中文字幕。只要注册账号就可以看,不收取任何费用。 免费课程很多都跟开发相关,内容对新手友好,相当贴近实战,网页编程、App 开发、系统管理都有涉及,Flutter 和 Kotlin 两门课还是跟谷歌合作的。 Udacity 的课程质量,网上评价很不错,如果你刚开始学习软件开发,或者想感受一下硅谷的教学方式,趁着假期,建议可以看看这些免费课程。 视频课程: 《HTML and CSS 入门》 - (汉化) 视频课程:《JavaScript 入门》- (汉化) 视频课程:《Git 与版本管理》- (汉化) 视频课程:《Flutter 应用开发》- (未汉化) 视频课程:《Kotlin 入门》- (未汉化) 视频课程:《Shell 讲习班》- (汉化) 视频课程:《教你写 README 文件》- (汉化) 资讯 1、世界最快的跑车 法国跑车公司布加迪制造的 Chiron 超级跑车,8月2日开出了304.77mph(490.5公里/小时)的最高速度,成为第一辆突破300mph的超级跑车。此前的最高记录是 Koenigsegg 跑车2017年创造的284.55mph。 这种速度的跑车,基本上就是在地面上飞,但是必须保证不能脱离地面,因此有很高的技术难度。Chiron 最初于2016年推出,有16个汽缸,4个涡轮增压器,总功率输出为1500马力,价格超过300万美元。 2、分解42 42 = (-80538738812075974)3 + 804357581458175153 + 126021232973356313 数学家一直猜想,任意一个整数都可以分解成三个整数的立方和,n = x3 + y3 + z3。2019年之前,100以下的自然数,只有33和42没有分解成功。 2019年2月,33分解成功。9月初,另一个数学家宣布42也分解成功(上式)。目前,1000以下的自然数,还有114、165、390、579、627、633、732、906、921和975,没有找到分解方法。(@AsuraXin 投稿) 3、黑胶唱片销售额超过 CD 美国唱片业协会认为,2019年黑胶唱片的销售额将超过 CD,这是1986年后的第一次。今年上半年,黑胶唱片的销量是860万张,共2.241亿美元,CD 的销量是1860万张,共2.479亿美元。 黑胶唱片的销量一直在增长,上半年增长了12%,而 CD 几乎没增长,因此预计黑胶唱片将超过 CD。目前,黑胶唱片销售额占音乐业总收入的4%,Spotify和Apple Music等流媒体服务的付费订阅,占总收入的62%。 4、转基因蚊子实验失败 巴西为了遏制黄热病,2013年到2015年期间,曾经连续27个月,每月释放45万只基因改造过的埃及伊蚊的雄蚊。这些蚊子的下一代带有基因缺陷,无法长大。 卫生部门希望通过这个举措,将蚊子数量减少90%。但是现在发现,蚊子种群已经完全恢复,实验宣告失败。开始实验的时候就知道,约有3%~4%的幼蚊会长大进入成年期,科学家当时认为这个比例很低,无法达到种群恢复的目的,显然这种看法错了。 5、搞笑诺贝尔奖 第29届搞笑诺贝尔奖近日在哈佛大学颁发。该奖每年选出一些似乎毫无意义的科研项目。今年的获奖者如下。 化学奖 : 评估一个典型5岁孩童每天的唾液分泌总量。方法是先对食物称重,然后让孩子咀嚼这些食物,吐出来再次称重,以测量里面多了多少唾液。 物理学奖 :研究树袋熊排出方形粪便的方式和原因。树袋熊是已知的唯一一种会排出方形粪便的动物。 工程学奖:人类婴儿的自动换尿布机。 解剖学奖:测量了未穿衣服和穿衣服的法国邮递员两侧阴囊温度的不对称性。科学界此前曾争论过,男性的左侧阴囊温度是否比右侧稍高一些,这个研究发现两侧温度的确不一致。 经济学奖:测定了哪个国家的纸币最容易传播危险的病菌,结果发现是罗马尼亚。 和平奖::试图测量挠痒痒带来的愉悦程度。结果显示,背部和脚踝处的瘙痒感要强于前臂,因此挠痒痒的愉悦感也要强烈一些。 医学奖:证据表明食用披萨或有助于预防疾病、延年益寿,前提是要在意大利境内食用在意大利制作的披萨。 心理学奖 :1988年,一个研究组发现,嘴里叼一支笔会让你微笑,也因此会更加快乐。开展这项研究的科学家 Strack 自己在2016年重新对这个问题进行了研究和实验,但却发现无法复现当年自己得出的结论。 6、人工智能威士忌 英国一家酿酒公司推出了,世界第一款人工智能创建的威士忌。它通过现有配方,结合销售数据和客户偏好,在超过7000万个选择之中,创建了一种金黄色的麦芽威士忌。该公司宣称,这种酒带有太妃糖、奶油香草、梨、苹果、白胡椒和烤橡木桶的清淡口感。 7、一句话消息 韩国2018年生育率降至0.98,即妇女一生中平均生育不足一胎,成为全球唯一一个生育率跌破1的国家。 Brave 浏览器有自家的加密货币 BAT,还有一个 BAT 按钮。只要是认证过的网站,用户按一下这个按钮,就可以把自己的 BAT 捐赠给该网站。 英国的指南针360年来第一次指向正北方。指南针指向的是地球的北磁极,通常与地理的北极不重合。但是,磁极一直在移动,最近会跟格林威治天文台在同一根经线上。 纽约地铁使用液晶屏替代纸制地图,引起批评,因为液晶屏的分辨率太低了,细节根本不清晰。 肯德基开始在美国出售植物鸡块。这些鸡块不是鸡肉,而是豆类植物制成的。 哈伯望远镜2019年6月20日拍到了最新的土星全景照。 苹果公司正式发布 iPadOS,现在就可以安装升级。它将一些桌面电脑的功能引入了 iPad,比如 程序坞 dock 和支持直接插入U盘。苹果公司的产品线目前有五个操作系统:MacOS、iOS、iPadOS、WatchOS、tvOS。 Stack Overflow 选择了一个印度人担任首席执行官。在硅谷高管级别,印度人比华人强太多了。 文章 1、如何使用 cluster 模块扩展 Node.js 应用(英文) Node.js 应用都是单进程的,可以使用 cluster 模块将其变成一个多进程应用。本文通过一个简单的例子,介绍具体方法。 2、35岁以后油腻中年人该去哪?(中文) 这些年有一个非常不太好的感触,一般来说,企业对员工好,这企业往往走不远,走得远的,往往是那种往死里压榨员工的企业。 3、处理长文本行的方法(英文) 有的文本,每一行特别长,很难阅读。这时可以使用cut命令,将其转为多行,比如head data.csv | cut -c -30。 4、理解 Y Combinator(英语) Y Combinator 是函数式编程的重要概念。本文较为通俗地一步步推导它,对函数式编程有兴趣朋友可以看看,文章很长。 5、10种最佳的 Python IDE(英文) 本文介绍了10种 Python 编程 IDE(集成编程环境),每一种的简介和特点。 6、ReasonML 与 TypeScript 的对比(英文) ReasonML 是 Facebook 推出的一种脚本语言,作为网页编程的静态类型解决方案。本文比较了它与 TypeScript,提出 ReasonML 有一些 TypeScript 不具备的优点。 7、Linux 桌面环境的发展历史回顾(英文) Linux 是作为命令行下的服务器系统开发的,桌面环境一直不如商业的操作系统。本文回顾了 Linux 桌面环境的发展历史,带有多张图片。(@M1seRy 投稿) 8、浏览器指纹识别介绍(英文) 追踪用户的常用手段,是使用 Cookie 保存用户 ID。但是,随着浏览器开始限制第三方 Cookie,新的追踪手段是使用浏览器指纹。本文介绍一些这方面的基本知识。 9、BitTorrent如何运作?(英文) 本文通俗地介绍 BT 下载的原理和算法,包括磁性链接如何运作。 10、我如何在40天里面写一个 C 语言编译器(英文) 作者的编译器开发日记,第一天写了20行代码,发展到后来的4000行,记录了每一天所解决的问题。 工具 1、chart.xkcd 一个 XKCD 漫画风格的网页图表库。(@timqian 投稿) 2、Rough.js 生成手绘风格图片的 JS 库。 3、material-admin 基于 Spring Boot 的 Material Design 风格的通用后台管理系统。(@enilu 投稿) 4、Skim MacOS 平台的一个开源 PDF 文件阅读器。 5、pagemap 一个 JS 库,在网页插入迷你的页面缩略导航图,用户可以点击这个图的不同部分,实现快速导航。 6、K2pdfopt 一个 PDF 工具,将 PDF 文件重排成 Kindle 和手机可以阅读的页面大小。 7、starcharts 一个开源工具,可以查看 GitHub 仓库的 Star 变化情况,生成折线图。(@Imfondof 投稿) 8、awesome-qrcode 二维码生成工具,可以生成静态二维码、图像二维码和动画二维码。 9、基于零宽字符的文本隐藏加密工具 该工具的原理是利用零宽度字符,将加密文本转码后嵌入到普通文本当中,从而表面看起来是一段普通文本,但是复制粘贴不会丢失密文。 10、Raccoon 从 Google Play 将安卓 apk 安装包下载到桌面的工具。 11、ShowMeBug 一个国产的在线实时编程环境,程序员面试助手,可以实时观看应聘者远程编程。(@windy 投稿) 12、中国传统颜色手册 一个方便使用的在线色表,列出中国古典的常见颜色。(@zerosoul 投稿) 资源 1、Docker 初学者教程 讲解 Docker 是什么,以及如何使用 Docker 构建分布式程序,并部署到云。(@douchuan 投稿) 2、Kubernetes academy 针对初学者的免费 Kubernetes 视频课程,帮助学习者理解 Kubernetes 的基本概念。 3、Dive into Deep Learning 深度学习的互动式在线教程。(@baddate 投稿) 4、GK Docs 面向前端开发者的网址导航站,中文的。(@wuyinman 投稿) 5、free-for.dev 该仓库收集互联网上的免费开发者资源。(@ifrontend-xyz 投稿) 6、justDelete.me 每一种互联网服务,都需要注册,如果你以后想删除账户,可能会非常困难。该网站评价各网站删除用户账户的难易程度。 图片 1、斯德哥尔摩的电话塔 100年前的电话,都需要人工转接,每一部电话线必须连接到电话局。 下图是瑞典首都斯德哥尔摩的电话塔。它从1887年至1913年是斯德哥尔摩主要的电话转接点之一,一共连接了大约5000条电话线。该塔在1913年退役,1953年因火灾而被拆除。 2、Guido van Rossum 老照片 1990年,34岁的荷兰程序员 Guido van Rossum,发布了一个个人的业余项目-- Python 语言。 1994年,他参加波兰的 Python 研讨会。 2001年,Python 基金会成立。 2014年,他进入 Dropbox 公司工作。 文摘 1、时空旅行者宴会 2009年6月28日,英国著名物理学家霍金举行了一次时间旅行者宴会,欢迎未来的人们回到现在,参加这个宴会。房间布置了气球、香槟和美食,挂著大大的标语,写着"欢迎时间旅行者"。 霍金在宴会举办前没有向任何人发出邀请。宴会结束后,他才发出请帖,邀请有"穿越"能力的人士赴宴。 请帖上写著:"诚挚邀请你参加时间旅行者的宴会。宴会由史蒂芬·霍金教授举办。"请帖不但写明宴会的举办地点为英国剑桥大学冈维尔与凯斯学院,还贴心地标明了经纬度。 霍金认为,如果有未来人看到这份请帖,并且能"穿越"回到过去,那么他在那次宴会上就会见到货真价实的"时间旅行者"。 但是,完全没有人赴会。霍金说:""我坐了很长时间,但没有人来。我用实验证明,时间旅行不可能。" 1905年,爱因斯坦在相对论中断定,当接近光速的运动时,时间会很慢或静止,也就是说,当人乘坐接近光速的飞船去旅行,在旅行的过程中时间就会变慢,因此,当他再回到地球的时候就可能已经过了一个世纪。对他来 说,只要花很少的时间就能进入未来世界。但是,爱因斯坦指出:光速无法超越,时间不可能倒流。 不过,霍金说:"从爱因斯坦的相对论来看,弯曲时空、回到过去的可能性的确存在。但是,让时空弯曲,可能引发能量摧毁(时空旅行所用的)飞船、甚至时空。"  2、马斯克的脑机接口 特斯拉公司的老板埃隆·马斯克(Elon Musk)的最新项目是一家脑机接口公司,将大脑连入计算机。 他说,他很担心人工智能对人类的威胁,因此想到,将人工智能接入人类体内,可能会缓解机器对人类的威胁。 他的新公司叫做 Neuralink(意为神经连接),必须通过手术,在人类体内植入硬件。这简直是将科幻小说的情节转变为一家公司,这到底是科学,还是科幻小说? Neuralink 的计划是,通过一个小于8毫米的洞进入大脑,植入 4mm x 4mm 的芯片及相关的线路。该芯片将从位于耳后的无线硬件获得电源,并与之通信,就像当前的人工耳蜗植入一样。 在大脑内部,芯片连接到一些小电路,这些小电路连到放在各个大脑区域的电极,监听神经元的电脉冲。芯片接收到神经活动的原始数据后,就会进行处理。电脉冲也可以通过这些电极发送到神经元,刺激大脑活动。 总结一下,这个项目简单说,就是把电子植入物通过门诊手术放入大脑,通过无线方式与耳朵后面的硬件进行通信,整个系统全部由手机控制。整个过程没有任何一个部分超出现有技术,所有挑战应该都可以克服。 但是,整个项目显然属于科幻小说的范畴:将人类与计算机融合,抵抗人工智能。 言论和数字 1、 工业化的风险越来越大。因为工业化使得人们集中在城市、使得生产消耗更多的能源,有更多的自动化,更快的技术变革,最后是更加相互依赖的系统网络。 -- 《复杂系统的故障》 2、 德国工业设计大师 Dieter Rams 是功​​能主义的坚定信徒,他的设计理念就是他的名言:"少,但更好"(less but better)。 -- 《伟大的产品做得少,但更好》 3、 18岁的奥地利人安德烈亚斯·米哈维茨(Andreas Mihavecz)是没有食物的情况下,世界上活得最久的人。 1979年4月1日,他被警察关进一个地下室,后来被忘了。18天后的4月19日,才被发现。 -- 维基百科 4、 Rekursiv 是上世纪80年代苏格兰科学家推出的一种 CPU,从未商业化,只做过几个实验板。唯一一个知道去向的成品,位于格拉斯哥市内一条河流的底部。 -- 维基百科 5、 创造伟大产品的秘诀,不是去创造各种了不起的功能,而是让你的客户变得了不起。 -- Kathy Sierra 招聘信息 周刊讨论区的《谁在招人?》,有大量工作/实习岗位,欢迎查看。 如果你的团队需要招人,可以免费在那里张贴招聘信息。如果希望发在周刊上,请联系我(Email: yifeng.ruan@gmail.com ),每条价格 300 元。 1、高级前端工程师 易路软件聚焦企业人力资源 SaaS 领域,致力于以复杂薪酬计算为核心的"移动互联网+员工服务"研发及运营。工作地点:上海闵行区。 招聘前端工程师,参与公司产品研发,包括不限于 PC 端、H5、小程序、Node 服务。详细要求看这里。 2、秘猿科技 秘猿科技是区块链创业公司,为加密经济提供区块链基础设施和服务。工作地点:杭州或 remote。 本公司招聘区块链工程师、高级后端工程师、安全和测试工程师。详细要求看这里。 回顾 去年的本周:《周刊第 23 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年9月27日


科技爱好者周刊:第 74 期

这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目。 封面图:篮球世界杯,上海东方体育中心,2019 刊首语 大家有没有感觉,互联网上免费的东西越来越少了。 打开很多网站或 App,都要求你付费:听歌要钱,视频要钱,下载要钱,读一篇文章也要钱。这当然无可厚非,但是我总觉得,纯粹的信息收费不是一个好的商业模式,除非有增值服务。 这有两个原因。 第一个原因是,信息与实体商品不同。实体商品具有排他性,我吃了这只苹果,别人就吃不到,但是信息可以无数次消费。 而且,信息有一个奇怪的特征:消费的人越多,它的价值越高。一篇文章只有二三十人看,很快就会被忘记;但有一百万人看,就是全国的热点。 收费会阻止信息的这种零成本的自我增值。 第二个原因是,信息收费很难扩展。80%的用户都是看一眼就走了, 收费会阻止这些轻度使用的用户。 比如,《纽约时报》网站是收费的,但是我一个月就看几篇文章,不太可能为这几篇文章成为付费用户。信息收费的前提是,用户会深入地、长期地使用这个服务,这种深度用户很难找,因此收费很难扩展。 所以,我认为, 信息的商业模式,不应该是收费,而是应该鼓励更多的人消费它。 越多人消费,信息的价值越高,这时就可以开发增值服务,从服务赚钱。 开源软件就是很好的例子。Linux 原来是一个大学生的作品,可以免费用,结果成了行业标准。基于 Linux 的 Red Hat 公司,所有产品都是开源的,只对服务收费,最终被 IBM 以 340亿美元的价格收购。 就像上图的那句话:"Open is smart. Smart is open" 。我们不要做 closed 的产品,而要做 open 的产品。Open 一定会带来更大的价值。 60天攻克数据结构与算法 算法和数据结构是编程的内功,对于编程能力的提高和职场道路的进阶至关重要,能让学习编程语言和框架事半功倍。而且,它们也是互联网公司面试的必考知识点。 很多人自学算法,往往不成体系、不得要领,缺乏结果反馈,难以评估效果;刷题缓慢,难以坚持;做过的题目总是忘记,面对面试题不知从何入手。 极客时间与前 Facebook 工程师覃超联合推出了"算法训练营" ,用 60 天高强度训练营,带你攻克数据结构与算法,目前已经开设第 4 期。 课程采用视频、直播方式教学,结合线下社交讨论,并由班主任和教研组倾力提供全方位线上学习服务,包括助教答疑、作业、期中总结、考试、毕业等环节。 内容从低到高,由浅入深,从链表数组讲到动态规划、并查集、字典树、红黑树和 AVL 树、位运算、布隆过滤器和 LRU Cache,适合不同基础的软件工程师精进算法能力、构建知识体系。下面是详细的课程大纲: 预习周:数据结构和算法总览 第一周:数组与链表、栈与队列 第二周:哈希表、映射、集合 第二周:树、二叉数和图 第三周:递归、分治和回溯 第四周:深度、广度优先搜索与剪枝 第四周:贪心算法与二分查找 第五周:动态规划 第六周:并查集、字典树、红黑树和 AVL 树 第七周:位运算、布隆过滤器和 LRU Cache 第七周:排序、字符串操作串讲 毕业周:整体知识总结 原价 ¥2499,优惠价 ¥1499,使用口令:RUANYFENG,还可以再省100元。微信扫描下方二维码,可以查看训练营详情并报名。 资讯 1、北极河流干涸 今年夏天,北极异常的高温,导致俄罗斯西伯利亚北极圈内的主要河流 Lena 河,水位下降了2.5米,近乎干涸。船只已经无法通航,导致了严重的问题,因为河流沿线有一些居民点,不通公路,都靠水运补给。 2、最快的四轮车女性 Jessica Combs 是美国女子职业赛车手。8月27日,她在美国俄勒冈州的沙漠企图挑战世界最快的四轮车速度纪录时,驾驶的赛车不幸撞毁,她因此身亡,享年39岁。 2013年,她创下女子四轮车速度记录,平均速度632公里/小时,最高速度为709公里/小时。2016年,她将最高速度提升到768.61公里/小时。她驾驶的都是叫做"北美之鹰"的喷气引擎汽车,这次撞毁的也是这辆车。 3、最黑的黑色汽车 宝马发布了 Vantablack 版本的 X6 轿车。Vantablack 是世界最黑的黑色颜料,可以吸收99%以上的光线。这使得宝马 VBX6 是目前世界上最黑的黑色汽车,几乎完全消除了所有反光。理论上,如果一个物体不反射任何光线,本身又不发光,那么视觉上就是一个黑洞。 4、竹子学校十周年 印尼巴厘岛的绿色学校庆祝十周年,该学校完全用竹子建造,具有国际知名度。竹子通常用于廉价的棚屋、摊位、围栏、脚手架等,极易受到火灾的影响,而且因为含有水和淀粉,会被昆虫和真菌吞噬。建筑师对竹子做了特殊处理,才使之可以用于持久性的大型建筑。 研究人员正在开发由竹纤维和树脂制成的防火耐用竹板,将竹子建筑进一步推广。 5、USA-224 侦察卫星 8月29日,伊朗的萨菲尔火箭发生事故,发射失败。第二天,美国总统特朗普发了一条推文,附上一张高清卫星照片(上图),声称火箭事故与美国无关。 天文学家根据照片上面阴影的方向和大小,推算出拍照的时间。这个时间经过伊朗上空的美国侦察卫星只有 USA-224 一颗,因此这张照片极可能是这颗卫星拍的。该卫星专门拍摄地面的高清照片,是美国的军事项目,高度保密。特朗普发的照片,是该卫星流出的第一张照片,他是不应该发这张军用级别的照片的。 6、自愈水泥 传统的混凝土出现裂缝是一种普遍现象。荷兰一所大学的微生物学教授发明了一种添加细菌的生物混凝土。这种细菌会产生乳酸钙,进而形成石灰石,导致混凝土的裂缝自然愈合。 这种细菌平时处于休眠状态,只有出现裂缝时,外部的空气和水分才能唤醒。该技术目前能够愈合任何长度的裂缝,但是最大宽度不能超过0.8毫米,而且成本是普通混凝土的两倍。 下图是该种混凝土刚刚破裂的情景。 下图是28天后。 下图是56天后。 7、沙特石油袭击 9月14日,沙特的一处石油设施遭到袭击。现场照片公布以后,可以看到完全是精确袭击,不攻击人,只攻击设施,17枚炸弹都不偏不倚命中目标,见上图的红框处。目前还不知道这是怎么发动的,这么精确的袭击最大的可能就是无人机。 8、一句话消息 《自然》杂志发表文章称,目前河沙采掘速度,已经超过了自然恢复的速度,将对生态造成不可恢复的伤害。建筑业需要大量沙子,但是沙漠的沙和海沙太细,只有河沙才能用,全世界每年大约会使用320亿吨至500亿吨河沙,主要用来制造水泥和玻璃,都要从河流中挖掘。 加州通过法律,规定在 uber 接活的司机是雇员,而不是合同工,因此可以享受最低工资和加班费。uber 公司已经提起上诉。 印度宣布,10月2日起在全国禁止六种一次性塑料制品:塑料袋、杯子、盘子、小瓶子、吸管和小塑料包。 美国一家创业公司提出,全球每天有2460亿封电子邮件,消耗的能量相当于排放98.6万吨碳。其中很多邮件都是不必要的,因此提倡及时退订你不需要的邮件列表。 美国 5G 网络的峰值下载速度,经测试只比 4G 网络的峰值高三倍,这还是在信号最好的情况下。5G 带来的提升,并没有宣传的那么好。 Buzzfeed 试验新的用户界面,用户进入主页以后,在六种心情里面选一个:"好奇,压力,无聊,怀旧,快乐,饥饿",然后网站根据你的心情,向你展示内容。 美国阿肯色州的钻石州立公园,上个世纪曾经发现过很多钻石,后来开辟成公园。最近,一位游客在阴凉处观看如何寻找钻石的 YouTube 视频,结果一低头发现沙子中有一颗巨大的3.72克拉钻石。 文章 1、安卓的三层结构和鸿蒙 OS(英文) 安卓实际是一个三层结构:Linux 内核、安卓中间层和谷歌服务框架。华为的鸿蒙 OS 比较可行的选择是,依然使用底下两层,只取代谷歌服务框架的部分。 2、生物识别安全平台的数据泄露(英文) 一个安全团队披露,他们破解了一个广泛使用的用户数据库,获得了100多万条指纹和面部识别信息。他们认为,生物特征作为密码是不安全的,一旦数据泄露,用户不可能更改指纹和面部特征。 3、使用 Backblaze B2 和 Cloudflare Workers 搭建免费图床(英文) 开发者通常都有图片托管的需求,本文介绍一个免费的搭建个人图床的方案。 4、motd 功能解释(英文) 类 Unix 系统的/etc/motd服务,可以对所有用户显示登陆时的通知信息。本文介绍怎么使用这个服务。 5、抗癌史上的华人传奇(中文) 世界上第一个使用化疗治疗癌症的医生,是中国人李敏求。 6、静态博客的技术方案(英文) 这是 Hacker News 的讨论帖,讨论当前自己搭建博客的最佳技术方案。 7、ncdu 命令的用法(英文) du命令是类 Unix 系统查看文件和目录大小的命令,ncdu是du的替代品 8、Cherry MX 机械键盘的类型(英文) 本文给出机械键盘几种类型的参数和内部构造动画。 9、如何使用图像预览加速图像加载(英文) 网页图像可以先加载预览图像,然后再自动加载完整图像,这样有助于提高网页性能。本文总结了图像预览的几种方案。 10、我的周末项目(英文) 本文记述作者一个周末写的项目,结果意外变成了苹果应用商店的最佳新应用,赚到了4000美元。作者谈了他的一些感想。 工具 1、Unison 一个桌面软件,可以让 OSX、Unix 和 Windows 系统的文件同步。 2、QR Code Scanner Flutter 的二维码扫描插件。(@leyan95 投稿) 3、Dadroit JSON Viewer 一个浏览大型 JSON 数据文件专用的桌面 JSON 查看器。 4、Node.js 爬虫示例 一个 Node.js 爬虫的示例项目,帮助感兴趣的同学了解爬虫的实现。(@ZY2071 投稿) 5、wallace-cli 一个 CSS 样式表的命令行分析工具,显示有多少条规则、选择器,压缩前后的文件大小等等。 6、Anime4K 实时提升卡通动画的分辨率,使其成为高清动画的工具。 7、翻译侠 浏览器翻译插件,支持 Chrome 和 Firefox,鼠标点击或选择触发翻译,可以翻译多种语言,底层为 Google translate API。(@cloudfroster 投稿) 8、Hexo theme cold stone Hexo 博客框架的一套样式主题。(@xrr2016 投稿) 9、DarkDarkGo 开源的暗网搜索引擎工具。 10、cve-search 一个 CVE 漏洞的本地搜索引擎,上图是漏洞的分类排行。 11、majestic 一款好用的 Jest 测试框架的图形界面。(@ifrontend-xyz 投稿) 资源 1、版本博物馆 该网站收集世界主要网站和应用程序的页面变迁。 2、算法 英文免费电子书,伊利诺伊大学计算机科学课程的讲义。 3、GIF cities 该网站收集各种 GIF 动画图片。 4、Python 语法笔记 一个比较完整的 Python 教程,主要是语法方面的笔记。(@nosarthur 投稿) 5、现代 Web 开发 一个在线的 Nodejs + React 的互动教程。 6、CPU 原理导论 一篇使用通俗语言讲解 CPU 原理的教程。 7、No CS Degree 该网站专门采访自学成才的程序员,每个采访对象都会问他们怎么学会编程,怎么找到工作。(@nosarthur 投稿) 图片 1、敌对建筑 敌对建筑是一种建筑设计策略,设计师故意让公用建筑使用起来不友好,防止滥用。 长椅故意不做平,让人无法躺下。 突出的墙角,防止有人小便。 花坛的矮墙装上铁扳手,防止有人在上面玩滑板。 2、海岸边的美国 美国很多大城市和重要设施都在海岸边,海平面上升对美国会产生重大影响。本文提供很多航拍图片,展示美国城市距离大海有多近。 下图的后方是大西洋城,前方是城市的污水处理厂。 下图是纽约肯尼迪机场。 3、自然界的二叉树 下面的植物,每个节点都有两个分支。 文摘 1、暗物质开发者 天文学中,暗物质是一种未知的物质,据说宇宙的大部分是暗物质。它既不发光也不反射光,因此望远镜不能直接看到。 你看不到暗物质,但我们很确定它在那里。我们知道它,但无法看到它。它永远不会露面。 有些开发者不是我们经常遇到的那种开发者,就像暗物质一样,可以称之为暗物质开发者。他们不会大量阅读网上的文章,也从不写文章,不去讨论区发言,也不发推文,很少在大型会议上露面。 他们依然在使用老旧的技术,解决各种问题。比如,在小公司的办公室里使用着 ASP,或者在墨西哥写着 VB6,或者在大型芯片制造商内部编写 PHP 日历应用程序。 他们使用众所周知的、经过充分测试并且易于理解的成熟产品。他们不追逐最新的测试版,也不太感兴趣,他们只是让软件可以工作。 暗物质开发者永远不会阅读这篇文章。 2、任正非《我的父亲母亲》 (图片:军队时期的任正非) 1978年3月,我出席了全国科学大会,6000人的代表中,仅有150多人在35岁以下,我33 岁,是军队代表中少有的非党人士。 我有幸在罗瑞卿同志逝世前三个月,聆听了他为全国科学大会军队代表的讲话,说未来十几年是一个难得的和平时期,我们要抓紧全力投入经济建设。我那时年轻,缺少政治头脑,并不明白其含意。过了两、三年大裁军,我们整个兵种全部被裁掉,我才理解了什么叫预见性的领导。 转入地方后,不适应商品经济,也无驾驭它的能力,一开始我在一个电子公司当经理也栽过跟斗,被人骗过。后来也是无处可以就业,才被迫创建华为的。 华为的前几年是在十分艰难困苦的条件下起步的。这时父母、侄子与我住在(深圳)一间十几平方米的小房里,在阳台上做饭。他们处处为我担心,生活也十分节省,攒一些钱说是为了将来救我。 听妹妹说,母亲去世前两个月,还与妹妹说,她存有几万元,以后留着救哥哥,他总不会永远都好。母亲在被车撞时,她身上只装了几十元钱,又未带任何证件,是作为无名氏被110抢救的。中午吃饭时,妹妹、妹夫才发现她未回来,四处寻找,才知道遇车祸。可怜天下父母心,一个母亲的心有多纯。 当时在广东卖鱼虾,一死就十分便宜,父母他们专门买死鱼、死虾吃,说这比内地还新鲜呢!晚上出去买菜与西瓜,因为卖不掉的菜,便宜一些。我也无暇顾及他们的生活,以致母亲糖尿病严重我还不知道,是邻居告诉我的。华为有了规模发展后,管理转换的压力十分巨大,我不仅照顾不了父母,而且连自己也照顾不了,我的身体也是那一段时间累垮的。 我父母这时才转去昆明我妹妹处定居。我也因此理解了要奋斗就会有牺牲,华为的成功,使我失去了孝敬父母的机会与责任,也消蚀了自己的健康。 回顾我自己已走过的历史,唯一有愧的是对不起父母,没条件时没有照顾他们,有条件时也没有照顾他们。爸爸妈妈,千声万声呼唤您们,千声万声唤不回。 言论和数据 1、 食品应该标注两个日期:最佳质量日期和丢弃日期。 -- 《华尔街日报》 2、 人类正在充分利用元素周期表。20世纪80年代的第一代手机,包含25到30种化学元素。今天的手机包含大约75种化学元素,几乎是周期表的四分之三,其中可能包括卢旺达的钽、白俄罗斯的钾、墨西哥的银、缅甸的锡、印度的碳和中国的锗。 -- 《元素周期表150周年》 3、 Pixar 最初是一家图形计算公司,为了显示自己的技术实力,他们制作了一部 CGI 短片,结果得到了奥斯卡最佳动画短片。于是,他们就改行成了电脑动画公司。 -- 《乔布斯签名的 Pixar 海报》 4、 2010年3月,一个比特币的价格是0.003美元,2017年12月17日是19,783.06美元。 -- 《投资比特币之前要考虑的事情》 5、 每一天很长,但几十年很短。 -- Sam Altman,《我的30岁感想》 招聘信息 周刊讨论区的《谁在招人?》,有大量工作/实习岗位,欢迎查看。 如果你的团队需要招人,可以免费在那里张贴招聘信息。如果希望发在周刊上,请联系我(Email: yifeng.ruan@gmail.com ),每条价格 300 元。 1、熵简科技 国内领先的数据中台服务商,帮助企业打造一站式数据智能服务平台,已完成B轮融资,客户包括嘉实基金、睿远基金、淡水泉投资、波士顿咨询等顶级金融资管及咨询机构。工作地点北京。 以下岗位开放招聘:高级产品经理、NLP算法工程师、后端工程师、前端工程师、运维工程师、测试工程师。详细要求看这里。 2、秘猿科技 秘猿科技是区块链创业公司,为加密经济提供区块链基础设施和服务。工作地点:杭州或 remote。 本公司招聘区块链工程师、高级后端工程师、安全和测试工程师。详细要求看这里。 回顾 去年的本周:《周刊第 22 期》 订阅 这个周刊每周五发布,同步更新在阮一峰的网络日志、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年9月20日