从计算机科学家到软件工程师

Rya*_*n H 10 java hibernate web-applications

我于12月毕业于计算机科学专业,并获得了软件工程职位.我试着学习Hibernate,Spring以及在我的第一个项目中抛出的所有其他东西,一直在撞墙直到2个月.在接受这份工作之前,我只有编程经验.应用程序架构和工程工具一直很难掌握.我希望有人能够告诉我一个开始理解基于Java的Web应用程序如何工作的好地方.有这么多的组件,我无法弄清楚一切是如何组合在一起的.所以,我的问题是.

  1. 你如何学习新技术?
  2. 什么方法最适合同时学习多种技术?

cle*_*tus 21

从基础开始.

我的意思是servlet和Web容器,可能是Tomcat.您应该了解servlet生命周期,无论您之后碰巧使用什么框架.

接下来,如果您愿意,将JSP放入混合中.无论如何,JSP都是美化的servlet(它们被编译成servlet代码然后编译成字节码).

之后添加一个MVC框架.多年前,曾经是Struts(1).如今它有点困难.我喜欢Spring MVC,但这在某种程度上也取决于Spring.而且我认为你(现在)绕过更多的Ajaxy类型框架(比如Tapestry或Wicket)或者更多的端到端解决方案(比如Seam)会过度紧缩这个问题.你在这里要理解的一点是MVC概念是什么,它是如何工作的以及你为什么这么做.

之后添加Spring.这里的要点是学习依赖注入/控制反转(IoC)的原理.这是现代Java开发和软件开发中一个非常重要的概念.

以上实际上遵循这些技术如何演变,按照它们的发展顺序.他们这样做是有原因的,并且遵循这条道路将帮助您理解这一点.

不要听任何告诉您不需要理解纯servlet API等低级概念和技术的人.这是胡说八道.


Gal*_*ian 8

我认为Mike Gunderloy的着作Coder to Developer可能值得一看.

关于学习新技术,没有比仅仅使用它并尽可能多地练习更好的方法了.


t3r*_*rse 7

我的学习方式是自己建立一些东西.我通常选择一些可以快速实施的微不足道的东西,然后使用当下的企业技术XYZ,以便我可以四处寻找并了解细节.事实上,当我正在尝试学习ASP.NET MVC时,我正在做这件事.