小镇树妖--住在树上的妖

To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master.

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  10 Posts :: 50 Stories :: 7 Comments :: 0 Trackbacks

2008年1月16日 #

    看了网上关于ajax的热烈讨论,终于按耐不住,尝试了ajax的几个框架,感觉还是不错的选择,做网站好像不是很好,做应用很不错的。以前自己用过xmlhttp,没有用框架,只是简单的使用xmlhttp,返回text,然后把text放到页面里显示,仅此而已,不过已经觉得够用了,如果有多个可以使用xml,返回xml后用javascript解析一下,分别动态的生成html元素,这个用起来比较舒服,因为我平时都用ff来浏览,基本没有什么问题,IE就让人头痛了,要使用activex。所以就开始寻求框架的帮助。
    首先google了一下,什么ajax十大框架排名,找了几个顺眼的,prototype,dojo,ext,jquery。都不错,dojo的示例真强呀,jquery也不错,慢慢尝试吧,慢点做个应用,好好研究研究。哈哈

posted @ 2008-01-16 16:06 jacky wu 阅读(243) | 评论 (0)编辑 收藏

2007年12月10日 #

    做了几年技术,一路走来,接触了很多新事物,对各种语言工具也略有了解。记得刚接触的时候学习的是Java,实习也做了java,记得当时一次面试一家日资公司,因为是刚毕业的小朋友,工资提的低,因此用人单位比较开心,硬让我学习vb,还说java没前途,当时觉得很不甘心,话说毕业前夕我也看了很多资料,当时就下定决心做java了(当时是2003年),怎么会去vb呢,所以毅然放弃了,现在看来还是有点技术前瞻性的,呵呵。可是没想到的是后来的工作历程中,居然只有1年半左右时间在做JAVA,其余的都给asp,php了,特别是php,大概了3年了吧。因此也免不了俗,一直来比较比较。
    空谈没什么意思,asp就不谈了,这次空下来用OO的思想,javabean的形式,MVC的理念使用php做了个小应用。OO的话以本人愚见,应该都是对象操作,因此建好数据库,数据库操作的基类先写好,据说php5的类做的相当好,速度要比php4的function都快,所以我在数据库基类的构造方法里进行连接数据库,等着被继承吧。
    接下来是对对象的封装,很小的应用,只是对一个用户数据库的操作,因此写了个user 类,对属性进行set/get封装,用上标志性的private 修饰符,感觉还不错,只是觉得->这个符号比起.来多了一个符号,谁叫我是个懒人呢,这都计较。。。
    数据模型简历好了,进行操作模型的编写,增,删,改都写成类,继承数据库操作就好了,感谢继承的伟大。然后搞个smarty,在页面里面把操作类拿出来的数据库塞进template里。
    总结一下,View相对简单,不谈,M和C稍微有点混乱,如果我强悍点,写个apache的extension什么的,专门处理url,因此干脆就把页面当作C来做,每个C去调用操作Model(逻辑上的),然后处理的数据再给页面,输出到view。个人认为使用url的传值总不是那么回事,虽然可以使用apache来处理,但是。。。感觉一下,很花时间,不如function来的快,虽然到处都是sql,如果将来php也搞这种(下次研究一下zendframework,后台是IBM,不知他怎么个思想),还是回到java吧,或者ruby也不错。

posted @ 2007-12-10 11:23 jacky wu 阅读(369) | 评论 (0)编辑 收藏

