爪哇岛的一个山洼。

2007-05-18

【那好吧】网站开通了,欢迎大家前去体验。

那好吧网站,提供了一个非常方便操作的相册。

提供了在线同时编辑多张图片,创作连环故事的功能。

2007-04-25

【2007年4月25日】和一个朋友在Email中讨论AndroMDA的内容

Question 1: In chapter 4, is it better to name CarManager instead of
CarManagerController? Is it clearer "换句话说,CarManager是用来在Struts的Action
中调用。在Struts中之所以将Action和CarManager分离出来,主要是让开发者专注于
业务逻辑的开发,而避开Action配置的Controller技术细节"。Because Controller has
special meaning in Struts' MVC model. It is ease to be confused as a reader.

I thought uses Controller the name quite to be good. The Controller expressed in Struts
MVC in fact is the model Controller, therefore cannot have the confusion.

In the androMDA documents, has the following description to struts:
------------------------------

------------------------------
Struts

In order to adhere to the spirit of Struts web development I am trying to attain
at least the same strict requirements of its MVC implementation. As opposed to
earlier version of this cartridge, you will only need to model the Controller class,
the Views and Models are implied by the dynamic processes.

Model

The model corresponds to the form bean used in the request, this bean encapsulates
all request parameters for the use-case. No more logic should be put in there. Models
are generated by looking at the parameters sent between action states.

View

In a Struts application you will use JSP pages to represent the view components.
In the application's activity graphs views are tagged with the 'FrontEndView''
stereotype.

Controller

A Controller class defines the business operations performed by the actions on the
front-end. Typically it is the user who triggers an event by clicking on a button
or an hyperlink, this event is handled by an action that will defer any business
operation to the controller.
------------------------------------------------------------


Question 2: Assume project size is 50 developers for 18 months.
60% is for back-end business logic, 30 EJB developers.
20% front-end GUI, 10 web developers, and 10% for database system, 5 engineers
as well as 10% for messaging middleware.
How difficult to define Velocity templates for median or above size project?
How difficult to maintain the Velocity templates for the project during it's life cycle?
Velocity template is based on the concept of "macro" which is notorious for
maintenance?
Is the cost of learning AndroMDA such as the complexities of configuration
worthy for over-all project supports?

AndroMDA is auxiliary means, has the very many plug-in unitscomposition (Cartridges),
also may develop own plug-in unit(Cartridges). Chooses the suitable plug-in unit
and the use in the project in theappropriate place, enhances the working efficiency.
At present said, total dependence one code production tool is not realistic.

1. Because uses the Velocity definition the templates is one kind of code
structure plan, is provides in AndroMDA default approves in situation which the
templates does not answer the purpose, own redefine, in the ordinary
circumstances revises the original templates line. In several actual project, I
basically has all used the templates which default approved, has only made the
small change. Therefore defines the Velocity templates not to be certainly difficult.

2. The Velocity templates has nothing to do with with the actual project business
logic, therefore so long as just was starting planned after, during project's life
cycle, It does not have the frequent revision after define good set of Velocity,
but also may entrust with heavy responsibility in many projects. Therefore,
Velocity templates certainly not be major problem.

3. As for the beginner, androMDA disposition quite complex, but basically all has
default approves the establishment, very easy seat of honor. To AndroMDA use more
skilled after, can think the disposition structure is very clear. Studies AndroMDA
the cost to belong to the disposable cost, after is familiar may in many projects
uses, moreover is studying and appraised other similar MDA tool time is easier.
I thought studies AndroMDA is worth very much.

