购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 程序猿和互联网

虽然你可以对电脑的硬件要求不高,但是对另外一个功能还是应该严重关切一下的,那就是联网功能。最方便的联网方式无疑就是3G 联网方式了,可以做到随时随地上网。我在北京上班的时候,地铁车厢里有时会有人拿着笔记本通过3G 在上网。因为我还没有忙到这种程度,所以一般我在地铁上经常干的就是防范小偷、应付要饭的、还有偷眼看看周围的美女。

有了互联网,就有了一个巨大的宝藏,你需要了解一些知识,同时还需要能够利用一些工具从这个巨大的宝藏中获得你需要的信息和资源。本节的“搜索引擎”、“夺宝奇兵”分别介绍了一些常见的在互联网上发掘宝藏的知识和工具。同时,互联网也是一个社会,只不过在互联网的社会中,我们用假名说真话;而在现实社会中,我们用真名说假话。既然是一个社会,你就需要和别人进行联络和交流,也需要在互联网上交朋友。互联网是一个大舞台,不仅可以看别人的表演,还可以亲自上台表演。下面的“通信”、“社交”、“论坛与博客”小节分别介绍了相关的内容。

1.2.1 搜索引擎

在学习的过程中,别忘了还有一位时刻陪伴你的很好的老师,他的名字就叫Google。对于将Google 翻译成“谷歌”,我一直耿耿于怀,就是搜点东西,装什么大尾巴狼呢!就应该叫“狗哥”才对。狗狗就是搜得准,称兄道弟的还显得亲切。而且,最重要的是,贱名好养活!要想在中国出人头地,必须要领会老子、庄子和孙子的精神,简称“老庄(装)孙子”精神。Google 不懂得中国文化的博大精深,难怪在全球市场上如此成功的明星公司,最终没有在中国市场占据第一。

Google 上的所有服务,包括搜索引擎,都是免费的。真正支撑起Google 大厦的就是搜索结果网页上的那个Google 广告条。你还别不信,就那豆腐块大小的文字,就是Google 的聚宝盆,给他带来滚滚的财源。

当然,这背后其实蕴含着一个自动、高效、准确的广告投送机制。内部的原理非常简单,那就是姚明绝不会利用Google 来搜增高鞋垫,所以Google 也不会把增高鞋垫的广告发到姚明的电脑上。原理虽然简单,但是实现起来也蛮复杂的。就像我们都知道飞机能飞的原理,但是真要造一架飞机,却不太容易。

我不清楚 Google 没有赚到钱的真实原因,也许是国人都不太愿意相信别人和广告,也许是因为有大量黑客控制“肉鸡”去骗取广告点击等。总之,与另外一家主流搜索引擎相比,Google 的本土商业化比较失败。虽然商业化失败,但是搜索结果的质量还是很高的。对于另外一家中文主流搜索引擎,有两点必须承认,第一,它并不支持英文检索;第二,它支持竞价排名。对于这个我不想多说。在这两点上,Google 与它做的正好相反。

作为一名老师,我在第一堂课就告诉我的学生,有问题问我,我不会,再去问谷老师,或者直接问谷老师也行。因为绝大多数时候,你问我的问题我也不会,我都是再偷偷地去问谷老师才得到答案的。所以说,大家都要养成一个好习惯,那就是“内事不决问老妈,外事不决问Google。”

利用 Google 搜索貌似简单,只要在搜索框中输入查询字符串就行,但是如何构建高质量的查询字符串还是需要一定的技巧的。利用Google 搜索时,需要知道一件事,所有的搜索引擎后台都是机器,不是人。例如,如果你看上某个女孩子,不过人家一定要在宝马车里面哭。这个时候,你一定想知道宝马车值多少钱?你可以输入查询字符串“养一个宝马需要多少米啊”,这个查询字符串和人说一点问题都没有,但是电脑却不懂。这倒不是因为搜索引擎很愚蠢,而是你有点难为人家了。

如果想高效地利用搜索引擎,我们需要遵循一个最基本的原则,那就是以网页撰写者的角度构建查询字符串。现在换个思路,如果让你写一个网页,来介绍宝马车的价格,你会怎么写呢?

