Archive for May, 2009

《巴比伦富翁的理财课》

May 29th, 2009

第1课 勇敢面对债务以获得自尊自重
1.勇敢面对你的债务!不要有任何侥幸之心,坚信清偿债务比躲债和赖账更加容易,也更能让你获得自尊自重,无债一身轻松。
2.尽快罗列所有的债务清单,与每一位债主沟通协商,坦诚地将现状据实相告,向他们解释你的偿债计划并达成协议。
3.更加辛勤努力地工作,首先将所有收入的7/10留作家用,以保证家人的生活温饱和衣食无忧,这既是你的爱心,也是你应当承担的责任。
4.公平、老实地将所有收入的2/10分成苦干等份偿还债主,坚定不移地履行偿债的承诺,债主们会理解并赞扬你的行为。
5.坚持培养自己储蓄的习惯,将所有收入的1/10储存起来,积少成多,以备急需或者今后用于稳定而安全的投资。
6.无论如何,永远都需要量入为出,约束自己的花费,坚持所有开销不能超过收入7/10的原则,即便是还清了债务之后。

第2课 开启自我心灵和精神的巨大潜能
1. 如果你带着有色的眼光看待这个世界,你就不会发现这个世界真实的颜色,也就会被许多软弱而卑贱的心态和假象所蒙蔽。
2. 放纵自己,经常花钱入不敷出的人,往往内心充满了怯懦,也终将种下苦果,最后必然遭到报应,陷溺于困境和羞辱的结局。
3. 假如一个人内心里面藏有做奴隶的灵魂,无论他出身如何,他终将沦为奴隶;假如一个人内心里面具有自由人的灵魂,则无论他再怎么不幸,他仍然能获得荣誉并受人尊敬。
4. 人生总有一连串的问题和考验需要面对,拥有做自由人的灵魂,就能获得巨大的毅力和坚定的信念,既能勇敢面对,又能成功解决;而藏有做奴隶的灵魂,就只能是逃避和哀叹。
5. 你的债务将是你最大的敌人,你若回避或放任它们,它们就会日益强大,不仅会逼迫你背井离乡,而且还会让你失去曾经拥有的全部傲气与尊严。
6. 如果你有高尚的心灵,你就能坚定而睿智地与债务进行搏斗,你最终就会战胜并且制服它们,重新赢回你的尊严,因为“有志者事竟成”这句哲理之言将永远颠扑不破。

第3课 辛勤工作是运气和财富的源泉

1.即使身为奴隶,辛勤工作也会给你带来好运。因为任何一个主人都不会将辛勤为他干活的奴隶打死,他们也会喜欢勤奋努力的人,并且善待他们。
2.喜欢你的工作,把辛勤工作当成你最好的朋友!这样,幸运就会和你结伴而行了,不仅可以使你免遭厄运和灾难降临,甚至有时还可以挽救你的生命。
3.任何财富的积累总是从辛勤工作开始的,你越努力工作,你就越容易更快更多地赚取金钱,也就容易成为财富自由的人。
4.幸运只偏爱那些辛勤工作的人,诸神也会眷顾惠赐他们。厄运则必然会降临那些厌恶和漠视工作的人,他们将与苦难为伍,悲惨一生。
5.辛勤工作是创造运气和财富的真正秘诀,这个秘诀对任何人都简单有效,无一例外。坚持这一信念既能解救自己于苦难之中,更能成就自己的精彩人生。
6.与其能够继承富有前辈的财产馈赠,不如传承他们辛勤工作的精神品质和启示。这样,你最终就能和他们一样富有、荣耀并令人敬重。

第4课 严守你的金钱并让它增值
1.假如你需要帮助你的朋友,你完全可以帮,但是绝不能把你朋友的负担转稼到自己身上,从而变成了自己的负担。
2.最好不要把金钱随意借给你的朋友,因为这样的结果,往往会使你既可能丢掉了金钱,又可能丧失了朋友。
3.可以借给他钱的三种人:拥有的财富超过其所借款项的人;拥有持续而稳定收入的人;有抵押品或可靠担保的人。当然,他们都应该是自尊自重、值得信赖的人。
4.绝不可借给他钱的三种人:陷入苦闷、麻烦不断的人;欠缺知识、经验和能力的人;债台高筑无力偿还的人。总之,所有那些放纵自己、不讲信用的人。
5.如果你拥有一笔不算少的钱财,请遵循下列两条原则:第一是保证它们安全无恙;第二是尽量使它们增值。如果第二条没有把握做到,就请回到第一条。
6.对金钱的借贷而言,有一条重要的格言,这条格言在任何情况下都同时适用于任何放款和借款的人:永远谨慎一点,强过追悔莫及。