2007年9月12日 #

    长久以来一直使用fedora 6 ,我使用电脑主要还是为了开发,偶尔还玩玩游戏,在痴迷魔兽的时间里只能使用双系统,尝试过虚拟机,不怎么样,再说我的机器也不是很好。
    听说fedora 7出来了,一心想upgrade一下,找了半天下载源,都没有看到cd的,官网的速度又太慢,没办法,下个DVD的吧,找人刻录一下,2.8G的容量,想想也怕怕的,要下到什么时候,周末的时候腾出半天来,用flashget慢慢拖,可是另人郁闷的事情发生了,下到1.3G的时候,重启了一下电脑,再打开flashget,就傻眼了,不是号称断点续传嘛~~~太郁闷了,怎么能这样,居然不能继续传,那个叫郁闷啊
    想了一下,心一横,装ubuntu吧,就一张cd,虽然以前试用过,比较讨厌不能使用root,随便什么命令都要sudo,再用用也无妨啊,现阶段主要还是学习bash,软件安装和编译等方面的,所以就动起手来。 这个Ubuntu的好处就是安装简单,很快哦,而且服务器多,下载里边的软件也快,不像fedora,慢得不行,中文社区也没多少人,Ubuntu的人就很多了,装完系统,在论坛里找些资料,没多久就搞定了,编译mysql,apache,顺便把ror也装上去,php 5和ror装好后基本可以用了,接下来就是把系统优化一下,就是把service关掉几个,换个Mac的皮肤,真漂亮。然后把home的文件权限和权限组改一下,方便工作嘛,这些文件都是老的fedora里面留下来的,装Ubuntu的时候没有格式化,没办法,我这个人懒啊。
     接下来重点推荐一下2个网站,让我的工作真是方便不少啊,也不完全是工作,呵呵。首先当然是google,包括我的email,文档管理,工作计划,基本在google上完成,特别是工作计划,感觉google的calendar真是棒啊,喜欢google,打算学习python,听说google招人需要这项技能的。呵呵。另外一个就是游戏 ,游戏中国www.game.com.cn  ,可能是因为linux下游戏不多,突然喜欢上了flash游戏,游戏中国 www.game.com.cn 这个网站不错,速度蛮快的,找到了曾经让我痴迷的flash游戏 “魔塔”,呵呵,想当年在公司里经常玩的,哈哈
     往下的工作是找几个开发工具,还在寻觅中呢,哪位有好推荐的,告诉我一声哦~~~

posted @ 2007-09-12 10:46 jacky wu 阅读(244) | 评论 (0)编辑 收藏

2007年8月7日 #

    最近,一边偷懒,一边慢慢的学习新知识,有时候觉得真累啊,还有麻烦的世事,搞得我像个无头的苍蝇,找不到平衡点,谁叫我情商低呢。。。
    闲暇的时候接触到了某门户网站某频道的维护工作。使用了一个开源系统,稍微看了一下,还是满不错的一个东西,最出彩的就是生成静态文件,使用一个类完成所有操作,使用javascript显示进度,生成的静态文件也不错,页面使用自定义标签和模板。另一个就是使用smarty模板,显示产品页面。看了一下代码,觉得满不错的,如果使用smarty,可能我的后台管理系统只需要几个tpl模板就可以了,稍微深入思考了一下,感觉可行,哪天下午正好公司的头都不在,下载了smarty手册,顺便下一个adodb手册,观摩了一下,似有所悟,胡乱设计了一下数据库、模板页面,打算拿回去好好继续研究。
     玩转了几天smarty和adodb,边看文档边做,demo版本的后台管理终于差不多了,剩下的看了看文档,似乎还有cache什么的东西,满深厚的,需要日后再花时间研磨。
     经常查看TIOBE的排行,php的走向是最让人看了舒服的,基本上是爬升的,虽然也是坎坷不平,但是看看其他的,包括java,都有个地方是大落大起的,我欣赏没有大起大落,只有不断前进,就像阿甘说的,just run。
posted @ 2007-08-07 08:34 jacky wu 阅读(264) | 评论 (0)编辑 收藏

