论坛首页 Java企业应用论坛

开发JavaWeb项目用换才做系统么

浏览 13424 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (14)
作者 正文
   发表时间:2012-02-09  
lnaigg 写道
开发环境用Windows没得说,但是服务器环境还是linux方便。

也不需要给客户做什么培训,出了问题让他重服务器就行了。

我想回答一下这个问题:

可能你们公司做的服务很牛X,但是我们公司的现实是,如果采用Linux下的/etc/init.d/下放置启动脚本的方式,重启服务器后,我们的服务很少能正常启用的。

我们的服务要调用的东西很多,有数据库,有硬件,要考虑启动的优先顺序,要考虑初始化条件是否具备等等,总之是,让Linux重启后自动启动相应的程序,理论上可以做到,但是实际应用起来很少能按照理想状态把服务给启动好的。

所以,像你说的“出了问题让他重服务器就行了”,Linux要达到这种程度,你的系统部署人员不折腾来折腾去是不可能做到的,除非你把所有的折腾时间都放在公司开发周期内,自己把软硬件都折腾好了,然后这些折腾时间不算 。

但是即使这样,要做到你说的“出了问题让他重服务器就行了”也是非常困难的,你让一个对Linux一窍不通的人来维护你们的Linux服务器,无异于天方夜谭,如果你只想让维护Linux服务器的人除了问题就按重启按钮硬重启,那过不了半年你们的服务器硬盘就挂掉了。

我的团队前前后后有过10几个程序员,他们每天使用公司Linux上的svn、Oracle数据库和企业内网web应用,但是如果你让他们管理一下Linux服务器,他们连怎么去连接Linux都不知道。

当然,我们公司的程序员都是垃圾,但是你敢保证你的客户比我们这边这些每天和软件打交道的垃圾程序员更懂Linux?

给客户一台Linux,然后寄希望于客户不雇佣专门Linux 、 MySQL运维人员的情况下就跑得顶呱呱,那简直是天方夜谭。
0 请登录后投票
   发表时间:2012-02-09  
除非系统管理员就是用windowsXP的普通用户,用windows server才有必要,用户只需要像操作普通电脑一样使用服务器。不过,没用过linux的人能也不能称之为一个合格的系统管理员吧。
0 请登录后投票
   发表时间:2012-02-09  
java_user 写道
除非系统管理员就是用windowsXP的普通用户,用windows server才有必要,用户只需要像操作普通电脑一样使用服务器。不过,没用过linux的人能也不能称之为一个合格的系统管理员吧

问题就在这里,你给客户安装几套Linux系统,就意味着让客户去雇佣一两个Linux / MySQL 维护人员,而问题的关键是:Linux / MySQL管理员的薪水成本要比 Windows管理员的薪水高很多,而且难找。

Windows Server下的自启动服务、计划任务等,有傻瓜化的GUI操作界面,简单易用,稳定可靠。

我们给客户部署的Windows系列服务器,真正做到了楼上lnaigg 同学所说的“出了问题重启一下就可以了”,客户那边都不用配备专门的系统管理员。

而我们给客户部署的RedHat系列服务器,要么是客户专门雇佣最少一个系统管理员,要么是出了问题就直接电话联系我们,烦不胜烦,有时候你都回家吃饭了,突然一个电话过来,弄得你烦得都想把眼前的桌子一脚踹飞!

我的总结就是:
  • 如果一个企业的服务器规模很大,运维人员的薪水相对于服务器软件授权来说已经不是什么问题,像淘宝、京东这类的大公司,那么他们的服务器操作系统应该优先选择Linux/Unix。
  • 如果一个企业服务器规模很小,也就三五台Server,雇佣专门的Linux / MySQL运维人员每年所耗费的薪水,相对于Windows那点授权已经高出很多,尤其是非技术性小企业,这类小企业应该优先选择Windows Server系列,省心省力,即使雇佣专门的系统管理员,也最多一个就够了,而且相对于Linux运维人员,会Windows的人更多,更便宜。
  • 而个人电脑所使用的桌面操作系统,那是绝对不应该选择Linux/Unix,如果你硬要给客户或者自己的个人电脑装个难用的Linux Desktop,那十足是自虐,是让软件日夜折腾自己,而不是软件为自己服务。

  • 个人电脑锁使用的桌面操作系统,应该优先选择Windows,然后是Mac OS X,最后实在没办法了,最后的选择才是Linux Desktop系列这样非常难用的系统