很简单,直接写:“宝马车 1234 元人民币”好了。现在我们把思路换回来,如果让你查询这个问题,你该如何构造这个查询字符串呢?输入“宝马车 人民币 元”试试看!你会发现,结果非常地优雅,直中靶心。你会直接看到价格而不需要再继续点开结果网页,同时我相信,当看到价格后,你也不需要再去追那个爱哭的女孩子了。

如果有闲心和空闲时间,可以把这个查询字符串再输入到其他搜索引擎,看看返回的结果是什么。如果还有闲心和空闲时间,再试试这个网站“http://www.baigoogledu.com”,你会发现这个世界上像你同样闲的人还真的不少:)。

另外一点需要注意的是:构建查询字符串的过程一般是一个动态交互的过程。在构建查询字符串的时候,应该优先考虑简单的单词,避免使用比较复杂的查询句法和技巧,使用复杂的语法和一些高级的技巧会漏掉一些有价值的结果。即使简单的查询会返回很多噪声,也不用介意。构造查询字符串是一个动态交互的过程,可以通过开始返回的结果,不断调整查询字符串,或逐步使用一些高级的技巧来缩小查询结果。例如,想查找《天龙八部》这本书,输入“天龙八部”查询字符串的时候,返回的结果有很多是游戏方面的内容,这个时候可以调整查询字符串为“天龙八部-游戏”来去掉不需要的内容。这里我要说明一点,并不是高级查询技巧不应该用,而是应该避免上来就用或者查什么都用。

这里我们只是简单地介绍了两条基本的使用搜索引擎的原则,如果想高效地利用Google 搜索引擎,有一篇文章非常好,那就是http://www.hrbxinzhi.com/internet/resource2.html 上的“Google 搜索从入门到精通”,强烈推荐大家仔细研读。我个人非常喜欢的一个功能就是在特定文件类型中查找。这个功能很多时候非常有用,例如你可以用它来查找别人的学术论文,因为很多学术论文目前都是.doc 类型的文件,这样你就可以构造“C 语言filetype:doc”这样的查询字符串。

1.2.2 通信

互联网上常用的通信工具主要包括电子邮件和即时通信两种。

本书的读者一定可以很熟练地使用电子邮件了,要不然你不会开始学习编程的知识,所以我只对使用电子邮件提三点建设性的建议。

狡兔三窟

电子邮件目前已经成了网上的身份证,如果你只有一个电子邮件账号,并且利用这个电子邮件账号在很多网站上注册,那么你会饱受垃圾邮件的困扰。所以,拥有一个电子邮件账号一定是不够的。我个人通常使用三个电子邮件账号,分别为主力邮件账号、候选主力邮件账号和注册邮件账号。主力的和候选主力的服务商最好一个选国际的,另外一个选国内的。这样遇到国际线路不通的时候,至少保证有一个能用的电子邮件。除非到了世界末日,否则这两个邮箱总该有一个是可用的。

轻易不要在网上公布自己的主力邮件账号,用注册邮件账号,而不是用主力邮件账号去注册一些不太经常使用的网站。保持主力邮件主要用于自己的工作、朋友的联络和注册一些正规和大牌的网站。账号的名字最好用自己的姓名,这样也方便别人记忆。但是中国人的名字重复很严重,通常需要在名字后面加上数字,比如自己的出生年月等。不过一般女生不愿意暴露自己的年龄,就像男生不愿意暴露自己的体重一样,这个时候你也可以用你电话号码的后几位。

密码一定要长

安全的密码至少包含两种以上的字符,如字母和数字,如果能加上特殊的字符就更好了。有些人说复杂的密码有时候会忘掉,所以你应该选择一些对自己有特殊含义的字符来帮助自己记忆。

前一阵CSDN 被爆库,很多用户的密码被公布于众,其中评选出最有创意的密码有三个。他们分别是季军:FLZX3000cY4yhx9day(飞流直下三千尺,疑似银河下九天);亚军:hanshansi.location()==[gusucity](姑苏城外寒山寺);冠军:hold?fish:palm(鱼和熊掌不可兼得)。另外有一些人的密码是暗恋人的手机号或者是姓名,被暗恋的人知道后,成就了好多对幸福的姻缘,可以说是不幸中的万幸。就像是一艘游轮沉没,对游客来说是没顶之灾,对游轮厨房中活着的龙虾来说,简直就是生命的奇迹!

