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

Java 从计算机科学家到软件工程师,java,hibernate,web-applications,Java,Hibernate,Web Applications,我于12月毕业于计算机科学专业,并获得了软件工程职位。两个月来,我一直在努力学习冬眠、春天和我第一个项目中遇到的所有东西。在接受这份工作之前,我只有编程方面的经验。应用程序体系结构和工程工具一直很难掌握。我希望有人能告诉我一个开始了解基于Java的web应用程序如何工作的好地方。有这么多的组件,我不知道所有的东西是如何结合在一起的。所以,我的问题是 你如何着手学习一项新技术 同时学习多种技术的最佳方法是什么 我认为迈克·冈德罗的书可能值得一看 关于学习一项新技术,真的没有更好的方法,就是尽可能多

我于12月毕业于计算机科学专业,并获得了软件工程职位。两个月来,我一直在努力学习冬眠、春天和我第一个项目中遇到的所有东西。在接受这份工作之前,我只有编程方面的经验。应用程序体系结构和工程工具一直很难掌握。我希望有人能告诉我一个开始了解基于Java的web应用程序如何工作的好地方。有这么多的组件,我不知道所有的东西是如何结合在一起的。所以,我的问题是

  • 你如何着手学习一项新技术
  • 同时学习多种技术的最佳方法是什么
    我认为迈克·冈德罗的书可能值得一看


    关于学习一项新技术,真的没有更好的方法,就是尽可能多地使用它。

    我的学习方法是自己动手做一些事情。我通常选择一些可以快速实现的琐碎的东西,然后使用当前的企业技术XYZ,这样我就可以四处探索并了解细节。事实上,我正在做这件事,因为我正在努力学习ASP.NETMVC

  • 你只需要开始使用这些工具来感受它们
  • 我会上网,开始阅读关于你所使用的技术的书籍和网站
  • 我会开始在网上搜索你应该阅读的关于软件工程的书籍
  • 询问你工作的其他工程师关于他们如何做事情以及为什么他们这样做的问题
    这些应该有助于学习:

    理论与实践

  • 阅读(如《春天在行动》很棒,博客等)
  • 练习(即编写一些代码,获得反馈)
  • 转到1

  • 从asp.net转到jsp时,我非常喜欢这本书

    对于了解编程和web但不太了解jsp、servlet和mvc如何协同工作的人来说,这是一本很棒的入门书。

    从基础知识开始

    我指的是servlet和Web容器,可能是Tomcat。您应该了解servlet的生命周期,无论您后来在其上使用了什么框架

    接下来,如果您愿意,将JSP加入到混合中。JSP不过是美化了的servlet(它们被编译成servlet代码,然后再被编译成字节码)

    然后添加一个MVC框架。几年前,这曾经是Struts(1)。现在要难一点了。我喜欢SpringMVC,但这在某种程度上也是基于Spring的。我认为(目前)最好不要使用更多Ajaxy类型的框架(如Tapestry或Wicket)或更多的端到端解决方案(如Seam),因为这会使问题变得过于复杂。这里,您试图理解的重点是MVC概念是什么,它是如何工作的,以及您为什么要这样做

    然后再加上弹簧。这里的重点是学习依赖注入/控制反转(IoC)的原理。这在现代Java开发和软件开发中是一个非常重要的概念

    以上事实上遵循了这些技术的发展顺序。他们这样做是有原因的,遵循这条道路将帮助你理解这一点


    不要听任何人说你不需要理解像纯ServletAPI这样的低级概念和技术。这是胡说八道。

    当你成为工具和语言/技术方面的专家时,新一批孩子将使用更新更好的工具和语言/技术。然后你就必须学习这些才能找到工作。所以,要习惯这个过程,坚持下去。花两个月的时间在一份新的程序员工作上,却仍然觉得自己陷入了流沙之中,这并不罕见。我曾经有过这样的例子:我在一份新工作上花了6个月的时间才到达一个阶段,我觉得自己终于要转危为安了,那是在10年的编程经验之后。尽管在这种情况下,掌握代码库就像试图破译埃及象形文字。

    现实检查:作为一名新毕业生进入职场,你正在经历与我们其他人相同的过程。你正在进入一个与你多年来所学完全不同的生态环境。无论你从事什么工作,都会有一条学习曲线,好的雇主都会理解这一点

    要快速回答您的问题,请执行以下操作:

    你如何着手学习一项新技术

    阅读,练习,犯错误,重复。这个过程中最有价值的产品将是您可以向新同事(以及堆栈溢出)提出的具体问题。记住,提出好问题实际上会让你看起来更聪明。问一些笼统的问题或“我不明白”只会让你很烦人

    在同一时间学习多种技术的最佳方法是什么 同一时间

    列出你需要学习的事情的优先顺序,然后按顺序进行操作。你不可能在一个周末学会所有的网络商务。不过,您可以在下午了解Hibernate的特定方面。阅读手头有IDE的新代码库,开始探索实际使用的API。如果您只关注所有这些新工具的相关点,您可能会发现自己的进步速度比您预期的要快。

    !!认真地读啊读啊读。然后应用,阅读,犯错误,阅读,回溯,找出你做错了什么,阅读,修正,阅读,一次又一次地应用

    我说读了吗?:-)我是认真的。阅读所有你能得到的东西。谷歌是你的朋友。他是你的朋友。那里有很多很棒的书,还有像这样描述它们的帖子,还有更多!祝你好运

    我也在你的位置上