最近有一个项目,在讨论是用.NET还是PHP开发,这个讨论并非基于语言的优劣性,而是根据实际环境、情况考虑的结果。
这是以前开发、现在用着的一个web系统,类似mis的一个业务系统,他的一个相对独立一些的子系统(和其它部分联系也有,但比较少)。原先使用JSP/java开发,现在维护和开发都没有java的人了,所以必需要换开发语言。系统的逻辑处理相比之前有不少变化,但大的过程没有动,UI方面也有许多需要改,并且想更换数据库,把以前写在存储过程中的逻辑搬出来,便于维护。系统平台方面,虽然都是跑在apache/tomcat下,但以前是windows平台,打算迁移到Linux下。大概就是这么个样子吧。
支持使用.NET、不用PHP的理由有:
- 开发团队对.NET熟悉、熟练。
- 系统平台的切换可以以后再作。
- 开发时间太紧、任务不少,用PHP还要现学,怕完不成。
支持使用PHP,不用.NET的理由有:
- 坚持大环境的转换(从windows到Linux,不考虑mono之类的东东)。
- 以后再作=不作,能用的系统谁没事出钱让你再改一遍?
- PHP学习很快,有人带。
- .NET对维护不利,和svn配合不畅,在运行处无法直接修改小错误(必需编译,开发方不在现场,响应速度满足不了需要,当然只是在说小错误)
- 优先将紧急的任务先完成,争取到一些时间后再完善周边功能。
其实老实说,主张使用PHP是带有一些个人色彩的,但我觉得开源、Linux是大方向,及早动手对以后的工作有利,并且Linux下的管理明显要比windows要方便很多,对于要使用几年的系统来说这个投资应该是很“值”的;并且我也主观臆断一下,开发方在学习新的开发语言上是有“惰性”的,毕竟现在的人员配备都是.NET系的,学习不光耗时耗力,可能还会牵涉到人力成本的上升。
矛盾一:任务、时间、质量。
矛盾二:仅仅是完成任务 VS 系统平台迁移的总体部署
矛盾三:如果我有时间,那我有能力和信心让PHP发挥出应有的威力,可我既不属于开发方,也没有足够的时间(当然一些辅助性的工作或帮忙还是没有问题的)。
该如何选择呢?我这里虽然人少,但应该都是技术圈的人,大家给出出主意吧,或者转到其它人多的地方也行(恕我很少跑坛子),如何使PHP在短时间内让几位.NET系的开发人员学会,并做出质量不太差的系统?
开发方人员有code基础,我这里有些PHP经验,但现成可用的架构没有,adodb和smarty是肯定要用的,系统架构难道不成现搭一个?头疼ing。。。
传统的IT企业真的是在windows上“陷”得太深了,开源的路依然漫长哪~~
Update @ 2008-06-13
我们的选择结果: 忙碌的5月
Related posts
人类从来没有停止过探索太空的步伐,无论是科学幻想或者是把什么东东真的送到天上去,可我们不得不面对一个现实,在没有有效的运输工具被发明出来之前,我们基本上只能等着外星人来串门了。
换一个思路,太空中到底有没有生命?虽然现在理论上已经“证明”了这一点,可谁也拿不出有效的证据来。UFO的传言也时常出现但众说不一,美国51区依然神秘。与其这么麻烦,我们为什么不把地球上的生命“传播”出去呢?现在知道的就是原来抛出去过一个留声机什么的,那玩意儿搁现在的地球上都落后了,天知道能被外星人当什么看。再说了,茫茫宇宙,找个星星都困难,发现一台小机器的几率又有多大呢?
所以啊,想增加发现或者被发现的几率,弄不了太大的东西,只能靠数量补,搞“人海战术”了。最小的生命体大概就是细菌、病毒什么的了,这些东西体积又小,又不值钱,最重要的,适应能力强,高温黑暗无氧都难不倒他们,把这些东西传播到太空中,让他们随宇宙里的各种“风”四处传播好了。
不用担心这些东西再被重新传播到地球上,给人类带来什么危害,因为他们本来就产生于地球,既然以前我们能够对付他们,将来也能。
这样一来,也许在将来的某一天,某处的外星人会收到来自地球的礼物,凭借他们强大的科技,追本溯源找到我们,岂不皆大欢喜?另也许在将来的某一天,当我们的后代的后代的后代与外星人相聚的时候,他们会说:“我们在800x年爆发了非典疫情,在900x年流行禽流感,合着都是你们地球人搞的鬼啊?”,呵呵。还也许在将来的某一天,我们会登陆到一个陌生的星球上,发现与我们同一起源,但随着完全不同的进化过程形成的“新人类”,和我们的远方亲戚亲密接触不知感觉如何。
涉及到地球上最早的生命体的问题,有一说是“古菌、细菌和真核生物”,并不影响我的想法的施行,不管科学的答案怎样,扔太空里就是了。一公斤就能装很多哦,超值的“大礼包”。
你能一眼找到下载链接在哪儿么?

Update @ 2010-08-29
请看这里:微生物在太空存活了553天
Related posts

我想说这部电影不好看的人,要么是没看进去,要么是太年轻。铁木真的故事已经妇孺皆知了,能以外国人的身份在蒙古国拍中国人的电影,拍到这种程度,知足吧。
蒙古的草原不算完美,大概是季节不对,有些镜头中花花草草蓝天白云是挺漂亮,另外一些镜头马儿跑起来照样是尘土飞扬,不愧为沙尘暴的发源地之一。打打杀杀的场面咱们也见多了,虽然比不上欧美的大片场面壮观,相对于东方电影来说也算不错了,呼啦啦的人也是一大片一大片的,rmvb版就更加分不清那些是真人那些是特技了。但这些不影响真正的剧情,铁木真和札木合的安达之交,铁木真为父的心酸才是精髓啊。
本来想着这部电影还是挺适合孩子们看的,可想到那几个砍人喷血的优美镜头,以及从小就弑兄的事情,还是罢了。
反町隆史虽然个子是不太像蒙古大块头,可消瘦的脸庞却更能衬托铁木真的沧桑,这可是重要的剧情需要,像大块头有大智慧里刘德华那样用模具“强身”日本人又不是作不出来。但是,我一直有一个深深的问号,每次呐喊怎么都那么嘶哑,看过的其它日本片也几乎都是这样,这大概也是日本语言的特点吧,所以有人说日剧味儿太浓了。其实看过一些韩剧,韩语说起来也是大呼小叫的,都差不多,还是中文好,绵甜静柔啊。还有,那么大一片人,没有扩音器,谁能听见啊,风有那么大,真的内功练到家了,太阳穴高高鼓起、中气十足、会千里传音么?光顾场面大,把这头给忽略了吧。
还有,蒙古人怎么都不带盾牌啊,蒙古包里不都挂着了么,弓箭那么狠,盔甲跟没穿一个样,不重视防御,真以为自己是barbarian了。
蒙古马真是又经济又实惠,个头不高,适合东方人,操纵性强,草料肯定吃得也少,也不用豪华马厩,还能征善战,让铁木真横扫欧亚大陆,哇噻哇塞,和大众甲壳虫有得一拼。
再翻回来说两句剧情,说铁木真和札木合的安达之交,其实结拜的时候都还小不懂事,可都成了气候之后展开了一场半个蒙古与半个蒙古的战争,不仅让我猜想如果Intel和AMD的老大也是结拜兄弟会怎样。。。?与这种天翻地覆的气魄相比,什么“决战紫禁之颠”就太小家碧玉喽。
史诗片算不上,年代不够远,虚构成分太少。
花瓶式的人物,Ara柯兰,体现铁木真的凝聚力和号召力也不用如此手段吧,口口声声说要作soilder,到头来又主动献身,参政的时候在旁边补衣服,打仗时又穿着盔甲却不动手,一搭没一搭啊。哦对了,札木合的弟弟暗杀那一场戏的需要,远程武器还是厉害啊,札木合的弟弟要是也会飞刀就好了,野蛮人玩暗杀的确不行哪。总是觉得野蛮人柯南里面的阿诺和女剑士更般配一些,啧啧。。。
光瞎说了,盼望着哪一天,我们也到韩国去拍拍什么太阁立志传、信长之野望、德川家康什么的,别老让日本人玩咱们的三国志、西游记。
官方网站用Firefox进不去,残念。。。对于电影的官网来说好像这种情况很少见哦。
======== 分隔符,第二场电影 =========

之所以在这里随便写几句,是因为感觉这片子拍得太烂了,本以为揭密大兵们在伊战中的感受,谁知道一直在拿虐囚事件说事,说得还不明不白,藏着掖着,很有耐心的我都忍不住按快进了。
看完以后,没啥感觉,所以也就写不出什么来了。
Related posts
原理很简单,开一个ssh连接在后台放着,以后再有需要用到ssh到同样主机的时候,直接使用这个连接的socket文件,不用再创建连接了,同理,也不需要再进行用户身份验证。
默认是关闭的,可以在~/.ssh/config中打开:
Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
创建“Master”连接就可以用:
ssh -M -N -f fwolf.com
认证成功后会创建socket文件master-fwolf@fwolf.com:22。
其它的介绍资料也很多,我是在邮件列表中看到的,惭愧,使用ssh很久了,现在才知道,网上用ssh master ControlMaster搜索资料很多。
实际使用中,我倒有一个反面的感觉,创建了“Master”之后,一般的scp什么的操作的确是快了,可如果单独开一个ssh terminal上去的话,输入的响应速度很变慢。开始以为是这个ssh连接也重用了“Master”的原因,后来加上-o ControlMaster=no参数强制不使用Master,单独创建新连接也是一样,不知道是什么原因导致的。
仔细测试一下效果,首先在已经创建Master的情况下连接主机,执行命令并马上退出:
$ time ssh fwolf.com -C pwd
执行多次,得到的执行时间一般在0.33秒左右,然后关闭Master,再次执行这个命令,平均执行时间为6.7秒,的确是快了许多。
后来才发现,刚才对响应速度“慢”的感觉应该是错误的,可能是由于另外开着一个scp的缘故,scp完成之后,速度就快很多了。之所以会感觉“慢”,其实也是相对而言的,因为单独ssh连接上去之后,也是不中断的持续连接、持续响应,同样没有重新建立连接的时间,速度也是非常快的。开启Master主要对那些一会儿连接、一会儿断开,请求断断续续的情况最有效果。
另外,还有两个比较有用的相关控制命令:
# 检查当前是否已经创建Master连接
$ ssh fwolf.com -O check
Master running (pid=6350)
# 发送断开当前Master连接的请求,比我用的笨kill方式好多了
$ ssh fwolf.com -O exit
Exit request sent.
$ ssh fwolf.com -O check
Control socket connect(/home/fwolf/.ssh/master-fwolf@fwolf.com:22): No such file or directory
参考
Accelerating OpenSSH connections with ControlMaster
Related posts