没有奋斗的中心目标或明确的努力主向,就没有成功的希望。
2) 没有非同寻常的雄心抱负。
如果对凡事漠不关心,不想在人生中求发展,不愿付出代价,那么这样的人也将成功无望。
3) 缺乏自律。
纪律来自自我控制,这意味着人必须控制所有的消极思想,只能先控制自己,才能控制环境。自制是人类面对的最艰巨任务,如果无法战胜自我,就会被自我征服。
4) 拖拉。
这是失败最普遍的原因之一,拖拉“老人”存在于每个人心中的阴暗角落,正是因为一直都在等待“适当时机”,才开始做那些值得做的事情,其实时机永远不会“适当”。
5) 缺乏毅力。
不管做什么,大部份人开始时都满怀信心,但却不能善始善终。大部份人一遇到失败就容易放弃。毅力是不可取代的。把毅力当座右铭奉行到底的人,发现失败会自行退下,失败是无法对抗毅力的。
6) 消极的个性。
因为消极的个性,而将别人拒于千里之外者,不会有成功的希望。成功来自力量的运用,而力量又来自与他人的合作,消极的个性无法促成合作。
7) 无法克制“不劳而获”的欲望。这种机体本能使很多人走向失败。
8) 缺乏果断的决策力。
成功的人士会果断决策,然后如果有必要,再慢慢改进。失败者往往花很长时间才能作出决策,但很快就需要修改,而且要频繁修改。犹豫和拖拉是一对双包胎,只要找到其中一个就一定能找到另一个,所以必须趁它们没有将你完全束缚在失败的车轮上,果断地把它们消灭。
9) 过度谨慎。
不主动抓住机会的人往往只能捡别人挑剩的机会,过度谨慎和不够谨慎都不可取,人生本来就充满偶然成分。
10) 迷信与偏见。
迷信是恐惧的一种形式,也是无知的表现,成功人士心胸宽广,无所畏惧。
11) 目标不专。
“万事通,万事松”,要全心全意专注于一个主要目标。
12) 缺乏热情。
没有热情,一个人就没有说服力,而且热情有一种感染力,一个人如果拥有热情,并能适当控制热情,往往会受到人们的欢迎。
13) 偏执。
心胸狭窄很难取得任何进步,偏执说明一个人不积极获取知识。
14) 蓄意不忠。
诚实是一种不可替代的品质,受无法控制的环境所迫,一个人可能一时不忠诚,也不会带来永久的破坏。但是,如果一个人蓄意不忠,则无药可救。他的得行为迟早会被发现,他负出的代价可能是失去信誉,甚至失去自由。
15) 自私和虚荣。
这些品质问题好比亮起红灯,让人不敢靠近,是妨碍成功的致命因素。
16) 猜测而不思考。
多数人往往漫不经心或者过于懒惰,不愿费心获取用于准确思考的事实。他们喜欢根据猜测或仓促得出的“结论”了事。
观念改变人生!选择决定未来!行动决定成败!
“让我来处理吧,”我说:“一个小时以后再给我打电话。”当然了,当他几个小时以后打电话过来,我已经为他准备好了解决的方法。这需要用到一点点PHP,而我收获了他没完没了的感谢和一箱红酒。
那么我在这一个小时里做了些什么呢?这就是本篇文章的内容。我将告诉你如何使用PHP来快速将纯ASCII文本完美地转换成为可读的HTML标记。
首先让我们来看一个我朋友希望转换的纯文本文件的例子:
Green for Mars!
John R. Doe
The idea of little green men from Mars, long a staple of science fiction, may soon turn out to be less fantasy and more fact.
Recent samples sent by the latest Mars exploration team indicate a high presence of chlorophyll in the atmosphere. Chlorophyll, you will recall, is what makes plants green. It's quite likely, therefore, that organisms on Mars will have, through continued exposure to the green stuff, developed a greenish tinge on their outer exoskeleton.
An interview with Dr. Rushel Bunter, the head of ASDA's Mars Colonization Project blah blah...
What does this mean for you? Well, it means blah blahblah...
Track follow-ups to this story online at http://www.mars-connect.dom/. To see pictures of the latest samples, log on to http://www.asdamcp.dom/galleries/220/
相当标准的文本:它有一个标题、一个署名和很多段的文字。把这篇文档转换成为HTML真正需要做的是使用HTML的分行和分段标记把原文的布局保留在Web页面上。特殊的标点符号需要被转换成为对应的HTML符号,超链接需要变得可以点击。
下面的PHP代码(列表A)就会完成上面所有的任务:
// set source file name and path
$source = "toi200686.txt";
// read raw text as array
$raw = file($source) or die("Cannot read file");
// retrieve first and second lines (title and author)
$slug = array_shift($raw);
$byline = array_shift($raw);
// join remaining data into string
$data = join('', $raw);
// replace special characters with HTML entities
// replace line breaks with <br />
$html = nl2br(htmlspecialchars($data));
// replace multiple spaces with single spaces
$html = preg_replace('/ss+/', ' ', $html);
// replace URLs with <a href...> elements
$html = preg_replace('/s(w+://)(S+)/', ' <a href="12" target="_blank">12</a>', $html);
// start building output page
// add page header
$output =<<< HEADER
<html>
<head>
<style>
.slug {font-size: 15pt; font-weight: bold}
.byline { font-style: italic }
</style>
</head>
<body>
HEADER;
// add page content
$output .= "<div class='slug'>$slug</div>";
$output .= "<div class='byline'>By $byline</div><p />";
$output .= "<div>$html</div>";
// add page footer
$output .=<<< FOOTER
</body>
</html>
FOOTER;
// display in browser
echo $output;
// AND/OR
// write output to a new .html file
file_put_contents(basename($source, substr($source, strpos($source, '.'))) . ".html", $output) or die("Cannot write file");
?>
让我们来看看它是如何工作的:
第一步是把纯ASCII文件读取到一个PHP数组里。这通过file()函数很容易就可以完成,这个函数会把文件的每一行都转换成为一个用数字索引的数组中的元素。
然后,标题和作者行(我假设这两个都是文件的前两行)都通过array_shift()函数从数组里提取出来,放到单独的变量里。数组剩下的成员然后被连接成一个字符串。这个字符串现在就包括了整篇文章的正文。
文章正文里像“'”、“<”和“>”这样的特殊符号通过htmlspecialchars()函数被转换成相应的HTML符号。为了保留文章的原始格式,分行和分段通过nl2br()函数被转换成HTML的
元素。文章中间多个空格通过简单的字符串替换被压缩成为一个空格。
文章正文里的URL用正则表达式来检测,两边是元素。当页面在Web浏览器里显示的时候,它会把URL转换成为可点击的超链接。
然后用标准的HTML规则创建输出的HTML页面。文章的标题、作者和正文都用CSS样式规则格式化。尽管这段脚本没有这样做,但是你可以在这个地方自定义最终页面的外观,你可以向模板添加图形元素、颜色或者其他眩目的内容。
一旦HTML页面构建完成,它就可以被送到浏览器或者用file_put_contents()保存为静态文件。要注意的是,在保存的时候,原来的文件名会被分解,一个新的文件名(叫做filename.html)会为新创建的Web页面创建。你然后就可以把这个Web页面发布到Web服务器上、保存到光盘上或者对它进行进一步编辑。
注意:在使用这个脚本创建和保存HTML文件到磁盘的时候,你要确保这个脚本对文件保存的目录有写权限。
正如你看到的,假如你有标准格式的ASCII纯文本数据文件,你可以相当迅速用PHP把它转换成为可使用的Web页面。如果你已经有了一个Web网站,并计划把新的Web页面加入进来,那么调试页面生成器所使用的模板,使之适应原有Web网站的外观是相当容易的。你自己试试看!
在网站开发中,究竟是在数据库(DB)中排序好,还是在应用程序中排序更优,这一直是个很有趣的话题。DBANotes.net博主,在数据库方面比较有研究的冯大辉就这一问题日前和读者明灵(Dragon)做了探讨,本文是关于该问题的总结。
问:请列出在PHP中执行排序要优于在MySQL中排序的原因?
答:通常来说,执行效率需要考虑CPU、内存和硬盘等的负载情况,假定MySQL服务器和PHP的服务器都已经按照最适合的方式来配置,那么系统的可伸缩性(Scalability)和用户感知性能(User-perceived Performance)是我们追求的主要目标。在实际运行中,MySQL中数据往往以HASHtables、BTREE等方式存贮于内存,操作速度很快;同时INDEX已经进行了一些预排序;很多应用中,MySQL排序是首选。而在应用层(PHP)中排序,也必然在内存中进行,与MySQL相比具有如下优势:
考虑整个网站的可伸缩性和整体性能,在应用层(PHP)中排序明显会降低数据库的负载,从而提升整个网站的扩展能力。而数据库的排序,实际上成本是非常高的,消耗内存、CPU,如果并发的排序很多,DB很容易到瓶颈。
如果在应用层(PHP)和MySQL之间还存在数据中间层,合理利用的话,PHP会有更好的收益。
PHP在内存中的数据结构专门针对具体应用来设计,比数据库更为简洁、高效;
PHP不用考虑数据灾难恢复问题,可以减少这部分的操作损耗;
PHP不存在表的锁定问题;
MySQL中排序,请求和结果返回还需要通过网络连接来进行,而PHP中排序之后就可以直接返回了,减少了网络IO。
至于执行速度,差异应该不会很大,除非应用设计有问题,造成大量不必要的网络IO。另外,应用层要注意PHP的Cache设置,如果超出会报告内部错误;此时要根据应用做好评估,或者调整Cache。具体选择,将取决于具体的应用。
问:请提供一些必须在MySQL中排序的实例?
答:在PHP中执行排序更优的情况举例如下:
数据源不在MySQL中,存在硬盘、内存或者来自网络的请求等;
数据存在MySQL中,量不大,而且没有相应的索引,此时把数据取出来用PHP排序更快;
数据源来自于多个MySQL服务器,此时从多个MySQL中取出数据,然后在PHP中排序更快;
除了MySQL之外,存在其他数据源,比如硬盘、内存或者来自网络的请求等,此时不适合把这些数据存入MySQL后再排序。
必须在MySQL中排序的实例如下:
MySQL中已经存在这个排序的索引;
MySQL中数据量较大,而结果集需要其中很小的一个子集,比如1000000行数据,取TOP10;
对于一次排序、多次调用的情况,比如统计聚合的情形,可以提供给不同的服务使用,那么在MySQL中排序是首选的。另外,对于数据深度挖掘,通常做法是在应用层做完排序等复杂操作,把结果存入MySQL即可,便于多次使用。
不论数据源来自哪里,当数据量大到一定的规模后,由于占用内存/Cache的关系,不再适合PHP中排序了;此时把数据复制、导入或者存在MySQL,并用INDEX优化,是优于PHP的。不过,用Java,甚至C++来处理这类操作会更好。
从网站整体考虑,就必须加入人力和成本的考虑。假如网站规模和负载较小,而人力有限(人数和能力都可能有限),此时在应用层(PHP)做排序要做不少开发和调试工作,耗费时间,得不偿失;不如在DB中处理,简单快速。对于大规模的网站,电力、服务器的费用很高,在系统架构上精打细算,可以节约大量的费用,是公司持续发展之必要;此时如果能在应用层(PHP)进行排序并满足业务需求,尽量在应用层进行。
自从十年前谷歌创立以来,互联网已经给全世界人们的生活带来了巨大的影响。它已经改变了政治、娱乐、文化、商业、医疗、环境等诸多方面以及几乎每个你所能想到的领域。这促使我们思考:未来的十年内将发生什么?这种惊人的技术将如何演进?我们将如何适应互联网,而且(更重要的是)互联网将如何适应我们?怀着这些问题,我们询问了十个资深的专家,并将在9月(在我们创立10周年的月份)发表他们的回答。就像计算机科学专家Alan Kay的名言所说的那样,最好的预测未来的方法就是去创造它,因此我们每天都将尽我们的最大努力,逐步实现专家们的预言。
全世界目前有大约32手机用户,而且在未来几年内,这个数字还将至少增加10亿。如今,手机已经变得比汽车(全世界登记的汽车大约为8亿辆)和信用卡(只有14亿张)还要普遍。在固定电话的普及上,我们用了100年的时间才使80%以上的国家用上固定电话,而手机做到这一点只用了16年。越来越少的青少年佩戴手表,因为他们现在都用手机来看时间。因此我们现在可以大胆地宣称手机是有史以来最普及的消费者产品。
不过,你有没有考虑过这些手机的性能到底有多强?你放在口袋、背包或者手提袋里面的手机的性能很可能要比8年前或9年前放在桌面上的个人电脑还要强10倍(假设你有一台个人电脑;大部分的手机用户没有个人电脑)。手机所拥有的一系列传感器几乎堪比火星探测器。一个仅具备基本功能的手机就拥有:时钟,电源传感器(显示电池用量),温度计(因为电池在低温下的充电效果不好),测光表(决定是否开启屏幕背光灯);而更高级的手机还拥有:位置传感器,加速计(监测运动方向的矢量与速度),甚至还可能有指南针。最重要的是,所有这些传感器始终都是互相连接的。
我们来看看未来十年内的趋势。你可能将一周七天,一天24小时都携带着手机(中国移动最近的一项研究显示,大部分手机用户在睡觉的时候都把手机放在距离一米以内的地方),而这些手机的功能非常强大,始终保持连接,并充满各种传感器。而且更酷的是,你身边的每个人都是如此。那么,除了你现在已经利用的功能外,你还将利用这些手机来做什么呢?下面是几种可能:
智能提醒
你的手机将时刻洞悉你目前的状况,并在需要的时候提醒你。现在就已经是如此了——eBay可以在你投标失败的时候给你发提示信息,而提示服务(比如谷歌新闻)可以为你提供新闻、运动、或股票方面的最新信息。未来,这些应用程序将更加智能化,更加迎合你的个人偏好(将被存储在网络云里),并在你需要的时候才发送所需的信息。一个非常有用的应用情景:你的手机知道你正在前往市中心用晚饭,它将提醒你交通状况以及哪里停车最方便。
增强现实(Augmented reality)
你的手机会利用它的传感器来了解你状况,并为你提供有用的信息。例如,你站在橱窗前,心里想知道里面的小狗价格。你的手机马上就会通过GPS和指南针了解到你正在看这只小狗。在你甚至还没问这个问题之前,手机就会告诉你答案了。此外,还会告诉你它的食物和最佳训练方式。
众包(Crowd Sourcing)主流化
你的手机就是你的万能传声筒。通过手机,你可以发布图片、电子邮件、文本、Twitter(一种多对多互联网短信群发平台)信息以及博客文章等。如果所有人都这么做,那么世界上每个角落的人都可以实时分享他们的经历。大量的信息内容以一种全新且有趣的方式被归档、分类并重新发布给其他人。你可以在网上询问在附近最好玩的地方,并在手机上浏览其他人的评价和他们所上传的图片。如果你很有兴趣,那么你的手机就会告诉你如何前往那里。
(腾讯科技注:众包的特征是由非专业开发人员的普通群体配合进行开发)
无处不在的传感器
你的手机能够获取周围情况的大量信息。如果你获取该信息,并将它和云里面的所有其他手机的信息结合起来,那么你就会看到不可思议的世界动态实景。气象信息的更新将不再根据数百个传感器,而是根据数亿个传感器。交通信息的报道将不再仅仅根据直升飞机的观察和道路传感器,而是根据交通阻塞区域的手机(以及人)的密度、速度和方向来作出判断。
个人发展的工具
你的手机不仅能够方便你的生活,它还可以为你带来收入。对于世界上的许多人来说,这已经成为现实:在印度南部,渔民们通过短信来发现最好的市场,以便出售他们今日的产品;甘蔗农场主们可以收到建议性的短信来决定作物灌溉量;在撒哈拉以南的非洲,拥有手机的企业家变成了手机运营商,为他们所在的城镇提供通信服务。未来,随着手机成为经济发展的重要推动力,这些创新只会不断增加。
与时俱进的设备
就像现在的互联网一样,你的手机将更加开放,这样开发人员就可以更加方便地开发或改进应用程序和内容。你可以将你所关心的应用程序自动地安装在你的手机上。比如说,你的手机上有个软件,该软件可以改善电源管理(从而增加电池寿命)。如果有一个开发人员对该软件进行了改进。那么你不用动一根手指头,这个更新就会自动安装在你的手机上。随着时间推移,你的手机将越来越好。
信任与验证提高软件安全性
你的手机将提供工具和信息来帮助你决定下载哪些内容,浏览哪些信息,共享哪些数据。在一个互联的世界里,信任是至关重要的,而你的手机将帮助你控制好你的信息。你可以选择不共享任何信息(缺省模式),或者只同特定人员——你所信任的朋友圈子和家庭成员——共享特定信息。你将根据你从服务提供商和软件提供者那里所得到的信息以及社区的集体评级来进行做出这些决定。你的手机会像忠心耿耿的仆人一样:它知道你的许多信息,但是如果没有你的同意,它将不会透露任何信息。
导语:国外媒体今天发表分析文章称,目前点评“2008年10佳改版网站”也许为时尚早,但2008年毕竟已经过去了9个多月,周四又同时有Twitter和FriendFeed两家网站改版,因此当前也算是评选“2008年10佳改版网站”恰当时机。而且,入围网站也具有较强的代表性。
到目前为止,入围“2008年10佳改版网站”的分别为Twitter、Facebook、FriendFeed、雅虎、MySpace、Digg、MobileMe、LinkedIn、Delicious和Last.fm。
此外,CNET、Engadget、《华尔街日报》网络版、TechCrunch、CenterNetworks、Mashable、Bebo、Revision3和coCommen等网站也进行了改变,用户反馈也不错。以下为2008年10佳改版网站,排名不分先后:
1. Twitter

Twitter的改版并不是很激进,与原版页面出入不大。主要变化在于两方面:一是简化界面,二是减少网页所加载资源。最显著的变化是标签上的变化,新版页面把顶部的标签转移到右部。这有利于用户访问,更重要的是,这是出于投资需要。将来,Twitter准备添加更多标签,而顶部空间已经明显不足。
2. Facebook

Facebook新页面把聊天与应用开始工具栏相结合,更重要的是,添加内容,对内容进行分类变得更容易。新页面还充分考虑到了宽屏趋势,充分利用两侧多出的空间。对于Facebook而言,此次改版是最激进的一次,因此也遭到了部分用户的反对。
3. FriendFeed

新版FriendFeed页面的最大变化是将导航标签从顶部移到左侧,充分利用了宽屏优势。更重要的是,在增加新功能的同时,页面内容没有丝毫挤压感。
4. 雅虎

雅虎此次大胆改版削减了一些冗余内容,添加了一些类似于My Yahoo服务的实用功能。更重要的是,用户可以对很多内容进行定制,甚至面向第三方互联网应用开放。例如,在屏幕右侧添加Netflix等电影网站链接。
5. MySpace

MySpace于6月中旬进行了改版,改版后的新页面更加整洁,且突出了用户创作内容。更重要的是,新页面增加了新的搜索、编辑器和播放器等实用工具。
6. Digg / Digg mobile

在保留核心服务的基础上,Digg和Digg移动版对原版页面进行了改善。新版页面增加了推荐引擎,确保用户以最快速度找到感兴趣的内容。
7. MobileMe (原.Mac)

新的MobileMe Web电子邮件服务更加现代化,陈旧的.Mac平台被一些基于云计算的Web应用所取代,并与多种设备同步。其中,最大的变化之一是增加了日程安排、文件和联系人信息管理工具等。
8. LinkedIn

LinkedIn于今年2月改版,改版幅度不大,但增加了一些实用服务。与旧版Facebook页面有些相似,LinkedIn把工具条和标签都转移到了左侧。
9. Delicious

Delicious于7月进行大幅改版,新版页面与旧版完全不同,几乎每一处都经过重新设计,标签管理功能得到极大强化。此外,Delicious的域名也从del.icio.us直接改为delicious.com,在很大程度上方便了用户访问。
10. Last.fm

7月中旬,音乐社交网站Last.fm进行了彻底改版,无需同步和共享当前音乐数据库,只需提供乐队名称,用户即可获得音乐家推荐。
