??xml version="1.0" encoding="utf-8" standalone="yes"?>
1. XML
首先Q你要了解XML。我不是说仅仅是XML规格本nQ还包括一pd相关的基于XML的语aQ最重要的是
XHTML、XSLT、XSL、DTDs、XML Schema
(XSD)、XPath、XQuery和SOAP。那些在q去5q内从未过键盘的hQ可能不知道XMLZ物。XML是一U文本文Ӟ使用与HTMLc?
似的标记。XML能定义一个树状结构,q能描述所含的数据?br />
XML最好的一Ҏ既能存结构化数据也能存非l构化数据。它既能存贮和描q?#8220;规格?#8221;(regular)表格数据Q也能容U_描述“_糙?#8221;(ragged)文g数据?br />
XHTML是现今写HTML的首选方法。因为它是Ş式完好(well formedQ的XMLQ比起古老的、通常是畸形(malformedQ的HTML文gQXHTML格式的文件更Ҏ处理?br />
XSLT和XSL是用于把XML文g转成其它格式的语a。可转换的格式包括:文本文g、PDF文g、HTML、以逗号为分隔符的文Ӟ或其它XML?
件?DTD和XML
Schema描述XML文g所能包含的内容的类型,q让?#8220;验证”XML文g内容的合理性,而不用写Ҏ代码以确保内容符合规则要求?br />
XPath和XQuery是用于从XML文g中抽取单个项目或一l项目的查询语言。XQuery扩展了XPathQ因而更重要。XQuery与XML的关pL像SQL与关pL据库的关pR?br />
SOAP是Web服务之间的一个标准通讯协议。尽你不需要对SOAP标准一清二楚,你应该熟悉一般的schema和它的工作原理,以便能应用这门技术?br />
2. Web服务
Web服务是XML行后的一个直接物。因Z能用XML描述数据和物Ӟ因ؓ你能用schema保XML文g内容的合理性,因ؓXML是基于文?
的规范,XMLq_通讯标准提供了一个极其方便的基本格式。如果你q从来没到Web服务Q你可能很快׃到Q在未来5q内Q你几乎肯定会碰到。熟
悉Web服务十分重要Q因为它是目前所有跨不同机器、不同语a、不同^台和不同地点的通讯协议中最单的一个。不你需要与否,Web服务是迈向互用性的
重要一步?br />
XML工作l主席John
Bosak曾说XML“lJava一些事?#8221;。实际上QWeb服务让所有语a都有了一些事做。Web服务让在大型Zq行的COBOL应用软g能调用在?
持设备上q行的Java应用E序、能让Java
applet?NET服务器交谈、能让微Y件与Web服务器无~连接,q提供了一个相对容易的ҎQ让企业不光能向外界提供数据Q还能提供功能,而且
是一U与语言、^台和位置都独立的Ҏ?br />
3. 面向对象的编E?br />
很多E序员仍认ؓOOP是象牙塔里的技术。但如果
你想一下是什么语a在过ȝ10q里占主导地位,你就会理解OOP不是象牙塔里的技术。OOP从Smalltalk开始,传到C++和Pascal
(Delphi)。Java使OOP大踏步地q向LQ几q后的VB.NET和C#则完全确立了OOP的优势地位。尽这些语a中的多数q不要求你必M
OOPQ但我觉得如果你不了解OOP的基本概念也不知道如何应用这些概念,你能扑ֈ的编E工作将来少?br />
4. Java、C++、C#和VB.NET
我把q些语言列在一Pq不是徏议你成ؓ每一U语a的专家。我的理由是Q学习编E最有效的方法之一是看代码Q而你能看到的大量的代码很可能不是用你所喜爱的语a~写的?br />
在过dq_各语a的能力越来越接近。现在,你可以用VB.NET写Windows服务、Web应用E序或命令行E序。即使你只用一U语aQ你也应?
学一些其它语aQ以便能看懂那些样例Qƈ其译C所用的语言。这4U语a是基本核心,q有其它一些满不同需要、颇L途的语言Q如FORTRAN?
COBOL、APL、ADA、Perl和Lisp?br />
5. JavaScript
管名字有些相像Q但Java
与JavaScriptq无兌。ؓ什么一个脚本语a会如此重要呢Q因为所有主浏览器都用JavaScript。如果你需要写Web应用E序Q你有?
够的理由学JavaScript。JavaScript可以用作ASP或ASP.NET的服务器语言Q也可以当做用于扩展XSLT的功能语a
(functional
language)。JavaScript是Mozilla/Netscape中用于激zd于XUL的程序接口的首选语a。JavaScript的一个变
UActionScript是Flash MX的编E语a。将来,JavaScript很可能成为新讑֤的编E语aQ以及大型应用Y件中的宏语言?br />
与JavaScript相对照的是VBScript。尽Microsoft的Y件对VBScript有良好的支持Q但VBScript在未来的开发工
作中很可能是一个糟p的选择。就是Microsoft也們于用JavaScriptQ或Microsoft自己的变U:JScriptQ写客户端程序?
在选择脚本语言Ӟ请选择JavaScript?br />
6. 正则表达式(Regular ExpressionsQ?br />
查寻关系数据库可以用SQLQ查询XML可以用XPath和XQueryQ查询纯文本文g则可以用正则表达式。例如,你可以用一个命令从一个HTML文g
中查扑ƈ删除所有的注释。各U开发语a内置的一些简单的文本查询功能Q如"IndexOf"函数或VB中经典的"InStr"函数?Like"操作W,
Ҏ不能与正则表辑ּ相提q论。现在,各种主要的开发语a都提供用正则表辑ּ的途径。尽正则表辑ּ本n既难懂更难读Q是回到早期计算机时代的一U?
退Q,但它却是一个功能强大而且未被充分利用的工兗?br />
7. 设计模式
正像OOP通过把对象分cM化编E一P设计模式对一些普遍的对象之间的交互进行分c,q赋予一个恰当的名称。OOP用得多Q设计模式就有用。一些最常用的模式的名称已经变成了Y件开发领域共同用的术语Q所以要跟上信息的主,你就要对设计模式有相当的理解?br />
8. Flash MX
如果你需要在客户端得到比HTML和CSS更多的图形和更强的编E功能,Flash是你的答案。用Flash~程比开发Java applets或写.NET代码要快得多Q也Ҏ得多?br />
在最新版?(MX) 中,Flash不仅仅是d和制造动ȝ工具Q它已经成ؓ一个编E功能强大的开发环境:能调用SOAP
Web服务Q也能调用远端服务器上的ColdFusion、Java?NETE序。Flash无处不在。它的引擎存在于世界上大多数客户端计机Q包?
手持讑֤、置盒、甚x新的书写板电脑。所以用Flash能大大扩展你的程序的应用范围?br />
9. Linux/Windows
熟悉Linux。在一台旧机器或新机器上安装Linux。下载图形用L面,在其基础上写一些程序。安装ApacheQ写一个Web应用E序。这个世?
不再仅仅是属于WindowsQ这U趋势可能还会持l下厅R如果你是一名中坚的Linux开发h员,那就抛弃你对Windows的憎Ӟ看看你能否做一?
Windows~程。Windows能l在台式电脑上称王是有其原因的,q不仅仅是因为Microsoft控制了这个市场?br />
没h知道你们公司会在什么时候决定从Linux转向WindowsQ或从Windows转向LinuxQ,或者你惌C家用另一U^台的公司Q或者你惛_了开发一个杀手Y件的好主意,所以你要争取拥有在不同操作pȝ上的~程l验?br />
10. SQL
管SQL不像本文讨论的其它技术那hQ而且SQL的重要性在未来10q内很可能降低,但它仍然是一基本技能。很多开发h员还没有掌握q门技术,?
掌握得不够,不以有效率C用它。不要依赖具有图形用L面的SQL生成器替你做事情Q你要自己手工地写查询命令,直到你熟悉基本的SQL语法为止。了
解SQL不仅能帮助你日后学习XQueryQ你q有可能马上发现能简化或改进目前目的方法?br />
培养好奇?br />
最后,Q对Q我
意识到这是第11门技术)Q好奇心是你最重要的技能。要d试各U东ѝ新语言或新技术对你当前或来的工作可能有用,也可能没用,但ƈ不是你所学的每一
件事都是Z工作。不要害怕失败,万事开头难Q学新技术也是如此。大多数p|是因Zh们希望太快地学到太多的东ѝ要Ҏ一点进步感到满意,不要让时?
Q或~Z旉Q妨你。相反,你要安排旉留心、研I、试验新的开发技术和工具?br />
你可能永q也没有必要成ؓq些技术的专家Q而且我的选择可能Ҏ不适合你的Ҏ情况Q但通过培养好奇心,你将会发C应该了解的东ѝ?
]]>
3QHow to solve unexpected situations.
4QThe importance of unification.
5QThe importance of doing what you should do.
6QThe importance of designing before programming.
7QThe importance of management.
8QThe importance of thinking what your teammates think.
在Y件开发过E中我们应当h以下能力Q?br>1.Like it if you would like to do it.
We believe that your attitude toward your work will definitely makes great effect on the project.
2.The spirit of group working.
Take
myself as an example. I am just a part of the team, just a little part.
You must make it clear that you are just a member of the team, but your
effort will change your project a lot.
3.Passion
With passion, you can do your job in a more effective way.
4.The ability of solving unexpected problems.
5.Learning New things in a very short time
It is the basic requirement for we computer major to learn new technology.
6.Creativity
The
tools are changing. As for us, what's more important is to use these
new tools and technology to enable people and businesses throughout the
world to realize their full potential.
7.The ability to do your work independently.
Every
member has his own business. In a team, your work cannot be replaced by
others' so you must do your business well in order to assure the
project devel
opment process.
团队开发当中的一些具体精应当有Q?br><1> Success and Failure is not one person's effect.
Your
team's success is not the contribution of a single person. Success
contributes to the whole team. If your project failed, it also is not
just because of one person's poor work. It is also your failure.
<2> Learn from each other.
Every
person has his own specialty. Even Bill Gates cannot know all the
things about software development. We often learn from each other and
gains a lot. The old saying goes like this:
There must be one out of three who can be your teacher. In our team we say: Every person is your teacher.
<3> Help those who have problems. Use the group working spirit to overcome all the difficulties.
There
is no need to explain it. As the old saying: Two heads are better than
one. We always find it difficult to solve all the problems just by
oneself.
<4> Praise them who have got some improvement.
In
our team, I always praise the members when they have finished something
or just solved one problem, and they think that it is interesting and
gains a lot. Because they can see their efforts.
<5> Say something if needed.
]]>
]]>
1. cL件的攄要求Q?br />分包的原则是首先按层划分Q其ơ是按模块划分:
?com.yinhe.common 攄本应用的公共c?br />Q例如:GlobalNames.java、DBConnection.java{)Q?br />?com.yinhe.util 攄可以被其它web应用重复利用的公q文g
Q例如:~码qo器EncodeFilter.java?br />安全qo器SavetyFilter.java?br />字符qo?WordFilter.java?br />html语言qo器HtmlToString.java?br />GBK转码c?GBKToString.java{)Q?br />?com.yinhe.login.web 攄在视囑ֱQjspQ中用到的JavaBean值对?br />Q例如:UserInfVO.javaQ;
?com.yinhe.login.control 攄控制cdActionForm
Q例如:Struts中的 LoginAction.java、UserForm.javaQ;
?com.yinhe.login.dto 攄在业务逻辑层中用到的JavaBean数据传输对象
Q例如:UserInfDTO.javaQ;
?com.yinhe.login.modle 攄业务操作实体c(例如QUserDAO.javaQ;
?com.yinhe.login.pojo 攄JavaBean持久对象Q例如:User.javaQ;
?conf 攄工程配制文g
Q例如:ApplicationResources.properties、global.propertiesQ?br /> conf.spring 攄Spring配制文gQ例如:applicationContext.xml{)
conf.hibernate 攄Hibernate配制文gQ例如:hibernate.cfg.xml{)
?WEB-INF\conf 攄struts属性配|文?/p>
2. jsp文g的放|要求:
?所有受保护的(q直接\径不允许讉K的页面)攑֜admins下面Q?br />admins下面的left.jsp攄菜单Qtop.jsp攄logoQmain.jspZ工作区,
wellcome.jsp为默认的首页Q登录成功之后的昄面Q;
?默认的访问首命名ؓ: index.jspQ?/p>
3. 样式文g的放|要求:
?按照模块划分攄?css/模块名;公用的样式放在common.css下面Q?/p>
4. 囄文g的放|要求(非上传文ӞQ?br />?按照模块划分攄?images/模块名;
5. 脚本文g的放|要求:
?按照模块划分攄?js/模块名;公用的样式放在common.js下面Q?/p>
6. 上传文g的放|要求:
?囄文g攑֜upload/pic/模块?文gQ?br />?非图片文件放在upload/other/文gQ?/p>
7. 命名要求Q?br />?所有jsp文g一律小写;
?所有静态文件的后缀名一律以.html尾;
?所有类文g都必M格区分大写Q?br />接口必须以I开_实现cMImpl尾 Q例如IUser.java Q?UserImp.javaQ,
如果是ActionForm必须以Forml尾(UserForm.java);
控制cdMActionl尾(UserAction.java);
视图cdMVOl尾QUserVO.java);
所有操作数据库的业务类必须以DAOl尾(UserDao.java);
所有数据传输对象必MDTOl尾(UserDTO);
?所有的包一律小写,分包的原则是首先按层分其ơ是按模块划?
包名的第一及多为com或者org;
?所有java文g中的变量按照java的要求命名,帔R一律全大写Q?br />?数据库命名:
表名和java的实体类名对应而且全部大写Q例?USER 表对?UserDAO.java);
?存储q程的命名:
传入参数以p_开_例如p_user),局部变量以v_开?例如 v_intCount),
存储q程的名UCp_开_例如 p_addQ,
触发器以t_开?例如 t_update),视图以v_开?v_list_user),
所有参数的命名按照前面的原则:
主键以PK_开_外键以FK_开_唯一键用UN_开_
查约束用CHK_开_默认值用DEF_开_
每个表都必须有一个物理ID(自动产生)Q其命名为IDQ?br />同时q应该有一个逻辑ID,其命名ؓ"表名_"+ID(例如 USER_ID);
?所有的java源文件和数据库的数据对象必须有注释,必须严格按照相应的规则注释,不要Z写注释而写注释Qjava的注释必能自动形成JavaDOC文档Q?/p>
8. 关于提交代码的规定:
?每天上班前必dCVS同步Q每天下班前必须提交自己的代码和文档Q代码必d本地被编译通过Q;
?当本地文件和CVS产生冲突的时候不要强行覆盖,必须扑և冲突的原因,消除冲突后再提交Q千万不要把别h的代码给盲目的覆盖了Q?br /> ?如果发现jsp文g发生了改变,如果是二q制的比较方式,可能因ؓ增加了换行和回R或者空D生冲H,q时可不考虑冲突的问题;
9. 其它事宜Q?br />?加强沟通,形成高效+创新+强战斗力的团队!
?服从分配Q按时保质保量完成Q务~Q?/p>