Gmail

为了管理自己的邮件,你还需要一个邮件管理程序。你可以使用本地邮件管理程序,例如Outlook 或Foxmail 等。Outlook 等邮件管理程序设置比较简单,任何一个电子邮件服务商的帮助文件上都有详细的说明,教你如何配置。本地邮件管理程序的一个缺点在于如果你使用两台以上的电脑,那么你需要配置两次,而且两台电脑的同步问题也很令人讨厌。比起本地客户端,我个人更喜欢Web Mail 这种方式。只要有移动终端设备,并且该设备能联网使用浏览器,你就可以收发电子邮件了,这多少有点“云计算”的意思。因为所有的邮件都在“云”里,所以也不存在同步的问题,两者的区别见图1-4。Web Mail 也有很多对应的服务商和产品。我个人使用的是Gmail。

图1-4 Local Mail(左)与Web Mail(右)

上面说到也许你会有多个账号,你可以利用其他邮件账号的转发功能或者是Gmail 的Import 功能同时集中管理几个不同的账号,这样就不用分别去访问不同的邮箱了。那么,转发功能和Import 功能具体怎么使用呢?问Google 啊,要学以致用啊!

另外一种常用的联系方式是即时通讯,比较著名的有QQ、MSN 和Skype 等。目前国内以QQ 为主,一骑绝尘,不过在国外QQ 基本没有。如果你需要和外国朋友经常进行联系,那么Skype 就是首先了。Skype 支持网络电话功能,可以直接利用Skype 拨打对方的电话,而且话费真的很便宜。

我个人在使用邮件和即时通信上各有侧重,如表1-1 所示,你可以参考一下。

表1-1 邮件和即时通信的使用比较

这里说点题外话,那就是聊天的风险。Internet 上有一个著名的漫画,那就是“在互联网上,没有人知道你是条狗”,如图1-5 所示。俄国的契诃夫曾经说过“大狗有叫的权利,小狗也有叫的权利。”这里我借用这位大文豪的话,那就是:“大狗有上网的权利,小狗也有上网的权利。”

图1-5 在互联网上,没有人知道你是条狗

其实,这些话背后的含义就是:在互联网上,你没有办法确定和核实任何用户的个人信息。这种匿名性使得一些别有用心的人可以利用互联网来达到某些不可告人的目的。

也就是说,如果一个人花很多时间聊天,那么他的目的一定不是聊天来的。这句话有点绕嘴,但是绝对是真的。所以我强烈不推荐大学以前的孩子聊天。就算你长大成人了,我也不推荐你花太多时间聊天。我在最loser 的时候,也疯狂地上网聊天。现在有了一份自己的事业,无论是大是小,都会忙得没时间聊天。这回你明白了吧!当然,我并没有说聊天不好,永远记住一句话,聊天只是工具,带给你快捷、方便,但是别沉迷于此。

1.2.3 社交

所有的社交网站背后,都有一个基本的理论,那就是六度空间理论。世界上无论任何人,你都可以通过区区六个人,和它发生关联或者产生联系,这也充分说明了人是一种社会动物,如图1-6 所示。基于这个理论,互联网上出现了一类交友网站,通过这个网站,你可以认识朋友,还可以认识你朋友的朋友。请注意“朋友的朋友”这一点,通过这一点,你就可以不断地扩大你的交友圈子。

图1-6 六度空间理论

有一天我实在闲的没事干,想了想如何通过六度空间理论把我和美国总统奥巴马联系起来。首先,我和我们大学的校长聊过天,然后校长出访芬兰的时候,曾经受过芬兰总理的接见,再然后,我猜芬兰总理一定也和奥巴马见过面。你看,还没经过6个人,我就已经和奥巴马联系起来了,看来六度空间理论也并不是浪得虚名啊!

最先利用这一理念的是美国的“脸谱”(Facebook)网站。国内也有非常成功的网站,如人人网和开心网等。我经常使用人人网,主要的朋友基本上都是我的学生和同事。社交网有个特点,那就是基本上都是实名的。

在社交网站上,你可以查找、增加、删除你的好友,还可以发表你的文章、你的照片,也可以发布你的动态等。当然,作为一个开发平台,网站上面还有很多其他的应用,其中最经典的一个应用莫过于曾经风靡一时的在线游戏“偷菜”。

