2008 年 04 月

浏览模式: 标准 | 列表 | 图文
索爱手机M600的使用记录

索爱手机M600的使用记录

本人在入了手机M600之后,虽然不太玩游戏,但偶尔玩的时候还是会有点问题。

最主要的就出来了一款JAVA游戏上面,是新浪的《地心游记》,这款游戏不是为M600开发的,主要是为那些W800C等开发,所以使用M600的时候屏幕大小就不对了。

更重要的是,由于M600采用的是多功能键盘,而W800C则是普通键盘。在玩游戏的时候,需要使用数字键,可这些数字键与M600的无法一一对应,最重要的道具按键7是无法按出来的。在经过多次多次再多次的尝试之后,终于发现,ALT+7可以代替W800的7的键位,当然ALTA+9代替了9的键位。现在我终于可以正常的买卖道具了。也可以为我的小人“奇奇”升级了。我坐公车的时候,又有打发时间的游戏了。

最起码,它不再是鸡肋游戏,对我来说。

[鸟食轩]最亲密接触Dhtml&JScript开发细节

[鸟食轩]最亲密接触Dhtml&JScript开发细节

原文地址:

http://www.cnblogs.com/birdshome/archive/2006/10/17/Dhtml_JScript.html

本文只是一个入口,它分类整理了从2004年底到今天接近两年的时间里,我在DHtml&JScript开发领域学习、研究,以及所遇到和已解决的相关开发问题。总文章数超过了150篇,以此作为本blog访问量达到1,000,000的人次的纪念。

脚本语法篇
·
从JavaScript函数重名看其初始化方式
·在JScript中运算符"||"和"&&"的特殊特性
·原来JScript中的关键字'var'还是有文章的
·JavaScript语言中的Literal Syntax特性
·JS类定义原型方法的两种实现的区别
·在JavaScript中使用inline函数的问题
·区分JS中的undefined,null,"",0和false
·JavaScript中this关键字使用方法详解
·function, new function, new Function
·JScript中的"this"关键字使用方式补充
·JavaScript语句可以不以;结尾的烦恼
·JScript中的undefined和"undefined"


脚本调试篇
·
我所使用的JavaScript调试环境(1) (2) (3)
·使用IE的地址栏来辅助调试Web页脚本
·这年头居然连MSDN Library都靠不住呀
·JS类库Bindows1.3中的内存释放方式
·访问JavaScript对象的构造函数时失败
·在with语句中跨frame的变量引用问题
·原型方法的不同写法居然会影响调试
·这么小心还是在"08"向8的转换上栽了
·在JavaScript中遭遇级联表达式陷阱
·使用debugger语句调试JScript的郁闷
·被逮到一个初始状态考虑不周的Bug
·使用页面元素属性做状态判断的隐患

脚本技巧篇
·
比较JavaScript中的集合及其检索效率
·JScript内置对象Array中元素的删除问题
·获取JavaScript用户自定义类的类名称
·在JavaScript中也玩变量类型强行转换
·在popup窗口中俘获事件的缺陷&修复
·怎么判断鼠标移入一个Popup窗口呢?
·MyMsn beta版源代码里微软遇到问题
·在什么时候才会用到fireEvent方法呢?
·阻止shift+click页面超链接打开新窗口
·用createEventObject来模拟事件参数
·只遍历出JScript对象的expando属性
·使用unknown类型判断当前窗口类型
·从此不再为Web页面中的Tooltip烦恼
·使用匿名函数为setInterval传递参数
·按阅读习惯来高效排列字符串的脚本
·对Web页面元素的绝对唯一引用方法

脚本应用篇
·
使用混合脚本编程来实现的Base64编码
·使用TextRange获取输入框中光标的位置
·使用混合脚本编程来实现的Base64解码
·注入Script增加了一个GoogleTrack功能
·关于Web页中的色彩反转遇到一点问题
·为Web页中的Table对象创建一个映射表
·使用方向键在输入框矩阵中自然的导航
·JScript版CollectionBase类的一个实现
·用脚本为本blog增加了几项自定义功能
·设计有复杂客户端Script的服务器控件
·对JScript对象的实例Clone的一个实现
·JavaScript面向对象编程之Singleton类
·JScript实现的一个String.Format方法
·单扫描的JScript版String.Format方法
·兼容值类型的JavaScript对象Clone方法
·通过n次循环获得n个自然数随机排序
·"舍简求繁"的MSN Spaces图片浏览器
·Code: UrlBuilder class in JavaScript
·利用搜索引擎引用来高亮页面关键字

