利用google成为解决问题高手

2017-01-21 戴建林 全栈人生路 全栈人生路

版权声明
本文首发于微信公众账号:
学习思考与成长
请注意:
无需授权即可转载
转载时候请保留以上版权声明……

1. 我为什么要做这个分享?

触发点

我是看到有一部分学全栈的同学,问的一些问题,本来其实自己通过google搜索引擎就可以解决掉的。我可以百分百肯定他在问这个问题之前,是没有使用google去试图寻找答案,就直接提问的。所以我在想,我要是能够稍微分享一下自己使用google的一些经历。也许对大家会有点帮助。

Google是个“准万能工具”

Google是真正能提高我们自己解决问题能力的“准万能工具”。

我个人的体会来讲,从工作到现在,毫无夸张地讲:1)95%的问题和解决方案,我都是通过google为入口找到答案的;2)95%的知识点技能都是通过google为入口习得的;3)这么多年来,正是因为有了google,我才有了重返来当全栈工程师的勇气。

google已经成为我身体的一部分。关于这点,我之前其实有写过一篇文章,有兴趣的人可以去看一下。

我是如何开启主动学习的

我相信学会高效使用google,是成为优秀全栈工程师的法宝之一

当我还没决定学习全栈工程师之前,其实是google这个全能的助手,给了我勇气。所以我一直认为,我们在问别人问题之前,要先问问google。google解决不了的话,再提问。这也是相互尊重的一种表现。

我不记得从哪里看到这样的话,大概是说,不会使用google,你不太可能成为一个优秀的程序员。使用google基本上80%以上的问题都可以解决。因为你犯过的错误,基本上前人都已经犯过很多次了。而通过google,基本都能找到这些别人犯过的错误。

总之,我认为:如果你想要成为一名真正的全栈工程师,不管有多困难,硬着头皮也要学会如何使用google。

特别备注:以下信息分享根据google最新官方文档及自己亲身实践得出。应该不会跟实际有太多出入……

2. 原则篇

基本原则一:搞定比较靠谱的科学上网工具

一个比较靠谱的科学上网工具很重要,直接影响到自己的学习效率,工作效率。

我自己使用科学上网工具的经历其实是有点儿惨不忍睹。我在这里稍微分享一下。

最初的时候,我是使用windows系统,用的是免费的科学上网工具,现在回头想起来,当初在找资源,因为不稳定,因为速度慢等等原因浪费了很多的时间和精力。

后面在我们公司也尝试着用国外的付费服务,发现有点小贵,而Windows折腾起来也不太顺利,加上公司就我一个人折腾,付款还挺麻烦的。就转回了用免费的。还是继续浪费着时间和精力。

直到2015年的时候,我开始在香港买了台macbook air,因为这台macbook,我的人生观和世界观好像一下子变了。那时开始,付费对我来说变成了常态,科学上网我也就自然而然开始使用付费服务。可是我使用的过程中也是遇到了一些坑,很长一段时间我都在使用一个叫“天行助手”的付费工具,当初发现一些网站,比如中文维基百科上不去。我还以为是我电脑问题,当然也是因为不是特别重要就没去刨根究底,我一般都直接用英文去搜索。

后面到了前段时间,我才知道原来是这个工具的问题。使用这个“天行助手”,一些网站是打不开的。这个问题一发现后,果断抛弃这个“天行助手”,大家记得千万别用这个。

当然,我现在就用云梯,稳定性好像也不太好,不懂是不是因为用的人太多导致的。等后续用一段时间看看。

有人推荐多肽和Surge结合。有兴趣的朋友可以一试。我后续考虑写一篇文章专门谈论这个话题。

基本原则二:优先使用英文,遇到迷路时中英文结合

根据我自己的使用体会是这样的:首先要用英文搜索,比如说我们在学程序过程中遇到的一些bugs,我们直接可以copy到google去搜索,往往能找到很多的解决方法。当你在找这些解决方法的时候,实在看不懂的情况下,就试着加上中文去搜索试试,这样可能很快就找到看得懂的知识点或者解决方案。这点我后面举个例子进一步说明。

其实原因很简单,国内的牛人其实也是不少,然后国内的牛人,看资料会看英文,但是,写文章一般不会使用英文来写。所以还是会有一定好质量的中文资料。这些资料我觉得是我们从“未知”跨越到“已知”的窗口。

当然如果你英文足够好,好到可以把中文pk下去的情况下。这条原则可能对你就没有参考价值。

基本原则三:尽量使用www.google.com/ncr

我用英文搜索的时候肯定是会优先使用www.google.com/ncr 的,这里的ncr是指No Country Redirect的意思,因为我们在使用google的时候,用浏览器打开google,一般会被默认自动转到“本地Google”,比如我科学上网连的是香港,那么就会被默认转到 www.google.com.hk。

所以,我的做法一般是直接使用www.google.com/ncr , 不管是中文搜索还是英文搜索。

3. 基本技巧篇(一定要懂的)

技巧一:关键词的选择 (举例: navbar navbar-default)

简单关键词

关键词的选择,我下面就直接举例来说明一下。我就举我们rails101中的“套用Bootstrap的html样式“里面的内容来看看。
_navbar.html.erb中有这样一段代码:

<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid">

说实话,我打了好几遍以后,对这里面的有些内容还是一头雾水,不知道什么意思?这个时候,我觉得是有必要试着去理解。

这段代码的关键字是什么呢?

如果你之前都没有了解过html相关的,你可以试着把这段代码完整地都放到google里去搜索看看。你就会发现可以找到一些使用这些代码的案例。

那如果我们要了解里面的知识点。我们是要通过里面的关键字来搜索会比较妥当。比如”navbar navbar-default” 是什么意思,我们的google里面输入:

navbar navbar-default

我们来看一下搜索结果:



我们选择第一个点进去:


你可以试试用下面的关键字google看看:

  • nav

  • role=”navigation”

  • container-fluid

经常使用google一段时间,关键词的选择其实就靠直觉,基本上一看到什么问题或者要找什么资料,第一反应就能找到或者想到的。

“表面现象”与“本质”

你在查找一个问题的时候怎么查都查不到,就要换个思路。比如之前有个学员遇到一个使用github账号的问题,大概是她注册了一个github账号,以为没注册成功,后面又注册了一个,在使用的过程中遇到问题,用报错的信息google怎么都找不到解决方法。那这个时候得换个思路可能就能找到答案。这个本质的问题是github账号之间的切换,或者同时使用的问题。

技巧二:site: (举例: site:logdown.com 全栈)

这个site:,我是很久以前刚毕业的时候就一直在用的一个技巧。当年我计算机毕业后转行跑到做外贸产品的公司做外贸,从零开始,3个月就到了几个订单,靠的技巧之一就是site:

因为我们当初的业务是按照区域划分,我们在google里找客户信息其实有点大海捞针,我当初就是通过这个site:去定位去寻找客户信息的,我记得当初我负责的区域其中有英国和爱尔兰,我是通过:

site:uk 产品关键词
site:ie 产品关键词

找到几个目标客户,进而达成成单目标的。

再来举个例子,我几个月前,是新生大学正在进行全栈工程师二期培训的时候,有一天看到了新生大学有人发表了一篇文章,专门介绍所有学员的logdown上的博客地址,我就被迷住了去很认真的看,我看了一会,跳出来,准备再进去看的时候,发现文章已经找不到了,被删除了。

我的第一直觉是马上想到site:,于是就通过类似如下的方式,找到很多学员的博客。

site:logdown.com 全栈

你们看看效果:


找到的信息内容。这些内容你看不完的……

技巧三:””(举例: “full stack web developer”)

双引号引起来,代表要找跟引号里面内容”完全匹配“的结果。

例如:full stack web developer 与”full stack web developer”比较

full stack web developer

找到的是:


而,

"full stack web developer"

找到的是:


4. 进阶技巧篇(懂了会加分)

进阶技巧一:- (举例: full stack web developer -php)

full stack web developer -php
备注:注意-前面要有空格且后面不能有空格

则是搜索full stack web developer 中不包含php的结果。

full stack web developer -site:www.sitepoint.com
备注:注意-前面要有空格且后面不能有空格

是搜索”full stack web developer”中不在www.sitepoint.com 这个站的结果。

进阶技巧二: (举例: “full stack developer”)

*是通配符。

例如:

"full stack * developer"

就会搜索出:

  • full stack web developer

  • full stack javascript developer

  • full stack software developer

  • full stack windows developer

  • ……

进阶技巧三:related: (举例: related:github.com)

找到类似你已经知道的网站。

举例:related:github.com

你可以找到:

https://bitbucket.org/
http://stackoverflow.com/
www.redmine.org/
……

进阶技巧四:info: (举例: info:slack.com)

获取这个网站的相关信息:

举例:

info:slack.com
info:stackoverflow.com
info:github.com

获取到的内容非常的言简意赅。例如info:slack.com,获取的信息如下:

Slack: Be less busy
https://slack.com/
Slack brings all your communication together in one place. It's real-time messaging, archiving and search for modern teams.

当然有兴趣的同学还可以去参考google原文的解释:

https://support.google.com/websearch/answer/2466433

5. 最后使用google技巧案例

前面我有讲到我的一个使用原则:优先使用英文,遇到迷路时中英文结合

我来讲个实例跟大家分享下我是怎么使用这条原则的:

首先声明一下,我这方法仅限于英语水平和我差不多的人。如果是特别牛的人,请忽略这条建议和这个例子。

有一天我看到大家在讨论git stash。我就开始试着去用google搜索,这个到底是啥意思?一开始我试着用英文去搜索:

git stash

查到了如下的资料:


我打开第一条:

https://git-scm.com/docs/git-stash


看到里面这段文字:

Use git stash when you want to record the current state of the working directory and the index, but want to go back to a clean working directory. The command saves your local modifications away and reverts the working directory to match the HEAD commit.

这段文字,说心里话,我每个单词都懂,但是,结合其一起,什么 意思,我真的一下子看不懂。对于我这个基本上是个git小白的人来说,很抽象。那我又想要在短时间内搞懂一下这个的基本概念,怎么办呢?我的直觉就是转移注意力寻找别的搜索方式来更好更快地理解,其中一种是:中英文结合。

我采用了:

git stash 使用场景

得到如下结果:


我打开第一个结果:

https://segmentfault.com/a/1190000007424035


我再打开第二个:

https://segmentfault.com/a/1190000002554160


那么基本可以得出如下基本结论:

当有更紧急是事情要处理时,使用git stash是让我们把当前的工作现场隐藏/暂存起来,等我们完成要处理的事情之后,可以把这个隐藏的或者暂存的恢复出来继续工作。

当然,用英文来查找使用场景也是可以的,比如这样:

git stash use scenario

就找到这样的一条很详细的解释:

http://stackoverflow.com/questions/20537223/when-should-i-use-git-stash

参考资料:

https://support.google.com/websearch/answer/2466433
https://support.google.com/websearch/?hl=en

::...
免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com



自怼圈

DU21.1
关于 ~ DebugUself with DAMA ;-)


关注公众号, 持续获得相关各种嗯哼:
zoomquiet


粤ICP备18025058号-1
公安备案号: 44049002000656 ...::