其实,社交网络最核心的一个用处就是帮助你获得有价值的信息,目前,我们面临的问题不是能否获得信息,而是获得的信息太多,让人没有办法甄别。这个时候,从朋友或熟悉的人那里获得的信息相对来说就是有价值的。例如,你可以搜索出很多的饭馆,无论饭馆的介绍有多好,你可能并不是太动心。但是如果一个很要好的朋友推荐说某某饭馆很好吃,你一定非常想去尝试一下,这就是社交网络与搜索引擎最大的区别所在。

我在人人网上的账号是www.renren.com/zhaoyanhrb,欢迎大家加我为好友。我在人人网上主要关注朋友们共享或推荐的文章、视频、资源等。现在互联网上东西太多,良莠不齐。朋友们喜欢的东西,质量还都不错。就像在市场买菜,只要跟住某个老大妈,准能做到物美价廉,这样就没必要再上网去“偷菜”了。最后顺便说一句,我在人人网上也有块菜地,已经荒废好久了。写书我还行,但是种菜实在不在行!

伴着朋友数量的增多,大家的喜好和口味就很难一致和统一了。有些女性朋友经常发一些关于星座方面的东东,而我是研究五行的,这个时候该怎么办呢?作为社交网站的后起之秀,Google+的一个创新是支持把朋友分成不同的圈,圈和圈之间彼此是隔绝的,这样圈内朋友的喜好就更加一致了,大家可以尝试一下。

1.2.4 论坛与博客

论坛只是一个电子布告板,你在上面公布一个信息,别人回复这个信息,然后你再根据别人的回复回复,然后别人再根据你的回复回复回复……。

事实上,网络上有很多论坛,有的大,有的小。如果你愿意,你自己就可以就某一专题开一个论坛,但是有没有人来就不一定了。衡量论坛最重要的指标就是他的用户人数,人越多,这个论坛就越火,就更能吸引更多的人,看来“马太效应”真的无处不在。对于程序员来说,stackoverflow.com 是比较经典的技术论坛之一,国内比较火的就算是CSDN.net 了。如果你开发的项目可以开源,你也可以把这些项目放到github 网站上。如果你在以上的论坛和网站上不仅有账号,还有很高的积分和活跃度,在面试的时候无疑会秒杀其他竞争对手。毕竟,简历上所有人都说自己“精通”C 语言,如果想脱颖而出,你总不能说自己“发明”了C 语言吧!

除了纯技术性的论坛以外,还有很多综合性的论坛,如清华大学“水木论坛”http://www.newsmth.net/,我也经常会去关顾。大的论坛还有很多,像百度贴吧等,萝卜白菜,各有所爱,你可以自己去看看符不符合自己的口味。

博客起源于Web log,翻译成中文就是网络日记,然后慢慢的演变成一个词:blog。从名字上看,他应该类似于你的日记,你可以按照日期组织你的文章,在其中发表一些你的生活记录,思想感悟等。blog 类似于日记,但是还不是日记。首先它不追求私密性。其次,很多博客都是有关社会事件的看法和自己的态度,而不是关于自己的生活琐事的记录。这一点在优秀的博客网站中表现得特别明显。如果你每天就是说早上吃了两鸡蛋、中午吃了一根油条等等,估计你的博客也只有买鸡蛋和油条的人看。

与个人网站相比,博客是动态的,而个人网站基本上很少变动。博客的时效性特别强,你可以发表最近经历的事情,你的心情,还可以发布你最近的照片、观点、思想等。而通过一些领域专家的博客,你还可以了解很多业界的动态和进展,所以博客的内容也是多种多样的。

不仅博客的内容多样,而且任何人都可以写博客,只要你的博文质量高,你就会受到关注,就有成功的可能。草根博客中最著名的成功例子就是当年明月,他把《明朝那些事》首先通过博客发表,很多网友非常地喜欢,最后出版成书,成为仅次于毛选的畅销书。不知道你是否看出来了,本书的风格有点模仿《明朝那些事》。这里我借用当年明月的一句名言,“其实C 语言可以写得很有趣。”这也是我一直追求的目标。