0 请登录后投票
   发表时间:2012-02-09   最后修改:2012-02-09
我做软件的原则是:
  • 易用性大于天;
  • 能让客户点一下鼠标的,绝对不能让用户点两下鼠标;
  • 绝对不能把命令行暴露给客户,永远给客户的是简单的GUI图形界面;
  • 永远不要让客户自己改配置文件,如果需要客户定义配置,一定要提供傻瓜化的图形界面;
  • 优先给客户制作屏幕录像 和 PPT幻灯片,如果客户不要求,不要给客户长达数百页的使用说明,因为我自己从来不看超过10页的软件说明,90%的客户也不会去看说明,只拿来忽悠一下领导而已,而且即使客户看,他也看不懂,最后还得靠屏幕录像来得实在;  软件说明可以有,但是不要试图用文档就让客户学会使用软件,文档多数情况下只是摆设,真正让客户会用软件的,要靠屏幕录像、PPT和培训;
  • 不要想当然地认为客户不会点这里,不会点哪里,不会输入这个字符,不会输入那个字符……,实际的情况是:所有你想不到的输入,客户都会输入;所有你认为客户不会点击的按钮,客户都会点一遍;所以你认为客户不会进行的操作,客户都会给你玩儿一把,所以不要想当然地认为客户都是技术人员,要把客户看成是三岁小孩子,哪儿能点就点那里,作为软件开发者,你要把你的这些“想当然”扼杀在技术层面;


我设计软件开发框架的原则是
  • 能让使用框架的程序员写一行代码的,绝对不让使用者写两行代码;
  • 当性能与易用性相冲突时,永远选择易用性,性能只能排在易用性之后的第二位;
  • 给使用者统一的调用习惯,比如使用DAO访问数据库,如果在Service中是这样:

HelloWorld bean = dao.getOne(HelloWorld.class,SqlParam.add("id",100));

  • 那么在所有使用DAO的地方,都要这样,绝对不能在有些地方换成   HelloWorld bean = dao.query("HelloWorld","id",100);   要给使用者统一的使用体验,同样的功能,调用方式永远一样,绝对不能出现第二种调用方式;
  • 不要让使用者修改任何框架配置,把所有的配置封装在框架jar包中,不要让框架使用者关心任何配置;
  • 把所有能封装的基础功能都封装了,让框架使用者只需要一个标签,就能实现一个负责的功能,比如,页面中,框架使用者只需要写:


<george:pagination settings="default" />


  • 就可以实现分页。
  • 只需要写:


<george:tree settings="default" data="hello/world?type=xml" />


  • 就可以渲染一棵菜单树,等等。
  • 框架被使用者调用的接口方法,一定要写JavaDoc注释,不要使用拗口的词语来描述,要使用通俗易懂的语言来描述本方法的作用和参数的含义;
  • 千万不要让框架使用者写任何字符串作为一种含义的定义key,要给框架使用者提供相应的constants 和 definition 定义,让框架使用者通过调用静态常量来引用一个定义,不能让框架使用者自己使用写死字符串的方式来定义常量含义。
  • 给团队成员介绍框架,要从基础开始介绍,因为很多程序员,开发软件也有两年了,但是连jsp页面中的java变量、js变量、jstl标签都搞不清楚渲染顺序;连URI是什么都不知道。  所以,给团队成员培训框架时,一定要从基础开始讲起,不能丢一个框架给团队就完事了;



