五月份的关注

终于,我又过了个无聊的长假。本以为,把本子带回去还可以搞点事情,结果并非我想像的那个简单,也许我本来就是个幻想家。Cry
继续我五月关注的东西吧:

Firefox3 Alpha5(明天发布)

Plone3.0 Beta3(没想到已经出了)

找一本学习英语的书(没仔细去找)

ZendFramework 1.0RC

搬家(…)

发一些代码吧

关于ZendFramework的一些不足

从0.15到现在的0.9.3,我差不多跟着ZendFramework的发展来改进我的这个站点程序。虽然,现在还是相当的简陋。

首先,我说下我对PHP的看法。PHP做为入门语言非常好,简单且强大。就PHP4来说,典型的面向过程开发方式,虽然有许多人为PHP4做了许多努力,让PHP4用起来更面向对象。我对这种方式并没有什么好感,把所在的代码放在一起,在许多tr中找<?php ?>,而且我对DW直接生成的html感到非常厌恶。让人感觉整个工作被你全包了似的。后来,我的工作转向python方面的,但我对php并没有放弃。PHP5+框架被我认为是让我对PHP重新提起兴趣的东西。所以,就有了这个站。

现在ZendFramework已经发展到0.9.3版,RC1马上就会发布。我不知道ZF的开发哲学是什么,一个MVC架构还要分成几个包,虽然现在已经整合了View,但这种整合并不是真实的。而且在最近的两次更新中,向Zend_Controller中加入了太多的东西,这些东西的好坏我现在还不好判断,但我觉得不是很喜欢。ZF的模板机制也非常让人失望,我没有使用过Smart,我不想评论什么。Zope的tal和Django的模板引擎都非常优秀。

这些都是我认为的不足。当然,这些都不是什么大问题,大不了自己实现。我只是在想ZendFramework到底会发展成什么样呢? 

星星竹海拓展

5月25-26号,开始了2天的咸宁星星竹海2日拓展。根据介绍,两天的活动主要有:穿越竹海、攀岩、岩降、空中单杠、空中断桥等。

25号上午10点多钟的时候,我们到达了目的地,开始了穿越竹海,由于是山间小道最好穿长裤,小心不要让自己太香,因为有虫咬你。有个同事已经被咬了一下。穿过竹海后,中午去老乡家里吃饭,别有风味。吃完饭,开始了攀岩及岩降活动,还是很有技巧的,听教练的指导。下午,回到的基地,准备吃饭和搭帐篷,也可以选择住别的。晚上,玩扑克、篝火晚会、然后开始玩杀人游戏。一天下来,肯定很累,睡觉吧。

26号上午进行的空中单杠、空中断桥,这个不说了,看图吧。然后是一些培训,非常不错。中午踏回家的路程,在途中去和平酒店唱鸡汤,还不错。不过,我老爸也许做的比这更喝。

总的来说,还不错,如果你还没有玩过上述游戏,那还是值得一去的。

好累啊,休息

这个周未,公司组织去玩攀岩,搞得回来痛得要死。改天把照片整理一下发上来。

那么,这个月快结束了。时间又过去了一个月,不知道这个月ZendFramework 1.0RC会不会发布,不管会不会发布,我都会发布这个程序的源码,现在的代码基本是以展示ZendFramework的功能为主。最近在了解了Django之后,看到一些非常有意思的东西。

而且,最近注册了一个还算可爱的域名。开始做某个东西,准备用Django来开发,看看到底有多快。

Firefox3 Alpah5版看来要下个月头才能发布了。

Custom Search Engine

前天,我又开通了google的一项服务,Custom Search Engine。这项服务其实去年就推出了,只是我没有看到而已。现在还在摸这个东西,好象还是点复杂的,主要是英文太多了。。。使用这种Engine,你可以自已指定搜索的范围。而且,这是Google Co-op平台的一部分,还有其它两部分:Subscribed Link、Topics。

Gonefish.cn Search主页

调整eclipse的内存占用

我现在使用EasyEclipse-for-Python做为Python的开发工具。但这家伙占用内存太大,可怜我的机子才512M内存。今天无意中在EasyEclipse-for-Python目录下发现eclipse.ini文件,查看里面好象跟内存有关。于是,搜索了一下,原来eclipse的启动时可以设置占用的内存。在我的eclipse.ini文件中,有三项:Xmls,Xmx,XX:MaxPermSize这三项。Xms是初始化内存大小,Xmx是最大可使用内存大小,至于XX:MaxPermSize不知道是什么。

然后重新启动,嘿,挺管用的。我的配制是:

-vmargs
-Xms96m
-Xmx256m
-XX:MaxPermSize=128m 

javascript检测java版本

有时候,会需要通过浏览器来检测当前机器的Java版本。在网上还未找到解决方法,但有人问到过,java的官方网站可以检测出来。通过分析一个在线教室的网站,找到解决方法:

首先,判断浏览器是否安装java的浏览器插件。

<script type="text/javascript">
    var isIE           = "false";

    var javawsInstalled = 0;

        if (navigator.mimeTypes && navigator.mimeTypes.length) {
            x = navigator.mimeTypes['application/x-java-jnlp-file'];
            if (x) {
                javawsInstalled = 1;
            }
        } else {
            isIE = "true";
        }
</script>
<script type="text/vbscript">
        on error resume next
        If isIE = "true" Then
          If Not(IsObject(CreateObject("JavaWebStart.IsInstalled"))) Then
              javawsInstalled = 0
          Else
              javawsInstalled = 1
          End If
        End If
</script> 

如果,已经安装了java浏览器插件,就在当前的页面里嵌入一个applet,通过这个applet来显示Java的版本。至于这个.jar的包,可以到那个网站去下载。

javascript检测弹出窗口

最近,有个需求是就是检测用户的浏览器是否启用了弹出窗口功能。还好,找到了个比较靠谱的解决方法。原文在,其原理是分析了MSN Web Messenger的js。

其中有部分我没看太懂,就是IsYBI(),这个函数里面创建了new ActiveXObject("YBIOCtrl.CompanionBHO"),我不知道这到底创建的是什么?变量spbw保存了是否启用了弹出窗口功能,true表示启用了弹出窗口。原理应该还是创建弹出窗口,并对弹出窗口进行检测。

Firefox未来

最近有一篇文章指出Firefox越来越臃肿。在我看来,Firefox的强大是正确的方向,随着技术不断得发展,现在通过浏览器可以作更多的事情。对某一项技术的支持将会对浏览器产生很大影响。从最新的Firefox3的开发功能来看,firefox开始与web services相结合了。最新开发的places支持远程同步,这个功能现在可以使用google提供的插件来实现。

我对浏览器和手机的未来非常感兴趣。随着手机技术的不断发展,使用手机来浏览信息将会是再正常不过的事情了,而且随时就可以查看。而浏览器将被赋于更多的功能,也许也以不叫浏览器了,或者别的什么。但有一点永远都基于web的。