摘要: PHP 中的整数是 C 语言的中的long 类型,是有符号的,最大值是 2^31 。在 64 位平台上,long可以达到 2^63.这样的话,有些PHP 函数输出的结果在各个平台上就会不一致了。php -r "echo ip2long('255.255.255.255');" 在64位平台下是: 4294967295, 在32位平台下是 -1。还有比如 filesize 在 文件 大于 2G的时候... 阅读全文
posted @ 2009-09-10 17:06 暮夏 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 今天升级 vC++ 2005 到了 sp1 ,突然发现自己写的程序 无法在同事的机器上运行了。在博客园找了很多的资料,比如大智若愚的: http://www.cnblogs.com/riky/archive/2007/05/11/743310.html可是对于我,依然无效。 情况是这样的,以前的程序版本都是 用 vc 6.0 写的,我只是修改了其中的一个dll,这个dll 用 vC++ 2005 ... 阅读全文
posted @ 2009-09-09 15:54 暮夏 阅读(2167) 评论(0) 推荐(0) 编辑
摘要: 最近在雅虎的一个朋友和我说,以前用bash csh 写脚本, 它现在都在用PHP 写后台程序,觉得PHP的函数最全,而且很容易用 shell_exec 很容易调用系统内核。我和他交流了一下写后台程序的一些原则,归纳如下。 首先,要去掉以前写网页脚本的一些思维习惯。网页脚本运行一次以后,就马上释放内存。而daemon 程序不一样,它会一直运行一年,甚至几年。1. 作为一个好的习惯,一定要在while... 阅读全文
posted @ 2009-09-07 11:01 暮夏 阅读(1889) 评论(1) 推荐(0) 编辑
摘要: PHP的扩展开发的确是一件很不容易的事情。我已经开发了好几个扩展了,可是每次都会遇到问题。很多问题,没有手册,根本就是让人束手无策。只有耐心的读它核心的代码,特别是出错部分的代码,才能找到一些端倪。 对于新手来说,首先要搞清楚里面的基本的概念。这点很重要。基本的概念有: PHP 程序的生存周期 thread safe unthread safe PHP 全局变量 PHP 预定义常量 zval 内... 阅读全文
posted @ 2009-09-02 18:37 暮夏 阅读(1134) 评论(2) 推荐(0) 编辑
摘要: google的PageRank,虽然各大网站都能查询,但是,具体是从google 哪个数据源来的?幸运的是,google tool bar上有pagerank的值。Sniffer 会告诉你,大概是从:GET /search?client=navclient-auto&iqrn=-WM&orig=0BATi&ie=UTF-8&oe=UTF-8&features... 阅读全文
posted @ 2009-09-02 10:21 暮夏 阅读(774) 评论(3) 推荐(1) 编辑
摘要: Javascript 函数纷繁复杂,调用方式也是多种多样。但是,不是说其基本的规则就十分的复杂。当然,这些东西只是我个人的理解,用于帮助记忆。1. 原则1 : 函数名是只是变量,它的值表示一段代码。从C语言的角度来说,函数的名称只是一个地址指针。只是,这个指针式只读的。你完全可以定义自己的指针来调用函数。JavaScript 也是类似的。比如下面的代码: function alert(x) { d... 阅读全文
posted @ 2009-08-30 17:20 暮夏 阅读(508) 评论(0) 推荐(0) 编辑
摘要: C语言的内存分配,有很多的注意点。1. int 的大小问题。int 在不同的编译器下大小是不一样的。在tc下是2位,在 vc 下,和 long 一样,是4位。2. memset 不是用来分配内存的,而是设置某个区域的内存为某个值,这个内存区域必须是可以修改的, 而且是已经分配好了的。 这个函数的原型为: void *memset(void * _Dst, int _Val, size_t _Siz... 阅读全文
posted @ 2009-08-30 13:21 暮夏 阅读(515) 评论(3) 推荐(0) 编辑
摘要: 今天写了一个js,保存成了 utf-8的格式,调用它的网页是gb2312的。结果,报了一大堆的错误。其中,这样格式的数组(var a = ["我", "是"])都报错 except [ .后来发现是 .js 里面有中文,解析的时候有乱码干扰了。 解决这个问题很简单:在加载 <script> 的时候,加个charset 属性 为 utf-8 就可以了。 阅读全文
posted @ 2009-08-28 17:43 暮夏 阅读(268) 评论(0) 推荐(0) 编辑
摘要: js 判断图片已经加载完成 是一个很常见的问题,网上也有很多的解决方案。但是运行后很多都不兼容,或者说,存在一些奇怪的问题。一种解决方案是都用onload。因为onload 在ie 下有同步方面的问题。所以,我用了 onreadystatechange 。 代码和 使用方法如下:[代码]这段代码可以实现 获取一个远程图片的宽度。 阅读全文
posted @ 2009-08-27 18:51 暮夏 阅读(8729) 评论(0) 推荐(2) 编辑
摘要: [代码]看看上面的表达式,最后的结果是什么呢?其实,这个表达式看上去很奇怪,其实非常有用。很多时候,你要判断一个元素是否属于某个集合,一般先定义var set = ["a", "b", "c"];然后写个函数,inArray,判断是否在这个数组里面。现在你不需要这样了,就像上面一样,先建立一个对象{ tradition:"tradition", ie:"ie"}然后用数组下标的方式取对象的值obj... 阅读全文
posted @ 2009-08-26 10:35 暮夏 阅读(568) 评论(4) 推荐(0) 编辑
摘要: 写软件,很多时候都让我感觉很矛盾,经常顾此失彼。写的太灵活了,项目时间不够,写的不灵活,客户一反馈,改的又很惨。以前想看看什么设计模式的,可是,看不太懂,感觉懂了,也不知道怎么用。复习复习了什么软件工程,什么瀑布模型,简直就不太搭边。最近写了一个中文分词系统,里面我懂了不少东西,希望和大家分享。 这个分词系统,和普通的分词系统差不多。就是一篇文章,用一定的算法把词切开了,还有可能要计算关键字,词频... 阅读全文
posted @ 2009-08-25 16:21 暮夏 阅读(901) 评论(15) 推荐(3) 编辑
摘要: 如果说,C 语言比较有特色的东西是什么。我觉得就是,讲指针,数组,地址算数结合在了一起。当然,这也引起了一些问题,使得,C语言的程序非常的灵魂,有些时候,一些写法对初学者还比较的晦涩难懂。比如复制字符串,可以有下面的几种写法。[代码]反正个人感觉,要能很轻松看别人写的C代码,还是要花点功夫的。要真正理解这些东西,就必须对基本概念有所把握。1. 地址:每个变量,都在内存中有个地址,这个地址就是调用这... 阅读全文
posted @ 2009-08-21 22:23 暮夏 阅读(692) 评论(0) 推荐(1) 编辑
摘要: 今天有个网友发信问我它开放了一个 php 的扩展,release 的版本是能运行的,但是这个debug的版本 不能运行。其实,基本原理很简单,PHP的内核 在 php5ts.dll,如果你是debug 版本的, 那么就要调用 php5ts_debug.dll 。这个dllphp 官方没有提供,不过你可以重新编译PHP得到。当然,重新编译PHP的话,在windows下是一项艰巨的任务。 还有,php... 阅读全文
posted @ 2009-08-21 21:11 暮夏 阅读(837) 评论(0) 推荐(0) 编辑
摘要: object 和 embed 一般结合起来 在网页 里面嵌入 flash。比如下面的代码:[代码]先不说这个写法的意义。先看看各自的用法和定义:<embed> 标签是 HTML 5 中的新标签,但是,现在大多数浏览器已经支持,它定义嵌入的内容,比如插件。<embed> 标签必须有 src 属性。 您无法在开始标签和结束标签之间写文本,来说明旧式的浏览器不支持该标签,就像 &... 阅读全文
posted @ 2009-08-19 22:58 暮夏 阅读(704) 评论(0) 推荐(1) 编辑
摘要: 今天突然看到一年前写的 mysql 优化(一),感觉有些误人子弟。今天再补充一些东西。关于引擎选择,从理论上 和 实际上 可能会有差距,所以,对待mysql 要有实验精神。一般来说,MYisam 适合:1. 做很多count 的计算。2. 插入不平凡,查询非常频繁。3. 没有事务innordb 非常适合:1. 可靠性要求比较高,或者要求事务。2. 表更新和查询都相当的频繁,并且表锁定的机会比较大的... 阅读全文
posted @ 2009-08-19 14:53 暮夏 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 想和天下所有的女人说,请给男人面子。 阅读全文
posted @ 2009-08-19 13:29 暮夏 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 前一段时间一直做C++ 的开发,用惯了 Visual Studio 。今天用了 zend studio 6.12,非常的不习惯。调试的时候,经常卡死。写代码 Ctrl + s 也经常卡,非常无奈。上网搜索了一下,发现zend studio7.0 出来了,马上下载下来看看。安装了一下,在安装的时候,居然跳出了安装 Microsoft Visual C++ 2005 SP1 Redistributab... 阅读全文
posted @ 2009-08-17 19:33 暮夏 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 我翻遍了Google, 也没用找到一篇真正能运行的C++ 下面 开发 PHP 扩展的文章。于是,我又翻遍了pecl,看看有没有例子。 发现还是没有。唯一能看到的几个是:Linux 下面 开发 C++ 扩展的文章,一试,发现时 php 5.0 beta 时候的文章了,都已经 过时了。无奈只能自己摸索。 阅读全文
posted @ 2009-08-15 11:47 暮夏 阅读(1851) 评论(2) 推荐(0) 编辑
摘要: 根据2元统计语言模型,最优可能的一种划分s1,s2,..sn 满足下面的值最大:P(s) = max(p(s1) * p(s2|s1)* ... * p(sn|sn-1);一般两边取对数 lnp(s) = max(ln(p(s1)) + ln(p(s2|s1)) + ... + ln(p(sn|sn-1)))那么一条路径的长度为:wi = ln(p(si|si-1))但是,在中科院分词系统的源代码... 阅读全文
posted @ 2009-08-04 16:59 暮夏 阅读(736) 评论(0) 推荐(0) 编辑
摘要: Zend Studio For Eclipse 代码提示功能经常因为更改 系统的编码等一些问题而出问题。你重新编译,有些时候,重新加项目都不行。用下面的方法可以解决:在一个 你的 正确的项目中,拷贝下面几个文件:.cache.settings.project把.project ,里面的name 里面的内容 改成现在的项目的名字。刷新一下项目,就可以了。如果再不行,重启 Zend Studio Fo... 阅读全文
posted @ 2009-07-31 13:59 暮夏 阅读(706) 评论(0) 推荐(0) 编辑