这一切,归根到底就是一句话:软件易用性大于天,让软件为人服务,人不能为软件而折腾
所以基于以上观点,我总是会推荐Windows系列操作系统,然后是Mac OS X系统,而不是易用性很差的Linux。
0 请登录后投票
   发表时间:2012-02-09   最后修改:2012-02-09
george_space 写道
advantech 写道
george_space 写道
george_space 写道
中小型公司,人力成本占到整个公司总成本的90%,人力成本大于天,你用Linux剩下的那一点点授权费,早就被维护Linux所额外耗费的大量人力费用给占用了,你自己亲自参与过小公司的运作,就知道相对于软件授权剩下的那点费用,人力资源成本是多么的可贵了,。

除非这个小公司正好是软件开发公司,即使不雇佣专门的Linux运维人员,普通员工也能很好地维护Linux服务器,甚至除了公司前台,公司从老板到普通员工,本身都是软件/Linux高手,所以这类IT技术类型的小公司体会不到Linux带来的额外人力成本。

但是,很多的公司不是从事软件开发行业的,如果他们有三五台Linux服务器,就得专门配备两个Linux/MySQL运维,这两个人一年的薪水就要15万,你对比一下,这样合算么?


不要把所有的公司都看成是软件开发公司好不好,大部分公司的员工连浏览器的地址栏是什么都不知道!


小公司你要维护啥?列个单子出来让我们瞅瞅。

典型的方舟子逻辑。

首先,给你列什么单子?
然后,凭什么你让我给你单子我就给你列单子,典型的方舟子逻辑,韩寒没必要向方舟子出示那么多证据。

再然后,你大概在巨型企业待久了,不知道还有n多小电子商务网站、小呼叫中心、小橡塑厂的CRM……
这些小企业,通常是三五台服务器,最多30台客户端,这样的中小型企业,你给他部署Linux,然后想当然地认为他们的“负责买电脑的人”就来搞定这一切的维护,那是天方夜谭,他们不雇佣两个专业Linux/MySQL运维人员根本就搞不定。

面对这样的企业,最好的选择就是,服务端和客户端清一色的Windows,省心省力,一般这样的企业应用都多是内网应用,因为上不了网,员工也不会用这样的电脑玩什么游戏,看什么AV,所以中毒的可能性也很小,Windows的易用、简单足够了,省心省力,这样的企业最多雇一个水平一般的Windows网管就搞定了。


三五台服务器也要专门找人来维护服务器?看来更小的的公司你也没呆过,现在小公司通常的做法一般都是由实施公司把软件安装调试好,自己的运维人员只管服务器硬件的工作状态,确实需要自己维护软件的很多都会考虑运维外包,自己根本就不会专门找人来维护服务器。比你说的更省成本。

还有,你确定你用过mac os x吗?windows和mac os x 比易用性?看来你也就这水平了。用过了再来评论吧。别拿win的眼光来看mac os x说这没有那没有,该有的都有,只是你不知道。

另外你们全家都是方舟子。
0 请登录后投票
   发表时间:2012-02-09   最后修改:2012-02-09
advantech 写道
george_space 写道
advantech 写道
george_space 写道
george_space 写道
中小型公司,人力成本占到整个公司总成本的90%,人力成本大于天,你用Linux剩下的那一点点授权费,早就被维护Linux所额外耗费的大量人力费用给占用了,你自己亲自参与过小公司的运作,就知道相对于软件授权剩下的那点费用,人力资源成本是多么的可贵了,。

除非这个小公司正好是软件开发公司,即使不雇佣专门的Linux运维人员,普通员工也能很好地维护Linux服务器,甚至除了公司前台,公司从老板到普通员工,本身都是软件/Linux高手,所以这类IT技术类型的小公司体会不到Linux带来的额外人力成本。

但是,很多的公司不是从事软件开发行业的,如果他们有三五台Linux服务器,就得专门配备两个Linux/MySQL运维,这两个人一年的薪水就要15万,你对比一下,这样合算么?