脚本高级篇
·
在JavaScript面向对象编程中使用继承(1) (2) (3) (4) (5)
·JScript中的prototype(原型)属性研究(1) (2)
·在JavaScript面向对象编程中使用重载
·在JScript面向对象编程中使用重载(续)
·JavaScript中的Object到底是什么呢?!
·JavaScript对象也玩序列化和反序列化
·MyMsn动态Resize页框架的布局详解
·修复附加继承法中模拟重载的一缺陷
·使用prototype特性编程中的效率问题
·绝对的单表格支持横纵表头锁定示例
·网页中单一表格横纵表头锁定的细节
·理解并解决IE的内存泄漏方式[翻译] [2] [3] [4]

Ajax基础篇
·
使用XMLHTTP Request Object获取服务器数据
·构建一个pool来管理无刷新页面的xmlhttp对象
·把JScript函数模拟为"异步执行"方式
·Ajax基石脚本异步并发调用参数传递
·让您的Ajax应用加载数据时界面友好

控件开发篇
·
使用Popup窗口创建无限级Web页菜单(1) (2) (3) (4) (5) (6) (7) (8)
·动态载入数据的无刷新TreeView控件(1) (2) (3) (4) (5) (6) (7) (8) (9)

DHTML篇
·
使用CheckBox的indeterminate属性的问题
·获取Html元素在页面中的绝对位置及问题(1) (2)
·Web页中的HTML元素的排版布局规则
·用户定制Web页中元素的排版布局策略
·关于HTML Object中三个Style实例的区别
·使用button元素自定义别具风格的按钮
·用系统滚动条实现NumericUpDown的原理
·系统滚动条实现的NUD控件Unusable版
·细说HTML元素的ID和Name属性的区别
·挺好玩的uniqueID&uniqueNumber属性
·精通CSS(层叠样式单)语法请帮忙看看
·JavaScript中的5种事件使用方式解说
·DHTML Scriptlets 容器对象参考手册
·使用DOM来创建页面元素的一些问题
·使用乱序标签来控制HTML的输出效果
·HTML Elements 和 DHTML Objects
·在使用optgroup时遇到的缺陷与修复
·滚动TextArea中内容到底部的BT方法
·精确地计算Web页面中滚动条的宽度
·在Web页面中控制其元素的选择状态
·HTML中不支持静态Expando的元素
·使用onbeforeunload属性后的副作用
·在Option条目中填充前导空格的方法
·关于使用runtimeStyle属性问题讨论
·Web开发中的Drag&Drop完全手册

IE问题篇
·
IE的模态对话框里的问题还真是不少
·IE的JScript解析器可能有Memory Leak
·继续来研究JScript解析引擎的GC问题
·同一页面引入多个JS文件的编码问题
·处理IE中Bubble Up 事件模型的细节
·搞笑的W3C和M$对DOM中属性命名
·在XP+SP2下隐藏模态窗口的状态栏
·Popup窗口在XP+SP2下面受到限制
·
判断用户浏览器是否是XP SP2的IE6
·在IE模态窗口中自由查看HTML源码
·模态窗口对字符串参数的巨无聊限制
·应用虑镜特效时遇到浏览器权限问题
·encode脚本和normal脚本混用的问题
·IE7提供XMLHttpRequest对象为兼容
·IE6使用add方法添加optGroup的bug
·IE解析完全相同html代码的不同表现
·怎样在Web开发中完美控制IE标题栏
·IE6 Hotfix MS-042将导致其Crash!

其它篇
·
IIS对于Web页中相对路径解析的问题
·关于对cross-browser支持的一些看法
·谈一谈支持cross-browser的解决方案
·SmartNavigation在Fx2.0中下岗了...
·关于DOM Explorer插件的功能和问题
·DOM Explorer升级修正了大部分问题
·微软终于想通把Script56文档更新了

