把ip数据保存在数据库(MySQL)中时候,我们习惯用ip2long函数生成整型,然后存放在一个int(11)类型的字段中,但是,在不同的系统平台上,ip2long函数得到的值是不同的,因此可能造成在从数据库中读出数据,用long2ip得到ip的时候产生错误,说一下我们碰到的情况:
我们用一个int(11)类型(范围-2147483648 - 2147483647)来保存把一个ip地址用ip2long处理得到的结果,例如ip是’202.105.77.179′,那么在32位机器上得到的结果是:-899068493,而在64位机器上却得到3395898803.然后把它写入数据库,由于超过int(11)的范围,因此64位机器上的结果被保存为int(11)的最大值:2147483647.于是在从数据库中取出的时候,便得到了错误的结果,会得到”127.255.255.255″这个ip地址.
解决的办法很多,比如可以用mysql的函数:INET_ATON和INET_NTOA来处理ip地址;或者把保存ip地址的字段改为bigint类型,这样在64位机器上虽然保存的是3395898803,使用long2ip函数仍能得到正确的结果.
仅供参考.
自从 2007年01月 ↓
谨慎使用php的ip2long函数
2007年01月30日 | 技术一般般 | 1 Comment
Firefox 2.0和flash player插件
2007年01月23日 | 闲扯一篇篇 | No Comments
新安装了Firefox2.0.0.1,查看带flash页面的时候提示安装插件,可是连接adobe的网站实在是太慢(莫非光缆问题?),于是自己随便找了个flash player安装了一下,结果奇怪的问题出现了,在看某些带flash页面的时候Firefox会出错关闭,但是并不是所有带flash的页面都这样,超级FT+无奈。
于是把flash player卸载,问题居然还是存在,彻底疯了,一度怀疑不是它的问题,可是没有Firefox,日子实在难过。于是今天不死心的又找了个flash player,安装之后,居然没问题了。我倒…
不知道你是否也碰到过这样的问题。
如果你的Firefox是2.0.0.1简体中文版,那么推荐你去这个地址下载flash player插件。
请注册后再回复
2007年01月20日 | 闲扯一篇篇 | No Comments
我实在是忍受不了了。。。
spam像洪水般咣叽咣叽的跑过来,我扛不住了。
对不起各位,如果实在想回复或者想联系我的,直接IM。
tnnd,spam它奶奶个腿儿。
Firefox中隐藏的7个页面
2007年01月19日 | 闲扯一篇篇 | 1 Comment
凡是DIY过Firefox的兄弟都应该知道在地址栏里输入about:config可以修改Firefox的一些配置参数,但是,你知道还有其他的隐藏页面吗?
1.about:
和“帮助”菜单中的“关于”一样的信息页面
2.about:buildconfig
显示build平台的配置和参数信息页面
3.about:cache
显示磁盘的缓存信息和状态,包括缓存目录的名称和已经缓存的项目
4.aboug:config
这里显示的信息就太多了,如果不是相当的了解,最好不好随便改,浏览器罢工了我可不负任何责任。
5.about:plugins
显示Firefox安装的所有插件的详细信息。如果没有扩展插件,Firefox就不叫Firefox了
6.about:credits
列出了所有为Firefox或者Mozilla基金作出贡献的大牛小牛们
7.about:Mozilla
这个很诡异,显示一段话,据说来自“The Book of Mozilla”
呵呵,挨个试试吧。
funny Javascript
2007年01月11日 | 闲扯一篇篇 | 1 Comment
今天在digg上闲逛的时候,无意中发现了一段及其无聊的Javascript代码,你可以按照下面的步骤来看看它到底都多无聊:
1.打开浏览器
2.输入google.cn
3.载入完成后,在地址栏里输入:
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);
然后回车.
怎么样,看到效果了吗?
瓦哈哈哈哈…..
MySQL的新引擎
2007年01月10日 | 技术一般般 | 2 Comments
叫做Falcon,猎鹰的意思,名字够酷.
昨天看到这个消息的时候还着实使劲的期待了一下,不过看到了Peter Zaitsev的一篇文章,一下子就浇灭了我那可怜的盲目热情.这篇文章是对InnoDB,MyISAM和Falcon三种引擎性能的一个对比.从对比结果可以看出,Falcon和社会主义一样,还处于初级阶段.除了在READ_KEY_POINT这一项上有微弱的优势以外,几乎都严重的处于下风.不过另我欣慰的是,InnoDB的表现基本都要好于MyISAM,看来InnoDB确实是个不错的选择,除了支持事务和外键等特性,查询性能也至少不输给MyISAM,可以放心大胆的使用.
PS:今天看到Firefox有了3.0测试版本,虽然激动,还是忍住了没试用,怕的是用不了那些可爱的插件.如果没有插件,我宁可用IE了.
MySQL4的一个小bug
2007年01月06日 | 技术一般般 | No Comments
今天习惯的在命令行下输入”\s”查看数据库状态的时候,发现”Queries per second avg”这个值由原来的5k左右变成了只有几百,吓了一跳,以为数据库出了啥问题,就算优化的再好,也不可能下降到如此地步啊,可是查看前端服务和数据库都没有异常,难道MySQL计算这个数的时候出了问题?
于是查看MySQL的源代码,发现这个值是用总的Questions除以Uptime,就是用总的查询数除以服务器运行的时间,在源代码中,Questions被定义为无符号的长整型(ulong,范围是0~4294976295).所以当Questions超过4294976295时,就会重新回0,把当前的Questions数量加上4294976295,再除以Uptime,就会得到正确的”Queries per second avg”.
当然了,如果你看着很不爽,你可以重启MySQL来搞定它,hoho~~
PS:这个小bug在MySQL5中已经被修正
http://lists.mysql.com/commits/6833
记06年的最后一场雪
2007年01月05日 | 生活一天天 | 2 Comments
公元2006年12月30日,一年的最后第二天,2006年第一场像样的雪,也是最后一场雪,比以往时候来的更晚一些.停靠在高速上的公共汽车,也比以往时候爬的都慢一些.
整个世界都雪茸茸的纯净的可爱.
早晨到公司的时候,”雪下的正紧”,发现大厦前面的小足球场里已经平平整整的铺满了厚厚的一层,像一张铺好的宣纸.忍不住从旁边扫雪的清洁工那儿拿了一把扫帚,进去扫了两个大大的字:”占座”.虽然难看了点儿,不过从9层上看下去,还是挺有气势的,也倍儿有成就感,嘿嘿.
可惜好景不长,到了中午,万达广场辛勤的保安们居然吃饱了撑的没事干不辞劳苦地进去扫球场里面的雪,人行道上的他们都视而不见,绝对的没事找抽型.我们一大帮同事下去和他们理论,差点打了2006年最后一架.当然保安同志们只是奉命行事,所以真正傻X的,是万达广场的物业.
虽然在老大的干预下制止了他们的无聊行径,后来也重新写了字,我也兴致全无了.
后来,就发现周围有雪的地方,到处都被人写了字.无聊.