不要把所有的公司都看成是软件开发公司好不好,大部分公司的员工连浏览器的地址栏是什么都不知道!


小公司你要维护啥?列个单子出来让我们瞅瞅。

典型的方舟子逻辑。

首先,给你列什么单子?
然后,凭什么你让我给你单子我就给你列单子,典型的方舟子逻辑,韩寒没必要向方舟子出示那么多证据。

再然后,你大概在巨型企业待久了,不知道还有n多小电子商务网站、小呼叫中心、小橡塑厂的CRM……
这些小企业,通常是三五台服务器,最多30台客户端,这样的中小型企业,你给他部署Linux,然后想当然地认为他们的“负责买电脑的人”就来搞定这一切的维护,那是天方夜谭,他们不雇佣两个专业Linux/MySQL运维人员根本就搞不定。

面对这样的企业,最好的选择就是,服务端和客户端清一色的Windows,省心省力,一般这样的企业应用都多是内网应用,因为上不了网,员工也不会用这样的电脑玩什么游戏,看什么AV,所以中毒的可能性也很小,Windows的易用、简单足够了,省心省力,这样的企业最多雇一个水平一般的Windows网管就搞定了。


三五台服务器也要专门找人来维护服务器?看来更小的的公司你也没呆过,现在小公司通常的做法一般都是由实施公司把软件安装调试好,自己的运维人员只管服务器硬件的工作状态,确实需要自己维护软件的很多都会考虑运维外包,自己根本就不会专门找人来维护服务器。比你说的更省成本。

还有,你确定你用过mac os x吗?windows和mac os x 比易用性?看来你也就这水平了。用过了再来评论吧。别拿win的眼光来看mac os x说这没有那没有,该有的都有,只是你不知道。

另外你们全家都是方舟子。

首先,如果你的系统都需要运维外包了,说明你的系统还是可维护性太差了,三五台服务器的小企业,最好的结果是你的系统基本上不需要维护,如果需要重启了,让给公司买鼠标的小伙子登陆Windows重启一下电脑就OK;

然后,关于Mac OS X,你的臆测十分搞笑,因为我的笔记本就是Mac OS X Lion,注意,是买MacBook Pro时自带的正版Mac OS X,看看我的博客就知道我用什么操作系统了。
看到你撞到枪口上真的很搞笑,这就好像,你在地铁上向坐在身边的一个陌生人海侃某西装设计师是如何不行,结果等你海侃完了,人家只说了一句话:我就是你海侃的那位服装设计师。

所以,最后得出的结论是:你的凭空臆测只能像一个人,那就是:方舟子,至于你们全家是不是都是方舟子,我不会像你一样去臆测,但是从你的回帖可以看出,你是标准的方舟子臆测男 + 胡搅蛮缠男。
0 请登录后投票
   发表时间:2012-02-09  
advantech 写道
george_space 写道
advantech 写道
george_space 写道
george_space 写道
中小型公司,人力成本占到整个公司总成本的90%,人力成本大于天,你用Linux剩下的那一点点授权费,早就被维护Linux所额外耗费的大量人力费用给占用了,你自己亲自参与过小公司的运作,就知道相对于软件授权剩下的那点费用,人力资源成本是多么的可贵了,。

除非这个小公司正好是软件开发公司,即使不雇佣专门的Linux运维人员,普通员工也能很好地维护Linux服务器,甚至除了公司前台,公司从老板到普通员工,本身都是软件/Linux高手,所以这类IT技术类型的小公司体会不到Linux带来的额外人力成本。

但是,很多的公司不是从事软件开发行业的,如果他们有三五台Linux服务器,就得专门配备两个Linux/MySQL运维,这两个人一年的薪水就要15万,你对比一下,这样合算么?


不要把所有的公司都看成是软件开发公司好不好,大部分公司的员工连浏览器的地址栏是什么都不知道!


