mysqli学习中
06-28
“路径依赖”理论启发商人们想出了一个经营策略:虽然软件公司都抱怨盗版,但他们早就意识到让别人违法地仿造其产品并不是坏事。人人都上钩之后,就可以开始卖升级产品,或者提供服务,附加别的花哨的东西。这是开放源代码的好处。照此说来,苏联的AK-47是世界上最流行的开放源代码冲锋枪。
20世纪40年代中期,人类发明了有史以来最具破坏性的武器。原子弹让人们夜不成眠,但真正造成巨大破坏的却是AK-47。这种有显眼黄色弹匣的冲锋枪造成的死亡和毁灭多过任何其他现代化武器。到今年它已经问世60年了,但还没有一点退休的迹象。
它的发明者、俄罗斯的卡拉什尼科夫现在已经近90岁了,住在莫斯科以东1130公里处乌拉尔地区的伊热夫斯克市。他对自己的这项发明内心很矛盾。他仍为向苏联普通士兵提供了这样一种强大的武器而感到自豪,但又因为自己的名字跟死亡和恐怖联系在一起而感到懊悔。“一旦有人发明出一种更好的冲锋枪,我就会跟他握手。但目前这件事情还没有发生。”
牛津大学教授菲利普·基利科特(Phillip Killicoat)在提交给世界银行的论文《武器经济学:冲锋枪的全球市场》中分析了AK-47为什么在世界各地有不同的售价。比如AK-47在非洲通常要比在其他地方便宜200多美元。基利科特说:“非洲各国的边境管理比其他地方要宽松很多,冲锋枪在非洲的交易不太受管制,当需要购买这种武器时几乎不存在贸易壁垒。一个时期非洲只有几个国家因为发生冲突而需要武器,宽松的边境管理使得非洲的武器供应可以满足这些国家的需要。”
基利科特还解释了为什么世界各地的交战双方都选用这种武器。通常做法是像迈克·霍奇一样,把这归因于AK-47功能上的特点:容易操作,造价低廉,坚实耐用,故障率低。而它不够精准、对使用者来说不够安全、瞄准范围相对较小的缺点都被忽略掉了。这种解释有一个说不通的地方,即其他操作同样简便的冲锋枪就没有像卡拉什尼科夫设计的这种枪这样被广泛采用。
基利科特提出,AK-47的流行可以用路径依赖理论(path dependence)来解释。1936年,美国发明家德沃夏克(Dvorak)博士历经十余年的研究发明了ASK键盘(American Simplified Keyboard,即美式简化键盘),他声称这种键盘比打字机发明者、美国人肖尔斯1870年设计的、现在通用的QWERTY键盘效率更高。据说当初肖尔斯在研制打字机时,为了解决打字员打字速度过快造成挤塞的问题,故意打乱了字母排列顺序,形成了直到今天通用的QWERTY顺序排列。不过,德沃夏克先进的ASK键盘没能占领市场,反而逐渐地销声匿迹了,QWERTY一直独霸着键盘市场。
美国斯坦福大学经济学教授保罗·戴维认为,QWERTY键盘之所以能在市场上占统治地位,不是因为它的效率高,而是因为它出现得早,普及之后,对它进行更新换代的成本太高。像这样,一个有缺陷的产品由于它早期一个小的优势而被广泛采用之后就独霸了市场的情形被称作“路径依赖”。具体到AK-47来说,它早期的优点或许是它是苏联人的发明,不受知识产权的限制,可以随意仿造。
“路径依赖”理论启发商人们想出了一个经营策略:虽然软件公司都抱怨盗版,但他们早就意识到让别人违法地仿造其产品并不是坏事。人人都上钩之后,就可以开始卖升级产品,或者提供服务,附加别的花哨的东西。这是开放源代码的好处。照此说来,苏联的AK-47是世界上最流行的开放源代码冲锋枪。
上篇介绍了命令行参数的传递,参考php官方手册后,发现php的cli也是可以跟用户进行交互的。
http://cn.php.net/manual/en/features.commandline.php
To ease working in the shell environment, the following constants are defined:
| Constant | Description |
|---|---|
| STDIN |
An already opened stream to stdin. This saves opening it with <?php
If you want to read single line from stdin, you can use <?php |
| STDOUT |
An already opened stream to stdout. This saves opening it with <?php
|
| STDERR |
An already opened stream to stderr. This saves opening it with <?php
|
我比较倾向这种方式,这样就跟c++类似了
写了个js的函数,使表单执行POST的操作
function form_submit()
{
doucment.getElementById(’xxxx’).submit();
}
使用这样的代码来调用 <a onclick=”form_submit()” href=”javascript:void(0)”>启用</a>
IE6下无论如何都不执行,但在FF下却可以执行
然后修改为 <a href=”javascript:form_submit()”>停用</a>
前段代码,经过测试,在onclick动作的时候,虽然href没有返回值,但onclick的动作成功触发了函数,可以执行操作,但无法执行post的操作,具体什么原因没有查明白,待解。
http://eaccelerator.net/ 官方
http://eaccelerator.net/wiki/Release-0.9.5.3 下载最新版本即可
安装前需要安装gcc或者phpize
然后安装php-devel yum install php-devel
./configure –enable-eaccelerator=shared-memory –with-php-config=/usr/bin/php-config –with-eaccelerator-shared-memory –with-eaccelerator-content-caching
make
注:–with-php-config 后边跟php-config的路径,根据环境确定
然后在php.ini中追加以下代码
安装为 Zend extension 模式:
zend_extension=”eaccelerator.so” //eaccelerator.so 拷贝到 php ext 目录下
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.log_file = “/log/httpd/eaccelerator_log”
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
如果你使用了thread safe模式安装的PHP,你必须使用 “zend_extension_ts” 替换第一行的 “zend_extension”.
安装为 PHP extension 模式:(这是大部分采用的方式)
extension=”eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.log_file = “/log/httpd/eaccelerator_log”
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
php ini 设置的详细文档 http://eaccelerator.net/wiki/Settings
api 文档 http://bart.eaccelerator.net/doc/phpdoc/