我是去年毕业的,先前在一家培训机构搞了几个月的培训,然后进了现在的这个公司.做了一个项目,东西也学到了一些,但总感觉不怎么踏实.认为那些都是很浅的一层,比如:SPRING只会最基础的配置,管理一下HIBERNATE.HIBERNATE只会用MYECLIPSE做一下傻瓜式的操作.STRUTS一般只用它的ACTION.其它的用的都及其的少.现在想学点内功,希望大家提点意见(很真诚的),然后就是各方面的书籍介绍几本.谢谢.
一个刚入行但还未真正入行的"程序员"
[b]问题补充:[/b]
呵呵,可不可以选多个为答案啊?
真的太感谢你们了.从你们的言语中我感受到前辈们对后辈关照.再一次感谢.
从楼主的言语里我感觉楼主是喜欢做coder的,也想做一个优秀的真正的有功力的coder.
那我胡乱说几句:
1.对于新人,学习成熟的,流行的技术,框架是无可非议的,毕竟要先学习.
2.要明白一个好的coder应该是自己能写框架的(先不谈复杂度),当然你可以不写,因为别人已经写好了(其实新的创作空间也很大).但是就算你不写也应该可以改框架(bug之类的).这个就需要基本功了.靠时间和实践的积累了.
3.要积累就是要干活(做项目),先为自己服务从小的开始,比如:
你(同事)工作中,有什么重复性的劳动,可以用程序解决的,就试着做些小工具提高一下效率.
比如你看到一些小工具(代码),你就不能去发现他的问题(不便之处,不符合你需求之处),自己改改.
4.让不要重复的造轮子这种言论去死吧(技术就这样到头了吗?),你是程序员,你的使命就是造新轮子更好的轮子.要不然你的代码人生的快乐何在?意义何在?
5.对于书籍什么的其实没什么好说的.程序员要博览群书的,因为你虽然是写程序的,可应用的范围太广泛了
如果你写web应用那就要学习http,html,css,js,socket.....,linux,window系统操作
如果你写游戏就要学习矩阵,DX,OpenGL,3D模型.....
如果你写监控,工业数据采集,那就要学习通讯上的东西,设备api操作......
同样一个程序员也要学习多种语言,c/c++,java,php,perl,D,javascript....都要学点,但是熟知的有两三种就基本可以了.
6.要注意身体健康呀!向我现在身体就不怎么样(年龄也大了),还抽烟(戒不掉呀).身体真的是革命的本钱呀.
说实在,做程序员做了5年,还真的没看几本书,很多大名鼎鼎的书我都没有看过例如《Java编程思想》,现在还会翻翻旧书出来看看,看得最多的就是<>很基础,但却是很详细,一些非常细致的问题它都有详细的解释,一般的入门书只是教人怎么用,而这本书却不仅教人怎么用,还说明为什么这样用?它让不仅让你知其然,而且还让你知其所以然。它涵盖也相当广泛,比如说介绍SQL和关系数据库,它不仅介绍JAVA怎么连接操作关系数据库,还介绍关系数据库的术语,范式,还有一个关系数据库的属于列表。载录一段让你看看吧:
[quote]
26.10.1 SELECT语句中的陷阱:
使用SELECT语句时,有可能会遇到常见的陷阱。如果在下一章节的编程过程中遇到了问题,可以检查一下是否存在下面这样的错误:
[list]
[*]不能使用单引号括住文字字符串。
[*]只能从from从句引用的表名中提取数据的,在where从句中给出查询用到的所有表名。
[*]如果没有指定DISTINCT,则某些列会出现重复值。
[*]在包含SQL语句的JAVA字符串中,关键字之间没有留空格。
[/list]
[/quote]
基本就描述了初学者写SQL的时候常犯的错误。
每一章后面有练习,有这样的习题:
[quote]
编写一个程序,其中包括两个线程。一个线程使用....
....
把所有动作都放在一个循环里面,让它通宵运行。检查这个程序是否足够可靠,在第二天早晨是否运行,同时检查操作系统是否可靠,能否解决出现的问题。
[/quote]
这样一本书你让你读起来又心情愉快又充满好奇。
还有轻松一刻,介绍IT的历史和一些有趣的程序。
什么才是真正寓教于乐。也许这本书连续出了5版真正原因吧。线程,高级输入输出,servlet的生命周期,Java安全,XML,数据库,翔实而又广泛。闲来无事翻翻此书,却总有收获。
涉及程序架构思想的书太多太理论,太抽象,或者翻译不好。所以经常看看标题或者上网查一两篇总结也就没怎么继续了。如果这方面的书还有看,那就是Java eye翻译的那本《J2EE without Ejb》了,这本书对于我最大的价值不是在于spring这个框架的介绍,而是讨论了一个注重实用和简单的程序开发的方法学,全书没有讨论空泛的专业标准,而是指出了开发各种各样的遇到的难题,各种各样J2EE标准的弊端以及如何用一种更简便的方法去解决相同的问题。它告诉你一个事实:程序应该使要解决的问题变简单而不是变得更复杂。以无法为有法,以无限为有限 。大道至简。都是同样的道理。
实践:在你的IDE里建立一个你的练功区吧。我自己建了3个练功区,一个练spring和hibernate,一个是练Web编程技术的,一个是练Java基础api的,如string的处理,正则表达式使用,线程,socket等。这里面的东西可能会陪伴你的编程生涯的。就像是自己写的一本百科全书。
最重要的OO思想!
看源代码..你会有恍然大悟的感觉.
实践出真知,你现在实践的还少,多做几个项目,但是要总结,遇到问题要找到绝对原因,似乎是的解释不允许,几年之后再想这个问题--需要原始积累
你离代码太远了~!
建议你和Java进行一次亲密接触,忘记框架。
写代码像写文章,要表达你的意志,不要一开始就被模板式的东西束缚。
程序员与你同在。
只看书是永远成不了程序员的,只能是实践!