博客

  • 选择

    当你已经想到一个更好的方案的时候为什么还要抱着之前的东西不放呢?

    没有理由,所以还是更新方案吧.

    尽管那样会”重复浪费”你的时间

    PS:看到一个有趣的事情:
    原来Fenng家有只猫叫 猫泽西 笑到抽风..

  • 最大的失败就是放弃

    (从图王的站长网上看到,遂转载记录下来.)
    by Jack Ma

      *在创业的道路上,我们没有退路,最大的失败就是放弃

      *在我刚开始创业的那个时候,有人说如果阿里巴巴能够成功,无疑是把一艘万吨巨轮从喜马拉雅山脚下抬到珠穆朗玛峰顶,我就要让他们看看我是如何把这艘万吨巨轮从珠穆朗玛峰顶抬到山脚下。

      *今天很残酷,明天更残酷,后天很美好,但是绝大多数人死在明天晚上,见不着后天的太阳

      *1999至今 在杭州设立研究开发中心,以香港为总部,创办阿里巴巴网站(Alibaba.com) 孙正义跟我有同一个观点,一个方案是一流的Idea加三流的实施;另外一个方案,一流的实施,三流的Idea,哪个好?我们俩同时选择一流的实施,三流的Idea

      *如何把每一个人的才华真正地发挥作用,我们这就像拉车,如果有的人往这儿拉,有的人往那儿拉,互相之间自己给自己先乱掉了。当你有一个傻瓜时,很傻的,你很会很痛苦;你有50个傻瓜是最幸福的,吃饭、睡觉、上厕所排着队去的;你有一个聪明人时很带劲,你有50个聪明人实际上是最痛苦的,谁都不服谁。我在公司里的作用就象水泥,把许多优秀的人才粘合起来,使他们力气往一个地方使。

      *网络公司将来要判断两个:第一它的team;第二,它有technology;第三它的concept,拥有这些东西,才是存在的必要。

      *Judge 一个人, 一个公司是不是优秀,不要看他是不是Harvard,是不是Stanford.不要judge里面有多少名牌大学毕业生,而要judge这帮人干活是不是发疯一样干,看他每天下班是不是笑眯眯回家。

      *30%的人永远不可能相信你。不要让你的同事为你干活,而让我们的同事为我们的目标干活,共同努力,团结在一个共同的目标下面,就要比团结在你一个企业家底下容易的多。所以首先要说服大家认同共同的理想,而不是让大家来为你干活。

      *我认为,员工第一,客户第二。没有他们,就没有这个网站。也只有他们开心了,我们的客户才会开心。而客户们那些鼓励的言语,鼓励的话,又会让他们像发疯一样去工作,这也使得我们的网站不断地发展。

      *看见10只兔子,你到底抓哪一只?有些人一会儿抓这个兔子,一会儿抓那个兔子,最后可能一只也抓不住。CEO 的主要任务不是寻找机会而是对机会说NO。机会太多,只能抓一个。我只能抓一只兔子,抓多了,什么都会丢掉.

      *我们公司是每半年一次评估,评下来,虽然你的工作很努力,也很出色,但你就是最后一个,非常对不起,你就得离开。在两个人和两百人之间,我只能选择对两个人残酷。

      *您能用一句话概括您认为员工应该具备的基本素质吗?今天阿里巴巴的员工我们要求诚信,学习能力,乐观精神,和拥抱变化的态度!

      *互联网是四乘一百米接力赛,你再厉害,只能跑一棒,应该把机会给年轻人。

      *在前一百米的冲刺中,谁都不是对手,是因为跑的三千米的长跑。你跑着跑着,跑了四五百米后才能拉开距离的。

      *我们花了两年的时间打地基,我们要盖什么样的楼,图纸没有公布过,但有些人已经在评论我们的房子怎么不好。有些公司的房子很好看, 但地基不稳,一有大风就倒了。

      *我们与竞争对手最大的区别就是我们知道他们要做什么,而他们不知道我们想做什么。我们想做什么, 没有必要让所有人知道。
    *网络上面就一句话,光脚的永远不怕穿鞋的。

      *今天要在网上发财,概率并不是很大,但今天的网络,可以为大家省下很多成本。这个世界没有人能替你发财,只有你自己才能替你发财,你需要的是投资和投入,spend time,invest time,on the internet,把自己的时间投资在网络上面,网络一定会给大家省钱,但不一定今天就能赚多少钱,赚钱是明天的事,省钱,你今天就看得到。

      *电子商务最大的受益者应该是商人,我们该赚钱因为我们提供工具,但让我们做工具的人发了大财,而使用工具的人还糊里糊涂,这是不正常的。所谓新经济,就是传统企业利用好网络这个工具,去创造出更大的经济效益,使其成几十倍地增长,这才是真的新经济的到来。今天新旧经济是两张皮。

      *互联网上失败一定是自己造成的,要不就是脑子发热,要不就是脑子不热,太冷了。

      *我觉得网络公司一定会犯错误,而且必须犯错误,网络公司最大的错误就是停在原地不动,最大的错误就是不犯错误。关键在于总结我们反思各种各样的错误,为明天跑的更好,错误还得犯,关键是不要犯同样的错误

      *我们是教人钓鱼,而不是给人鱼。

      *企业家是在现在的环境,改善这个环境,光投诉,光抱怨有什么用呢?国家现在要处理的事情太多了,失败只能怪你自己,要么大家都失败,现在有人成功了,而你失败了,就只能怪自己。就是一句话,哪怕你运气不好,也是你不对。

      *中国电子商务的人必须要站起来走路,而不是老是手拉手,老是手拉着手要完蛋。

      *我们知道当时可以敲几个锣,就可以围那么多人的时候,锣都敲得好,把戏还能不好? 敲锣都敲出花来了。

      *我是说阿里巴巴发现了金矿,那我们绝对不自己去挖,我们希望别人去挖,他挖了金矿给我一块就可以了。

      *我深信不疑我们的模式会赚钱的,亚马逊是世界上最长的河,8848是世界上最高的山,阿里巴巴是世界上最富有的宝藏。一个好的企业靠输血是活不久的,关键是自己造血。

      *我们说上市就像我们的加油站,不要到了加油站,就停下来不走,还得走,继续走。
    *互联网是影响人类未来生活30年的3000米长跑,你必须跑得像兔子一样快,又要像乌龟一样耐跑。

      *我为什么能活下来?第一是由于我没有钱,第二是我对INTERNET一点不懂,第三是我想得像傻瓜一样。

      *发令枪一响,你是没时间看你的对手是怎么跑的。只有明天是我们的竞争对手。

      *如果早起的那只鸟没有吃到虫子,那就会被别的鸟吃掉。

      *If not now,when?If not me,who??

      *互联网像一杯啤酒,有沫的时候最好喝。

      *听说过捕龙虾富的,没听说过捕鲸富的。

      *我们不能企求于灵感。灵感说来就来,就像段誉的六脉神剑一样。
      *阿里巴巴的六脉神剑就是阿里巴巴的价值观:诚信、敬业、激情、拥抱变化、团队合作、客户第一。

      *我永远相信只要永不放弃,我们还是有机会的。最后,我们还是坚信一点,这世界上只要有梦想,只要不断努力,只要不断学习,不管你长得如何,不管是这样,还是那样,男人的长相往往和他的的才华成反比。今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。

      *男人的长相往往和他的的才华成反比

      *在我看来有三种人,生意人:创造钱;商人:有所为,有所不为。企业家:为社会承担责任。企业家应该为社会创造环境。企业家必须要有创新的精神。

      *三年以前我送一个同事去读MBA,我跟他说,如果毕业以后你忘了所学的东西,那你已经毕业了。如果你天天还想着所学的东西,那你就还没有毕业。学习MBA的知识,但要跳出MBA的局限。

      *对所有创业者来说,永远告诉自己一句话:从创业得第一天起,你每天要面对的是困难和失败,而不是成功。我最困难的时候还没有到,但有一天一定会到。困难不是不能躲避,不能让别人替你去抗。九年创业的经验告诉我,任何困难都必须你自己去面对。创业者就是面对困难。

      *ebay是大海里的鲨鱼,淘宝则是长江里的鳄鱼,鳄鱼在大海里与鲨鱼搏斗,结果可想而知,我们要把鲨鱼引到长江里来。

      *一个公司在两种情况下最容易犯错误,第一是有太多的钱的时候,第二是面对太多的机会,一个CEO看到的不应该是机会,因为机会无处不在,一个CEO更应该看到灾难,并把灾难扼杀在摇篮里。

      *淘宝网的主业决不该放在与对手的竞争上,而是把眼睛盯在提升客户体验上。

      *上世纪80年代挣钱靠勇气,90年代靠关系,现在必须靠知识能力!

      三年前的马云谈到B2C 和C2C的时候丝毫不心动,在论坛上还试图说服8848创始人王峻涛、谭智相信B2C 和C2C没有前途。互联网似乎和马云开了一个玩笑,让他去做自己原先最不看好的事情。不是我不明白,这世界变化快,马云发出了这样的感叹,主要是形势的变化太快了,我只能与时俱进。 既然B2B在中国能够成功,我想在大环境改变的形势下再试试C2C,对于新进入的C2C领域,马云这样解释。在全球范围内,基于个人网上交易服务的模式已经成为互联网产业最为重要的领域,美国的亚马逊、Ebay,日本雅虎均在行业内具有举足轻重的地位,以中国上网人口的庞大基数,中国也应该有可能造就一个巨大的个人网上交易市场,马云进入角色似乎很快,经过半年多的考察,他对C2C的前景很是看好。

      马云丝毫不避讳拿淘宝网和易趣对比,一口价、拍卖、买卖街这些模式我们都会采用,当然也会采用易趣开始运行的免费策略,时机合适的时候我们会收费,很可能是三年之后。

  • 报应

    或许可以用这个词吧.
    长久以来太以来google的关键词,使我自己达到了狂妄的地步.

    随着google关键词的下降.ip也来的越来越少.
    只够维持服务器的基本费用.

    我该醒醒了.

  • PHP应用程序的性能优化

    转载自网络:不知确切的作者:(

    PHP应用程序的性能优化
    使用PHP编程的最大好处是学习这种编程语言非常容易以及其丰富的库。即使对需要使用的函数不是十分了解,我们也能够猜测出如何完成一个特定的任务。

    尽管PHP非常简单易学,但我们仍然需要花费一点时间来学习PHP的一些编程技巧,尤其是与性能和内存占用相关的技巧。在PHP中,有许多小技巧能够使我们减少内存的占用,并提高应用程序的性能。在本篇文章中,我们将对PHP应用程序的分析、如何改变脚本代码以及比较优化前后的各种参数值进行简要的介绍。

    通过在程序中设置计时的程序,并反复执行这些代码,我们可以获得有关程序执行速度的一组数据,这些数据可以可以用来发现程序中的瓶颈,以及如何进行优化,提高应用程序的性能。

    也许读者曾经听说过PEAR库吧。我们将使用PEAR库创建在分析时需要使用的例子,这也是对现有的代码进行分析的最简单的方法,它使我们无需使用商用产品就能对代码进行分析。

    我们要使用的库的名字是PEAR::Benchmark,它对于对代码进行分析和性能测试非常有用。这个库提供一个名字为Benchmark_Timer()的类,能够记录一个函数调用和下一个函数调用之间的时间。在对代码的性能进行测试时,我们可以得到一个详细的脚本执行结果,它非常简单,如下所示:

    include_once(“Benchmark/Timer.php”);

      $bench = new Benchmark_Timer; $bench->start();

      $bench->setMarker(‘Start of the script’); 现在处于睡眠状态几分钟

      sleep(5); $bench->stop(); // 从计时器中获得分析信息

      print_r($bench->getProfiling());

    ?>

    上面代码执行后的输出如下所示:

    Array

      (

      [0] => Array

      (

      [name] => Start

      [time] => 1013214253.05751200

      [diff] => –

      [total] => 0

      )

    [1] => Array

      (

      [name] => Start of the script

      [time] => 1013214253.05761100

      [diff] => 9.8943710327148E-05

      [total] => 9.8943710327148E-05

      )

    [2] => Array

      (

      [name] => Stop

      [time] => 1013214258.04920700

      [diff] => 4.9915959835052

      [total] => 4.9916949272156

      )

      )

    上面的数字似乎是一组杂乱无章的数字,但如果程序的规模更大,这些数字就十分地有用了。
    也许广大读者也能猜测到,数组的第一个表目是实际调用Benchmark_Timer()类的方法,例如
    $bench->start()、$bench->setMarker()和$bench->stop(),与这些表目有关的数字是相当简单的,现在我们来仔细地研究这些数字:

    [0] => Array

      (

      [name] => Start

      [time] => 1013214253.05751200

      [diff] => –

      [total] => 0

      )

    time表目指的是何时对Benchmark_Timer()的start()方法调用的UNIX的timestamp,diff表目表示这次调用和上次调用之间的时间间隔,由于这里没有上一次,因此显示出了一个破折号,total表目指的是自测试开始到这一特定的调用之前代码运行的总的时间。下面我们来看看下一个数组的输出:

    [1] => Array

      (

      [name] => Start of the script

      [time] => 1013214253.05761100

      [diff] => 9.8943710327148E-05

      [total] => 9.8943710327148E-05

      )

    从上面的数字我们可以看出,在调用$bench->start()之后,程序运行了9.8943710327148E-05秒(也就是0.0000989秒)后开始调用$bench->setMarker(….)。

    一次真实的性能测试经历

    尽管上面的例子不错,但在对于决定如何优化你的站点代码设计方面,它真的不能算是一个好例子。下面我将用我自己作为网站技术人员的一段亲身经历来说明如何解决性能方面存在的问题。

    我并不大理解网站使用的代码,因为它是根据特殊的需求,历经多年开发而成的━━其中的一个模块包括网站转换代码,另一个模块记录网站的使用情况,其他的模块也各有各的作用。我和网站的主要开发者都意识到网站的代码需要优化,但又不清楚问题出在哪儿。

    为了尽快地完成任务,我开始研究网站的主要脚本代码,并在全部脚本代码以及其包含文件中添加了一些$bench->setMarker()命令,然后分析$bench->getProfiling()的输出,并对得到的结果大吃一惊,原来问题出在一个与获得特定语言名字(例如en代表english)的转换代码的函数调用中,该函数在每个页面上都会被使用数百次。每次调用该函数时,脚本代码都会对一个MySQL数据库进行查询,从一个数据库表中获得真正的语言名字。

    于是我们这一类的信息创建了一个缓冲系统。经过短短2天时间的工作,我们使系统的性能得到了很大的提高,第一周内页面的浏览量也因此而增加了40%。当然了,这只是一个有关分析代码能够提高互联网应用或互联网网站性能的例子。

    性能测试函数调用

    在分析一个脚本或网页(以及其包含文件)时,尽管Benchmark_Timer()特别有用,但它并不科学,因为要获得分析的数据我们必须多次加载脚本,而且它也不是针对某个类或函数调用的。

    PEAR::Benchmark库中的另一个被称作Benchmark_Iterator的类能够很好地解决这一个问题,它能够针对特定的函数或类的方法,显示其分析信息。它的用途是能够能够从测试中获得一致的结果,因为我们知道,如果运行一段脚本一次,其运行时间为10秒,并不意味着它每次的运行时间总是10秒。

    In any case, let’s see some examples:

    // 连接数据库的代码

      include_once(“DB.php”);

      $dsn = array(

      ’phptype’ => ‘mysql’,

      ’hostspec’ => ‘localhost’,

      ’database’ => ‘database_name’,

      ’username’ => ‘user_name’,

      ’password’ => ‘password’

      );

      $dbh = DB::connect($dsn); function getCreatedDate($id)

      {

      global $dbh; >$stmt = “SELECT created_date FROM users WHERE id=$id”;

      // 在这里使用PEAR::DB

      $created_date = $dbh->getOne($stmt);

      if ((PEAR::isError($created_date)) ||

      (empty($created_date))) {

      return false;

      } else {

      return $created_date;

      }

      }include_once ‘Benchmark/Iterate.php’;

      $bench = new Benchmark_Iterate; // 运行getDate函数10次

      $bench->run(10, ‘getCreatedDate’, 1);// 打印分析信息

      print_r($bench->get());

      ?>

    运行上面的代码能够产生与下面相似的结果:

    Array

      (

      [1] => 0.055413007736206

      [2] => 0.0012860298156738

      [3] => 0.0010279417037964

      [4] => 0.00093603134155273

      [5] => 0.00094103813171387

      [6] => 0.00092899799346924

      [7] => 0.0010659694671631

      [8] => 0.00096404552459717

      [9] => 0.0010690689086914

      [10] => 0.00093603134155273

      [mean] => 0.0064568161964417

      [iterations] => 10

      )

    上面的这些数字很好理解,mean条目表示getCreatedDate()函数10次运行的平均时间。在进行实际测试时,应该至少运行1000次,但这个例子得出的结果已经足够说明问题了。

    结束语

    希望广大读者能够通过本篇文章掌握如何迅速地对PHP代码进行分析的基本方法。在这里我还还要提醒广大读者的是,对代码进行分析不是一件简单的事儿,因为我们必须掌握大量的有关该种语言的特性。在代码中添加计时用的代码有助于找出运行速度缓慢的函数,利用多次重复的方法使我们能够发现对代码进行正确优化的方法。

  • 如何吃猕猴桃?

    p000000570.jpg
    我通常的做法是:
    1.洗,用洗洁精洗,挫挫,把毛挫掉;
    2.用牙把洗好的猕猴桃的皮啃掉;
    3.吃…:)

  • 读书计划

    重读王小波

  • 我使用的工具

    notepad 就是记事本啦,现在已经转向EditPlus了,多步撤销功能,以及彩色代码,很是方便.
    Dreamweaver 用来分析查看网页结构.很是不错.

  • 你知道么?Did you know?

    转载自桑林志

    阅微堂看到这个 myoops朱学恒翻译短片
    英文原版。原版作者 Karl Fisch 的 blog post,他是一位美国教师。

    Did You Know II

  • GZIP+RAMDISK提升你的IIS性能

    IIS的GZIP压缩可以加快页面的传输.
    RAMDISK把内存虚拟成磁盘作为压缩页面的存放目录,加快读取.