收藏哦……呵呵

荷兰的龙芯笔记本可能有猫腻[转自cnbeta]

荷兰的龙芯笔记本可能有猫腻[转自cnbeta]

感谢Ian的投递
作者:老杳
看到龙芯笔记本在荷兰发布销售,还真为龙芯感到高兴,急急忙忙登陆龙芯笔记本荷兰公司的代理商Van Der Led (VDL)的网站,却感到非常失望,原来在新闻稿中所宣传的PC渠道商Van Der Led (VDL)竟然是一家主要以灯具为主的网上销售公司,产品不多,除了灯具同时还销售几款MP3、MP4,当然还有五种颜色的龙芯笔记本。

为求证这个网站的浏览量,虽然老杳也不太相信Alexa的统计,作为一个数据倒是可以参考,三个月平均流量排名1千万靠外的公司,仅仅4月7日之后排名忽然之间升至20多万位,可以这个公司过去一年的网上业务应当基本为零,排名千万之外还不如老杳吧一天上百人的流量大,不知道是否因为龙芯在中国发布新闻的缘故,这个网站近期流量骤升,从网站流量来看无论如果难以让人相信这是一家具有一定规模的公司。

老杳不认识荷兰当地人,无从考察这个公司的具体规模,如果仅仅从上述亮相资料来看,这个公司无疑有挂羊头卖狗肉的嫌疑,也不得不令人怀疑龙芯此次隆重推出荷兰公司分销龙芯笔记本新闻的动机,据中科龙梦公司副总经理吴权林介绍,“VDL公司是荷兰一家PC渠道商,它会贴自己的品牌在荷兰销售。龙芯目前的国际化尝试远远不止荷兰一个国家,法国与英国的电脑渠道商也与中科龙梦有合作,正准备推类似的超便携电脑,但配置和Jisus有所不同。”但愿法国和英国的电脑渠道商不会像荷兰一样也是一个卖灯具和MP3的公司。

附:一个荷兰读者有关Vanderled公司的邮件

老杳你好,

我是老王,在荷兰住了17年的北京人。今天看到龙芯超便携电脑在欧洲销售的新闻,觉得里面有猫腻,开始在网上搜索,在此过程中发现你的博客,颇有感触,留几句话。

我个人感觉,这个网站是荷兰的留学生自己制作的,但是又刻意强化荷兰特色。原因是:
a)Van der是荷兰人名字中常见的中缀,意思是“来自”。但是Van Der Led不存在。我个人认为,因为他们最初销售产品是发光二极管产品(LED),因此自己取了Van Der Led,以求“充分荷兰化”。
b)网站的英文与荷兰文都不地道,惯用法上很像来自中国的本科/硕士留学生的特点。
c)此公司没有在荷兰商会注册,你可以自己在www.kvk.nl商会网站上核实。
d)此公司没有办公地点,以及电话联系方式,客户只能在网上留言后被动等该公司联系。这个特点符合留学生的生活特点。
e)以上四条特点都可能发生于中国驻荷留学生或者一个在荷兰以外的操作者,但是公司网站的三个留言者(截止2008-04-11,GMT20:14)中有一个说“It is very glad to see that a company in Rotterdam start using chinese CPUs”,暴露了最大可能性,那就是操作者在鹿特丹。因此极可能是在读的学生。这个网站来访量很小,留言者可能来自朋友圈。

祝好。

老王

[分享]LVPM——将WUBI安装的Ubuntu转换成真实的Ubuntu!