第5课 为自己的钱财修筑坚固的城墙
1. 无论一个人、一座城市或一个王国,如果能够拥有财富和荣耀,那就一定存在其中的根源和道理,任何人都应该思考、理解并学习这些道理,并把它们运用到自己的实践之中。
2. 巴比伦的富庶和昌盛可能来自许多方面,但至少包括:尽可能地利用所有资源,人定胜天的智慧、进取心和创造力,不断积累和创造财富并为它们修筑不被敌族掠夺的城墙。
3. 巴比伦能够世代繁荣并延续千百年,就是因为它完全受到了坚固城墙和英勇战士的保护,任何个人也必须为自己的财富建立妥善的保护并顽强守卫。
4. 任何钱财都是长有脚的灵物,并不断受到他人的觊觎和盘算,如果不能妥善看管和严加守卫,它们随时随地都可能偷偷溜走或被他人巧取豪夺。
5. 我们应该更加聪明地利用保险、储蓄和可靠投资带来的保护,并发展出更好和更广泛的保护措施,从而使我们的财富、生命和未来幸免于难。
6. 任何人都需要也希望受到保护,这是人类天性中固有的愿望,但要使愿望成真,我们就需要不断为自己构筑坚固的城墙并勇敢地守卫它。

全文http://docs.google.com/View?id=dgms7ptc_76fw4gqvfv

  • Share/Save/Bookmark

Zend Studio 7.0 EA 发布!

May 21st, 2009

刚“升”到6.1.2,这7.0又快出了,直接一个版本的跳跃,看来是要修正好多问题,其实最主要的还是要跟进PHP5.3吧,提供的特性都挺方便的,不过暂时开发用的还是5.2.9,所以先关注下,等正式版出来再继续“升”吧。。。

———————以下为官方的发布介绍的部分翻译———————–

Zend Studio 7.0 Early Access (EA) 提供了一些7.0新增特性和改进的预览

这些特性并没有全部完成,但是可以提前预览下这些即将到来的新特性

点此反馈和提交bug

Zend Studio 7.0 基于Eclipse 的最新版本(Galileo).

注意:虽然开发人员尽量使这个版本保持稳定,但是毕竟是EA版本,请小心使用,不要用在任何线上产品上。

点此下载

Zend Studio 7.0有哪些新特性?

What’s New in Zend Studio 7.0?

支持PHP 5.3

支持PHP的最新特性,比如namespaces(命名空间)和lambda functions(匿名函数):

  • PHP 5.3 特性的代码提示和语法高亮
  • Namespace 大纲
  • 捆绑了 PHP 可执行和调试功能

加强的源码编辑功能

Enhanced Source Code Editing

拥有更强大的面向对象的编辑功能

  • 标示来源 of Language Elements, Exit Paths and Requires
  • 重载指示 for quick navigation between methods
  • 类型阶级 view for structured class hierarchy
  • Open Type / Method with Camel-Case Match
  • Code Assist Grouping
  • Inline Refactoring for fast element renaming
  • Develop modular applications with Build and Include Path features
  • Turn a block of code into a function or a variable with Extract Variable / Method
  • Semantic Analysis and Auto Fix

集成Zend Server进行快速的本地调试

Quick Root Cause Analysis through Zend Server Integration

Tight integration with Zend Server for easy debugging and problem resolution

  • Auto Detection and configuration of the local Zend Server
  • Easy Deployment to Local Server
  • Easy Debug setup
  • List View of Associated Servers
  • Quick launch of Zend Server Events List
  • Debug Imported Events

快速的Zend Framework应用开发

Rapid Application Development with Zend Framework

Integration with Zend Tool and code generation for rapid application development

  • Easy Creation of Zend Framework Elements
  • Customized Zend Framework Project Layout
  • Updated Zend Framework Example Project
  • Code generation through Zend Tool integration

