程序员的生存技巧 —— 搜索技巧

简介:

如果票选近二十年最伟大的发明,我相信搜索引擎肯定会占据一个不容小觑的位置,它不单是一项发明,更是一项成就,最大程度消灭了信息的不平等。既然人人都可以接触到海量的信息,那么衡量信息财富多寡就只剩下技巧这惟一的标准了:善用搜索引擎的都是信息时代的富翁,不懂搜索引擎的都是信息时代的负翁。

而像程序员这种必须终生学习的职业,搜索引擎就是我们的左膀右臂。懂搜索引擎就是我们的基本功,不,应该是童子功。只是大部分新手都在过分粗放的使用搜索引擎,而花几分钟时间了解搜索引擎的技巧和语法,就能让自己的信息财富来一个大跃进,不也是一笔划算的买卖么。

而对于技术类问题的检索,谷歌的表现水准无疑要甩百度几条街;所以善用搜索引擎的第一条原则必然是:一如既往毫不犹豫百折不挠的使用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:stackoverflow.com就会返回对应网站内所有关于mysql foreign key的文章。

语言和日期

像2shou叔这种英语阅读能力不过关的人,遇到急事就不能一篇篇翻原版文档了,不得不求助国内的二手货;这时,Google界面上的一个小按钮就帮上大忙了:点击搜索工具 - 不限语言,下拉选择所有简体中文网页,一下子就回到了祖国母亲的怀抱。有时用新出的库版本,别忘了隔壁那个不限日期按钮,可以帮你找到最最新鲜的技术文章。

Tab,以及宅男福利

只限Chrome的一招:输入某个网址,再点击Tab,会能直接使用这个站点的站内搜索了,比别人快个几秒,关键时刻也很管用不是么。

最后留个福利吧,曾经被人偷偷问过,谷歌的安全搜索怎么关闭;网上有一些繁复的攻略,对我们程序员,搜索网址加个参数:&safe=off,一招就可日天。

文章转载自 开源中国社区[http://www.oschina.net]

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL 关系型数据库 数据库
PostgreSQL性能飙升的秘密:这几个调优技巧让你的数据库查询速度翻倍!
【10月更文挑战第25天】本文介绍了几种有效提升 PostgreSQL 数据库查询效率的方法,包括索引优化、查询优化、配置优化和硬件优化。通过合理设计索引、编写高效 SQL 查询、调整配置参数和选择合适硬件,可以显著提高数据库性能。
2292 2
|
C语言
【C语言】条件运算符详解 - 《 A ? B : C 》
条件运算符(也称为三元运算符)是C语言中唯一的三元运算符。它通常用于替代简单的 `if-else` 语句。
1058 6
|
网络协议 网络安全 网络虚拟化
HCIP-Datacom H12-821 题库 (3)
HCIP-Datacom H12-821 题库 (3)
165 0
HCIP-Datacom H12-821 题库 (3)
|
数据采集 关系型数据库 数据安全/隐私保护
在 PostgreSQL 中使用 REVERSE
【8月更文挑战第6天】
321 0
在 PostgreSQL 中使用 REVERSE
|
存储 Java 数据处理
DO/SDO/DTO/VO 都是什么
【5月更文挑战第7天】DO/SDO/DTO/VO 都是什么
399 2
|
数据安全/隐私保护 Python
python代码加密以及注意事项分享
假设你已经有了一个 Python 程序 `main.py`。确保它在你的环境中可以正常运行。
|
前端开发 Ubuntu PHP
在Ubuntu系统上部署Inis博客,并使用内网穿透将博客网站发布到公共互联网上
在Ubuntu系统上部署Inis博客,并使用内网穿透将博客网站发布到公共互联网上
314 0
CocosCreator 面试题(二十) Cocos creator 如何实现一个置灰Shader?
CocosCreator 面试题(二十) Cocos creator 如何实现一个置灰Shader?
516 0
|
消息中间件 负载均衡 Java
手把手教你搭建SpringCloud项目(十六)集成Stream消息驱动
手把手教你搭建SpringCloud项目(十六)集成Stream消息驱动
307 0
|
消息中间件 移动开发 自然语言处理
Java8Streams流groupBy详解
本文我会给大家详细讲解下 Streams 流相关的分组操作。 假设我们有一组学生,需要按年龄对他们进行分组。按照 Java 得传统方式,我们可能需要好几个步骤。 如果我说,使用流分组,我们可以用 1 行代码来完成此操作呢?是不是很神奇?让我们来看看。 Streams 得 collect 方法接受一个 Collector 参数。该方法可以接收分组对象。 Collectors 类中分组相关的 3 个方法如下所示,
455 1