<转>程序员的基础生存技能 -- 关于搜索引擎的小贴士
链接:https://zhuanlan.zhihu.com/p/21426124
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
如果票选近二十年最伟大的发明,我相信搜索引擎肯定会占据一个不容小觑的位置,它不单是一项发明,更是一项成就,最大程度消灭了信息的不平等。既然人人都可以接触到海量的信息,那么衡量信息财富多寡就只剩下技巧这惟一的标准了:善用搜索引擎的都是信息时代的富翁,不懂搜索引擎的都是信息时代的负翁。
而像程序员这种必须终生学习的职业,搜索引擎就是我们的左膀右臂。懂搜索引擎就是我们的基本功,不,应该是童子功。只是大部分新手都在过分粗放的使用搜索引擎,而花几分钟时间了解搜索引擎的技巧和语法,就能让自己的信息财富来一个大跃进,不也是一笔划算的买卖么。
而对于技术类问题的检索,谷歌的表现水准无疑要甩百度几条街;所以善用搜索引擎的第一条原则必然是:一如既往毫不犹豫百折不挠的使用Google。而对于一名程序员来说,保证自己随时随地能访问Google,是最最基本的技能,哪怕花费少许金钱也是物超所值。那么以下就撇开百度、专门讲讲使用Google的小贴士:
完整匹配
在Google的输入框里,所有的空格都被理解为加号。如果你输入的是mysql foreign key,那么返回的搜索结果里也许既有mysql存在,也有foreign key存在,但不一定有mysql foreign key存在。另外,过分常用的、单独存在没有意义的词汇往往被忽略掉,比如the/a/that等等。
如果你想要找含有mysql foreign key这个词组的文章,那么你必须在搜索词前后加上引号,输入"mysql foreign key",不管你输入的时候使用的是全角字符(“或者”)还是半角字符("),Google都照样能够正确处理。这就是引号的作用:返回完整匹配的结果。
筛选
为了进一步筛选搜索结果,还需要学会另外一个符号 -- 减号(-)。比如,"mysql foreign key" - "nodejs"就要求Google返回含有mysql foreign key但不存在nodejs的文章。
通配符
另外一个程序员耳熟能详的符号是正则里最常露脸的星号,看到星号就下意识的想到通配符,在Google的搜索规则中也是如此,输入"mysql connect error *"就会返回所有已知的关于MySQL连接错误的文章。
站内搜索
最后推荐一个威力无穷的语法,让你有机会再对搜索结果做一次筛选。比如针对程序员查bug,stackoverflow是我个人觉得可信度最高也最全面的一个网站,所以我就经常使用site的魔法,像"mysql foreign key" site:http://stackoverflow.com就会返回对应网站内所有关于mysql foreign key的文章。
语言和日期
![](https://pic1.zhimg.com/4aae3dc48ba0ca11c16b35a34ed01554_b.png)
像2shou叔这种英语阅读能力不过关的人,遇到急事就不能一篇篇翻原版文档了,不得不求助国内的二手货;这时,Google界面上的一个小按钮就帮上大忙了:点击搜索工具 - 不限语言,下拉选择所有简体中文网页,一下子就回到了祖国母亲的怀抱。有时用新出的库版本,别忘了隔壁那个不限日期按钮,可以帮你找到最最新鲜的技术文章。
Tab,以及宅男福利
只限Chrome的一招:输入某个网址,再点击Tab,会能直接使用这个站点的站内搜索了,比别人快个几秒,关键时刻也很管用不是么。
最后留个福利吧,曾经被人偷偷问过,谷歌的安全搜索怎么关闭;网上有一些繁复的攻略,对我们程序员,搜索网址加个参数:&safe=off,一招就可日天。
祝大家Google愉快。