更好的性能

Better Performance

  • Reduced memory footprint with better workspace modeling
  • Use of Eclipse Indexing and Caching architecture
  • Removed unneeded dependencies

如何进行反馈

访问 Zend Forums 进行反馈,提问或者提交bug

Zend Studio的更新提示

Get Notified on Zend Studio Updates

Make sure you sign up for the Zend PHP Update Email to receive information about Zend Studio, tips and tricks, PHP development best practices and more.

  • Share/Save/Bookmark

header中的Cache-control参数说明

May 10th, 2009

网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况:

(1) 打开新窗口
值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。
而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如:
Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不会去服务器)

(2) 在地址栏回车
值为private或must-revalidate则只有第一次访问时会访问服务器,以后就不再访问。
值为no-cache,那么每次都会访问。
值为max-age,则在过期之前不会重复访问。

(3) 按后退按扭
值为private、must-revalidate、max-age,则不会重访问,
值为no-cache,则每次都重复访问

(4) 按刷新按扭
无论为何值,都会重复访问

Cache-control值为“no-cache”时,访问此页面不会在Internet临时文章夹留下页面备份。

另外,通过指定“Expires”值也会影响到缓存。例如,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问: Expires: Fri, 31 Dec 1999 16:00:00 GMT

比如:禁止页面在IE中缓存

http响应消息头部设置:

CacheControl = no-cache
Pragma=no-cache
Expires = -1

Expires是个好东东,如果服务器上的网页经常变化,就把它设置为-1,表示立即过期。如果一个网页每天凌晨1点更新,可以把Expires设置为第二天的凌晨1点。

当HTTP1.1服务器指定CacheControl = no-cache时,浏览器就不会缓存该网页。

旧式 HTTP 1.0 服务器不能使用 Cache-Control 标题。
所以为了向后兼容 HTTP 1.0 服务器,IE使用Pragma:no-cache 标题对 HTTP 提供特殊支持。
如果客户端通过安全连接 (https://)与服务器通讯,且服务器在响应中返回 Pragma:no-cache 标题,
则 Internet Explorer不会缓存此响应。注意:Pragma:no-cache 仅当在安全连接中使用时才防止缓存,如果在非安全页中使用,处理方式与 Expires:-1相同,该页将被缓存,但被标记为立即过期

header常用指令
header分为三部分:
第一部分为HTTP协议的版本(HTTP-Version);
第二部分为状态代码(Status);
第三部分为原因短语(Reason-Phrase)。

// fix 404 pages:   用这个header指令来解决URL重写产生的404 header
header(’HTTP/1.1 200 OK’);

// set 404 header:   页面没找到
header(’HTTP/1.1 404 Not Found’);

//页面被永久删除,可以告诉搜索引擎更新它们的urls
// set Moved Permanently header (good for redrictions)
// use with location header
header(’HTTP/1.1 301 Moved Permanently’);

// 访问受限
header(’HTTP/1.1 403 Forbidden’);

// 服务器错误
header(’HTTP/1.1 500 Internal Server Error’);

// 重定向到一个新的位置
// redirect to a new location:
header(’Location: http://www.example.org/‘);

延迟一段时间后重定向
// redrict with delay:
header(’Refresh: 10; url=http://www.example.org/’);
print ‘You will be redirected in 10 seconds’;

// 覆盖 X-Powered-By value
// override X-Powered-By: PHP:
header(’X-Powered-By: PHP/4.4.0′);
header(’X-Powered-By: Brain/0.6b’);

// 内容语言 (en = English)
// content language (en = English)
header(’Content-language: en’);

//最后修改时间(在缓存的时候可以用到)
// last modified (good for caching)
$time = time() – 60; // or filemtime($fn), etc
header(’Last-Modified: ‘.gmdate(’D, d M Y H:i:s’, $time).’ GMT’);

// 告诉浏览器要获取的内容还没有更新
// header for telling the browser that the content
// did not get changed
header(’HTTP/1.1 304 Not Modified’);

// 设置内容的长度 (缓存的时候可以用到):
// set content length (good for caching):
header(’Content-Length: 1234′);

// 用来下载文件:
// Headers for an download:
header(’Content-Type: application/octet-stream’);
header(’Content-Disposition: attachment; filename=”example.zip”‘);
header(’Content-Transfer-Encoding: binary’);

// 禁止缓存当前文档:
// load the file to send:readfile(’example.zip’);
// Disable caching of the current document:
header(’Cache-Control: no-cache, no-store, max-age=0, must-revalidate’);
header(’Expires: Mon, 26 Jul 1997 05:00:00 GMT’);

// 设置内容类型:
// Date in the pastheader(’Pragma: no-cache’);
// set content type:
header(’Content-Type: text/html; charset=iso-8859-1′);
header(’Content-Type: text/html; charset=utf-8′);

// plain text file
header(’Content-Type: text/plain’);

// JPG picture
header(’Content-Type: image/jpeg’);

// ZIP file
header(’Content-Type: application/zip’);

// PDF file
header(’Content-Type: application/pdf’);

// Audio MPEG (MP3,…) file
header(’Content-Type: audio/mpeg’);

// flash file
header(’Content-Type: application/x-shockwave-flash’);

// 显示登录对话框,可以用来进行HTTP认证
// Flash animation// show sign in box
header(’HTTP/1.1 401 Unauthorized’);
header(’WWW-Authenticate: Basic realm=”Top Secret”‘);
print ‘Text that will be displayed if the user hits cancel or ‘;
print ‘enters wrong login data’;?>

  • Share/Save/Bookmark

我正在用的Firefox附件组件

May 8th, 2009

FireBug–调试必备

YSlow–性能优化参考

FirePHP–调试PHP

HttpFox–调试必备

TwitterFox–挺好用

Delicious–收藏站点必备

Diigo–用的人有点少,圈子太少

Feedly–看Greader不错,页面推荐也不错

Better Greader–跟上面的有点冲突了,爱怎么用就怎么用吧

DownThemAll–非常好用的下载工具

Cooliris–效果很棒,但是不常用

All-in-one Gestures–很方便的鼠标手势插件

Easy DragToGo–很方便的鼠标拖拽插件

FoxTab–效果不错,但是不实用

gDocsBar–Google Doc常用工具,不常用就禁用了。。。

Pearl Crescent Page Saver Basic–网页截图插件

Ubiquity–很强大的插件,习惯了更强大

Javascript Debugger–被禁用了,还没机会试用

It’s All Text–被禁用了+1

  • Share/Save/Bookmark

[转]水煮互联网创业,互联网创业的盲区

May 8th, 2009

1 鞋厂理论:

世界上有无数家鞋厂,制造着各自的鞋子,销售给各自的客户。

在网络上,当某个生意已经有人在做的时候,就想想皮鞋理论,你会发现:在大多数情况下,即使有很多人在做鞋子,也并不意味着你就不能再去做鞋子了,别人做了耐克,你可以做李宁,不行就做安踏啥的,即使不知名的杂牌也在三线城市卖的不错。

如 果其他的鞋厂都在赚钱,那么你也有机会在这个市场里分一杯羹;如果其他鞋厂都在亏钱,那么你要想办法把他们亏掉的钱赚到自己手上。把成本、产品、服务、渠 道、营销都做好,你就有机会超过现有的竞争对手。赚钱的生意,往往都是已经有很多人都在做的生意。如果某种生意只有你一个人在做,也许说明你的生意没法赚 钱,所以没人看得上。

2 杂货店理论

很多大型的卖场或公司,比如沃尔玛、八佰伴、麦当劳等,最初都是从一家小店起家的,从小蚂蚁逐渐做到巨无霸。

在 网络上,很多人相信,在没有VC的时候,公司亏钱是正常的,等某一天拿了巨额的VC,扩大规模、全国连锁,就肯定会赚钱,于是公司的核心团队把时间精力都 花在了各类投资经理身上。这时候,就该想想杂货店理论,如果你经营一家小杂货店却一直亏钱,那么,如果有人帮你做到了7-11那样的全球连锁,你会亏得更 多。

除去那些具有技术革命性的公司(比如3G、云计算、光存储啥的),在大部分情况下,一个好的公司、或者说一个好的商业模式,如果在大 范围内可以赚钱,那么缩小到一个小范围去运营,也应该是赚钱的。这样的公司,尽管前期需要少量的初始资本和时间来配置人员、软硬件,但绝不会把自己的未来 寄托在虚无缥缈的巨额投资和全球扩张上。沉浸在VC幻想里的孩子们,不如先去经营个杂货店,会比见VC学到更多东西。

3 户口本悖论

警察局有当地所有居民的户口档案,但是警察局能从中赚钱么?

在 网络上,很多人都把“抓用户”作为唯一的追求(或者作为前几年的唯一追求),而忽略了构建真正可行的健康的盈利模式。这时候,你就该想想户口本理论:警察 局拥有那么多用户的详细资料,详细到血型、电话和住址门牌号,你的网站能比警察局更牛逼么?如果你以为靠那点用户的email就能赚钱的话,警察局早就可 以去纳斯达克了。

当然,我不否认一定基数的用户的确是赚钱的重要条件之一,但是光养用户、不思现金流是没有意义的。有很多手持几百万注册 用户的网站还看不到任何赚钱的希望,而有些才几万人的小站却每天有稳健的现金入账。所以,如果赚不到钱的话,建议别再到处炫耀有xx百万用户了,搞那么多 用户还不赚钱,只能证明两个字:无能。

4 沸水理论:

把水煮沸后,看上去热气腾腾,但水的总量不会增加,而且需要供热成本。

在 网络上,很多人不择手段地去追求用户的“活跃度 ”,却不考虑活跃度到底能带来什么收益。活跃度本质上有两种:跟业务相关的活跃度,比如经常上淘宝看流行商品的活跃用户,一般来说会增加购买的几率;另一 种则是与业务无关的活跃度,假设淘宝搞了个跟购物无关的免费网游,结果每天有几百万人上线来玩(产品经理可以报上很漂亮的activation rate和retention rate),但这些人单纯迷恋网游的人转去淘宝购物的机会有多大呢?由网游带来的收益是否能超过开发和维护网游服务器的成本呢?没人知道。

这 时候想想一桶沸水,为了维持一个看上去热腾腾的活跃度,你需要不断添柴、加火,这些供暖成本很高的,而由此产生的热气却无法增加额外的水量,那么还要煮沸 它做什么呢。特蕾莎修女说,一个人的逝去是个悲剧,而一群人的逝去只是一个数字。在网络上,当我们看到一群人的活跃是个漂亮数字的时候,应该去看看每个人 活跃的背后到底意味着什么价值。

5 热水器理论

有很多人愿意花钱购买热水器,也有很多人愿意花钱维修出故障的热水器。

在 网络上,很多人相信,如果一个网络产品不是人们的必需品,那么就很难收费。的确,网络上的用户已经习惯了免费的生活,正如人们习惯了免费的空气、免费的马 路一样。这个时候你就该想想热水器理论,热水器也不是生活必需品,人们完全可以洗免费的冷水澡,甚至不洗澡,为啥家家都有一台动辄上千元的热水器呢?

很 简单,因为人类有意愿追求高质量的生活体验(包括但不限于洗澡),而热水器没有更廉价的替代品。如果你的网络产品或服务能够给人们带来真正高质量的生活体 验,同时又没有廉价的替代品,那么一样有人愿意付钱。比如,我很愿意为Gmail的手机客户端付钱,很愿意为Pandora的在线音乐付钱,很愿意为 Yeeyan的高质量译文付钱,当然也愿意为Tucia的设计服务付钱。跟我一样的人还有很多,请不要对互联网绝望。

6 油条铺现象:

如果你去跟街上卖油条、卖煎饼的师傅聊一聊,你会发现他们每月的收入很稳定,有的甚至可以月入几万。

网 上总说创业99%会失败,什么九死一生,什么倾家荡产都用来形容创业者。这时候,想想卖油条煎饼的创业者,人家在街边随便摆个三轮车,就能养活一家人了。 再去看看大街上的餐厅、奶茶铺、手机配件店、杂货店、床上用品店。。。。为什么这些创业者大部分都活得好好的?而号称IT创业精英的大学生反而一分钱都赚 不到?

如果把“能够养活一家人”作为最低成功标准的话,那么大街上的普通人的创业成功率超过80%,而我们还用“创业九死一生、失败也正常”来安慰自己的无能,真他妈窝囊!


我简单总结了一下:

  • Share/Save/Bookmark