Recently, my manager has recommended a new MDA tool to me, calls Acceleo
( http://www.acceleo.org), based on Eclipse and EMF framework, is easier to study
and the use. I donot have the time to study, if you are interested, you can go
have a look.

2007-04-03

【技术心得】遇到技术难题一筹莫展的时候你该做什么?

一筹莫展??如果你正遇到一个技术问题可以用这四个字来形容的话,给你一个万能的解决方法:

public static void 万能解决方法()
{
  boolean 问题解决 = false;

  // 先仔细搜索互联网或者相关技术支持论坛,查看别人是否遇到过类型问题
  google.search();

  // 耐心查阅帮助文档的相关部分100遍,直到问题解决
  for(int i=0; i<100; i++)
  {
    阅读帮助文档;
    if(发现解决办法)
    {
      问题解决 = true;
      break;
    }
  }

  // 如果问题还没有解决,到技术支持论坛发问
  if(!问题解决)
  {
    try
    {
      askQuestion();
    } finally
    {
      thanks();
    }
  }

  // 如果还没有解决,可能就是因为你的基础知识不够,请拿出耐心仔细学习基础
  if(!问题解决 && You.struggling())
  {
    if(学习到解决问题的知识)
    {
      return;
    }
  } else
  {
    // 退出江湖
    quitRiversAndLakes();
  }
}

【技术转载】选择select的当前选项触发onchange事件

我们用Select的onchange事件时,常会遇到这样一个问题,那就是连续选相同一项时,不触发onchange事件.select的onchange事件就是这样子的.你得有Change(改变),才能触发该事件....

掌握了它的特性后,相应的解决办法也很简单.

<select name=sel onchange="bao(this.options[this.options.selectedIndex].value)">
<option value="">请选择
<option value="1">Item 1
<option value="2">Item 2
<option value="3">Item 3
</select>
<script>
function bao(s)
{
txt.value+=s;
//选择后,让第一项被选中,这样,就有Change啦.
document.all.sel.options[0].selected=true;
}
</script>
<textarea id=txt></textarea>

2007-03-29

【技术心得】2007-03-29 凌晨解决 linux 中 java 对中文宋体的支持

2007-03-29 凌晨解决 linux 中 java 对中文宋体的支持

问题产生:我配置在linux上的tomcat服务器生成图片时中文,出现很多小方框,不能正常显示。
问题解决过程:通过网络上搜索资料,发现是因为linux上jre对中文支持的问题。后来发现这篇小文章:
----------------------------------------------------------------------------------------------
JDK 6 for linux的中文问题
在linux下做java开发已经好几年了,经历了jdk1.4 -> 6.0。看着java在linux下的中文问题已经在慢慢改善。到6.0不做任配置都已经能正常运行很多中文程序,但可惜还是会有些中文问题。例如运行 jedit, netbeans等程序。甚至是自己写的hello world swing程序的系统菜单都是乱码的。
但解决方法很简单,在JRE 5以上的java环境中,java会自动加载$JAVA_HOME/jre/lib/fonts/fallback目录下的字体。链接或复制宋体或微软雅黑等字体到该目录即可解决。
但官方文档上说此法只适用于swing程序,要让awt程序也支持中文,还要自己设字体配置文件。由于我很少会用到awt程序,也就懒得去改了,有需要的朋友请参考Font Configuration Files
----------------------------------------------------------------------------------------------
感谢这篇文章的作者,虽然语言不多,但对不知情者很有价值。我按照其中的这句话:
在JRE 5以上的java环境中,java会自动加载$JAVA_HOME/jre/lib/fonts/fallback目录下的字体。链接或复制宋体或微软雅黑等字体到该目录即可解决。
进行操作:
在Windows XP的字体目录下,找到simsun.ttc的字体文件,重命名为simsun.ttf,然后将该文件复制到linux的/usr/local/jdk/jre/lib/fonts/fallback/(这个fallback目录如果不存在则先创建这个目录)下面,因为 simsun.ttf 字体文件对应的是宋体,则在程序中使用的时候设置字体为“宋体”。重新启动tomcat服务,运行程序,中文正确显示。该问题解决。

由于本人之前对linux系统不熟悉,遇到这样的未知问题,但通过搜索资料,很快便解决了这个问题。

2007-03-28

【技术心得】2007-03-28 整理 mysql 在 linux 上面设置中文字符集

2007-03-28 整理 mysql 在 linux 上面设置中文字符集

先从 /usr/local/mysql/support-files/ 目录下面拷贝 my-huge.cnf 或者 my-large.cnf 或者 my-innodb-heavy-4G.cnf 或者 my-medium.cnf 或者 my-medium.cnf 或者 my-small.cnf 到 /etc/ 下面,并命名为 my.cnf,即 /etc/my.cnf(因为mysql默认会在 /etc/my.cnf 下面读取配置)。然后在 /etc/my.cnf 配置文件中加入中文字符的设置:

在[client]下面添加:
#---------------------------------------------------------------------------
# Add by widen on 2007-03-15
default-character-set=gbk
#---------------------------------------------------------------------------

然后在[mysqld]下面添加:
#---------------------------------------------------------------------------
# Add by widen on 2007-03-15
default-character-set=gbk
#---------------------------------------------------------------------------

重新启动mysql服务器,就可以生效了。

遇到mysql问题时的核心解决问题的方法:先到mysql的安装目录查找各种帮助性质的文件,如果不能找到有用信息,则查看mysql详细用户手册,或者到网上搜索相关问题。

2007-03-16

【技术心得】The drawback of AndroMDA

Hi Widen,

Since you mentioned that you used MagicDraw and AndroMDA three times for
projects.
My question is what is the drawback, the most difficulty part when using
both tools during your projects?
How you overcame this drawback for your projects? Any other weakness for
these two tools when you encountered
during your projects?

I think that email may be better than Instant Messanger for the questions.
It is no in the hurry, please reply it whenever you are free. Thanks.

Jack





Hi Jack,

It's a good question. I think AndroMDA is just a tool, so before using it, we must evaluate it all-around with actual development environment.

AndroMDA is a code generation tool that takes a UML model as input and generates source code as output. Using a series of template files (which you can customize if you wish), AndroMDA can produce source code from a UML model in any programming language. Default templates exist to generate Java code (and in particular J2EE code).

There are two primary components used in the AndroMDA system:

1. The AndroMDA code generation engine.
2. Apache's Maven project builder and management system.

As I see, the main drawback of AndroMDA is the complicated configuration, and the costs of study maybe high. when using it, I often meet some errors which I don't know (maybe this is the most difficulty part when using it), and the best solution is going to the support forum ( http://forum.andromda.org/) to search resources and ask questions. the developers are very warmhearted, they answerd all my questions quickly.

Because AndroMDA is just a tool, we should not completely depend on it. It can enhance efficiency when you use it in appropriate place.

2007-03-15

【好文共赏】北京的美好生活

转载一首诗歌,比较有趣,如有雷同,纯属巧合。

远看北京像天堂,近看北京像银行;到了北京像牢房,不如回家放牛羊。
个个都说北京好,个个都往北京跑;北京挣钱北京花,哪有余钱寄回家。
都说这里工资高,害我没钱买牙膏;都说这里伙食好,青菜里面加青草。
都说这里环境好,旺才小强四处跑;都说这里领班帅,个个平头像锅盖。
年年打工年年愁,天天加班像只猴;加班加点无报酬,天天挨骂无理由。
碰见老板低着头,发了工资摇摇头;到了月尾就发愁,不知何年才出头。

2007-03-14

【学习心得】2007-03-14 在linux平台上配置Apache服务器出现问题的解决记录

2007-03-14 在linux平台上配置Apache服务器出现问题的解决记录

今天,我在linux台式机上面配置好Apache2.2.4服务器后,在linux本机使用命令 lynx http://localhost 或者 lynx http://192.168.0.8 测试均显示正确的Apache主页,表示Apache服务器配置成功。但是当我利用局域网内另外一台装有Windows操作系统的机器的浏览器访问 http://192.168.0.8 时,一直不成功。经过查询相关资料,发现 FC6 系统默认的情况下防火墙禁止了外界对 http 服务的访问。因此我在防火墙中将这个 http 的访问权限打开,然后用Windows的机器访问Linux的Apache服务,测试成功。

总之,我遇到的这个问题,原因在于linux系统防火墙设置。

【学习心得】2007-03-14 在linux平台上安装php5出现问题的解决记录

2007-03-14 在linux平台上安装php5出现问题的解决记录

我在 FC6 上成功安装了 httpd-2.2.4.tar.gz 和 mysql-5.0.37-linux-i686.tar.gz 后,我开始安装 php-5.2.1.tar.gz,执行如下命令:

./configure -prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --with-zlib-dir=/usr/lib

在没有加参数 --with-zlib-dir=/usr/lib 之前出现如下错误:
configure: error: Try adding --with-zlib-dir=<DIR>. Please check config.log for more information.

加入参数 --with-zlib-dir=/usr/lib 之后出现如下错误:
configure: error: mysql configure failed. Please check config.log for more information.

通过查阅网上相关资料,最后问题解决。首先参数 --with-zlib-dir=/usr/lib 需要加上,另外是因为 mysql 的版本不兼容的问题,在 mysql 的官方网站上提供了一个 glibc23 的版本,我猜想如果机器上的 glibc 版本大于等于 2.3 的话,可能需要安装这个版本才行,因此我用 rpm -qa | grep glibc 查询,显示如下:
glibc-headers-2.5-3
glibc-common-2.5-3
glibc-devel-2.5-3
glibc-2.5-3
我机器上的 glibc 版本大于 2.3,因此立即重新安装了 mysql-5.0.37-linux-i686-glibc23.tar.gz 的 mysql 版本。此时再次安装 php5 时就一切OK了。总之遇到类似问题的解决办法就是多上网查询资料,多检查版本是否兼容,肯定可以解决的。

2007-02-11

【转载好文】辟邪剑法之软件工程师

恭喜,你选择开发工程师做为自已的职业
  悲哀,你选择开发工程师做为自已的职业
  本文所指的开发工程师,仅指程序开发人员和以数字电路开发为主的电子工程师。
  当你选择计算机或者电子、自控等专业进入大学时,你本来还是有机会从事其它行业的,可你毕业时执迷不悟,仍然选择了开发做为你的职业,真是自做孽不可活。不过,欢迎你和我一样加入这个被其它人认为是风光无限的“白领”吧。
   如果你不是特别的与人世隔绝,我想你一定看过金老先生的名著《笑傲江湖》吧,里面有一门十分奇特的武功叫做"辟邪剑法",你看这个小说第一次看到这种功 夫的练法时,我想你当时一定笑歪了牙“呵呵,真好玩!”,可是现在我很痛心的告诉你:你选择的开发工作就是你人生路上的"辟邪剑法",而你现在已经练了, 并且无法再回头。
  相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心。在刚出校门的几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到
心 里平衡:“有付出才会有回报”这句话在那几年中你说的最多,不管是对自已的朋友们还是自已的爱人。第二句最常说的话是对公司的领导:“不行我就走人!”, 实际上你也真的走过几回。对了,在这几年中,因为你的经济条件不错,你开始买房、开始谈恋爱、结婚、开始有了自已的小孩。有时候你会对自已说再过两年就去 买车。当然其中可能有许多大件是需要分期付款的,但你对前途充满了信心,你确信认为这种日子会永远的持续下去,即使不是变得更好的话。
  日子总 是在这种平淡中一天天的过去,就在那么不经意间,你突然发现自已已经快30岁了,或者已经30了,莫名的,你心里会漫延着一种说不清楚的不安情绪,你好像 觉得前途并非像前几年那样变得越来越好,你也忽然发现你以前所瞧不起的同学里好像已经有不少开着车的了,也有几个人住着比你还大的房子,好像房款还是一次 付清的,你突然明白你现在的生活比起你的同学来最多是中游偏上了。工作中最让你感到心里不舒服的是,你越来越不敢对你的领导说不了,即使比你来的晚的同事 升职或提薪,你也只是在私下与朋友们一起喝酒时才敢发发牢骚,在头的面前你的声间越来越小、笑脸是越来越温柔。
  你终于开始迷茫“再过几年我会是在干什么呢?”,这句话常常出现在你的心里。
  计算机开发工作,是一种以年轻为资本的工作,说句通俗点的话是“吃青春饭的”,嗯,这句话好像在一种特别的行业也听到过。
其 标志就是一:工作的时间性非常强,一个开发项目被定的时限通常是很紧张的,更有甚者,有些号称开发管理的书里面还非常卑鄙的号召将一个项目切成多个小片, 每个小片都定一个叫“里程碑”的东东来严格跟踪开发进度,加班加点在其它行业是需要加班工资的,而在开发行业,加班工资好像还没见到几个公司发过,是啊, 反正有时间限制着,你干不完我再找你算账.所以开发工作通常有着其它工作所没有的精神上的压力。
一旦一个人步入而立之年,因为家庭和孩子的负担, 加上精力上面的衰退,加班工作时间变得越来越少,这点让很多老板们感到:这些人已经老了,不好用了。指示人事部门:“以后招开发人员限制在30岁以 下!”,相对而言硬件开发会年龄方面限制会稍好一点点,但也是五十步笑百步。还有一个很重要的一点就是:计算机这个烂东东实在是进步的太快了,前两年买的 顶级配置电脑,现在怎么看怎么像废品,这还是小事,更可气的是好像每天都需要学习新的知识,刚毕业时只会书本上的PASCAL,学会了用腐蚀的办法来做电 路板,一上班就开始学习TURBOC和TANGER2.0,刚刚学会,还没来得及高兴,马上开始学Borland C++和Protel3.0,好不容易 学会了,却发现需要学习VC和Protel98了。单片机也是啊:Z80的指令背的很熟,工作中没来得及用就要学8031,好好学吧,本来想着这辈子就吃 它了,又发现又出来什么PIC、DSP、CPLD、FPGA、ARM等等....这还不包括中间要学一大堆74系列、4000系列、XX系列...IC卡 居然里面还有CPU卡..如果学习的知识里每个字都能变成一分钱,我想所有的开发工程师都是腰缠万贯的富翁。
  一眼看去,这种日子好像见不到 头,年轻时乐此不彼,但现在你一定对自已能坚持到什么时候感到怀疑了。我们都玩过像仙剑奇侠传这样的RPG游戏,刚开始时你只是一个一名不文的少年,随着 你去打怪物、捡宝贝、学秘芨,最后终于有一天你会变成一个大英雄!那么你在实际生活中过得比那些小侠们还辛苦,为什么成不了一个生活中的大侠呢?呵呵,原 因在这里:因为开发工作是邪门功夫,它虽然可以让你速成的变成小资,但它最大的特点是经验不积累!日新月异的知识更新,让你总是感到自已在退步,你就像在 RPG中的主人公,开始时就给了你一把好剑和好盔甲,而且让你的级别很高,但让你的经验不累积,虽然刚开始打小怪物时你觉得自已很爽,但越到后来,你会发 现你会死的很惨!比较一下你与其它非开发行业的同学你就可以知道了,例如和你学医的同学比起来。套用岳不群他老人家说华山剑宗和气宗的区别那段话:前十年 你比你那些学医的同学收入和地位要好的多,但十年以后你和他基本上各方面都会持平,而二十年以后你的各方面远远不能与你学医的同学相提并论!嗯,你已经开 始不笑辟邪剑法了吧。
  “敢问路在何方?路在脚下...”,不过猴兄和八戒兄这么认为是可以的,你呢?
总结了许多开发朋友在30岁以后的生活之路,让我们一起看看开发人员“路在何方?”那么开发人员在30岁以后都干些什么呢?
其路一:继续做你这个很有“前途”的职业吧!
   偶掰着脚指头仔细数了数,发现还真的有很多朋友在30岁以后还在从事开发工作,我这里说的从事,是指你还需要天天在电脑边上编程序和画电路板,与你手下 是否有几个小兵无关,也与你是否头上顶着什么项目经理、主任工程师的帽子无关,只要你还需要亲自开发,你就属于这一类。其中有个年龄最大的朋友是63年 的,从事医疗仪器的开发工作,35岁左右还在从事软硬件开发工作的仍有一大堆,分析这些仍然从事开发的朋友,基本上都有以下特点:
1 痴迷工作或者痴迷电脑,晚上八点到十二点的这段时间,基本上是在电脑桌或工作台前渡过的。
2 不喜欢与人交住,朋友很少,常联系的人不超过五个。
3 与朋友交往时谈工作多,但一般不主动谈钱。
4 体型偏胖或偏廋,不在正常区间。
5 无未来计划,对五年后自已生活怎么样、从事什么工作说不清楚。
6 俭省,从不乱花钱。
即使你是还不到30岁的开发人员,你也可以看看自己对以上几条是否符合,是否会在30岁后还从事开发职业,四条疑似,五条以上基本确诊你也是这类型的人。
  这些朋友们通常报着过一天是一天的态度生活,到了这个年龄,也不敢再轻易的换工作了,年轻时的锐气慢慢的也消退了。唯一不变的希望是有一天从天上掉下来一 大堆钱把自己砸伤。说实在话因为他们的性格所限,基本上可以确定他们以后不可能在职场上获得更好的发展,当个小头头,带几个人开发已经是他们发展的顶点。 至于以后的人生之路,不仅他们自己迷茫,可能上帝也正在头痛。
不过像这类朋友,偶很奇怪的发现:他们的小孩都是儿子!不知是偶然还是有什么其它说法。
简单建议:要改变命运,先改变性格:坚持半年晚上不从事工作、游戏及电视,用此时间与人交往,你的人生会有改变。

其 路二:转行从事技术支持、行政或生产等工作还有一些朋友,从事了几年的开发工作,因为自已并非特别的爱好,或者领导上面的强制工作安排,他们转到了技术支 持、服务或行政等工作,至少当时从表面上看起来,他们的薪水较开发要少一些,但真正的统计这些人,发现他们之中有半数的人获得了更好的发展,升职为服务部 经理或行政经理等职,最历害的一个朋友已升职为总经理助理,进入高层。
  这类朋友当时转行通常并非自已志愿,属被逼无奈或者其它原因,但显然,拥有专业知识技术的他们显然在非技术部门中鹤立鸡群,遇到什么事情他们均可从专业的角度提出建言,久而久之,他们获得更多的升职和加薪机会也就不足为奇。
  因为不从事开发,所以经验开始积累,这类的职业通常会给你一个很安定的感觉,你到30多岁后会发现这类职业反而比开发工作更容易获得新的工作机会。

  简单建议:你如果确定在开发部无法获得很好的发展机会,不妨转到其它几个部门试试,换个活法,钱少点就少点吧,机会多。
其路三:开发管理
   如果你现在已经是总工或开发部经理,或者你眼看就有机会被提升为这类职务,那么恭喜你,你走的是从“弼马温”到“斗战胜佛”这条金光大路,你不仅拥有很 高的专业技能,而且很显然,你也有着很强的人际交往能力,你这类人根本不需要对未来有着任何的担心,你在即使一无所有的时候也很容易白手起家。
  你这种人算是练辟邪剑法练成了仙,嗯,我无话可说。
   你是不是这类人也很容易区别,就像围棋二十岁不称国手终身无望一样,你应该在工作三、四年以后,也就是说二十七岁左右就会发现自已工作中指手划脚的时间 比亲自开发的时间要多了,而且大多数这类人在这个年龄手下应该有“兵”了,相反的,如果你快30岁了还天天埋头于电脑前编程序和画板子,或者30多岁了你 还没升到部门经理(虽然你总是觉得自已很有希望),基本上可以确定你不是这类人。好了,如果你确定你是这类人,那么你唯一的想法就是尽快爬上中层和高层, 因为有时候人生偶然性太大,不占住坑的萝卜很有可能被人拔出来!

  简单建议:天天去你的老板家里面拖地和擦桌子!

其路四:出国或考研
   有两个搞开发后出国的朋友,其中一个甚至打工打到了一个小公司总工的位置,数据库和软件方面水平巨牛,但仍感觉心里不踏实,于是将自己工作多年的钱忍痛 掏出来,出国费加上机票大概将自已辛苦所攒的银子花完,然后又借了一些钱,在02年身上揣着一万美元跑去了加拿大,在加拿大不停的重复找工作,换工作,然 后再找工作的循环,找的工作基本上与计算机无关,不过工资总是在1500加元左右,呵呵,折成人民币与他在国内打工拿的基本上差不多,不过租个地下室就花 了300加元,然后吃吃喝喝,再买个电脑上上网这类的,基本每月平均还要倒贴一点。前段时间给我的邮件里说,现在身上花的差不多只有5、6000美元了, 准备开个小公司,看看能不能往国内倒腾点东东,做最后一搏。另外一个朋友去澳州,时间稍早一些,先是大概摘了一年多的葡萄,后来总算找了个技术工作,每天 的工作是画机械图纸,收入还算不错
将近3000澳元,买了个旧车,也算是过上了资本主义生活。不过前年回来一趟,唯一的感叹就是:在国外拿2000美元的生活,绝对不如在国内拿5000人民币的生活舒服。
   也有两个考研的朋友,不过其中一个严格的说不是做开发的出身,偏重于市场方面的工作性质,不过我的朋友里面考研的不多,只好凑两个人说说,一个考研后在 北京找了个工作,每个月5、6000元钱,但还是做开发,生活仍然与没考研之前没有任何的改变,前途仍然没见到什么大亮的光,还是搞不清楚以后再干些什 么,标准的过一天算一天了。另外一个考研后在大学里面找了个工作,工资虽然比他原来打工少了不少,但毕竟终身有靠,稳定了下来,也算修成了正果,这位哥们 心情一放松下来,也开始有时间琢磨着业余时间自已做点什么,好像现在慢慢的也开始有了点眉目。
  简单建议:这两条路,对开发人员来说都不算是很好,出国十年前是好事,现在难说,考研能成功转行的概率恐怕也不是很大,多半仍然去搞开发,只不过研究生可以多干几年罢了。

其路五:转行到市场
   绞尽脑汁的想想,我所知道的人之中只有两个开发人员去了市场,这两个人都不能说是朋友,认识而已。他们都是主动要求去了市场,结果是这两个人均在市场都 是干到一年左右,然后都自已开公司了。呵呵,很奇怪,极高的转行成功率!不过仔细想想,我对这两个人的思路佩服的五体投地。能下决心仍掉每月5、6000 元的开发职位,从事一个自已并不熟悉的岗位,每月拿个2000多元+提成,但提成那是说不清楚的事情,这个决定,只能让人感觉到他们对自已前途清晰的把握 和老谋深算的心机。而且他们不去服务不去生产,挖空心思说服领导去市场(市场部门与开发部门通常是一个公司的核心部门,进入其实并不容易),可以说是有着 长远的考虑的。有技术了,再与客户交成朋友,马上就会产生很大的机遇应该是正常的事情。
  有实力,有心机,也有着很强的决心力,这种人恐怕早在 大学毕业时或更早的时候就已经决定了自已的人生之路,他们的每一步路在若干年前早就计划周全,现在看起来:学会技术->进入市场->寻找商机->开公司, 一条多么清楚的人生之路。但就像我们上小学中学时,所有人都知道上大学是我们最清楚的人生路一样,最后只有少数人才能真正达到目标(当然,现在扩招的历害 是另外一回事,我是说我们那个时候,也就是:“很久很久以前,当我像你那么大的时候”)。

  简单建议:你若是这类人,我的建议是:...嗯?....那个你.你,你别走啊,我还有个事想请你赞助一下啊.....

其路六:开公司自已干
   呵呵,看到这一条,发现你的眼睛已经圆了,你肯定千百次的想过这个事情吧,咳咳,其实我从事开发的时候也是天天梦想着这种事情。总想着过两年找个机会就 自已干,这个梦想一年又一年的折磨着你也给着你希望。看看吧,开发后来开公司的还真的不少,里面有成功的也有很多失败的,通常开公司都是几个人合伙开始 的,有做技术的,有做市场的,几个人一拍即合、狼狈为奸,共同策划了这一个大活动。一般说来能让这几个人下决心走出这一步,产品肯定是先进的,甚至是国内 独一无二的,市场也是很大的,负责市场的那个哥们通常会拍着胸保证可以卖出去,并悄悄地告诉你他在某主管领导是他小舅子的同学的二叔,肯定没问题。于是你 们几个人找地点、注册执照、买了几个破桌子,再攒了两台电脑,每个人又凑了几万银子,公司开张了!
  产品很快出来了,市场的哥们也不负重望,有几个客户表示要试用了,一切看起来都是如此的正常,“.......你坐在老板桌前,不停的有人来汇报工作或者找你签字...人进人出中...你又想起公司再穷也不能只有一把椅子的故事.....”你在梦中笑出声来。
是如此的顺利,你们很快就有单子了,很快的单子让你们凑的那点钱不够了,你们很高兴的每个人又增加了投入,拿出钱时你眼泪汪汪的数着钱说:“这就是我那生 蛋的母鸡啊”。你们的产品确实不错,市场也经营的很好,客户慢慢的多了起来,单子来的时候一笔接着一笔,你每天都处于兴奋之中,唯一美中不足的是好像客户 回款总是会拖一些日子,不过客户给你保证说:过几天,过几天就付给你们,因为回款总是在计划外,所以你们为了资金的流畅运行又凑了一些钱,这个时候你有一 些心事了,因为你的存款折上面的数字已经快趋向于零了。“没事,过两个月等回款了一切都OK了,谁干事业不吃点苦呢?”你这么安慰着自已又投入到工作中 去,资金总是在回款和生产经营费用之间走着一个窄窄的小木桥,你的账上总是没有太多的钱,扩大了的公司规模和许多意外情况,使你又一次、二次、三次的与合 作者们再次投入了自已的资金,当然,后来的钱你可能已经是借的了.....
  终于有一天,你的会计再一次告诉你,老板啊,账上又没现金了,吃过 多次苦头的你终于下决心开始重视资金的运行了,你裁掉了一些不必要的人手,减少了开发的投入,要求市场人员签单的时候必须予付XX%的款,回扣也必须等收 过款后再付,同时也开始对产品的生产成本开始进行控制。
  时间一天一天的过去,因为竟争对手的产品也对你的产品进行了仿造,你的产品慢慢变得不再先进,市场人员开始埋怨公司的合同资金方面规定太严格,不好签单,生产成本的下降通常也导至产品毛病的增多,客户也开始埋怨你的服务人员不能及时进行服务。
  终于有一天,你重新走进了人才交流中心,以前你是来招人的,现在你拿着自已的简历开始寻找一个工作
......
公司的成功与否,与产品有关,与市场有关,但更重要的是与资金有关,产品与市场都可以通过资金来弥补,而却没有任何东西可以代替
资 金,凡是倒下的公司,99%与资金链的断裂有关。在你决定要开公司以前,先估计一下你公司支持一年所需要的资金数额,包括人工费,生产,场地,广告宣传、 市场费用、甚至电、水费等等等等,把你所想到的一切加在一起,得出的值就是..慢..如果你没有实际的开过公司的经验,你需要将此数字乘3,然后就是你开 公司一年最少需要的费用,呵呵,公司的实际运营所需要的钱是你想像的3倍以上,你要是不信我也没办法。

简单建议:开公司前最重要的是先确立你后续的资金来源!也就是说钱不够了怎么办?---因为你投入的钱肯定会不够的。

其路七:第二职业
这类的朋友有不少,他们没有脱离开发工作,但是在业余时间又不停的接项目或者在卖产品,在单位里面他们显得并不出众,比起其它人来说他们属于最不愿意加班 的一类.为此他们白天通常工作很勤奋.这类人也许不一定可以挣很多钱,但平均下来他们一年之中通常都可以比同事们多挣个几万元.有时候比上班拿得还多.但 令人疑惑的是,这类人在生活中更加注重稳定,基本上没见到他们跳过蹧,即使私下里面已经开了个小公司,他们通常也不会辞职.
你的旁边有没有这类人呢?分辨他们很容易:
-- 电话很多,而且更愿意来电话时离开办公室找个没人的旮旯通话.神秘兮兮给人一种"这家伙是不是有二奶啊?"的感觉的人,通常是这类人。这类人是女性最佳的 选择对象:很顾家,不象那些富人容易花心,而比起一般人来说,他们收入相对要高得多。但总结了一下几位这类的开发朋友:也得出了一个令人沮丧的结论:这种 人通常个子不高,体形类似桶状.....

简单建议:这好像是开发人员最佳的出路了,但比较丰厚的收入通常让这类人不愿意去冒风险....到现在为止我所认识的这类人还没有一个真正算是成功的。
好了,虽然偶的经历远远说不上丰富,也没有什么成功之处可以自满的,但或许因为比其它朋友痴长了几岁,见过的人可能会稍多一些,所
以斗胆写出了以上的一些文字,让您掉牙了。
下面是偶走过开发这条路上总结出来的一点心得,你可以不看,但看了就千万别把嘴咧的太大:
一、不管是给别人打工还是自已干,都要全心全意的工作,因为你所做的任何一点工作都会让自已的人生多一点筹码,这一点最最重要!这样的例子我至少可以举出 两起,优秀的开发人员被其它新公司挖走,并给一定的股份,成为新公司的股东的例子。当时与这样的开发人员一个部门同时工作或更早工作的有许多人,他们平时 经常偷点懒,能少干点工作就少干点,有时候还笑话那个平时努力工作的人傻,几年过去了,究竟谁比谁傻?
二、多与市场人员交朋友,你接触他们时可能总会觉得他们知识比你少,甚至素质比你低,可能比你还有点黄。但实际上他们比你更懂这个社会!参加到他们这个圈子中去,和他们一起赌赌钱、一起聊聊天、一起洗洗桑拿、一起.....你会通过他们接触到另外一个世界。
三、机会远比钱重要,挣不挣钱在年轻时并不是特别重要!不论是在实际生活中还是在网上或其它地方,如果有机会参与到除本职工作外的一些项目或产品的开发中 (包括你的朋友拉你去做点小生意之类的非开发性质的工作),那怕是帮忙的性质,也要积极介入,至少你会交到很多的朋友,这样你的人生会多出很多的机会。

2007-01-05

【学习心得】使用AndroMDA3.2版本时遇到的问题及解决

1、在使用maven2.0执行androMDA的时候不能将 clean 和 install 一起执行,会出错。

先执行

-------------
mvn clean
-------------

然后执行

-------------
mvn install
-------------

就能够正常执行。

2、利用如下命令启动AndroMDA服务器
---------------------------------------------
mvn -f mda/pom.xml andromda:start-server
---------------------------------------------
利用AndroMDA服务器生成的代码是基于jdk1.5的,代码中有范型,编译的时候出现类似下面的错误:

-------------------------------------------------------------------------------------
D:\MyProject\testandromda\core\target\src\com\widen\test\entities\RoleDao.java:[47,31] -source 1.3 中不支持泛型
(请尝试使用 -source 1.5 以启用泛型)
public java.util.Collection loadAll();
-------------------------------------------------------------------------------------

可能需要在什么地方设置。

在不使用AndroMDA服务器的情况下,则不会出现这个错误。