2006年10月11日 #

     很多时候我们都想开发一个万用的系统,这样面对客户的需求就真的可以随机应变了,如果客户要改变一个模块,那按一个按钮就可以轻松应变,可惜要做到这个不知道要到什么时候了,像我们这个级别的程序员如果能够最大程度上应对客户需求已经相当不错了,毕竟离一个合格的架构师还很远呀。
     还是别扯太远,解决眼前的问题先。所以现在的问题是如何编写出可扩展的或者说是易于扩展的代码,从最原始的时代开始说起显然是个不明智的方法,或许可以从我本身的经历说吧,最早以前,用asp做b/s系统,一个页面来显示,例如list.php,显示需要展示的内容的列表,通常这个页面会有一个按钮,连接到insert.php,也就是需要用户输入表单,然后提交到insert_do.php,处理用户的输入,这样一个输入流算完成了,以前通常这样做,但是当现在回忆起来只能说,那是个多么累的方法,或许自己心里会辩解到至少页面代码很清晰。后来的想法是,把功能都放一个页面,例如有list.php和 list_do.php根据url上参数的不同实现不同的操作,例如inset,update,delete等等,可是,事情总是2面的,很多时候担心客户端可以使用参数来自定义提交,是不是安全性降低了很多吗?偶然的机会为了奥林巴斯的网站,可以看出是韩国人写的,居然在提交的时候自定义一个form,让数据隐藏,开始觉得这个是个不错的注意,安全性高又灵活。后来仔细分析其实没多大实际意义,其实一个懂得用url侵入的人也应该知道自己写个静态页面也一样,所以很矛盾啊,后来干脆不管了,还是用url传参数,不同的是传到自己本身页面,所以最后只需要一个页面就可以完成所有的工作。虽然一个页面可能有几千行(想起当初大学老师在教c++的时候曾经提过他看过800多行的代码,但是同学们“哇”声一片,自己那时候也发誓以后不搞这行当,这玩意伤脑子,可是结果。。。),只要注释写的好,维护就ok了,现在最喜欢做的事情就是写注释,划类别,感觉越整齐越舒服。为了让我的系统能够活得长久,尽量写得浓缩,分类尽量详细,页面名称尽量好,所有功能都在一个页面里面,甚至连图片的名称也要好,必须为gif或者png,我这样的要求我的老婆,因为她是做美工的,css写得也要好,就是因为这个css,最近碰到好多难题哦,这个暂且不谈,不管界面用什么技术,反正程序编码必须整齐,所有html元素都写成function,数据库操作也是,曾经一度在function和class之间徘徊,现在决定php5.0以下用function,以上用class,大项目用ADODB,当然要优化一下,也就是改一改,讨厌的就是那个GPL,改好了怎么发布呢?E文不好,吃大亏啊。其他就没什么问题了,前端显示直接写或者模板都可以,这个我不关心,现在主要攻克几个开源的协同oa,还有ecommerce。
      其实有时候想把公用的function和class写进include里面,某个模块的function和class,或者干脆写class,放在同级目录下,每个页面有一个,举例来说 list.php 有个list.inc.php,后者包括所有的函数和功能让list.php使用,这也不外乎是个好方法,可是没有仔细想过,后来稍微研究.net了一下,有点异曲同工。
      好了,以上是我的一些心得,不知道还有什么好的方法没有,那要看广大的网友了,毛主席说过人多力量大。
posted @ 2006-10-11 15:57 jacky wu 阅读(231) | 评论 (0)编辑 收藏

2006年9月26日 #

      信息分页的问题似乎不是很难,需要改变原来信息的属性,比如这条信息属于无子页的,如果有子页,另外加入子页序号就可以了,显示的时候没有特别要求显示无子页的记录,等读到这条记录是,查询是否有子页,如果有就生成翻页就可以了,应该说是满简单的方法,或者干脆建立一张子页信息的table,后者虽然开销多一点,可能速度会快点,编码也方便点。信息模块基本就是这些重要的了,table方面,一张大类表,一张小类,一张信息,一张子信息,这样应该就可以了。上传图片也不难,编辑这块,如果客户懂html,最好就放一个textarea就可以了,这样显得专业,而且,页面不会太乱,不懂的话FCKeditor是个不错的选择,类似word一样。
      2、产品模块,这块应该很简单,类似呀,不过相对不同的产品可能有不同的参数,如果追求速度,不可定制,专用性强,那就把参数定死了,如果想做得通用些,那么需要多加几张表,产品类别也做成无限级。如何让系统定制参数呢,最简单的就是加table,把属性值添加进去,当然是在正式运营之前,所以在这些之前必须有个良好的后台管理系统(Backend Manager),鉴于这个比较难,还是最后考虑吧,先想好其他模块,考虑周密一些,然后再考虑后台参数等,也好在修改的时候有个比较啊。
        3、会员模块,我想这块对于用户来说越简单越好,可是后台可不能马虎,为了更多了解客户,知道客户的很多信息,难道只有让他/她/它填写很多资料吗?当然不,可能一些问答、反馈、抽象、积分更加吸引客户吧,所以,会员管理部分,除了有积分、等级、折扣等,还可以添加许多功能,当然并不指望在编码的时候能够把所有功能加上去,最好就是有个扩展的机制。
         另外,会员的订单(order )、购买记录(order list ,can search old order)、购物车(cart)、收藏夹(wish list)等等功能,都是不能缺少的。
         除了后台管理,似乎一切都很完美,可是.....
posted @ 2006-09-26 23:02 jacky wu 阅读(242) | 评论 (0)编辑 收藏

