# 科技爱好者周刊(第 123 期):互联网公司与湘军的军制 这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: [ruanyf/weekly](https://github.com/ruanyf/weekly)),欢迎提交 issue,投稿或推荐科技内容。 周刊讨论区的帖子[《谁在招人?》](https://github.com/ruanyf/weekly/issues/1392),提供大量就业信息,欢迎访问或发布工作/实习岗位。 ## 封面图 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020083102.jpg) 8月30日,一个三岁台湾女童不小心被风筝缠住身体。一阵大风吹来,就飞上了天,至少五层楼高。所幸风筝下落被众人抓住,女童没有大碍。([via](https://www.twoeggz.com/info/703338.html)) ## 本周话题:互联网公司与湘军的军制 大学里,我读过一本历史学著作,罗尔纲的[《湘军兵志》](https://baike.baidu.com/item/%E6%B9%98%E5%86%9B%E5%85%B5%E5%BF%97)。 ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090303.jpg) 湘军是清朝末年曾国藩在湖南省组建的一支军队,清朝全靠它,打败了太平天国。这里有一个疑问:为什么国家的正规军(绿营)接连战败,但是一支地方的民兵部队却能连克强敌?湘军到底有何不同? 经过研究,罗尔纲先生得出结论:湘军最大的不同,就是它的制度。 一般来说,军队都是国家招募的,但是湘军不是,士兵都是将领个人招募。曾国藩让将领自己去招兵,你招来多少人,就带领多少人。这样就导致了,招来的都是老乡、朋友、姻亲、同学,变成了将领的私人军队,军饷往往也必须自己解决。 这样的制度意味着,一支军队都是熟人组成的,只听命于主将,别人指挥不动,士兵的奖惩都由主将说了算。所以,湘军的凝聚力、服从性和战斗力大大强于绿营,后者完全是一盘散沙,无心战斗。 我觉得,互联网公司跟湘军有类似之处,尤其是大公司。互联网公司内部也是一个个小团队,每个团队都是由主管组建和招募。组员的所有利益都在主管手里,工作绩效、晋升、奖金都是主管说了算。这就跟湘军的指挥和管理制度很像。 这样的团队,好处是比较容易指挥,战斗力有保证;坏处是主管决定了你的生杀大权,导致组员必须迎合讨好主管。现实中,有人甚至形容存在“跪舔主管”的现象。很多人想象中,互联网公司的管理,应该是比较先进和科学的,其实不完全是,也存在很多封建的成分。 ## React 教学视频 本周的课程资料是,开课吧提供的 React 教学视频。 大家都知道,React 虽然是全世界影响力最大的前端框架,但是难度并不低。学会它的整个 API 要花不少时间,理解设计思想和掌握底层原理更不容易。 但是,React 在国内有着广泛的生产应用,面试也是一定会问到的。如果不懂它的技术栈,就会大大降低个人竞争力。许多同学没有做好前期准备,直接看文档,导致进度缓慢,不少人抱怨苦苦学了1个多月,还是似懂非懂。 别着急,开课吧的 **《React 原理剖析 + 组件化》** 系统视频,不仅讲解了基础原理,而且其中的综合实战项目包含了 react、react-router、redux、react-redux、antd 等 React 全家桶相关技术点的相关使用,内容针对性比较强。 ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090302.jpg) 这个视频课程现在限量免费开放,仅限100名,需要的同学可以点击[这个链接](https://wx.kaikeba.com/vip_course/afzg70hmbg/6aehur8rcv?tenant=wx5046bc7413796142),或者扫描下面二维码领取。 ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090301.jpg) ## 资讯 1、[牛脸识别](https://www.washingtonpost.com/world/asia_pacific/facial-recognition-china-animals-farms-agriculture/2020/08/23/9808c710-d6fb-11ea-b9b2-1ea733b97910_story.html) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082408.jpg) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082409.jpg) 《华尔街邮报》报道,河北省的奶牛场正在使用“牛脸识别”技术。通过摄像头识别每头奶牛,记录它们的健康状况、授精日期、妊娠试验结果等。 如果一头牛显示出疾病或其他问题的症状,饲养员马上就会在手机上收到警报。以前对奶牛的监控,都是通过耳朵打孔(下图)或戴在脚踝上的电子标签。这些方法不仅很麻烦,而且奶牛一直在努力清除身上的异物,很多时候都会让标识脱落。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082407.jpg) 2、[婆罗洲雨林的声音](https://www.raspberrypi.org/blog/raspberry-pi-listening-posts-hear-the-borneo-rainforest/) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082501.jpg) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082504.jpg) 世界自然基金会(WWF)资助了 [SAFE Acoustics 项目](http://acoustics.safeproject.net/06:00/10/51503),在印尼婆罗洲雨林里面放置收音头。用户可以在项目网站上收听雨林的实时声音或者录音,比如黎明日出的声音(上图)。 收音头通过太阳能板供电,收录的声音由一个树莓派编码,然后通过 3G 网络发给服务器(下图)。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082502.jpg) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082503.jpg) 3、[水上苹果商店](https://www.theverge.com/2020/8/24/21399749/apple-store-retail-singapore-floating-design-marina-bay-sands) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082505.jpg) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082506.jpg) 世界第一家水上苹果商店,即将在新加坡开幕。这是全球第512家苹果商店,它浮在水面上,像一艘宇宙飞船,必须通过水上走廊才能进入商店。 到了晚上亮灯,这个商店就像一个海上的灯笼。官方宣传手册这样介绍:“晚上,球体散发出温暖的光芒,让人联想起中秋节期间传统灯笼的设计。商店的鸟瞰图则像是凝视着天空的玻璃虹膜。” ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082507.jpg) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082508.jpg) 4、[密码盒](https://www.wired.com/story/dicekeys-cryptography/) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082311.jpg) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082312.jpg) 安全的做法是,每个网站使用不同的、完全不可猜测的密码。密码生成软件一般用来达到这个目的,但是加州大学伯克利分校的计算机科学家最近发明了实体的密码生成器,叫做 DiceKeys。 一个塑料盒子里面放着25个骰子,每个骰子的6个面上都印着不同的随机字符。只要扔一把骰子,然后将它们重新放到盒子里,就会得到一个随机的结果。然后,它有一个配套的手机 App,对着盒子扫描一下,就会记住每个骰子的方向和字符,生成一个高强度密码。你可以把这个密码盒保存起来,下次要用时,再对着它扫描一下,就会重新得到密码。 5、[人工光合作用](https://techxplore.com/news/2020-08-wireless-device-fuel-sunlight-carbon.html) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082605.jpg) 剑桥大学的研究人团队开发出一种设备,可以利用阳光,将二氧化碳和水转化为燃料,无需任何电力或其他能源。也就是说,他们正在尝试实现人工光合作用。 这种设备使用一种感光纸,上面有催化剂,可以利用阳光的能量,将二氧化碳和水转化为氧气和甲酸,从而当作燃料使用。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082604.jpg) 6、**一句话消息** > - [研究报告](https://nintendosmash.com/over-three-billion-people-worldwide-now-play-video-games-study-reports/)称,目前全球有31亿人玩视频游戏,其中有一半只在手机上玩。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082302.jpg) > - [日本公司 SkyDrive](https://www.nytimes.com/2020/08/29/us/japan-flying-car.html/) 称,它已经制造完成了“飞行汽车”,世界第一台垂直起降的电动飞行器,试飞了四分钟。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020083001.jpg) > - [亚马逊](https://www.cnbc.com/2020/08/31/amazon-prime-now-drone-delivery-fleet-gets-faa-approval.html)获得美国政府批准,可以使用无人机送货。 ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090102.jpg) > - [北极](https://siberiantimes.com/other/others/news/giant-new-50-metre-deep-crater-opens-up-in-arctic-tundra/)新出现了一个深达50米的巨型“火山口”,据信这是由于地下甲烷爆炸导致的。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020083004.jpg) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020083005.jpg) > - [Mozilla 的员工](https://www.zdnet.com/article/mozilla-research-browsing-histories-are-unique-enough-to-reliably-identify-users/)发现,只要根据某个人的50条~150条的浏览历史,就足以识别一个人。 ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090203.jpg) ## 文章 1、[如何用简单英语写作](http://www.plainenglish.co.uk/how-to-write-in-plain-english.html)(英文) 本文介绍几个很实用的英语写作规则,帮助你写出简单易懂的英语。 2、[如何使用 SQL 查询 Git 日志](https://willschenk.com/articles/2020/gitlog_in_sqlite/)(英文) 本文介绍如何将 Git 日志导出到 SQLite 数据库,从而可以用 SQL 语句进行查询。 3、[GPS 定位原理](https://blog.digitalbunker.dev/2020/08/28/how-do-global-positioning-systems-gps-work/)(英文) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082902.jpg) 本文介绍 GPS 卫星系统如何能够定位,写得比较容易懂。定位的关键是卫星上的原子钟必须准确报时。 4、[芯片国产化的三大障碍](http://tech.sina.com.cn/csj/2020-08-10/doc-iivhuipn7797138.shtml)(中文) 中国想要摆脱芯片对外国技术的依赖,必须克服三大障碍:光刻机、芯片设计软件、高纯度硅材料。每一项的难度都极高。 5、[异步操作需要设置超时](https://robertovitillo.com/default-timeouts/)(英文) 本文是一个提醒,进行异步操作的时候(比如 AJAX 请求),要设置超时。因为 AJAX 默认没有超时限制,浏览器会一直等下去,极端情况下,可能会耗尽套接字的资源池。 6、[任正非:为什么华为现在要搞基础研究?](https://news.sina.com.cn/c/2020-08-29/doc-iivhvpwy3734657.shtml)(中文) 2020年7月29-31日,任正非访问上海交通大学、复旦大学、东南大学、南京大学的讲话摘要。 7、[如何让 Linux 不区分文件名大小写](https://www.collabora.com/news-and-blog/blog/2020/08/27/using-the-linux-kernel-case-insensitive-feature-in-ext4/)(英文) Linux 5.2 开始,支持不区分文件名大小写,本文教你怎么打开这个功能。 8、[短消息发送一次性验证码的标准](https://trineo.com/blog/2020/08/phishing-resistant-one-time-codes)(英文) ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090101.jpg) 很多网站采用短消息发送一次性验证码,作为用户认证的手段。苹果和谷歌已经商定了短消息格式标准,GitHub 开始采用这个标准。 9、[React 列表 key 属性的三个常见错误](https://dev.to/thawkin3/common-mistakes-with-react-keys-1jcc)(英文) React 框架要求列表的每一项都带有`key`属性,本文介绍这个属性的三个需要注意的地方。 ## 工具 1、[Bootstrap 图标库](https://github.com/twbs/icons) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082901.jpg) Bootstrap 的图标库发布1.0正式版,包含1100多个图标,全部都是 SVG 格式,可以插入 img 标签。 2、[ranger](https://github.com/ranger/ranger) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020083003.jpg) 一个命令行的文件管理器,支持 Vi 快捷键。 3、[Broot](https://dystroy.org/broot/) ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090104.jpg) 一个很有特色的命令行目录浏览工具,有很多功能,比如列出每个子目录的大小。 4、[Nessie](https://www.radsix.com/) ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090106.jpg) 一个极简的浏览器,快速、占用资源低、不需要安装,绿色使用。 5、[Lunar](https://github.com/alin23/Lunar) ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090202.jpg) 调节 Mac 电脑外接显示器亮度的软件,可以根据时间,自动调节亮度。 6、[nginx 日志分析可视化](https://github.com/TurboWay/bigdata_practice) ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090206.jpg) 一个完整的大数据实践项目,通过 hive 分析 nginx 日志,将分析结果通过 flask + echarts 进行可视化展示。([@TurboWay](https://github.com/ruanyf/weekly/issues/1394) 投稿) 7、[go-zero](https://github.com/tal-tech/go-zero) 一个国产的 web 和 rpc 微服务框架,含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成各语言的调用代码。([@yangyongzhen](https://github.com/ruanyf/weekly/issues/1397) 投稿) 8、[hackernews-daily](https://github.com/headllines/hackernews-daily) ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090207.jpg) 订阅 Hacker News 每日排名最高的10条新闻。具体方法是,通过 GitHub Actions 定时执行脚本,获取帖子,记录到了项目的 issue 里,用户通过 watch GitHub 仓库或者 RSS 订阅。([@timqian](https://github.com/ruanyf/weekly/issues/1398) 投稿) ## 资源 1、[searx.space](https://searx.space/) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082303.jpg) [searX](https://github.com/asciimoo/searx) 是一个开源的搜索引擎,汇总来自70多个搜索服务(包括谷歌)的结果,不跟踪也不分析用户。使用时,需要自己架设实例。这个网站列出了世界各地现有的实例,以及访问速度的实时统计。 2、[iOS 开发课程](https://cs193p.sites.stanford.edu/) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082905.jpg) 斯坦福大学的高质量免费课程,使用了最新的 SwiftUI,充分展示了 APP 开发的整个流程,适合新手进行 iOS 的开发入门。([@BranLiang](https://github.com/ruanyf/weekly/issues/1393) 投稿) 3、[1GB 手机流量的价格](https://www.cable.co.uk/mobiles/worldwide-data-pricing/) 该网站收集全世界各国家和地区的 1GB 手机流量的价格。中国大陆的平均价格是0.61美元,排在第12位,属于手机上网很便宜的地方。美国平均需要8美元,排在第188位,是非常贵的地方。 4、[面向初学者的 Python 项目](https://www.codewithrepl.it/python-projects-for-beginners.html) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082309.jpg) 一本免费 Python 教程,使用 Repl.it 在线编程环境学习 Python。 5、[在线工具秘籍](https://github.com/zhaoolee/OnlineToolsBook) 这个中文仓库收集各种好用的在线小工具。([@zhaoolee](https://github.com/ruanyf/weekly/issues/1391) 投稿) 6、[面向程序员的实用深度学习](https://course.fast.ai/) fast.ai 公司推出的深度学习教程。 ## 图片 1、[世界最长的火车路线](https://basementgeographer.com/the-longest-train-ride-in-the-world/) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082606.jpg) 目前,世界最长的火车路线是从葡萄牙波尔图开始,一直到达越南南部,全长17000公里。你可以全程乘坐火车,但需要经过多次换车。 整个路程最快也要耗时327小时,相当于13天半,总票价2000美元以上。 2、[巴比伦乘法公式](https://www.iquilezles.org/blog/?p=4582) 古代巴比伦人使用下面的公式,计算两个数的乘积。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082906.jpg) 这个公式可以使用几何图形证明,请看下面的瓷砖图案。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082907.jpg) ## 文摘 1、[高德納自述:我对电子邮件的态度](https://www-cs-faculty.stanford.edu/~knuth/email.html) 1990年1月1日以后,我就一直很快乐,因为我不再收电子邮件了。 我从1975年左右开始使用电子邮件,在我看来,用了15年的电子邮件已经足够了。 ![](https://cdn.beekka.com/blogimg/asset/202009/bg2020090304.jpg) 我的工作需要长时间的学习和集中注意力。我的目标是详尽地学习计算机科学的某些领域,然后尝试消化这些知识,将它们转化为没有时间进行此类学习的人们可以访问的形式。所以,我没有多余的时间,可以花在电子邮件上。 另一方面,我写书时需要与世界各地成千上万的人交流。我也想对阅读这些书并有疑问或意见的人们做出回应。我的目标是每6个月有一天来处理这些通信。因此,如果你想就任何主题写信给我,请将信件发送至以下地址。 > Donald E. Knuth 教授 > 计算机科学系 斯坦福大学 > 盖茨大楼4B > 斯坦福大学 > CA 94305-9045美国 我有一位很棒的秘书,她会看收到的邮件,进行分类处理,放入缓冲区,我会定期清空该区。 我的秘书还会打印发到 taocp@cs.stanford.edu 或 knuth-bug@cs.stanford.edu 的所有非垃圾邮件 ,以便我有空时进行书面答复。 您也可以尝试通过650-725-4671传真给我,但我不怎么会看。 2、[沙皇核弹纪录片](https://thebarentsobserver.com/en/security/2020/08/rosatom-releases-previously-classified-documentary-video-50-mt-novaya-zemlya-test) 今年8月20日,为了纪念苏联核工业发展75周年,俄罗斯在 YouTube 上发布了一部讲述沙皇核弹的纪录片。 沙皇炸弹只是一个绰号,这枚核弹的正式名称为 RDS-220,是人类有史以来制造并引爆的最大核武器。 1961年7月,苏联领导人尼基塔·赫鲁晓夫下令,在苏联与美国的政治局势日趋紧张的情况下,研制一枚巨型核炸弹。 赫鲁晓夫想要一种一亿吨当量的武器,为了达到这种能量级别,工程师在热核弹头上增加了第三级引爆,普通的氢弹只包括两级引爆。计算了极端情况下核辐射之后,工程师们觉得一亿吨当量太可怕了,决定降低到5000万吨,相当于约3,800枚广岛炸弹同时爆炸。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082306.jpg) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082307.jpg) 由于爆炸能量还是太大,采取了很多措施,保证投弹的飞机能够在投弹后,及时飞离现场。其中一个措施是为飞机涂上特殊的白色反光涂料,保护飞机免受爆炸热辐射引起的热量的伤害。另一个措施是,炸弹上装了一个重达一吨的降落伞,减缓它的下落速度。 1961年10月30日,这枚核弹正式引爆。除了投弹的飞机,当天还有第二架飞机升空,拍摄和监视辐射情况。 纪录片展示了引爆的整个过程。首先,巨型炸弹通过铁路运输到 Olenya 空军基地,然后装上 Tu-95 飞机,起飞并横越巴伦支海,在 Matochkin 海峡附近释放引爆。纪录片从多个方向和距离,显展示了末日般的爆炸声和随后的蘑菇云。 炸弹在离地面4000米处引爆。如纪录片中所见,火球闪光的持续时间比任何其他核武器所看到的都要长。爆炸闪光的圆顶本身达到了20公里,而绝对破坏环的半径为35公里。 ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082305.jpg) ![](https://cdn.beekka.com/blogimg/asset/202008/bg2020082304.jpg) 爆炸40秒后,烈焰穹顶达到30公里,然后发展成蘑菇云,其直径飙升至60-65公里,直径为90公里。距离引爆点55公里的一个小镇,大部分建筑物被摧毁。 尽管在距地面4公里处引爆,但世界范围内仍测量到相当于里氏5.0级以上的地震冲击波。 爆炸时,携带炸弹的 Tu-95 飞机已经飞出了很远。但是,爆炸的冲击波使飞机失去控制,立即下跌了1000米的高度,但后来安全着陆。 在纪录片中,据说1000公里以外都看到了爆炸的闪光。整个斯堪的纳维亚半岛都测量到了辐射尘埃,国际社会纷纷进行谴责。 美国不甘示弱,随后在太平洋地区也进行了巨型的核试验。最终,这两个超级大国意识到,大气核试验会带来巨大的放射性尘埃,对谁都没有好处。1963年,美国和苏联签署了《部分禁止核试验条约》,禁止在大气层,外层空间和水下进行试验。 1990年,苏联进行了最后两次地下核试验。 1996年,联合国通过了《全面禁止核试验条约》,禁止进行任何核武器试验爆炸。 ## 言论 1、 架构师的工作不是做出决策,而是尽可能久地推迟决策,先在不做出重大决策的情况下构建程序,以便以后有足够信息时再做出决策。 -- [Bob Martin](https://tomgamon.com/posts/2020-08-25-dont-marry-your-design/) 2、 公钥加密已经发明40多年了,但是我们仍然把魔术数字印在信用卡上,任何看到它们的人都可以未经授权拿走我们所有的钱。 -- [Hacker News 读者](https://news.ycombinator.com/item?id=24277899) 3、 我曾经极度贫穷,冬天开不起暖气。我发现,最好的取暖方法是晚上在毛毯下塞一只猫,放在两腿之间,并且将毯子拉到头顶上方,留出缝隙以呼吸。 -- [Hacker News 读者](https://news.ycombinator.com/item?id=24277128) 4、 我加入谷歌,是因为需要更多钱;离开谷歌,是因为需要更多时间。 -- [《离开谷歌的这五年》](https://theartofmachinery.com/2020/08/04/leaving_google.html) 5、 压力分成好几种。有一些压力让你感觉快要死了,另一些压力让你感觉自己更有生命力。 -- [《离开谷歌的这五年》](https://theartofmachinery.com/2020/08/04/leaving_google.html) 6、 如果微软推出容器服务,有些人是不会买的。但是,GitHub 的容器服务,他们就会买。我认为,这就是微软收购 GitHub 的部分原因。 -- [Hacker News 读者](https://news.ycombinator.com/item?id=24346163)评论 [GitHub 推出容器仓库服务](https://github.blog/2020-09-01-introducing-github-container-registry/) ## 回顾 2019年的本周(第 72 期):[当代人不再有手稿](http://www.ruanyifeng.com/blog/2019/09/weekly-issue-72.html) ![](https://cdn.beekka.com/blogimg/asset/201909/bg2019090502.jpg) 2018年的本周(第 20 期):[不读大学的替代方案](http://www.ruanyifeng.com/blog/2018/08/weekly-issue-20.html) ![](https://cdn.beekka.com/blogimg/asset/201808/bg2018083101.jpg) ## 订阅 这个周刊每周五发布,同步更新在[阮一峰的网络日志](http://www.ruanyifeng.com/blog)和[微信公众号](http://weixin.sogou.com/weixin?query=%E9%98%AE%E4%B8%80%E5%B3%B0%E7%9A%84%E7%BD%91%E7%BB%9C%E6%97%A5%E5%BF%97)。 微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。 ![](http://www.ruanyifeng.com/blogimg/asset/2018/bg2018042311.jpg) (完)