在下载的Ubuntu 7.10 DVD光盘中看到有个名为“wubi-cdboot.exe”的文件,想起在论坛中看过这是个在Windows下安装Ubuntu的程序,顺手在google上一搜,到它的官网(http://wubi-installer.org)去看了看,不想在其文档中看到这样一句:

引用:
However, once the Ubuntu install created by Wubi has been transferred to a dedicated partition using LVPM, the hard drive access speed will be identical to that of a standard Ubuntu installation.



也就是说,可以用LVPM将原来安装到Windows下虚拟磁盘中的Ubuntu转换到一个专用分区上,变成真正独立安装,不再依赖于Windows。

开始还妄想直接用虚拟光驱挂载映像,用Wubi实现硬盘安装,实践来看是不行滴!关键一点,虚拟光驱是运行在Windows下的,而使用Wubi安装到Windows下的虚拟磁盘实际是用ntloader加载了一个小的Linux系统,还要去找Wubi提供的光盘,但这里由于没有运行Windows,所以也就不存在那个虚拟光驱了,只能停留在小Linux系统中。

使用Wubi和LVPM对新手来说是个比较好的过渡方法:前期使用WUBI安装到Windows下的虚拟磁盘中,安全、简单、不影响Windows(绝大部分文件都在一个目录中,可以很简单地卸载它),而且性能应该比用虚拟机要强(据其官网介绍,性能基本等同真实安装,除了硬盘访问稍慢);在熟悉之后,就可以使用LVPM,将你的Ubuntu从Windows下的一个虚拟磁盘文件转移到一个专用分区中。

关于WUBI的使用,论坛里已经有篇帖子了(http://forum.ubuntu.org.cn/viewtopic.php?t=40930),就不再介绍了,而且其官网上的抓图也不少。
PS:还有个与其相似的Linux下的工具LUBI。

这里简单翻译一下关于如何使用LVPM的文章。

一个是http://ubuntuforums.org/showthread.php?t=438591的《使用LVPM将Wubi安装转移到真实分区的原理》:

引用:
Wubi的一个主要特性,就是它可以将Ubuntu安装到虚拟磁盘上,免除重新分区的困扰和风险。虽然这样的安装对日常使用已经足够了,将Ubuntu安装到专用分区而不是Windows上的虚拟磁盘这种真实安装还是有一些优势的:

1、完全独立于Windows:Wubi需要依赖Windows保存虚拟磁盘和启动加载器。因此,如果你认为Ubuntu可以满足你的需要而你不再需要Windows时,你不能简单地删除Windows分区,这也会将你用Wubi安装的Ubuntu删掉。要完全转换到Ubuntu,你首先需要按下面的指南将你用Wubi安装的Ubuntu转移到它独有的分区,然后你才能删除Windows分区。

2、提高性能:由于使用了虚拟磁盘,在Wubi安装的Ubuntu中,硬盘性能有轻微的降低。虽然日常使用无法注意到,如果你经常编辑拷贝大文件,比如视频编辑,你在将Wubi安装的Ubuntu转换到专用分区后会有一定的速度提升。

3、恢复休眠功能:即使你的硬件支持Ubuntu下的休眠,由于交换空间(SWAP)是在虚拟磁盘中,你还是无法在Wubi下实现这点。然而,如果你将安装转移到真实的分区,你就有了专用的交换空间,所以如果你的硬件支持在Ubuntu下休眠你就可以实现了。

开始之前……

牢记备份数据,以防意外。备份到U盘、刻录盘、或者其它除了你的硬盘之外的任何地方。

确定已经提供了安装用的空白分区,要做这个,可以使用Partition Manager tool(http://sourceforge.net/project/showfiles.php?group_id=198821) 来调用Gparted调整Windows分区,建立一个新的主分区并格式化为ext3格式(译注:这里建立主分区应该是为了后来可以删除Windows,一个硬盘最多支持4个主分区),你也需要建立一个比你内存大一些的分区并格式化为swap。

建立新分区并调整现有分区

如果你没有安装需要的空白分区这是你唯一需要做的。同时确定除了你要安装Linux的分区之外(主分区的文件系统类型无关紧要,它总是会被处理成ext3格式,只需要确定交换分区格式化为SWAP或未使用),你已经有了一个比内存大一些的交换空间。如果做好了,跳到下一部分。

要做到这一点,你可以使用Partition Manager tool(http://sourceforge.net/project/showfiles.php?group_id=198821),启动后打开GParted,然后按http://gparted.sourceforge.net/larry/resize/resizing.htm的指南操作。

调整Windows分区(NTFS)大小,建立一个新的主分区(格式无关紧要,它会被LVPM格式化为ext3格式,但它至少应该和Wubi虚拟磁盘一般大,至少5G)和一个交换分区(比内存大一些)。另外注意新系统分区的设备字符串(类似/dev/sdb1, /dev/hda2)是多少,后面用得上。

由于Wubi安装的Ubuntu还在Windows分区上,所以,即使你打算干掉Windows,也只能是调整Windows分区(NTFS)大小,而不是删除它。

安装运行LVPM(the Loopmounted Virtual Partition Manager)


你既可以按照http://lubi.sourceforge.net/lvpm.html的基于截图的指南,也可以按下面的指示:

启动Wubi/Lubi安装的Ubuntu,下载并安装最新的lvpm的deb包。这一步很关键,下载前运行LVPM可能会使用了一个过时的有潜在危险的版本。

http://sourceforge.net/project/showfiles.php?group_id=198821

安装后,打开“应用程序”──“系统工具”──“LVPM”,选择“transfer”选项,选择一个安装的目的分区。不要选择上面有重要数据的分区,它会被擦除;同时注意GRUB会被安装到MBR(主引导记录)上。如果你想调整虚拟磁盘大小,而不是将它们转移到专用分区上,请使用“resize”选项。

现在,重启,希望一切顺利。如果遇到讨厌的启动错误,插入Super Grub Disk,希望你能启动你的系统。

干掉原来Wubi安装的Ubuntu(可选)


如果你对你新的真实安装的Ubuntu满意了,不再需要保留原来的Wubi安装了,只需要启动Windows,找到“添加/删除程序”,选择Wubi,按“卸载”,就只剩下你真实安装的Ubuntu了。

完全干掉Windows(可选)

当你将Wubi安装的Ubuntu转移到真实分区,可以正常使用了之后,启动Partition Manager tool,打开GParted,删除Windows(NTFS)分区,按http://gparted.sourceforge.net/larry/tips/gfs.htm的指南扩展ext3分区,完全使用删除Windows(NTFS)分区后形成的空白分区。

用LVPM调整虚拟磁盘大小

运行LVPM,菜单出现后选择“resizehome”×(调整/home虚拟磁盘)或“resizeroot”(调整/虚拟磁盘)。

输入虚拟磁盘新的大小,以MB为单位。

等待程序完成建立一个新的磁盘文件并从原来的home磁盘文件中拷贝文件。它会弹出最后一个指示窗口让备份原来的磁盘文件,重命名新建立磁盘文件。

启动到Windows浏览c:\wubi\disks,移动原来的磁盘文件到另一个文件夹作为备份,将new.virtual.disk重命名为home.virtual.disk(如果你使用的是resizehome)或system.virtual.disk(如果你使用的是resizeroot)。

重启进入Ubuntu。

注:如果你遇到GRUB错误,或者无法启动你的一个系统,启动Super Grub Disk(http://supergrub.forjamari.linex.org/),它会使你修复GRUB,可以启动Windows和Ubuntu。




下面是http://lubi.sourceforge.net/lvpm.html的基于截图的LVPM指南:

简介
LVPM(循环挂载虚拟分区管理器)允许用户通过从原有安装将所有数据、设置和程序转移到专用分区上,把他们现有的Wubi或Lubi安装(的Ubuntu)升级为一个标准的Ubuntu系统。使用LVPM升级的好处是获得更好的磁盘性能和可靠性,以及用Ubuntu替换原有的系统。

一个基于文本的指南和LVPM的支持论坛在此处──http://ubuntuforums.org/showthread.php?t=438591

使用需求
LVPM在Wubi和Lubi7.04.01创建的安装上测试过了,可能在早期的版本上无法工作。在运行之前,你需要一个空白分区用作根文件系统,另一个分区格式化为SWAP。

Partition Manager(只在你没有空白分区时需要)
如果你没有空白分区,你可以使用Partition Manager,启动它打开GParted,然后调整你的分区,建立一个与内存大小同等的交换分区,及一个ext3格式的主分区。

[img]
http://lubi.sourceforge.net/partitionmanager-screenshots/2.png[/img]

[img]http://lubi.sourceforge.net/partitionmanager-screenshots/3.png
[/img]













说明

你既可以按基于文本的指南/支持论坛(http://ubuntuforums.org/showthread.php?t=438591)中的说明操作,也可以按下面基于截图的指示操作:

安装

从http://sourceforge.net/project/showfiles.php?group_id=198821下载并安装最新版的LVPM的DEB包。







使用LVPM转移一个安装到专用分区上

打开LVPM,选择“transfer”选项,选择一个安装的目的分区,等待你的安装全部转移到专用分区上。















Post-transfer(可选)

可选地,安装完成后,你可以删除原来的Wubi安装(的Ubuntu),甚至整个宿主系统(Windows),以便你可以完全地使用Ubuntu。

干掉原来的Wubi安装(的Ubuntu)(可选)

如果你对你新的真实分区的安装满意了,不再需要保留原来的Wubi安装了,只需要启动Windows,找到“添加/删除程序”,选择“Wubi”,按“卸载”。你就只剩下你的真实分区安装的Ubuntu了。

完全干掉Windows(可选)
当你将Wubi安装(的Ubuntu)转移到真实分区,它可以正常工作之后,启动Partition Manager,打开GParted,删除Windows(NTFS)分区,按这个指南(http://gparted.sourceforge.net/larry/tips/gfs.htm)扩展ext3分区,完全使用删除Windows(NTFS)分区形成的空白分区。

使用LVPM调整虚拟磁盘大小(如果你将安装转移到专用分区则没有必要)

运行LVPM,菜单出现后,选择“resizehome”(调整/home虚拟磁盘)或“resizeroot”(调整/虚拟磁盘)。

以MB为单位,输入新的虚拟磁盘的大小。

等待程序完成建立一个新的磁盘文件并从原来的home磁盘文件中拷贝文件。它会弹出最后一个指示窗口让备份原来的磁盘文件,重命名新建立磁盘文件。

启动到Windows浏览c:\wubi\disks,移动原来的磁盘文件到另一个文件夹作为备份,将new.virtual.disk重命名为home.virtual.disk(如果你使用的是resizehome)或system.virtual.disk(如果你使用的是resizeroot)。

重启进入Ubuntu。






失望的WUBI

失望的WUBI

这个WUBI并不是五笔的拼音哦,这里的WUBI是国外一个软件,专门用来安装ubuntu的。

周六周日我下载了这个软件,拼命在那里装,可是没有一次是成功的。

第一次安装的是最新的8.04的版本。结果启动的时候提示文件不存在。我直接进入XP把它卸了。

第二次下载7.04下载了一整天,然后安装好,启动时候显示loading ……然后硬盘灯也不闪了。

开始我以为是因为它也算是一个虚拟机嘛,可能速度会很慢的,等啊等啊等,等了半个多小时,还是那样的在loading。

不得己,又卸了。

看来,我和linux真的是无缘。

我有一台笔记本,比较老,02年购入的,在上面,我装过N个LINUX,为了装这些LINUX,我刻了不知道多少光盘。然而现实是残酷的,我没有一次安装成功的。

安装RH的时候,自检IEEE1394出错,就卡在那里了。当然FEDORA也一样。想想也确实一样,毕竟同一家公司出的。

TurboLINUX根本就没法装。

mandralinux安装结束后,进入X界面后一片模糊,全是波浪纹。

suseLinux安装结束后,是无论怎么样也进不了X界面。

Ubuntu是不能安装。

难道,它真的和我无缘?可怜的我遇上了可怜的LINUX了

08下半年愿望

08下半年愿望

08年下半年的愿望是:

1、baby身体健康

2、地区性网站架设起来(为自己家乡提供一个相对比较好的网站)

3、重建www.neatstudio.com网站,不能再一直消沉了,原有的团队成员如果还愿意继续建设就一起建设,如果不愿意,那我就先顶上了。

4、开心每一天

庆祝贴,累加的庆祝

本贴纯粹乱弹,用来庆祝一些事情。

1、google搜索简单人生,是我在cnitblog上的博客,现在已经不再更新,第一条哦……

2、google搜索:飞天小肥猪,是我这个博客,现在的主力更新点

3、ALEXA,终于有排名了,虽然排名还是很小很小,但,毕竟也是我努力的回报:

Neatcn.com
Overview| Rank: 11,588,385|Linking In: 6

4、google搜索我的站点,有400多条了,虽然我的总条数也只有60篇

欢迎大家连接我啊……

stdClass的介绍

stdClass的介绍

在PHP开发中,很多时候都会看到别人的代码里有
$user = new stdClass();
$user->name = 'gouki';
这样的代码,这是干嘛用的呢? 翻开手册,搜索stdClass,你会发现,手册上几乎没有介绍,如果你再次搜索google,看到的也几乎全是英文解释。 其实,stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。似乎没有其他作用。也几乎没有任何说明。 或者,我们可以这么理解:stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。 凡时用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。 或者,我们可以又这么理解一下,正因为PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资源会少一点。在其它页面为它赋值时是直接修改,而不是引用一个拷贝。 例如:
$user = new stdClass();
$user->name = 'gouki';
$myUser = $user;
$myUser->name = 'flypig';
如果在PHP4时代,这样的代码就是在消耗系统资源。因为:
$myUser = $user;
这是创建了一个拷贝。所以,在PHP4的时候,都是这样使用:
$myUser = & $user;

有人说,为什么不用数组呢?数组不是更方便吗?而且对于PHP这样的弱类型程序来说,用数组应该是最方便的。
确实。数组在程序的使用中应该是最方便的,然而数组的每次被引用($a = $b),其实都是创建了一个副本,而且,数组被unset后,还是占用了内存(这个是听人说来的,我没有测试……也不知道怎么测试,如果有人知道,请告诉我,谢谢 )
不过SPL的标准类库里,还有一个函数arrayobject,可以直接将数组转化为对象这也是一个好办法哦。

随便写写,没有打草稿,如果有错误,请通知我改正……
如何取得当前数据的上一条和下一条的ID

如何取得当前数据的上一条和下一条的ID

  经常在新闻系统中显示:上一条,上一条,在网上找了很久也没有发现有什么特别好的解决方案。在看了几个人的解决方案后,写了如下的sql语句。也算是抛砖引玉吧。

  SQL是这样的: SELECT max(id) FROM table WHERE id < 当前ID UNION SELECT min(id) FROM table WHERE ID>当前ID

  可是某人告诉我。MSSQL居然不支持union,于是我写了这么一条,因为我不知道MSSQL是否能执行,希望给大家一个帮忙(反正MYSQL4是不能运行的)。呵呵。
  SQL:select top 3 id from table where id < (select min(id) from table where id > 当前ID) order by id desc

  权当做个笔记。 (希望有人指正,我也好多记一点多学一点)

Comet研究

Comet研究

说实话,在看到这个Comet被人提起来的时候,我真的不知道是什么意思。翻开金山词霸,结果求伯君同学告诉我,这是彗星的意思。

彗星?怎么着也不能理解。。。于是乎G了一下,发现原来Comet并不是一个新技术,而是和AJAX一样也是一个炒冷饭的东东。

目前用的最多的使用Comet的大概是两种方法,一种是iframe,一种就是ajax。

用ajax的就没有什么好讲了,无非就是setIntval();定一个时间循环往复,往复循环的用ajax读回数据。

用iframe呢。则是利用现在的一些JS类库(当然不用也可以)生成一个Iframe 的Element,在这个页面里打开一个PHP或者其他的动态网页,再由那个网页不停的生成生成再生成,然后通过iFrame的window.parent.xxx.innerHtml = 'this...value...';通过这种方法将iframe里得到的内容生成到主页面上。

细看看这两种,哪种不是炒冷饭?只是冠以一个好听的名字而己,自从2001年,网络聊天室开始有无刷新聊天时,iframe取得数据返回主页面这种方法就早己经存在。AJAX虽然是最近几年的新酒,但何尝不是原来的那些方法的集合?只是以前可能用的是setIntval定时用window.location.reload();来进行页面刷新,现在是用AJAX取回数据再通过innerHtml来更新DIV区域而己。

自此,对Comet有点失望。毕竟对这些都只是一些简单的封装,没有什么新的东西。