weekly/docs/issue-174.md

434 lines
24 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 科技爱好者周刊(第 174 期):全能程序员 vs 特长程序员
这里记录每周值得分享的科技内容,周五发布。
本杂志开源GitHub: [ruanyf/weekly](https://github.com/ruanyf/weekly)),欢迎提交 issue投稿或推荐科技内容。
周刊讨论区的帖子[《谁在招人?》](https://github.com/ruanyf/weekly/issues/1913),提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。
## 封面图
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090117.jpg)
浙江普陀山客运中心最近获得2021年度凡尔赛建筑奖。[via](http://www.zshid.com/?c=building&a=view&id=4499)
## 本周话题:全能程序员 vs 特长程序员
我读过一些篮球报道,里面说 NBA 球队不喜欢“全能型球员”,更喜欢“特长型球员”。
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090115.jpg)
所谓“特长型球员”,指的是其他方面可能都不行,但是某一方面特别突出,比如防守特别好、三分特别准,或者篮板很强等等。球队愿意签这样的球员,关键时刻派上场,没准就能立下奇功。
反过来,“全能型球员”各项技术都很均衡,防守、进攻、投篮都还可以,能达到平均水平,但是每个方面都不突出,没有明显的过人之处。球队看不上这样的球员,觉得让你上场,赢不了球。
我马上联想到, **软件行业其实也是如此,“全能程序员”的出路,明显不如“特长程序员”。**
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090116.jpg)
如果你什么都会干,前端、后端、数据库、服务器管理都能上手,那么哪里缺人手,就会让你顶上去。但是,一旦遇到疑难问题,又指望不了你,因为你不是那个方面的专家,解决不了。
反过来,你精通某一项技术,其他都不懂,公司反而会觉得你更有价值。因为你可以把这个技术做得很深,克服技术难点,超过竞争对手,所以你的晋升会快得多。
我甚至[读到过](https://www.peachesnstink.com/p/A6HSwaoL92ZN7A3lrpkXZJ)这样一段话:
> “绝大多数成熟的程序员都专攻某一个技术栈,因为这样更容易找到工作。 **一些专家甚至认为,在不同的技术栈中工作是简历的污点。**”
所以,大家写简历的时候,千万不要把自己懂的所有技术都写进去,那是简历的扣分项。而只写你掌握最深的那项技术,以及与之相关的工作经历。
同样的,新人如果想在软件行业长远发展,建议选择一两个技术方向进行专研,成为专家,而不要什么技术都懂一点,但是哪一项都不精通。
但是,这样也有风险,万一你选择的技术栈走下坡路(比如 PHP甚至消失了比如 Flash你可能被迫要换技术栈那就惨了。
最保险的做法,就是选择那些有大公司支持的技术。这就是为什么市场上有那么多 Java 专家和 .Net 专家的原因。
总之,“全能程序员”在这个行业是不受待见的,被视为“万金油”。如果你不幸属于这一类,那么除了抓紧时间开发特长以外,也不必过分灰心。我觉得,全能程序员也有自己的价值和优势,这个就放在下一次谈吧。
## 养老金咨询与规划
本周有一个理财活动的消息,关于**养老金的规划和咨询**。
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021082915.jpg)
程序员是年轻人群体,对于养老金,大家关心的不多。有些人还有错误的观念,觉得如果工作的年限足够长,公司就会承担你的养老金。
这种想法不对养老金跟公司无关是由社保承担的。我国现行的规定是只要缴纳养老保险满15年达到法定退休年龄后目前是60岁以后会上调到65岁就可以从政府领取。所以大家要关心公司有没有缴纳养老保险这关系到你以后能不能领到养老金。
程序员这个职业,流动性非常大,换公司是家常便饭,而且这是一个年龄敏感的职业,很少有人能写代码一直到退休。所以,养老金对于程序员,相对来说有更大的保障意义。
下面是几个大家普遍比较关心的问题。
> 1. 如果提早退休,或者离职后没有再找工作,社会保险怎么处理?
> 1. 养老金的金额怎么计算?如何拿到更多的养老金?
> 1. 自由职业的程序员,可以领取养老金吗?
> 1. 除了国家的养老金,商业的养老保险是否值得考虑?
这些问题都可以在本次的养老金活动里面咨询。
这个活动来自一直跟我合作的孙明展老师。他从世界500强保险公司离职后自己创业开办了[创必承公司](https://www.trussan.com/),从事理财教育和财务咨询工作。大家搜一下“孙明展”这个公号,上面有多年来很多原创的理财科普文章。
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021082916.jpg)
这一次他们为了推广业务考虑到周刊读者大多数是程序员就办了这个《养老金的规划和咨询》活动一共有200个免费名额。各种财务问题都可以咨询专业的理财师会为大家提供养老金规划以及家庭财务保障定制服务保证不推销任何产品。
活动的主要内容如下:
> - 养老金目标梳理;
> - 家庭成员保障责任综合评估;
> - 现有保险产品的性价比分析比较;
> - 家庭风险属性评估;
> - 基于家庭状况和需求的养老金规划和家庭保障规划构建。
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021082914.jpg)
微信扫码上面二维码,就可以报名。感兴趣的朋友,欢迎参加。
## 科技动态
1、[.com 域名涨价](https://domainnamewire.com/2021/02/11/breaking-verisign-announces-com-price-hike-to-8-39/)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021083111.jpg)
从今年9月1日开始.com 域名的注册费从 $7.85 上调到 $8.39每年增加54美分。
全世界的域名由 ICANN (互联网名称与数字地址分配组织)管理,它把 .com 域名的管理权委托给 VeriSign 公司,再由 VeriSign 向域名零售商收取注册费,并将一部分收入转交给 ICANN。
由于 VeriSign 垄断了 .com 域名的注册权,并且还是一家上市公司,历史上域名注册费一直在上涨。可以预期,未来几年中 .com 域名的注册费还会上涨。
2、[电子咖啡](https://www.scientificamerican.com/article/neck-zapping-gadget-reduced-all-nighter-fatigue-in-new-study/)
很多人工作疲惫时,会喝一杯咖啡振奋精神。一家美国创业公司发明了一种电动剃须刀大小的设备,可以替代咖啡。
这种设备只要按在脖子上,打开开关,就会向人体释放低压电流,每次持续一毫秒,相当于一次电击。
![](https://cdn.beekka.com/blogimg/asset/202106/bg2021062203.jpg)
它可以刺激迷走神经,促进体内肾上腺素的分泌,起到跟咖啡类似的作用。目前,价格是每个 1250美元。
![](https://cdn.beekka.com/blogimg/asset/202106/bg2021062204.jpg)
3、[《堡垒之夜》的虚拟纪念活动](https://www.yystv.cn/p/8306)
8月28日是马丁·路德·金发表著名演说《我有一个梦想》的纪念日。今年的这一天《堡垒之夜》在游戏里面开展了虚拟的纪念活动。
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090102.jpg)
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090103.jpg)
玩家会在路边看到演讲的视频,还能进入虚拟纪念馆,详细了解。以后,这种虚拟形式的纪念活动,将会越来越多。
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090104.jpg)
4、
![](https://cdn.beekka.com/blogimg/asset/202106/bg2021062701.jpg)
[米其林公司](https://spectrum.ieee.org/energywise/green-tech/wind/michelin-puffy-sails-cargo-ships-improve-fuel-economy)正在测试,货轮上面安装可以升降的大型风帆,充分利用风能,减少柴油燃料的使用,从而抑制温室气体的排放。
5、[预制小屋](https://www.businessinsider.com/elon-musk-tiny-home-prefab-boxabl-casita-50000-person-waitlist-2021-8#tiny-homes-have-become-an-undeniably-popular-alternative-to-the-classic-family-home-or-apartment-1)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081021.jpg)
美国拉斯维加斯的一家公司,推出了预制小屋,只要 49,500 美元你就能立刻拥有一间35平米的房子里面有卧室、浴室、客厅和厨房已经全部装修好了。
这种小屋在房价昂贵的加州引发了轰动,连马斯克都听说了,他就下单购买了一间,要求运到 SpaceX 公司,他想住在里面试试看。
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081022.jpg)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081023.jpg)
这件事传出去以后想要购买这种预制屋的人就更多了目前已经有5万人登记预购了。
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081024.jpg)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081025.jpg)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081027.jpg)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081026.jpg)
6、[太阳能飞机](https://uk.news.yahoo.com/us-navy-developing-solar-powered-193723844.html)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081009.jpg)
据报道美国海军正在委托研发一种太阳能载人飞机可以连续飞行90天不落地。
这种飞机的机翼长达72米全部铺满了太阳能板并且配备了大量电池存储电能供夜间飞行。2015年这种飞机的原型曾经环球飞行创下了117小时52分钟接近5天不落地的记录。
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081010.jpg)
7、[算法裁员](https://www.gamasutra.com/view/news/386534/Xsolla_lays_off_150_after_an_algorithm_ruled_staff_unengaged_and_unproductive.php)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081301.jpg)
美国的游戏服务公司 Xsolla 的收益今年下降了40%决定裁掉三分之一的员工大约150人。这件事的特别之处在于公司使用软件算法判定应该裁掉哪些人。
CEO 的内部邮件这样写道:
> “你收到这封电子邮件,是因为我们的大数据团队分析了你在 Jira、Confluence、Gmail、聊天、文档、仪表板中的活动并将你标记为不敬业和效率低下的员工。换句话说当你远程工作时你并不总是在工作。你们中的许多人可能会感到震惊不认同软件的算法但我真的相信 Xsolla 不适合你。”
## 文章
1、[500米饱和潜水背后的故事](https://finance.sina.com.cn/tech/2021-09-01/doc-iktzqtyt3389836.shtml)(中文)
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090208.jpg)
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090209.jpg)
我国最近成功完成500米饱和潜水的陆基实验9名潜水员进入加压舱在51个大气压的环境下停留了176个小时相当于7天多为下一步潜水员正式出舱进入500米的深海做准备。
2、[我怎么加入微软剑桥研究院](https://justyy.com/archives/45631)(中文)
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090111.jpg)
作者详细记录从亚马逊跳槽到微软剑桥研究院的过程。([@DoctorLai](https://github.com/ruanyf/weekly/issues/1914) 投稿)
3、[如何在 Linux 中实时监控日志文件](https://linux.cn/article-13733-1.html)(中文)
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090114.jpg)
Linux 系统的日志文件一般位于 /var/log以 .log 扩展名结尾。本文教你如何在一个窗口里面,同时监控所有日志文件。([@jerrylususu](https://github.com/ruanyf/weekly/issues/1915) 投稿)
4、[使用 React Hooks 分离组件逻辑](https://felixgerschau.com/react-hooks-separation-of-concerns/)(英文)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081020.jpg)
本文介绍 React Hooks 的正确用法写得非常好推荐阅读。它回答了一个基本的问题Hooks 到底应该用来干什么?
简单说Hooks 应该用来将组件的 UI 和逻辑分开。
5、[iOS 的四种设计模式](https://www.nngroup.com/articles/4-ios-rules-break/)(英文)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081102.jpg)
本文分析了 iOS 引入的四种新的手机 UI 设计模式,比如将表单的确认按钮,放置在页面顶部的右上角(上图)。
6、[CSS 中 content 属性的妙用](https://echeverra.cn/2021/08/06/css-content/)(中文)
CSS 的 content 属性可以向网页添加文本内容,本文总结了这个属性的用途,并逐一给出示例。
7、[操作系统是什么?](https://zhuanlan.zhihu.com/p/403919173)(中文)
本文是《操作系统开发入门基础》系列译文的第一篇,讨论了操作系统的概念,哪些工作属于操作系统的范畴。([@StrokMitream](https://github.com/ruanyf/weekly/issues/1909) 投稿)
8、[Firefox 浏览器引入强化版 Cookie 删除](https://blog.mozilla.org/security/2021/08/10/firefox-91-introduces-enhanced-cookie-clearing/)(英文)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081103.jpg)
浏览器提供的 Cookie 删除功能,只能删除页面本身的 Cookie不能删除由该页面引入的其它网站 Cookie。
Firefox 91 提供了强化版 Cookie 删除,可以将某个网站引入的所有 Cookie 删除。
9、[掌握 Python 网页抓取](https://www.zenrows.com/blog/mastering-web-scraping-in-python-crawling-from-scratch)(英文)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081205.jpg)
本文详细介绍如何使用 Python 开发一个爬虫,抓取网页,并且考虑到了很多细节问题,比如多线程并行抓取、防止被屏蔽等等。
## 工具
1、[FeedAdd](https://feeddd.org/)
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090110.jpg)
一个免费服务,提供微信公众号的 RSS 文件,用户可以自己创建订阅源。([@miscommunication](https://github.com/ruanyf/weekly/issues/1910) 投稿)
2、[PlayCover](https://github.com/Letscoder/PlayCover)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081312.jpg)
在 M1 架构的 MacBook 上运行 iOS App 时,这个开源工具可以让鼠标和键盘支持 iOS App。
3、[Judo](https://www.judo.app/)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081413.jpg)
一个 Mac 应用,用来设计 iOS App 的页面,不用编写代码,用可视化的方式制作页面原型,可以在手机上预览页面效果。
4、[macOS Monterey Web](https://github.com/puruvj/macos-web)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081422.jpg)
使用 Svelte 框架在网页上模拟 macOS Monterey 的 UI。
5、[OneDev](https://github.com/theonedev/onedev)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081601.jpg)
一个开源的 Git 仓库托管软件,类似于 GitHub / GitLab可以自己架设特点是资源消耗小。
6、[BackgroundRemover](https://github.com/nadermx/backgroundremover)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081701.jpg)
一个开源软件,用来移除图像和视频的背景。
7、[js-ziju](https://github.com/wizardpisces/js-ziju)
一个自制的编译器,可以将 JS 代码输出为 LLVM IR 格式和 X86 Assembly 语言。([@wizardpisces](https://github.com/ruanyf/weekly/issues/1918) 投稿)
8、[zx](https://github.com/google/zx)
一个 JS 库,用来在 JS 脚本里面方便地调用 Bash 命令,很适合使用 JS 语法来写 Bash 脚本。
9、[HyperFormula](https://github.com/handsontable/hyperformula)
Excel 公式的 JS 版目前有300多个公式。同时这个库也提供数据操作功能可以用作电子表格的后端。
## 资源
1、**Go 语言入门课:零基础到实战**
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090207.jpg)
极客时间福利课程,零基础讲解 Go 的语法和用法最后带读者手写一个计算器小程序。《Kubernetes 生产化之路》作者、Go 资深工程师李建强主讲。
下周一9月6日开始三个晚上直播课微信添加助理老师报名。
2、[macOS Bliss](https://basicappleguy.com/basicappleblog/macosbliss)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081019.jpg)
作者参照 Windows XP 著名的草地壁纸,为 macOS 和 iOS 也创建了多张类似风格的壁纸,可以免费下载,挺好看的。
3、[如何在 Linux 上玩任天堂 Switch 模拟器](https://boilingsteam.com/emulating-nintendo-switch-games-on-linux-2/)(英文)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081011.jpg)
这篇文章是详细的操作指南,介绍在 Linux 桌面电脑上面,怎样通过模拟器玩 Switch 游戏。
4、[Minecraft 的岩石和矿物](https://www.mindat.org/a/minecraft)
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081014.jpg)
Minecraft 游戏出现过各种各样的石头和矿物(上图),这个网站列出游戏里的石头在真实世界的对应物(下图)。
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021081016.jpg)
5、[AWS 的简单英语介绍](https://expeditedsecurity.com/aws-in-plain-english/)
![](https://cdn.beekka.com/blogimg/asset/202107/bg2021072703.jpg)
AWS亚马逊网络服务现在包含50多种产品官方的介绍有时很难懂搞不清楚每种产品到底干什么。这个网页使用简单的英语介绍每一种服务。
## 图片
1、[键盘裤子](https://www.theverge.com/2016/4/21/11476984/keyboard-pants-reconsidered)
使用键盘,总是需要抬起手腕。一个荷兰学生 Eric De Nijs 就想,能否不抬起手腕就能使用键盘。他发现,最方便的方法就是把键盘放在大腿上面,只要坐下来就能使用。
于是,他发明了一种键盘裤子,键盘做在裤子上面,随时随地可以用。
![](https://cdn.beekka.com/blogimg/asset/202107/bg2021071003.jpg)
![](https://cdn.beekka.com/blogimg/asset/202107/bg2021071004.jpg)
![](https://cdn.beekka.com/blogimg/asset/202107/bg2021071005.jpg)
2、[河狸咬树干](https://twistedsifter.com/videos/beaver-chewing-through-tree-close-up/)
![](https://cdn.beekka.com/blogimg/asset/202107/bg2021070908.jpg)
河狸是中国一级保护动物,有着强壮的门牙,可以咬断树干,再将树干拖回家做巢。下面就是一段河狸咬树干的[视频](https://v.qq.com/x/page/q3258r13usz.html),看着非常纾压。
<iframe frameborder="0" src="https://v.qq.com/txp/iframe/player.html?vid=q3258r13usz" allowFullScreen="true" width="600" height="400"></iframe>
## 文摘
1、[Linux 内核5.14版发布说明](https://lwn.net/Articles/867742/)
8月25日是 Linux 操作系统诞生纪念日。
1991年8月25日芬兰大学生 Linus 在网上宣布,他写了一个操作系统的内核,欢迎大家提意见。
![](https://cdn.beekka.com/blogimg/asset/202108/bg2021083114.jpg)
30年过去了Linus 依然在为这个项目忙碌。他按照预定计划在8月29日发布了内核的5.14版。并且写了下面的发布说明。
“我意识到大家一定还忙于30周年的庆祝活动各种花里胡哨的晚会。但在某个时候你一定会厌倦那里的浮华、烟花和香槟穿着礼服也不舒服。这种庆祝活动还将持续数周但你可能想停下来喘口气。
如果是这样我正好为你准备了一个新的内核版本欢迎来测试和享用。5.14版已经发布,就等着你来试用,别忘了所有那些庆祝活动是为了什么。
当然可怜的不知疲倦的内核维护者是不会有时间参加庆祝活动的。因为对他们来说这一天只是意味着合并窗口将在明天开始。我们期待还有下一个30年。但是对于其他人请稍事休息构建新版本的内核对其进行测试然后你就可以回到那个你刚刚离开的、看上去不会结束的聚会上了。”
2、[退出 C++](http://scottmeyers.blogspot.com/2018/09/the-errata-evaluation-problem.html)
斯科特·迈耶斯Scott Meyers是著名的 C++ 语言专家写过《Effective C++》系列著作。
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090201.jpg)
- 1992年《Effective C++50 种改进程序和设计的具体方法》
- 1995年《More Effective C++35 种改进程序和设计的新方法》
- 1998年《Effective C++(第二版):改进程序和设计的 50 种特定方法》
- 2001年《 有效的 STL改进标准模板库使用的 50 种具体方法》
- 2005年《Effective C++第三版55 种改进程序和设计的具体方法》
- 2010年《新 C++ C++11概述》
- 2010年《嵌入式环境中的 Effective C++》
- 2014年《Effective 现代 C++42 种改进 C++11 和 C++14 使用的具体方法》
![](https://cdn.beekka.com/blogimg/asset/202109/bg2021090206.jpg)
2009年3月他获得 Dr. Dobb's 杰出贡献奖。
2015年他宣布不再写作 C++ 书籍了。
2018年他又宣布不再修正自己著作里面的技术错误了。原因不是他不想修正而是已经没有能力了。
“为了修复错误,我必须能够识别它们。但是,我不再相信自己有能力做到这件事。”
“如大家所知,我在 2015 年底退出了对 C++ 语言的积极参与。在过去的两年半中,我忘记了足够多的语言细节,以至于无法再正确评估关于 C++ 的错误报告。
C++ 是一种庞大而复杂的语言,有各种复杂和微妙的功能,我不再相信自己会记住所有这些内容。因此,我所能做的就是感谢读者提供的错误报告,但不再更新我的书籍了。我认为这是唯一负责任的行动方案。”
## 言论
1、
我从互联网上得到的最好的经验之一,就是永远不要复制和粘贴不是自己编写的代码。如果你一定要复制,那就照着它逐字输入,逼着自己思考,这些代码实际上是什么意思。
-- [Hacker News 读者](https://news.ycombinator.com/item?id=27534343)
2、
推行 996 工作制的心态,可以追溯到制造业时代。一家服装厂提高产量的最简单方法是什么?就是让你的工人加班。
不幸的是,这不适用于科技公司,程序员在一段代码上花费更多时间,并不意味着写出更好的代码。事实上,处理错误的最佳方法通常是休息一下,然后回来重新阅读代码,你会更容易发现错误。
-- [Hacker News 读者](https://news.ycombinator.com/item?id=28326010),评论中国最高法院判定 996 工作制违法
3、
日本和韩国都有法律规定,手机拍照必须有快门声,无法关闭这个声音,目的是防止偷拍。
-- [知乎](https://www.zhihu.com/question/19763901)
4、
写一本技术书籍,报酬寥寥无几,很可能除了荣誉,你得不到任何东西。
-- [《自出版技术书籍》](https://css-tricks.com/so-you-want-to-self-publish-books-and-courses-on-programming/)
5、
无所畏惧fearless不是没有恐惧而是你依然心怀恐惧但无论如何都决定要跳进去。
-- [Taylor Swift](https://www.thecut.com/2021/07/how-thrilling-ceo-shilla-kim-parker-gets-it-done.html)
## 历史上的本周
2020年第 123 期):[互联网公司与湘军的军制](https://www.ruanyifeng.com/blog/2020/09/weekly-issue-123.html)
2019年第 71 期):[名校毕业,不容易创业](https://www.ruanyifeng.com/blog/2019/08/weekly-issue-71.html)
2018年第 20 期):[不读大学的替代方案](https://www.ruanyifeng.com/blog/2018/08/weekly-issue-20.html)
## 订阅
这个周刊每周五发布,同步更新在[阮一峰的网络日志](http://www.ruanyifeng.com/blog)和[微信公众号](http://weixin.sogou.com/weixin?query=%E9%98%AE%E4%B8%80%E5%B3%B0%E7%9A%84%E7%BD%91%E7%BB%9C%E6%97%A5%E5%BF%97)。
微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。
![](https://cdn.beekka.com/blogimg/asset/202103/bg2021030402.jpg)
(完)