2006年9月25日 #

       写这篇文字的时候,一直是在寻找一种自认为比较合理的web开发模式,或者更确切说是一种方法,一种潜意识的标准,说起标准来,有人会说垄断,那我只能说别把话题扯远了,因为我要记录的是在某一环境下,某个前提下所进行的web开发,因此,在一种或者几种原则的框架下,自然要舍弃某些东西。那就是传说中的需求!我喜欢清晰的需求。
      那首先,什么是需求呢?是通用的web site呢,还是某一类系统呢?我想很明显的是web,页面架构很清晰的那种,但是要有一定范围的扩展性,比如颜色,模块位置,语言,当然作为一个开发者还可以自己添加模块,作为一个普通用户也要易于安装。非常高兴的是本人对做出来是什么东西不感兴趣,主要考察的是标题所说明的,web的结构,那就挑个中等难度的,类似oscommerce的东西,没有界定具体类型,例如b2c,c2c或者其他,支持用户,产品,信息模块,当然还有购物车,收藏夹等通用的模块,后台管理少不了,权限却是个大问题,这个稍后再谈呢,还需要研究一下。图片什么的都不谈,用最简单的实现。
        好了,以上粗略可以知道自己想做什么东西了,那么要谈一下原则了,作为一名具有多年(其实四年都不到)web开发者,也是2个网站的失败经营者(自己先寒一个),通过自己的经历,总结出了几点。第一,当然是速度和安全,一个在虚拟主机上的站点,选择了好的提供商,我是不会指望供应商承诺速度会有多快的,原因很简单,一个服务器,多个虚拟主机,共享带宽,流量一定,具体来讲就是马路的问题的,所以也不想多说了。安全方面,程序语言我选择php,一个是开源,另一个,黑客哥哥们看到开源总归放一马的吧,怎么说也是自己人哦,是吧。另外,该检验的都要检验,JS做一下检验,php也做,够安全了吧。
        休息一下,明天继续
        漫长的旅程确实是需要休息和放松的,那是为下一段旅途做准备。
        需求基本理解,大原则明确,接着我需要顶着XP极限编程的帽子工作了,似乎这种方法的工作属于牛仔式,可是要知道,真正的xp要把工作安排到小时级,就是说每个小时都要安排好该做什么,显然,像我这样单枪匹马是不现实的,谁来和我探讨呢?自然是你,我亲爱的朋友,回复吧,给我blog来点生气,呵呵。
        那么如何开始呢?我想首先是抽象,我不想解释抽象的含义和好处,难道又要引经据典?我讨厌那样。
        最前面要规划站点的结构,大家共同的标准已经有一些了,比如根目录下放一些公共文件,比如/image,/script,/style,等等,还有人写/picture,/js,/css,内容是一样的,名称不同罢了,还有人把他们写成复数,那都不是最重要的,重要的是,站点里所有的页面都能找到他们想要的图片,javascript文件,样式表等,所以为了方便,本人觉得还是放弃dreamweaver,啊?这和dw有关系吗,请原谅我,可能我应该直接告诉各位原因,但是为了显示我的聪明才智,我使用了一种写文章的修辞手法,他也许叫做欲仰先抑,看到这里不要扔鸡蛋。dw是所见所得的开发工具,为了让站点可扩展,我觉得把路径全部写进一个configure文件里面,在将configure包含进所有需要的页面,也就是在页面里连接图片,js,css的时候路径都是一个常量,这也就意味着在dw里不能看到效果了,也许还有其他ide可以做到,不过本人还是偏爱utraedit,这是一个轻量级的文本编辑器,可以像dw一样建立一个工程,可能缺乏许多功能,但是开发,绝对够了,如果再稍大一些的项目,用eclipse+php的插件,那就更爽了,即时的代码差错,超棒。
        另外为了支持多语言,需要一个language包,基本思路是在language下有个语言文件,比如english.php,包含公共的语言,比如翻页,标题,公司名称等等,然后相对应的english目录下面建立相对于网站的每一个页面的语言页面,比如/index.php,那么可能的情况是/.../language/english/index.php,然后将这个语言包含进去。如果文件比较庞大,可能比较难找,或许可以在同级目录下建立/english/english_index.php,或者干脆/english_index.php,这个虽然仔细想过,可感觉真正实施的时候可能会碰到其他问题,本人只试过第一个方法,各位观众也可以看看,这个有个例子,www.oscommerce.com,这个开源系统,很不错,基本上function部分我都参照这个写的,没有采用class,事实上,基于快速的原则,我也不准备用class,如果需要php5的话可能会考虑class,但是如果需要动用到class时,那么说系统足够大了,那我还不如用java了。哦,对了,记得页面编码为utf-8。
        接下来我需要确定确定一下基本模块先,1、信息模块,这是必不可少的,一个好的商业性网站,必须有个平台推销自己的产品,虽然可能某些信息和产品没有任何关系,但是如果能够吸引网民来稍微看一下,那么很有可能这个网民甚至是这个网民的网友将会成为你网站的用户,那的确是一个不一样的称谓,我喜欢我的用户,我喜欢流量飙升。所以一个很好的信息系统是很必须的,而且等站点完成后,必须好好管理它,至少2天更新一些东西,这样,用户就有新鲜感,我也喜欢新鲜感。说到这里,本人认为可能有2中主要的信息系统,虽然他们的主要目的不外乎是宣传自己,可能是宣传网站,可能是宣传某个实体,比如企业。所以很多企业老板为了增强企业的标志性,比如某一条信息,记录某某企业获得2006年全国最佳某某奖,那么我打赌,企业老板肯定需要让2006年所有的用户在首页看到这条信息,甚至是2007,2008年,那是个宣传自己品牌很好的办法,不是吗?那么,假定我把这条信息放进企业新闻里面(企业新闻就是一个类别),如果我按照时间排序,让最新加入的信息出现在用户视线范围的最前端,显然老板不会高兴的,我就可能需要一个排序的小功能。信息可能有好几种,很多用户自定义的类别,当然更需要排序了,或许有时候需要用图片来代替类别文字,因为美工认为图片会更好看,鉴于字体的原因,也只能做成图片。所以可能在编辑类别的时候需要上传一张代表这个类别的图片。既然有类别,那么纵向来看,需要多少等级的类别呢,很多小型站点主要一级类别+信息就可以了,稍大的需要大类、小类、信息这种形式的,那就是二级的分类,那么一个内容发布系统呢?显然为了扩展,可能需要无限类了。通常选择是痛苦的,所以在这个时候之前我所说的原则和需求就可能是很重要的参照了,要明白,不管信息有多重要,主要的需求还是产品,你需要卖商品出去,这个是商业互动型网站,所以本人认为没有特别需要使用二级分类就完全可以应付了,太多的分类自己管理也麻烦,还不如多花些时间和精力在页面上面,信息的页面形式多一些,可能有文字类或者图片类的,一个图片新闻,很不错的想法,或者每条信息有分页功能,如果,有一条新闻是世界500强企业名录,每个企业一个名字,或许需要一些文字说明,我想没有人会傻到把500个企业名称和详细说明放到同一页面上吧,如果确实有这么一些人,那么肯定有特殊原因,我可不想得罪人哦。一条信息的分页处理,这确实是一个比较麻烦的实现,我需要画一些图来好好考虑一下,该如何操作,所以,稍微休息一下......

posted @ 2006-09-25 15:11 jacky wu 阅读(283) | 评论 (0)编辑 收藏

2006年8月31日 #

时隔半年多,继续把机器上收集的文章发布下去,继续把学习的热情延续下去,不能在茫然无措下去,坐以待毙不如破釜沉舟,决定了.....哇哇哇

~~~~~~~~~~~~~~~~

为了blog美观,甚至是因为我古怪的性格,我想就在这里更新算了,不要发布新的文章了。另外说明一下,类别:ASP & Web,JAVA,PHP,SQL,其他,也许将来多个perl,这些都是网上摘录的,哪位兄弟觉得我侵权了,需要注明或者删除的,发email给我,我的email是 jackywjj at 126. dot com。谢谢。
其他的类别都是原创哦,所以如果看了稍微支持一下,再次感谢。

posted @ 2006-08-31 09:32 jacky wu 阅读(197) | 评论 (0)编辑 收藏

2005年12月23日 #

今天很早起来更新了一些文章,很多都是我机器上收藏的,都是非常有用的,这样以后要查直接上来查,等东西多了就导出xml,就更方便了,省得我自己编辑,^_^
posted @ 2005-12-23 10:50 jacky wu 阅读(223) | 评论 (0)编辑 收藏

2005年7月8日 #

谢谢各位!
posted @ 2005-07-08 11:46 jacky wu 阅读(224) | 评论 (0)编辑 收藏