坦白地说,发表在博客上的文章的质量要好于论坛。论坛上多为非常零散的只言片语,如果你写得很长,反倒没人看了。所以论坛上经常有“长文慎入”的字样,提醒你如果对长的文章不感兴趣,可以直接跳过。而博客是一段时间的思考和梳理,如果你写得不好,那就没人看了。不过这只是我个人的一点认识而已,并不是绝对地说论坛就不好,论坛上有些文章也非常地有水平,例如,本人曾将在清华水木的家版上发表过一篇文章,进入了十大主题并被斑竹收录到精华区。

无论是论坛上或是博客上的文章,每个人都可以通过回复来发表自己的意见。回复按顺序排列在一个网页中,像一层一层的楼房。所以就有了“楼上”、“楼下”这些专有的指代,同时“楼主”就是指最开始发表文章的那个人了。

有趣的是,论坛上和博客上的文章,回复也各有特点。针对博客文章的回复,相对比较聚拢,基本上都是直接回复楼主,并且和原文章的主题相关,如图1-7的左面所示。而针对论坛文章的回复,则明显比较松散,通常都是针对回复的内容再进行回复,如图1-7的右面所示。这样经过几次回复以后,就已经明显地偏离了原文的主题,变成大家各说各话了。而且无论是国家大事,还是鸡毛蒜皮,大家都会吵得一塌糊涂,骂得狗血喷头。

论坛上这种回复的风格,和酒桌上的风格类似,基本上总要经过和风细语、豪言壮语、窃窃私语、胡言乱语,最后统统不言不语几个阶段。难怪网上有网友说,最和谐的论坛就是成人论坛,所有的回复一律都是“楼主辛苦了!”,“楼主再接再厉啊!”

图1-7 博客回复(左)和论坛回复(右)的区别

就我个人理解,博客和论坛的不同如表1-2 所示。

表1-2 博客和论坛的不同

我们知道,如果你要发表一篇博客,你需要一台连接到Internet 上的计算机,这就限制了发表博客的时间和地点了。很快人们发现,可以利用手机的短信功能,随时随地发表博客。这不是更方便吗?但是,由于手机的短信限制,每次你只能输入不到200 个字,这种博客就被叫做微博——微型博客的含义,同时也被称为懒人的博客。因为微博的内容通常都很短,所以微博可以通过手机快速地发表和获取,正是有了这一差别,微博的时效性才变得非常好。

微博发表每时每刻的事件,包括热点事件、随笔、灵感等。微博中,你可以follow 某个对象,这样就可以第一时间知道你follow 的对象做了什么事,当然别人也可以follow 你。Follow 你的就算是你的粉丝了。最先提出这个概念的是Twitter,国内比较火的是新浪微博。我新浪微博的帐号是http://www.weibo.com/zhaoyanhrb,目前也有接近1500 个粉丝了。

无论是社交网站、论坛、博客还是微博,他们都是Information Technology 发展的产物。但是,它们更关注的是Information,而不是Technology。从技术角度来说,它们的实现和使用门槛都不高,可以说没什么难度。从媒体的角度,他们完全可以当成一个个人化的媒体,再通俗点,你有了一个自己的电视台。你可以及时地、大声地、不断地发表自己的观点,而且还不用插播广告。有了博客、微博和社交网站,我们的生活已经不再依赖于某一个或两个中心媒体了。每个人都能发消息,而且非常方便,快捷。如果你的话题非常热门,马上这个话题自然就形成了一个中心。就像一场风暴,以前只有一场大风暴,现在是有无数的小风暴,每个小风暴都能形成自己的中心。

也有的学者把目前这种依托于社交媒体,由用户主导生成内容的web 使用方式称为Web 2.0。Web 2.0 的核心概念是互动、分享与关系。典型的Web 2.0 站点有:社区、网络应用程序、社交网站、博客、微博、Wiki 等。目前的研究热点,例如“大数据”等,也与社交媒体有紧密的联系和依存关系。感兴趣的读者可以自行查找这方面的内容。

调查显示,在社交媒体上的自我表达可以促使大脑释放多巴胺——一种让人获得满足感、幸福感甚至是强迫自己持续某种行为特征的神经介质。这或许就是社交媒体让人痴迷的一个很大原因。多巴胺这种东西一般我们会在自己吸烟、喝酒、恋爱、花钱和美食时分泌更多,这回你知道抑制自己使用社交媒体该有多难了吧!

1.2.5 夺宝奇兵

有时,我们需要找一本书,或者是一段教学视频等,这时需要通过下载的方法来得到这些“宝贝”。以前无论是利用http 下载,还是利用ftp 下载,其遵循的都是中心节点方式,如图1-8 左侧所示,这种方式有个最大的缺点就是,一旦访问者过多,中心服务器就会瘫痪了。就像是一个最简单的黑客攻击方法,如果大量的用户一起访问某个网站,这个网站就会down 掉了。

图1-8 中心服务器(左)与p2p(右)

为了有效解决这个问题,有人在技术上提出了P2P 的概念,如图1-8 右侧所示。这个概念其实很简单,就是每个下载的用户计算机本身也是提供下载服务的服务器。这句话有点绕嘴,我举了例子。比如你和另外一个人都在下载同一部电影。你下载了电影的后半部分,而另外一个人下载了电影的前半部分。这个时候,你们就不再需要中央服务器了,你们两个私下交换就可以了。如果有三个人一起下,那你只需要下载三分之一就够了。与中央服务器不同,P2P 方式下,下载的人越多,下载就越快。这就是P2P 的含义。

从技术上来说,它很完美,但是在法律上,却给侵权和盗版提供了便利。P2P 方式本身就是发散的,没有人监控得了。同时,每个人都可以在网上发布东西,别人又都可以自由地下载。所以,目前国内已经对P2P 软件采取了一些管制的措施。

常见的三种P2P 下载软件分别为迅雷、电驴和bt。他们的区别如表1-3所示。

表1-3 P2P三种下载方式的区别

具体使用何种方法下载,我给出三点建议。

• 常用、经典的资源用迅雷下载。

• 生僻、旧的资源用电驴下载。

• 新的、热门的资源用bt下载。

最后一条建议就是,哪个有你需要的,就用哪个下载!这个有点类似于一个经典的调查问卷题目,如果卢浮宫着火,你先救哪幅画?最终拔得头筹的答案是“救离门口最近的那幅!”

1.2.6 互联网精神

Internet 是一个大的图书馆,你也可以给这个图书馆贡献你自己的力量和观点,观点本身没有对错,不同的观点才非常的宝贵。如果每个人都热情地参与,那么互联网上的内容才能越来越丰富。互联网上内容越丰富,我们得到的就越多。就像交换苹果,每个人还是一个苹果,如果交换思想,每个人就有两个思想了。所以,互联网精神的第一个重要原则就是积极参与。

感谢网络,让我们坐在家中,就已经拥有了整个世界。无论是提出问题,还是回答别人的问题,都会对你本人有极大的提升。我和这本书就是一个最好的证明,在学校教了两年C 语言以后,从同学们的问题中获益良多,最终决定鼓起勇气写这样一本书。同样,《C Programming FAQs》一书更是直接来源于论坛上问题的总结。

在网络上,大家都是比较欢迎转载的,无论是你的文章被转载,还是你转载别人的文章,都会有更多的人有机会看到这篇文章了。转载其实也是人们对信息的一种选择过程。越好的、越有特点的帖子,被人转贴的机会就越多,但是别忘了,一定要尊重别人的劳动成果,如果是你转载的,你最好注明原始作者和出处,不要硬说成是你自己的。

当然了,最核心的精神就是鼓励原创。别忘了,在你的领域,你是专家。每个人都把自己宝贵的知识、心得、观点等放到互联网上,互联网上的知识才能越来越多,互联网才能变成真正意义上的金矿。

最后就是要注意一下网络的礼仪。网络是自由的,在这个自由的环境中,你应该理性思考,文明发言。语言暴力不会有任何好的效果,只会暴露发言者低下的素质。虽然目前没有什么相关规范规定什么不应该说,但是我有一条建议,那就是如果有些话你不能对你的妈妈和女儿说,那么也不要在网上说。 ZMMaAIXuw2Y+OslS9ZiLiEyAMxEyccQ9Q2lBmgBQy8wf7EQAbgPiyY6TZEV0d3pC

点击中间区域
呼出菜单
上一章
目录
下一章
×