小公司你要维护啥?列个单子出来让我们瞅瞅。

典型的方舟子逻辑。

首先,给你列什么单子?
然后,凭什么你让我给你单子我就给你列单子,典型的方舟子逻辑,韩寒没必要向方舟子出示那么多证据。

再然后,你大概在巨型企业待久了,不知道还有n多小电子商务网站、小呼叫中心、小橡塑厂的CRM……
这些小企业,通常是三五台服务器,最多30台客户端,这样的中小型企业,你给他部署Linux,然后想当然地认为他们的“负责买电脑的人”就来搞定这一切的维护,那是天方夜谭,他们不雇佣两个专业Linux/MySQL运维人员根本就搞不定。

面对这样的企业,最好的选择就是,服务端和客户端清一色的Windows,省心省力,一般这样的企业应用都多是内网应用,因为上不了网,员工也不会用这样的电脑玩什么游戏,看什么AV,所以中毒的可能性也很小,Windows的易用、简单足够了,省心省力,这样的企业最多雇一个水平一般的Windows网管就搞定了。


三五台服务器也要专门找人来维护服务器?看来更小的的公司你也没呆过,现在小公司通常的做法一般都是由实施公司把软件安装调试好,自己的运维人员只管服务器硬件的工作状态,确实需要自己维护软件的很多都会考虑运维外包,自己根本就不会专门找人来维护服务器。比你说的更省成本。

还有,你确定你用过mac os x吗?windows和mac os x 比易用性?看来你也就这水平了。用过了再来评论吧。别拿win的眼光来看mac os x说这没有那没有,该有的都有,只是你不知道。

另外你们全家都是方舟子。

mac os也就是操作界面做的好,实质是unix系统,作为一个太小众了。软件资源也很少,关键是硬件兼容性也不好,如果安装在非苹果机器上即使硬件型号很接近苹果的机器也会有问题,很难普及,所以还是相信大众的选择。
0 请登录后投票
   发表时间:2012-02-09  
george_space 写道
lnaigg 写道
开发环境用Windows没得说,但是服务器环境还是linux方便。

也不需要给客户做什么培训,出了问题让他重服务器就行了。

我想回答一下这个问题:

可能你们公司做的服务很牛X,但是我们公司的现实是,如果采用Linux下的/etc/init.d/下放置启动脚本的方式,重启服务器后,我们的服务很少能正常启用的。

我们的服务要调用的东西很多,有数据库,有硬件,要考虑启动的优先顺序,要考虑初始化条件是否具备等等,总之是,让Linux重启后自动启动相应的程序,理论上可以做到,但是实际应用起来很少能按照理想状态把服务给启动好的。

所以,像你说的“出了问题让他重服务器就行了”,Linux要达到这种程度,你的系统部署人员不折腾来折腾去是不可能做到的,除非你把所有的折腾时间都放在公司开发周期内,自己把软硬件都折腾好了,然后这些折腾时间不算 。

但是即使这样,要做到你说的“出了问题让他重服务器就行了”也是非常困难的,你让一个对Linux一窍不通的人来维护你们的Linux服务器,无异于天方夜谭,如果你只想让维护Linux服务器的人除了问题就按重启按钮硬重启,那过不了半年你们的服务器硬盘就挂掉了。

我的团队前前后后有过10几个程序员,他们每天使用公司Linux上的svn、Oracle数据库和企业内网web应用,但是如果你让他们管理一下Linux服务器,他们连怎么去连接Linux都不知道。

当然,我们公司的程序员都是垃圾,但是你敢保证你的客户比我们这边这些每天和软件打交道的垃圾程序员更懂Linux?

给客户一台Linux,然后寄希望于客户不雇佣专门Linux 、 MySQL运维人员的情况下就跑得顶呱呱,那简直是天方夜谭。

