dedecms织梦百度新闻动态生成

大家应该都知道,织梦里有一个百度新闻,可以生成静态的百度新闻xml文件,如查有人不知道百度新闻是做什么的,那可以去google这里不做多的解释,反正说一句,对seo有好外,这里不得不夸一下织梦做的很细。但是程序里的“百度新闻”是半自动的不能进行实时的更新,这样就很不方便了,现在网上有很多插件可以做到。我也不能说不好,我觉得用着不舒服。下面来看一下我是怎么做的,这里是代码。
复制代码

  1. <?php
  2. require_once (dirname(__FILE__) . "/include/common.inc.php");
  3. $dangqianurl=$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];
  4. if(preg_match("/=|\?|and|select/",$dangqianurl))
  5. {
  6. showmsg("禁止输入非法字符",$cfg_basehost);
  7. }else
  8. {
  9.     header("Content-type:application/xml");
  10.     $baidunews = "<?xml version=\"1.0\" encoding=\"".$cfg_soft_lang."\" ?>\n";
  11.     $baidunews .= "<document>\n";
  12.     $baidunews .= "<webSite>$cfg_webname </webSite>\n";
  13.     $baidunews .= "<webMaster>$cfg_adminemail </webMaster>\n";
  14.     $baidunews .= "<updatePeri>$cfg_updateperi </updatePeri>\n";
  15.     $limit = $cfg_baidunews_limit;
  16.     if($limit > 100 || $limit < 1)
  17.     {
  18.         $limit = 100;
  19.     }
  20.     $query = "select maintable.*, addtable.body, arctype.typename
  21.     from #@__archives maintable
  22.     left join #@__addonarticle addtable on addtable.aid=maintable.id
  23.     left join #@__arctype arctype on arctype.ID=maintable.typeid
  24.     where maintable.channel=1 and maintable.arcrank!=-1 order by maintable.pubdate desc limit $limit
  25.     ";
  26.     $dsql->SetQuery($query);
  27.     $dsql->Execute();
  28.     while($row = $dsql->GetArray())
  29.     {
  30.         $title = htmlspecialchars($row[‘title’]);
  31.         $row1 = GetOneArchive($row[‘id’]);
  32.         if(strpos($row1[‘arcurl’],’http://’) === false)
  33.         {
  34.             $link = ($cfg_basehost==” ? ‘http://’.$_SERVER["HTTP_HOST"].$cfg_cmspath : $cfg_basehost).$row1[‘arcurl’];
  35.         }else
  36.         {
  37.             $link = $row1[‘arcurl’];
  38.         }
  39.         $link = htmlspecialchars($link);
  40.         $description = htmlspecialchars(strip_tags($row[‘description’]));
  41.         $text = htmlspecialchars(strip_tags($row[‘body’]));
  42.         $image = $row[‘litpic’] ==” ? ” :$row[‘litpic’];
  43.         if($image != ” && strpos($image, ‘http://’) === false)
  44.         {
  45.             $image = ($cfg_basehost==” ? ‘http://’.$_SERVER["HTTP_HOST"].$cfg_cmspath : $cfg_basehost).$image;
  46.         }
  47.         //$headlineimg = ”;
  48.         $keywords = htmlspecialchars($row[‘keywords’]);
  49.         $category = htmlspecialchars($row[‘typename’]);
  50.         $author = htmlspecialchars($row[‘writer’]);
  51.         $source = htmlspecialchars($row[‘source’]);
  52.         $pubdate = htmlspecialchars(gmdate(‘Y-m-d H:i’,$row[‘pubdate’] + $cfg_cli_time * 3600));
  53.         $baidunews .= "<item>\n";
  54.         $baidunews .= "<title>$title </title>\n";
  55.         $baidunews .= "<link>$link </link>\n";
  56.         $baidunews .= "<description>$description </description>\n";
  57.         $baidunews .= "<text>$text </text>\n";
  58.         $baidunews .= "<image>$image </image>\n";
  59.         //$baidunews .= "<headlineImg />\n";
  60.         $baidunews .= "<keywords>$keywords </keywords>\n";
  61.         $baidunews .= "<category>$category </category>\n";
  62.         $baidunews .= "<author>$author </author>\n";
  63.         $baidunews .= "<source>$source </source>\n";
  64.         $baidunews .= "<pubDate>$pubdate </pubDate>\n";
  65.         $baidunews .= "</item>\n";
  66.     }
  67.     echo $baidunews .= "</document>\n";
  68. }
  69. ?>

这里可以是看到,

只要把这个代码放在你的网站上就可以了,打开域名/baidu.php就是可以出来了。如果心争的朋友可以直接拿去用,但是我还相啰嗦几句做一下简单的解释.


复制代码

  1. require_once (dirname(__FILE__) . "/include/common.inc.php");//这里是获取你的一些配置文件
  2. $dangqianurl=$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];//这个是获取当前的url地址,主要是用来判断有没有被注入的,这也是我为安全想的

我想信看到上面注释的朋友,应该知道我的用意了吧


复制代码

  1. if(preg_match("/=|\?|and|select/",$dangqianurl))
  2. {
  3. showmsg("禁止输入非法字符",$cfg_basehost);
  4. }else
  5. {
  6. ///如果没有非法字符就输出xml文件也就是百度新闻
  7. }

还要说一点大家可以通过url重写的技术来到这个动态的文件进行伪静态。

好了到这里已经结束了。

  如果你的网站符合标准,那么你可以去百度贴吧http://tieba.baidu.com/f?kw=新闻搜索申请收录,一般来说在5-7个工作日就能得到回复。要想查看自己的网站是否被百度新闻收录,可以通过执行site语法查看,直接在百度新闻搜索中输入site:你的域名,注意,是在百度新闻搜索,而不是在百度搜索,如果可以查询到结果,那你的网站就已经被百度新闻收录了。

大学失业率最高的15个专业

根据《2010年中国大学生就业报告》调查称,15个专业成为中国失业率最高的专业。高考考生在报考时,一定要谨慎选择。

1.法学专业。

调查称,从2007年-2009年,法学专业连续三年成为大学本科专业中失业率最高的专业之一。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

2.计算机科学与技术。

失业率连续三年最高的专业还有计算机科学与技术。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

3.英语。

在中国大学的众多专业中,英语也成为高失业率的专业。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

4.国际经济与贸易。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

5.工商管理。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

6.汉语言文学。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

7.电子信息工程。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

8.会计学。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

9.计算机应用技术。

从2007年-2009年,计算机应用技术是高职高专失业率最高的专业。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

10.机电一体化技术。高职高专失业率最高的专业还有机电一体化技术。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

11.电子商务。也是失业率最高的专业之一。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

12.会计电算化。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

13.物流管理。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

14.计算机网络技术。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

15.商务英语。

商务英语是高失业率的高职高专专业,考生在报考时,一定要谨慎选择。

大学失业率最高的15个专业 - 小男生 - 小男生的博客

 

博主也是从学校走出来不几年的学生,很明白某些专业并非只是失业率的问题。其实相对于很多专业,社会需求根本就不相信学校能培养出真正实用的人才。老实说,对于以上某些专业,可能连老师都不知道自己在教什么(如电子商务)!其它不愿意过多评论。

进入大学,并不代表你已经铁饭碗,切忌。

考上大学,任何一个专业,只是让你多了一个学习的机会!

四年时间,是否能从考题蜕变为被社会接受的人才,考生们,还得努力呀!

易CEO丁磊:我从来没有远大的理想

总是碰到许多大学生问我毕业以后怎么取得成功的,我说很遗憾,我大学选的专业并不是自己喜欢的。我很喜欢电脑,高中时就在苹果电脑上写游戏,自学完了BASIC语言。1989年我选择大学专业的时候,很想选计算机专业,但因父母说计算机辐射大,对健康有害,我就填了成都电子科技大学的通讯专业,被分到了全校最小的系——微波通讯,一个系只有30个人。据说这个系历来是最难分配的,而且会被分配到山沟沟里去,所以我大一挺郁闷的。

没人教你读书

但是当我到了学校以后,我想这是人生很重要的一步,它现在就这个样子了,你还有什么可以选择的呢?不如读下去。

不过我一直没有放弃辅修计算机,我那时经常跑到图书馆去看计算机方面的书,还去计算机系蹭课旁听。我第一个困惑是书本上的知识为什么要老师教才会?第二,这么多的学生,七点半起床,八点上课,很多人眼睛还没睁开,这样听课是不是有效率?这两个问题折磨我一阵子后,我毅然决定每天从第二堂开始上起。

因为我没有听第一堂课,又不得不做作业,所以我会努力去看老师上一堂讲的东西,也会很努力去想老师想给我传达什么信息。很快我掌握了一种思考的技巧:我完全可以不听别人讲,就看书本写的,竟然可以在两三个星期内掌握一门功课。

后来接触到Internet的时候,我才知道这种技巧对我是多么重要。我从1997年开始搞互联网,那时没有几个人能教你互联网是什么,关于互联网的书也非常少,要请别人吃饭才能借到,而且看书的时候要不停做笔记。所以那时候我每天去网上输入各种各样的关键字查找,然后把这些信息打印出来,放在脑袋里去组合,去搅拌。

大学的学习过程对我后来创业影响非常大。我可以坦诚地说,我在大学学到的知识在我后来的工作中基本从来没有用到过,但我在大学四年学到了思考的能力和学习的能力。我现在看书很快,一般都从后面往前看,看关键字,不懂就到前面去看这个关键字的描述。

大学毕业后我被分配到宁波电信局,在那里度过了将近两年时光,我不喜欢电信局的环境,论资排辈很严重,年轻人没有什么机会,每天做的工作重复又很枯燥,没有一点创新性、开拓性。1995年,我一个人离开宁波去了广州。

没人教你创业

到广州后,我在一个美国的数据库公司找了份编程的工作。工作之余,我开始寻思创业的问题。当时没有人可以教我怎么创业,也没有一本书教你怎么当个老板。尽管我在大学毕业的时候就一直想开一个公司,但人生太难了,要做一件事情碰到太多的挑战,这是当时的客观情况。不过,我还是决定尝试一下,我把我毕业以后写软件赚的50万元拿去创办了网易。

创业之初,有点辛苦。我们在一个只有8平方米的很小的房间工作,没空调,夏天很热。但想起大学四年,每年两次往返宁波和成都,都坐72个小时的火车硬座,又脏又挤,都熬过来了,创业时遇到点困难算什么?

成立网易后,先是帮人家写软件以求生存,后来我和同事商量,做互联网一定要找到一个好的商业模式。我们就用我们9个G的电脑硬盘,推出了20M的免费个人主页业务。

没想到有2万多人,包括国外的人,来申请我们的免费个人主页。结果,我们在CNNIC的年度最佳网站排名,一下子排到了第一名。

然后,华尔街的投资人就在我们门口排队了,香港过来的投资银行的人,也抢着要给我们钱。从1999年年初到2000年6月30日在美国上市,18个月时间我们一共融资了1.15亿美元。我作为公司的领导,不知道那么多钱怎么用,感到很困惑。千万不要以为我是抱着一个伟大的理想去创办一个伟大的公司,我从来没有远大的理想,也没有想要成为一个很有钱的人。创办网易时我只是想做一个小老板,就想有个房子有辆汽车,不用准时上班,可以睡懒觉,有钱可以出去旅游。

2000年以后,网易面临一个非常大的挑战,除了经济衰退、网络广告大滑坡,公司内部也出现严重的问题。

我那时很苦闷,但我苦闷的时候不是每天闷在办公室里,而是亲自跑下去做市场调查。调查了好多行业,调查人家怎么赢利,后来发现了短信业务,利用自己巨大的用户资源和移动的接入平台,我们从阴影中走了出来。

后来我自己也在思考,为什么我的创业能成功,我想有一点可以肯定——你一定要做你喜欢做的事情,不要勉强自己去干一件自己不喜欢的事情。当你喜欢做一件事情的时候,你一定很愿意把它做好,一定会钻进去,成为一个领域的专家。我从大学到现在,根本没有离开过计算机相关专业领域,一个像我这样专注于一个行业几十年的人,自然会成为一个专家。所以喜欢一件事的时候,一定要深入下去,不要浅尝辄止。

回首自己走过的路,不管是学习还是创业,都没有人教,但是我很感谢大学时代培养起来的思考的方法与学习能力。

互联网2.0泡沫

       今年,排队赴美上市的公司延续了从去年底开始的热潮,并且更加热情高涨,今年已经上市和传出将赴美上市消息的企业包括奇虎360、世纪互联、人人网、世纪佳缘、淘米网、开心网……达到15家之多。

  与此同时,互联网创投方面也屡屡浮现出“出手阔绰”的投资者,比如京东商城C轮融资高达15亿美元,拉手网完成1.1亿美元融资。在电子商务网站估值创出新高的同时,团购网站的数量也不断攀升,根据CNZZ数据中心的统计,截至3月,团购网站总数已经超过了3600家,月均增长速度达到了29.33%。

  因为有了资金支持,互联网创业公司开始在门户网站、导航网站、搜索网站、地铁和楼宇电视屏幕大量投放广告。有分析师做了个轻松的统计,从北京的一栋写字楼出发直至坐上地铁,一路不停匆匆行走,至少可以看到9家互联网公司的广告。

  此外,在视频网站方面,有了资金支持的行业也十分自然地推高了电视剧网络版权的价格。上周,乐视网宣布斥资2000万元购买新剧《后宫·甄嬛传》的独家网络版权,假设电视剧40集,这意味着每集需要付出50万元。

  经历过上一次互联网泡沫的人士开始讨论,新的泡沫是不是又回来了?它又将在什么时候破裂?

  泡沫之有无

  “‘泡沫2.0’有坚实的产业基础,没有2000年那么可怕”

  “i美股”网站创始人 方三文:

  “过热”通常是指供应超过需求,包括产品、服务、投资等方面。我觉得是否过热得从两方面来看:一方面,从技术、产品创新和用户需求挖掘方面还有无限的可能性,不存在泡沫;另一方面,大家创新乏术,搞同质化竞争,确实存在供应过剩。

  独立IT评论人 洪波:

  现在业内出现了几个过热的征兆,比如说扎堆上市,比如说行业估值偏高,很多公司业绩并不好,却得到了高额投资。不过现在确实也给企业寻求上市提供了一个机会,因为估值会变得很高。

  京东商城CEO 刘强东:

  我认为现在最多是局部泡沫。和第一次互联网泡沫破裂前比,这轮互联网公司市值大涨的基础不仅仅存在清晰的盈利模式,更是因为互联网已经彻底渗透到了社会生活的方方面面,其价值根基也更牢靠。

  微软亚太研发集团主席 张亚勤:

  中国互联网产业本身并没有泡沫,但是针对互联网企业的估值、心态有一个大的泡沫。现在很多互联网企业去上市,但实际上却是处于亏损状态,上市后风险很大。不过,所谓 “互联网泡沫2.0” 还是有坚实的产业基础,没有2000年那么可怕。只是对上市的互联网企业的压力和期待太大,他们不会有更多犯错的空间。

  泡沫之从何而来

  “全球的金融政策导致‘闲钱’很多”

  “i美股”网站创始人 方三文:

  泡沫从哪里来?主要还是资源(比如资金)供应的增加超过了企业的创新能力。清科研究中心的数据显示,2011年一季度共有25只新基金完成募集,募资总额冲高至89.23亿美元,分别是前一季度及去年同期的4.33倍和3.04倍。除已经募集到位的基金外,一季度还有19只新基金宣布成立,其中披露目标规模的15只基金共计划募集148.99亿美元。

  创新工场CEO 李开复:

  中国股的泡沫从哪里来,投行的回答是,它来自于全球各政府的金融政策,这导致有很多“闲钱”却没有好的投资出路。不少投资者只要看到用户和营收的涨幅,可以无视企业盈利水平就大笔买入。

  清科集团CEO 倪正东:

  去年VC/PE募了2000亿元的新基金,今年又会再创新高。创业者们,这么多钱来追你们,你们就偷着乐吧。

  泡沫之破裂

  “出现扎堆上市时,往往好的公司并不多”

  独立IT评论人 洪波:

  过热总会过去,拿上市公司举例子,按以往经验,出现扎堆上市的情况时,往往好的上市公司并不多,比如SP概念、网游概念都曾出现扎堆上市的情况,但最后这些公司都慢慢沉寂了。现在看,本轮扎堆上市的互联网,头一两次财报也许能做得比较好看,但到了明年上半年,慢慢的投资者就会分辨出其中估值偏高的公司,到时候就会将泡沫挤出,结果就是不合格者的股价将跌入深渊,这在以前都发生过。

  创新工场CEO 李开复:

  当同类上市公司增多时,泡沫会被慢慢挤出。拿视频类的公司举例,如果上市者增多,然后每家都说自己是中国的Youtube、中国的HULU、中国的Netflix,再多看两次财报,美国投资者自然会明白。

  点击科技总裁 王志东:

  泡沫是资本的特点,只要有利可图,资本就会跟风,泡沫就能搅动起来。但只要网络的用户增长是真实的、网络的价值是真实的,网络经济就不是泡沫。也许资本泡沫会扶起一批投机性的项目,但泡沫过去后一定能留下更多真实的、成功的企业和成功的企业家。

国际板改变不了赴美上市

    为什么互联网公司纷纷赴美上市?

    首先,很多互联网企业都是通过获得风险投资而高速发展,这些风险投资很大一部分都是来自海外(主要是美国)风投机构。为了让这些风投能顺利地退出,很多互联网公司都以离岸公司方式注册,如在国际免税天堂开曼群岛注册。但是,根据A股的制度安排,这些以离岸公司方式注册的企业,名义上属于外资企业,在政策上无法在国内资本市场上市。“如果国际板推出,制度上的障碍才能解除。”

    其次,美国资本市场上市采取的是注册制(只要交易所同意就能上市,国内采取的是审核制,需要得到监管部门批准),只设增长门槛不设盈利门槛。也就是说,只要公司业务高速增长,即使是亏损的公司,也能在纳斯达克上市。如去年底登陆美国市场的优酷,就是亏损上市并得到了投资者的狂热追捧。反观国内市场,监管部门对主板、中小板、创业板设定了一套详尽的盈利、增长硬指标,入市门槛较高。尤其是创业板,硬指标的严厉程度远超美国。优酷如果要想申请在创业板上市,首先就要过盈利关。而优酷2010年第四季度财报显示,该季度优酷继续亏损570万美元。

    注册制带来的另一个有利因素,就是IPO所需要的时间短,加上很多风投机构与美国华尔街渊源颇深,运作企业上市轻车熟路,使得互联网公司在美国上市十分容易。奇虎360去年底才真正开始运作上市事宜,今年3月份就成功在纽交所上市。“这样的速度,在国内创业板上是不可能的。而一旦时机错过,互联网企业很可能就因为资金压力倒在黎明前的黑暗里。”

    此外,由于美国是互联网的中心,投资者对互联网企业估值较高,其发行市盈率并不比国内创业板低(以当当为例,在纽交所IPO融资2.72亿美元,市盈率90多倍)。加上美国资本市场还给上市企业提供了各种各样的融资工具,创业者可以不稀释股权就能募集到后续发展的资金,这对互联网创业者也有很强的吸引力。

    其实不用对比,稍微会炒股的人也明白一个互联网企业在国内上市等于要面对什么?一个国际板是改变不了现状的,不过,也算有了个模棱两可的开端吧!

电子商务的二次营销

 网上店铺商家有很多不同的方法来转化一个潜在的消费者,其中最流行而且最有效的一种方法就是通过电子商务二次营销——使用不同的策略和全自动邮件系统来跟踪放弃购物车的网站访客。

  一、什么是电子商务二次营销?

  电子商务二次营销是一种用来减少购物车废弃率的营销技术,Experian曾经做过一项研究,研究报告是“二次营销报告:连接Web行为和电子邮件营销的基准和数据分析”,报告中指出网上店铺的购物车废弃率达到56.2%,报告同时指出对放弃购物车的网站访客进行有效的二次营销可以增加访客的转化率。

  二次营销听起来好像很复杂,然而二次营销系统背后的理论和它有效实用的原因其实并不难理解,我们可以把电子商务二次营销简单地认为是这样一个过程: 我们使用传统的营销手段把访客吸引到我们的网站,如果他最终没有购买,我们就使用二次营销的战略把访客重新带回到我们网站并且把他转化成付费的消费者。

电子商务的二次营销 - 小男生 - 小男生的博客

 

  当一个访客放弃购物车时会留下一些信息,至少会留下注册时填写的的e-mail地址,我们就可以利用这些资料来跟踪访客,主要是为我们的二次营销做准备。这种类型的交互就叫做转化营销或者是电子商务二次营销。

  很多电子商务平台都提供全自动和事件触发式的方法在电子邮件中跟踪购物车废弃者。

  二、电子商务二次营销中的软销售

  在二次营销的电子邮件中,应当包含有利于提高访客转化率的相关信息,包括购物车废弃者放弃的交易细节信息,比如 废弃者放弃的产品和一个可以返回网站购物车的链接以帮助他们继续完成结算付款。所有我们所掌握的关于消费者的有价值数据都可以用到二次营销的电子邮件中, 从而使这一交互过程对消费者来说更加个性化和友好。

  你可以用一种非常友好和温和的语气来个性化定制你的电子邮件,在营销学中,这通常叫做软销售,意思是说当你在二次营销中第一次和消费者接触时,邮件要使用一种温和的为顾客服务的语气。

  顾客放弃最终结算购物车的原因可能有很多,除非你知道为什么顾客放弃购物车,否则你最好能够很温和而且能够提供帮助。不是要去“硬销售”,你需要在电子邮件中用一种温和的语气询问是不是有什么技术问题你可以帮助,这样非侵入性的沟通方式将有利于进一步二次营销。

  三、关于二次营销电子邮件内容的五点建议

  下面的一些建议可以帮助你构建一封成功的电子商务二次营销邮件。

  1、在顾客购物结算的过程中要尽早收集顾客的注册信息,这样如果最终顾客放弃结算,这些注册信息将有助于你更好地开展二次营销。

  2、使用尽可能详细的收集到的注册信息来使电子邮件更加个性化,更具有针对性。

  3、在邮件中使用一些相关(relevant)性比较强的信息,比如在邮件中放上顾客浏览过的产品的图片,然后放上一个链接帮助顾客返回到购物车结算中心从而完成结算。

  4、使用一种非侵入式的软销售沟通方式,记得要使邮件中的信息对顾客来说是有用的,问问顾客网站还可以在哪些方面改进用户的购物体验,这样要的效果要比“硬销售”好得多。

  5、提供所有你的联系方式,而且他们可能遇到了什么技术问题,所以应该在邮件中放上技术支持的链接从而帮助他们更容易的完成购物。

在中国创业,你觉得最需要有的素质是什么?

第一,要了解自己的兴趣。

第二,要了解自己的处境;

第三,要了解自己的优势劣势。

了解自己的兴趣是和第二点分不开的,有时候处境决定自己过什么样的生活,做什么工作,首先要知道自己想要什么,这点很重要。大学刚毕业的时候,不是想做什么就能做什么,是由处境决定的。所以要对自己的处境做一个冷静的分析。一个阶段只能实现一个方向嘛。另外,当你知道自己的优势和劣势,这样才能放大优势缩小劣势。还有就是很强的执行力。不要太长时间专注在一件事上。很多时候实践中的学习是最重要的。唯有实践中碰到的事才是真正学习到本领的时候。

徐静蕾的话,转载而来!

如何更好地管理时间

经常面对一大堆工作却不知如何着手去做吗?或者经常为了赶时间而忙得焦头烂额吗?

这是因为你没有管理好自己的时间,至少这是原因之一。
这是很多管理人员普遍会遇到的问题,更为糟糕的是,工作量却还在不断地增加。在最后关头,我们经常为能否在规定时间之前完成工作而紧张不安,这反过来又会影响我们的工作品质。

加强工作的条理性,可以让你做到有条不紊。

提前计划:这显然是最基础的,但是关键是要持之以恒,并要根据情况不断修正既定计划。既要制定长期计划,又要制定每天的工作表。医疗公司Baxter(India)Pvt的人力资源总监昂姆?格姆布(Ongmu Gombu)说,把要做的事情纳入日程表内,“不要让事情左右日程表”。格姆布说,在日程表上,按照优先顺序将要完成的工作列出来,将“最紧急的工作”放在最前面。提前计划可以帮助你预先规划好周期性的任务。例如,公司财务部门的管理人员可以提前为财年年底的例行工作做准备。资讯技术解决方案提供商DesignTech Systems Ltd的人力资源部副经理莫甘娜?库卡尼(Meghana Kulkarni)说,“任务完成之后,在旁边打上勾,这样你就知道还有什么工作没有做。”。

按优先顺序排列要做的工作:接到任务之后,弄清楚首先需要做什么。如果你决定不下来的话,去问你的上司。Prithvi Information Solutions Ltd运营部主管纳拉辛哈?拉奥(P.V. Narasimha Rao)说,给任务排序的另一个办法是,弄清楚“哪件事对公司的影响更大”。正确排序至关重要的步骤是,即使在时间宽裕的情况下,也要尽量把工作往前赶。如果不给自己多留一些时间,在最后一刻才开始工作,你往往会手忙脚乱,而且工作品质一般不高。

保持冷静,调整优先顺序:经常发生这样的事:你苦心设计的日程表被你无法掌控的事情彻底打乱。这时候,不要乱了方寸。保持冷静,因为神经紧张、手足无措很可能让你彻底懵掉。做几次深呼吸,先从最紧急的工作入手。如果最紧急的工作有两个,而你不知道该先做哪一个,那么用抛硬币的办法随便选一个。拉奥说,这样做,至少可以让你立刻开始向目标迈进,而不是耽误时间去琢磨哪个工作更重要。

寻求帮助或委派别人去做:如果突然出现意外情况,但所有工作必须马上完成。这时候可以向同事求助。这个办法可以减轻你的压力,帮助你把工作做得更好。Lovely Professional University人力资源主管马尼什?古普塔(Manish Gupta)说,当然,“大多数工作还是需要寻求説明的人自己来做。”这是双向的,在同事需要你的时候你也要帮对方一把。更为理想的是,在你有时间的时候,主动去帮助同事。如果你是一位主管,你可以在平时就锻炼团队成员,授权他们自己做出决断,这样,有需要的时候,你就可以依靠他们了。

了解自己的能力:有时候,为了得到主管的褒奖,我们会额外接受一些任务。虽然自告奋勇接受额外任务是一件好事情,但要注意量力而行,不要贪多。

额外接活的时候,只选择那些不会影响你日常工作品质的项目。专家表示,关键的是品质,不是数量。

如果主管经常交给你超出你职责范围的任务,和他(或她)谈一谈。孟买都市医疗公司(Metropolis Healthcare Ltd.)的人力资源总监罗素?罗萨里奥(Russell Rozario)说,如果被动地接受这些项目而不跟主管沟通你的实际情况,“就会推高他们的期望值,进而增加你的压力”。

Google Gravity JS代码

体验:http://mrdoob.com/projects/chromeexperiments/google_gravity/

  1. var canvas;
  2. var delta = [0,0];
  3. var stage = [window.screenX,window.screenY,window.innerWidth,window.innerHeight];
  4. getBrowserDimensions();
  5. var isRunning = false;
  6. var isMouseDown = false;
  7. var worldAABB;
  8. var world;
  9. var iterations = 1;
  10. var timeStep = 1/25; 
  11. var walls = new Array();
  12. var wall_thickness = 200;
  13. var wallsSetted = false;
  14. var mouseJoint;
  15. var mouseX = 0;
  16. var mouseY = 0;
  17. var mouseOnClick = new Array();
  18. var timer = 0;
  19. var elements = new Array();
  20. var bodies = new Array();
  21. var properties = new Array();
  22. var gWebSearch;
  23. var imFeelingLuckyMode = false;
  24. var resultBodies = new Array();
  25. var orientation = { x: 0, y: 1 };
  26. init();
  27. if (location.search != "")
  28. {
  29.         var params = location.search.substr(1).split("&")
  30.         for (var i = 0; i < params.length; i++)
  31.         {
  32.                 var param = params[i].split("=");
  33.                 if (param[0] == "q")
  34.                 {
  35.                         document.getElementById(‘q’).value = param[1];
  36.                         run();
  37.                         break;
  38.                 }
  39.         }
  40. }
  41. // GOOGLE API
  42. function onLoad()
  43. {
  44.         gWebSearch = new GwebSearch();
  45.         gWebSearch.setResultSetSize(GSearch.SMALL_RESULTSET);
  46.         gWebSearch.setSearchCompleteCallback(null, onWebSearch);
  47.         if (document.getElementById(‘q’).value != ”)
  48.                 search();
  49. }
  50. function onWebSearch()
  51. {
  52.         if(imFeelingLuckyMode)
  53.         {
  54.                 location.href = gWebSearch.results[0].unescapedUrl;
  55.                 return;
  56.         }
  57.         
  58.         for (var i = 0; i < gWebSearch.results.length; i++)
  59.                 addResult(gWebSearch.results[i]);
  60. }
  61. //
  62. function init()
  63. {
  64.         canvas = document.getElementById(‘canvas’);
  65.         
  66.         document.onmousedown = onDocumentMouseDown;
  67.         document.onmouseup = onDocumentMouseUp;
  68.         document.onmousemove = onDocumentMouseMove;
  69.         document.ondblclick = onDocumentDoubleClick;
  70.         
  71.         document.onkeypress = onDocumentKeyPress;
  72.         document.addEventListener(‘touchstart’, onDocumentTouchStart, false);
  73.         document.addEventListener(‘touchmove’, onDocumentTouchMove, false);
  74.         document.addEventListener(‘touchend’, onDocumentTouchEnd, false);
  75.         window.addEventListener( ‘deviceorientation’, onWindowDeviceOrientation, false );
  76.         // init box2d
  77.         
  78.         worldAABB = new b2AABB();
  79.         worldAABB.minVertex.Set(-200, -200);
  80.         worldAABB.maxVertex.Set( screen.width + 200, screen.height + 200);
  81.         world = new b2World(worldAABB, new b2Vec2(0, 0), true);
  82.         
  83.         // walls        
  84.         setWalls();
  85.         // Get box2d elements
  86.         
  87.         elements = getElementsByClass("box2d");
  88.                 
  89.         for (i = 0; i < elements.length; i++) {
  90.                 var element = elements[i];
  91.                 properties[i] = findPos(element);
  92.                 properties[i][2] = element.offsetWidth;
  93.                 properties[i][3] = element.offsetHeight;
  94.         }
  95.         
  96.         for (i = 0; i < elements.length; i++) {
  97.                 var element = elements[i];
  98.                 element.style.position = ‘absolute’;
  99.                 element.style.left = properties[i][0] + ‘px’;
  100.                 element.style.top = properties[i][1] + ‘px’;
  101.                 // element.style.backgroundColor = ‘#ffff00’;
  102.                 element.onmousedown = onElementMouseDown;
  103.                 element.onmouseup = onElementMouseUp;
  104.                 element.onclick = onElementClick;
  105.                 
  106.                 bodies[i] = createBox(world, properties[i][0] + (properties[i][2] >> 1), properties[i][1] + (properties[i][3] >> 1), properties[i][2] / 2, properties[i][3] / 2, false);                
  107.         }
  108. }
  109. function run() {
  110.         isRunning = true;
  111.         setInterval(loop, 25);        
  112. }
  113. //
  114. function onDocumentMouseDown() {
  115.         isMouseDown = true;
  116.         return false;
  117. }
  118. function onDocumentMouseUp() {
  119.         isMouseDown = false;
  120.         return false;
  121. }
  122. function onDocumentMouseMove() {
  123.         if (!isRunning)
  124.                 run();
  125.         mouseX = window.event.clientX;
  126.         mouseY = window.event.clientY;
  127. }
  128. function onDocumentDoubleClick() {
  129.         reset();
  130. }
  131. function onDocumentKeyPress(event) {
  132.         if (event.charCode == 13)
  133.                 search();
  134. }
  135. function onDocumentTouchStart( event ) {
  136.         if(event.touches.length == 1) {
  137.                 event.preventDefault();
  138.                 if (!isRunning)
  139.                         run();
  140.                 // Faking double click for touch devices
  141.                 var now = new Date().getTime();
  142.                 if (now – timeOfLastTouch  < 250) {
  143.                         reset();
  144.                         return;
  145.                 }
  146.                 timeOfLastTouch = now;
  147.                 mouseX = event.touches[0].pageX;
  148.                 mouseY = event.touches[0].pageY;
  149.                 isMouseDown = true;
  150.         }
  151. }
  152. function onDocumentTouchMove( event ) {
  153.         if(event.touches.length == 1) {
  154.                 event.preventDefault();
  155.                 mouseX = event.touches[0].pageX;
  156.                 mouseY = event.touches[0].pageY;
  157.         }
  158. }
  159. function onDocumentTouchEnd( event ) {
  160.         if(event.touches.length == 0) {
  161.                 event.preventDefault();
  162.                 isMouseDown = false;
  163.         }
  164. }
  165. function onWindowDeviceOrientation( event ) {
  166.         if ( event.beta ) {
  167.                 orientation.x = Math.sin( event.gamma * Math.PI / 180 );
  168.                 orientation.y = Math.sin( ( Math.PI / 4 ) + event.beta * Math.PI / 180 );
  169.         }
  170. }
  171. //
  172. function onElementMouseDown() {
  173.         mouseOnClick[0] = window.event.clientX;
  174.         mouseOnClick[1] = window.event.clientY;        
  175.         return false;
  176. }
  177. function onElementMouseUp() {
  178.         return false;
  179. }
  180. function onElementClick() {
  181.         var range = 5;
  182.         
  183.         if (mouseOnClick[0] > window.event.clientX + range || mouseOnClick[0] < window.event.clientX – range && mouseOnClick[1] > window.event.clientY + range || mouseOnClick[1] < window.event.clientY – range)
  184.                 return false;
  185.         
  186.         if (this == document.getElementById(‘btnG’)) search();
  187.         if (this == document.getElementById(‘btnI’)) imFeelingLucky();
  188.         if (this == document.getElementById(‘q’)) document.f.q.focus();
  189. }
  190. // API STUFF
  191. function search() {
  192.         if (!isRunning)
  193.                 run();
  194.         
  195.         onDocumentDoubleClick(); // clean
  196.         gWebSearch.execute(document.getElementById(‘q’).value);
  197.         return false;
  198. }
  199. function imFeelingLucky() {
  200.         imFeelingLuckyMode = true;
  201.         gWebSearch.execute(document.getElementById(‘q’).value);
  202.         return false;        
  203. }
  204. function addResult(data) {
  205.         var element = document.createElement(‘div’);
  206.         element.innerHTML = ‘<div><h3 class=r><a href="’ + data.unescapedUrl + ‘" class=l onmousedown="return clk(this.href,\’\’,\’\’,\’res\’,\’1\’,\’&amp;sig2=3Ti89FTuSYfE6a-5k1jjKQ\’)">’ + data.title + ‘</a></h3><span style=display:inline-block><button class=w10 title="Promote"></button><button class=w20 title="Remove"></button></span><div class="s">’ + data.content + ‘<br><cite>’ + data.visibleUrl + ‘</cite></div>’;
  207.         
  208.         canvas.appendChild(element);
  209.         properties.push([Math.random() * (window.innerWidth / 2),-200,600,element.offsetHeight]);
  210.         
  211.         var i = properties.length – 1;
  212.         element.style.position = ‘absolute’;
  213.         element.style.left = 0 + ‘px’;
  214.         element.style.top = -100 + ‘px’;
  215.         element.style.backgroundColor = ‘#ffffff’;
  216.         element.onmousedown = onElementMouseDown;
  217.         element.onmouseup = onElementMouseUp;
  218.         element.onclick = onElementClick;
  219.         elements[i] = element;
  220.         resultBodies.push( bodies[i] = createBox(world, properties[i][0] + (properties[i][2] >> 1), properties[i][1] + (properties[i][3] >> 1), properties[i][2] / 2, properties[i][3] / 2, false, element) );
  221.         
  222. }
  223. function reset() {
  224.         for (i = 0; i < resultBodies.length; i++) {
  225.                 var body = resultBodies[i]
  226.                 canvas.removeChild( body.GetUserData().element );
  227.                 world.DestroyBody(body);
  228.                 body = null;
  229.         }
  230.         
  231.         resultBodies = new Array();
  232. }
  233. //
  234. function loop() {
  235.         if (getBrowserDimensions())
  236.                 setWalls();
  237.         delta[0] += (0 – delta[0]) * .5;
  238.         delta[1] += (0 – delta[1]) * .5;
  239.         
  240.         world.m_gravity.x = orientation.x * 350 + delta[0];
  241.         world.m_gravity.y = orientation.y * 350 + delta[1];
  242.         mouseDrag();
  243.         world.Step(timeStep, iterations);        
  244.         
  245.         for (i = 0; i < elements.length; i++) {
  246.                 var body = bodies[i];
  247.                 var element = elements[i];
  248.                 
  249.                 element.style.left = (body.m_position0.x – (properties[i][2] >> 1)) + ‘px’;
  250.                 element.style.top = (body.m_position0.y – (properties[i][3] >> 1)) + ‘px’;
  251.                 var rotationStyle = ‘rotate(‘ + (body.m_rotation0 * 57.2957795) + ‘deg)’;
  252.                 element.style.WebkitTransform = rotationStyle;
  253.                 element.style.MozTransform = rotationStyle;
  254.                 element.style.OTransform = rotationStyle;
  255.         }
  256. }
  257. // .. BOX2D UTILS
  258. function createBox(world, x, y, width, height, fixed, element) {
  259.         if (typeof(fixed) == ‘undefined’)
  260.                 fixed = true;
  261.         var boxSd = new b2BoxDef();
  262.         if (!fixed)
  263.                 boxSd.density = 1.0;
  264.         boxSd.extents.Set(width, height);
  265.         var boxBd = new b2BodyDef();
  266.         boxBd.AddShape(boxSd);
  267.         boxBd.position.Set(x,y);
  268.         boxBd.userData = {element: element};
  269.         return world.CreateBody(boxBd)
  270. }
  271. function mouseDrag() {
  272.         // mouse press
  273.         if (isMouseDown && !mouseJoint) {
  274.                 var body = getBodyAtMouse();
  275.                 
  276.                 if (body) {
  277.                         var md = new b2MouseJointDef();
  278.                         md.body1 = world.m_groundBody;
  279.                         md.body2 = body;
  280.                         md.target.Set(mouseX, mouseY);
  281.                         md.maxForce = 30000.0 * body.m_mass;
  282.                         md.timeStep = timeStep;
  283.                         mouseJoint = world.CreateJoint(md);
  284.                         body.WakeUp();
  285.                 }
  286.         }
  287.         
  288.         // mouse release
  289.         if (!isMouseDown) {
  290.                 if (mouseJoint) {
  291.                         world.DestroyJoint(mouseJoint);
  292.                         mouseJoint = null;
  293.                 }
  294.         }
  295.         
  296.         // mouse move
  297.         if (mouseJoint) {
  298.                 var p2 = new b2Vec2(mouseX, mouseY);
  299.                 mouseJoint.SetTarget(p2);
  300.         }
  301. }
  302. function getBodyAtMouse() {
  303.         // Make a small box.
  304.         var mousePVec = new b2Vec2();
  305.         mousePVec.Set(mouseX, mouseY);
  306.         
  307.         var aabb = new b2AABB();
  308.         aabb.minVertex.Set(mouseX – 1, mouseY – 1);
  309.         aabb.maxVertex.Set(mouseX + 1, mouseY + 1);
  310.         // Query the world for overlapping shapes.
  311.         var k_maxCount = 10;
  312.         var shapes = new Array();
  313.         var count = world.Query(aabb, shapes, k_maxCount);
  314.         var body = null;
  315.         
  316.         for (var i = 0; i < count; ++i) {
  317.                 if (shapes[i].m_body.IsStatic() == false) {
  318.                         if ( shapes[i].TestPoint(mousePVec) ) {
  319.                                 body = shapes[i].m_body;
  320.                                 break;
  321.                         }
  322.                 }
  323.         }
  324.         return body;
  325. }
  326. function setWalls() {
  327.         if (wallsSetted) {
  328.                 world.DestroyBody(walls[0]);
  329.                 world.DestroyBody(walls[1]);
  330.                 world.DestroyBody(walls[2]);
  331.                 world.DestroyBody(walls[3]);
  332.                 
  333.                 walls[0] = null; 
  334.                 walls[1] = null;
  335.                 walls[2] = null;
  336.                 walls[3] = null;
  337.         }
  338.         
  339.         walls[0] = createBox(world, stage[2] / 2, – wall_thickness, stage[2], wall_thickness);
  340.         walls[1] = createBox(world, stage[2] / 2, stage[3] + wall_thickness, stage[2], wall_thickness);
  341.         walls[2] = createBox(world, – wall_thickness, stage[3] / 2, wall_thickness, stage[3]);
  342.         walls[3] = createBox(world, stage[2] + wall_thickness, stage[3] / 2, wall_thickness, stage[3]);        
  343.         
  344.         wallsSetted = true;
  345. }
  346. // .. UTILS
  347. function getElementsByClass( searchClass ) {
  348.         var classElements = new Array();
  349.         var els = document.getElementsByTagName(‘*’);
  350.         var elsLen = els.length
  351.         for (i = 0, j = 0; i < elsLen; i++) {
  352.                 var classes = els[i].className.split(‘ ‘);
  353.                 for (k = 0; k < classes.length; k++)
  354.                         if ( classes[k] == searchClass )
  355.                                 classElements[j++] = els[i];
  356.         }
  357.         return classElements;
  358. }
  359. function findPos(obj) {
  360.         var curleft = curtop = 0;
  361.         if (obj.offsetParent) {
  362.                 do {
  363.                         curleft += obj.offsetLeft;
  364.                         curtop += obj.offsetTop;
  365.                 } while (obj = obj.offsetParent);
  366.         }
  367.         return [curleft,curtop];
  368. }
  369. function getBrowserDimensions() {
  370.         var changed = false;
  371.                 
  372.         if (stage[0] != window.screenX) {
  373.                 delta[0] = (window.screenX – stage[0]) * 50;
  374.                 stage[0] = window.screenX;
  375.                 changed = true;
  376.         }
  377.         
  378.         if (stage[1] != window.screenY) {
  379.                 delta[1] = (window.screenY – stage[1]) * 50;
  380.                 stage[1] = window.screenY;
  381.                 changed = true;
  382.         }
  383.         
  384.         if (stage[2] != window.innerWidth) {
  385.                 stage[2] = window.innerWidth;
  386.                 changed = true;
  387.         }
  388.         
  389.         if (stage[3] != window.innerHeight) {
  390.                 stage[3] = window.innerHeight;
  391.                 changed = true;
  392.         }
  393.         
  394.         return changed;
  395. }

复制代码 直接地址:
http://mrdoob.com/projects/chrom … _gravity/js/Main.js