原文链接: https://dsx2016.com/?p=616
程序员的世界本就是搜索引擎的世界.
技术更迭的速度越来越快,不断有新的语言产生,也有旧的语言停止维护,有新的框架出现,也有旧的知识过时.
不妨做个小实验,统计一天或者一周之类使用搜索引擎多了哪些与技术相关的事情?
如搜索某次开发中的遇到的问题,学习某个技术博客的经验分享,查找技术相关的学习资料等等凡是能和技术沾边的,尤其是工作.
或者做个反向实验,频次上决定了优化空间,功能上决定了重要程度,
尝试在一个小时内或者一天内,不使用搜索引擎或者其他查找资料的方式.
书籍和手册可以,官方文档也可以,个人笔记也可以,但是某度和谷歌等,还有微博和其他网络内容搜索入口不可以,换句话说就是电脑和手机离线应用.
只要离开了,无法正常工作或者极大的影响开发效率,就值得好好优学习和优化.
技巧能使一个同样的事物产生极大的变化,变得更加高效和高质量.
但是如果选错了入口,就算有再好的技巧也是假的,你不能指望一个顽石天天打磨就会变成金子,金子始终是要到金矿里面去淘的.
某度的搜索结果一直被人所诟病,搜索的结果简直惨不忍睹.
可能会出现以下现象:
标记的是最近今天或者这一年内发布的内容,但是其内容多半是五年前甚至十年前的,机器人爬取的文章
第一页和第二页,第三页......极大概率会出现重复的文章内容,不同的网站,但是连文章的标点一模一样的标题
搜索的结果质量不敢恭维,可能不是官方正版的软件和网站,某些培训的推广广告,无关的其他的内容,甚至错误的内容
就拿第一个现象来说,即时使用了搜索工具,选择最近的结果,也是没用,整个内容体系就没有最近的高质量的内容.
所以,在学习技巧之前,先选择平台,目前来说,能够谷歌的优先谷歌,其次某度之类的搜索引擎.,如github,微博等也是搜索入口.
有个小地方要注明一下,通常我们说的谷歌,不让让你用谷歌,而是用英文关键词去谷歌,使用中文的效果有,但是差别不是很大.
然后,也不是说非得英文谷歌才是好,要看具体场景,就比如微信的小程序,和国内的特定技术产品,在国外是没有人大量产出内容的,你非要用英文搜一个小程序不见得有什么资料,这个时候可能某度反而更适合,但是搜索安卓和ios等,那就是不一样了,所以任何事物,具体情况具体讨论.
通常在开发过程中,会有一些异常提示,编辑器或者框架自带的.
一般来说,代码异常都会输出异常的类型和位置,有的应用甚至还会提示对应的错误码.
这个时候有两种情况,常见的错误提示要做到心中有数,看一眼就能定位到哪里.
不常见或者无法理解的异常就可以考虑直接复制到搜索引擎上搜索.
如控制台报错Uncaught ReferenceError: a is not defined
(这里只是简单的举一个例子),如果找不到对应的结果,记得加上限制范围,如加上 js
错误提示,或者python
,或者window,linux
等,标注出一些补充信息,具体的根据开发环境自行参考
直接使用异常信息,比用自己的组织语言描述错误现象要精准的多.
搜索引擎一般会自动匹配模糊搜索,甚至揣测你的意图,帮助你找到可能的答案.
但是有时候我们只需要精准的结果,多一个标点符号都不行的那种,排除一些其他的干扰信息.
在关键词加上""
(双引号),使用完全匹配法搜索,就会得到完全匹配和吻合的结果.
假如搜索 "a is not defined"
,就不会出现 "b is not defined","a is not null"
之类的结果.
精准搜索有助于省去对结果进行多次筛选的麻烦.
精准搜索属于被动排除干扰信息,我们还可以使用 - (减号)指定排除信息.
比如搜索愤怒的小鸟,将会出现两种情况,一种是电影,一种是游戏,那么我们搜索 愤怒的小鸟 -游戏,这样就排除含有游戏关键字的内容.
经测试,某度上并不生效,所有本文中出现的搜索引擎技巧主要适用于谷歌.
注意减号前面必须有空格,后面必须没空格,也不要写成横杠之类的其他符号.
搜索引擎是一个较大的入口,有时候我们需要指定特定域名(网站来搜索),这个时候可以使用以下方式来查询site:限制搜索范围的域名
如搜索掘金下的内容 site:juejin.im
或搜索掘金下某个关键词的内容 程序员 site:juejin.im
一般的网站都会提供搜索入口,也有没有提供的,限制域名有助于从内容源上找到更精准的内容,也能找到没有提供搜索入口的网站内容(前提是被收录到搜索引擎.)
site:后面不要有https
或者http
不然不符合语法规则
越精准越缩小范围,但有时后我们需要更多的数据.
例如想要了解大数据或者人工智能,各自搜索一次说麻烦也不麻烦,但是能够一次性呈现又何必多次呢?
使用 OR
的语法可以增加搜索范围,只要符合其中的一个关键词,对应的内容都会返回过来.
关键字 OR 关键字
注意 大数据或人工智能 与大数据 `OR``` 人工智能 搜索的结果是不一样的.
注意是大写的单词OR
,小写的or
没用.
搜索引擎作为搜索工具,能够提供特定的语法搜索,自然也会提供搜索工具,毕竟极客化的方法不推荐也不适合多数人,可视化更为方便一些.
首先推荐的是按时间筛选,就像之前提到的,很可能十年前的结果都排在第一位,如果质量ok
那无所谓,但是有些场景对时间有特别要求.
假如搜索前端面试,如果没有限制时间,可能推荐结果里面还有一些关于jQuery,flash,ie6
之类的内容,很明显这些都已经过时了,不知道的人极有可能被误导,虽然可能夸张了点,但是现象还是有的.
如果指定最近一个月,尤其是金三银四,金九银十,每个求职季的内容,会有很多面试经验分享,里面会涉及到最新的框架,最新的面试题,这些才是最符合搜索结果的.
其次是中英文结果和其他国家的语言,谷歌可以指定某个国家的搜索结果,也可以筛选出特定的语言结果,和上面的用英文搜索差不多,但是有区别.
用美国的谷歌和日本的谷歌,搜索的结果完全不一样,用中文搜索的结果也可能会出现英文内容,这个时候可以指定只显示中文或者英文,缩小结果范围.
其他的功能自行参考搜索引擎提供的搜索工具,具体就不一一介绍了.