弱弱的问一句,系统做好了,没有用户操作文档,没有服务器运行状态说明文档,没有监控程序么,自动重启,还有启动顺序……写shell脚本不就搞定了……
0 请登录后投票
   发表时间:2012-02-09  
djyy3273 写道
george_space 写道
lnaigg 写道
开发环境用Windows没得说,但是服务器环境还是linux方便。

也不需要给客户做什么培训,出了问题让他重服务器就行了。

我想回答一下这个问题:

可能你们公司做的服务很牛X,但是我们公司的现实是,如果采用Linux下的/etc/init.d/下放置启动脚本的方式,重启服务器后,我们的服务很少能正常启用的。

我们的服务要调用的东西很多,有数据库,有硬件,要考虑启动的优先顺序,要考虑初始化条件是否具备等等,总之是,让Linux重启后自动启动相应的程序,理论上可以做到,但是实际应用起来很少能按照理想状态把服务给启动好的。

所以,像你说的“出了问题让他重服务器就行了”,Linux要达到这种程度,你的系统部署人员不折腾来折腾去是不可能做到的,除非你把所有的折腾时间都放在公司开发周期内,自己把软硬件都折腾好了,然后这些折腾时间不算 。

但是即使这样,要做到你说的“出了问题让他重服务器就行了”也是非常困难的,你让一个对Linux一窍不通的人来维护你们的Linux服务器,无异于天方夜谭,如果你只想让维护Linux服务器的人除了问题就按重启按钮硬重启,那过不了半年你们的服务器硬盘就挂掉了。

我的团队前前后后有过10几个程序员,他们每天使用公司Linux上的svn、Oracle数据库和企业内网web应用,但是如果你让他们管理一下Linux服务器,他们连怎么去连接Linux都不知道。

当然,我们公司的程序员都是垃圾,但是你敢保证你的客户比我们这边这些每天和软件打交道的垃圾程序员更懂Linux?

给客户一台Linux,然后寄希望于客户不雇佣专门Linux 、 MySQL运维人员的情况下就跑得顶呱呱,那简直是天方夜谭。

弱弱的问一句,系统做好了,没有用户操作文档,没有服务器运行状态说明文档,没有监控程序么,自动重启,还有启动顺序……写shell脚本不就搞定了……

首先,把一个软硬件系统卖给客户,客户肯定会要求提供文档,所以,文档是少不了的,但是,如果你希望客户看文档学会操作软件、维护系统,那是不现实的,遇到什么地方不会了,客户第一反应是马上给技术方打电话,要求提供技术支持;或者直接让技术方派人过去。
文档只是摆设,寄希望于客户看文档弄明白维护,那是不现实的,没有客户会去看你写得文档,即使看,他们也看不懂,关键是,没人会去看。

所有的客户都是100%的极度懒汉,没人会去琢磨你写得那100%页文档,不是所有的客户方都是IT行业的客户,大部分客户是传统行业,卖保健品的、卖化妆品的、忽悠人搞商业培训的……

你指望这样的公司去读你那100多页文档,那太不现实了,文档只是摆设,客户懒到连文档目录都懒得去看。

最后,关于Linux shell 开机自启动软件服务,怎么说呢?就是:理论上行得通,实际实行起来也可以,但是就是时不时给你来那么一下,要么是重启以后只把端口给你占用了,服务却没真的起来;要么是靠shell起来的服务总是会报错,手动再启动一下服务却没有问题……,诸如此类,弄得人心烦意乱。

所以,能不自找麻烦地上Linux,我是尽量不给客户部署Linux。
0 请登录后投票
   发表时间:2012-02-09  
每个人喜欢的不一样嘛

也有很多人喜欢win这样简单的东西

但是win费钱也确实是真的

很多问题如果linux上遇到在win上同样会遇到

如果一个系统管理员,有一定水准的话,相信也是可以摆平的。

当然 如果管理员只会抱怨我怎么启动不起来 linux的命令是神马  遇到这种管理员

神也罩不住
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics