摘要: var a = new XXX();a是什么?要分类讨论一:function XXX(){ return 原始类型(数字,字符串,bool,null,undefined)}则a是new出来的对象二:function XXX(){ return 引用类型}则a是这个return的值如:function XXX(){ this.y = 10; return { x:1 }}var a = new XXX();console.log(a.x); //1console.log(a.y); //undefined 再如:function XXX(){ this.y = 10; return funct. 阅读全文
posted @ 2013-12-03 16:41 优雅的c 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 网上很多教程和一些手册都是这么描述:. 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。 可是在[]里面的.会单纯的变成匹配.这个符号本身 而不是除\n之外的任何单个字符因此[.\n]无效(可能有的解释器有效?)匹配包括'\n'在内任意单个字符更保险的方式是用 [\s\S][\d\D][\w\W]等方式(感谢然然无耻的精神) 阅读全文
posted @ 2013-10-10 10:17 优雅的c 阅读(685) 评论(0) 推荐(0) 编辑
摘要: getcwd() 是在哪个文件里被调用显示此文件目录__DIR__写在哪个文件就显示这个文件目录如:xxx/b.php内容:'; echo __DIR__; ?>xxx/yyy/c.php内容:<?phprequire('../b.php');访问c.php的结果:...\xxx\yyy...\xxx 阅读全文
posted @ 2013-10-10 10:04 优雅的c 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 说到索引优化,你是否只能说出:在where字段加索引,唯一索引,联合索引,普通索引等等。可是,你知道B-tree,T-tree或者hash索引么?hash索引在memory使用。最好的设计是索引覆盖! 需要精心设计,不是一定可以达成的hash索引劣势1 随机读取 对机械硬盘来说,顺序读取是随机读取速度的几十倍!2 不支持左前缀 存储helloworld --索引字段 like "hello%"-- hash(hello) 和 hash(helloworld)无任何联系 3 排序支持不好 因为1,不连续,根据hash存放而不是排序顺序!4 范围支持不好 因为1,不连续,根据h 阅读全文
posted @ 2013-09-14 20:36 优雅的c 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 有时候为了追求速率不用innodb,这时候如果想完成类似事物处理有一定的处理技巧。像redis和mongodb等,都有“设置并返回”操作,可以实现类似于操作系统的信号量机制。其实mysql也可以模拟信号量机制:比如:CREATE TABLE IF NOT EXISTS `bing_fa` ( `key` varchar(200) NOT NULL, `is_bing_fa` enum('Y','N') NOT NULL DEFAULT 'N', PRIMARY KEY (`key`)) ENGINE=MyISAM DEFAULT CHARSET= 阅读全文
posted @ 2013-09-10 15:43 优雅的c 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 导言:技术是为了解决实际问题的,如果脱离了实际的问题空谈技术,就象是不知道目标而学习一样,效率低且最后一头雾水。因此本文将通过抛出问题--明确目标--解决问题的方式来讲述 全文索引。抛出问题:1什么是全文索引,为什么要使用全文索引 扩展问题--分词又是什么?2使用全文索引的工作原理是什么。问题阐述:在讲述什么是全文索引之前,我们来看这么一个场景:现在经常看到的“站内”搜索等功能。现在你想搜索 “恶魔法则”。那么网页上就会显示 所有和“恶魔法则”相关的数据。而这个搜索可以按标题,可以按内容,也可以按作者的综合搜索。如何实现呢?对于这个问题,一个刚学sql语句两天的朋友都会说 select *.. 阅读全文
posted @ 2013-07-21 12:07 优雅的c 阅读(1299) 评论(1) 推荐(1) 编辑
摘要: 问题1:php的底层是c写的。c是强类型语言,而php是弱类型语言。php是如何实现的呢?答:php的一个变量,在c中是一个结构体,这个结构体叫做zval。(记住这个结构体的名字。)这个结构体由四个部分组成。zvalue_uchar type:变量的类型。在zend引擎解析php源码的时候,当发生赋值操作时,会给这个值一个zval结构体。其中type为其类型,zend引擎会根据一定规则判断值的类型,放入以下常量之一:IS_NULL, IS_BOOL,IS_LONG,IS_DOUBLEIS_STRING,IS_ARRAY,IS_OBJECTIS_RESOURCE然后根绝type的类型,在zval 阅读全文
posted @ 2013-05-26 21:12 优雅的c 阅读(126) 评论(0) 推荐(0) 编辑