{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 这是自学者的黄金时代" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "历史上,自学者从未像今天这样幸福。\n", "\n", "以前不是这样的。比如,几乎每个中国人从小就听说过无数次那种 “为了拜师学艺一跪就几天甚至几个月也不一定被收下” 的故事。\n", "\n", "在古代,拜师学艺的确是很难的事情。首先,真正的好老师确实难寻;其次,高手也没空当老师;再次,就算是肯收徒授艺的老师也总是时间精力极其有限…… 更为重要的是,那时候想自学也真不行 —— 根本就没有什么称得上是文献的东西可供阅读或检索,很多重要信息甚至干脆只存在于某些人的脑中,就算它们被落实成了文献,也相当有限,且散落深藏在各处 —— 就算凑齐了,也没有 [Google](https://www.google.com/ncr)!\n", "\n", "对,最关键的是那时候没有 Google……\n", "\n", "今天的互联网,已经不再是二十几年前刚出现的那样 “激进而简陋” 的东西了。经过多年的发展,互联网上的内容已经构成了真正意义上的 “全球唯一通用图书馆” —— 而针对它可用的检索工具中最好的,当然是 Google。\n", "\n", "于是,今天,自学者在真正的意义上身处于一个黄金时代 —— **没有什么是不能自学的**。注意措辞,在这句话前面甚至根本不用加上 “几乎” 这样的限定以示准确 —— 你想学什么,就能学什么,而不是 “只有先拜师才能开始学艺”。\n", "\n", "今天的你,想学什么就去问 Google;在学习中遇到什么问题,就直接问 Google —— 直接问它,通常总是比向某个人提问有效率得多。Google 就是这样,越用越离不开它……\n", "\n", "其实很多人并不真的懂如何用好 Google 的,可是连这个它也能解决,因为你可以直接问它:\n", "\n", "> [How to use google effectively](https://www.google.com/search?q=How+to+use+google+effectively)\n", "\n", "经过多年的发展,Google 的使用体验越来越好,2019 年的今天,你搜索以上语句返回的页面里,Google 甚至在众多搜索结果中选了一条它 “认为” 是 “最佳” 的搜索结果:\n", "\n", "![google-how-effectively](images/google-how-effectively.png)\n", "\n", "[lifehack.com 上的这篇文章](https://www.lifehack.org/articles/technology/20-tips-use-google-search-efficiently.html)也的的确确值得细读 —— 读过且真正理解之后,不夸张地讲,你的 “搜索技能” 已经足够灭掉整个人类当前活跃群体中的 99% 了…… 这个说法真的完全没有夸张,绝大多数人就是不会在搜索的过程中使用那些符号的,比如 `-` `*` `~` `@` `#` `:` `\"` `..` —— 还有很多其它技巧…… 话说,你在 Google 上用过 `Time *place*` 吗?\n", "\n", "已经掌握了正则表达式以及 glob 的你,学习一下如何使用这种符号,实在是太小菜一碟了 —— 然而,这么简单的东西所能带来的未来收益是非常惊人的,不信走着瞧。\n", "\n", "可实际上,还是得应用我们之前说过的原则:\n", "\n", "> 首选查询,肯定是官方文档。\n", "\n", "这么做的重要理由之一,是为了让你少受 “二手知识” 的蒙蔽和误导。这里有一个绝佳的例子让你理解二手知识的局限性:[我写过的一本 “书”,发布在网上](https://github.com/xiaolai/ji) —— 这本 “书” 的另外一个 “神” 之处,在于它能让你 “顿悟” 阅读的力量,不管你是男生还是女生…… 若是这个链接错过了,你竟然会错过整个生活!\n", "\n", "Google Search 的官方文档在这里:\n", "\n", "> https://support.google.com/websearch\n", "\n", "Google 还有更为强大的工具给你使用,叫做 Google Custom Search,官方文档在这里:\n", "\n", "> https://support.google.com/customsearch/\n", "\n", "对编程工作来说,Google 当然格外地更为重要 —— 互联网上积累的最多最专业的信息,当然是计算机相关信息。所以,当你遇到什么错误提示的时候,不仅要问 Google,还要优先问问 [Stackoverflow](https://stackoverflow.com) —— 连 Google 自己都这么干。在 [colab.research.google.com](https://colab.research.google.com)(Google 为它的 TensorFlow 服务搭建的 Jupyterlab 环境)上,如果你运行什么代码出错了的话,那么,出错信息下面会出现一个按钮,上面写着:`SEARCH STACK OVERFLOW`,点击它就直接给你 [Stackoverflow](https://stackoverflow.com) 上的搜索结果…… 真够意思!\n", "\n", "![google-stackoverflow](images/google-stackoverflow.png)\n", "\n", "[Google](https://google.com)、[Stackoverflow](https://stackoverflow.com)、[Wikipedia](https://en.wikipedia.org)、[Youtube](https://youtube.com),这些都是你经常要去搜索的好地方。\n", "\n", "二十年前,Google 刚出现的时候,谁能想象它今天这个样子呢?以下是 1998 年 11 月 11 日 http://google.com 这个网址的截图:\n", "\n", "![google-homepage-1998](images/google-homepage-1998.png)\n", "\n", "当时,网站还没有正式上线,第一个链接是一个原型设计,用一个二级域名发布在斯坦福的网站上:http://google.stanford.edu/:\n", "\n", "![google-prototype-1998](images/google-prototype-1998.png)\n", "\n", "那个时候,Google 还要向外人强调一下,他们已经有 2500 万页面可供检索!\n", "\n", "事实上,到了 2008 年,Google 公告称,可供检索页面已经超过一万亿(One Trillion),到了 2016 年年底,这个数字已经超过 130 万亿……\n", "\n", "换个角度看,这个数字同时也是互联网上信息的积累 —— 世界上再没有比互联网更大更全的 “书” 了。并且,由于 Google 的存在,互联网这本大书,是可检索的!\n", "\n", "于是,**有事先问 Google** 就成了自学者的必备修养。\n", "\n", "> 能 Google 出答案的问题,就不需要去麻烦别人。\n", "\n", "这也是一个自学者的基本素养。\n", "\n", "偶尔,也确实会遇到 Google 了很久,就是没有找到答案的情况…… 这样的时候,你可能需要想办法 “问人” 了。然而,最靠谱的通常并不见得是 “身边的人”,而是互联网上各种垂直社区里的其他用户……\n", "\n", "向人问,也是有学问的 —— 很多人张口就问,结果呢?结果没人理。为什么呢?\n", "\n", "作为一个有素养的自学者,有一篇文章必须精读:\n", "\n", "> [How To Ask Questions The Smart Way](https://github.com/selfteaching/How-To-Ask-Questions-The-Smart-Way)\n", "\n", "这是大神 Eric S. Raymond 和 Rick Moen 于 2001 年在网上发布的文章,被人们奉为经典;迄今为止经历了很多次的修订,最后一次是在 2014 年,`Revision 3.10` —— 前后被翻译成了许多种语言。\n", "\n", "**不认真使用 Google,你就错过了整个人类历史上自学者最黄金的时代。**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next Page" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 2 }