一个合格的程序员10年后都在读什么书应该读过哪些书

1、面向对象编程(OOP)

ActionScript 3是Flex的基石,它是一个完全面向对象的语言。尽管面向对象这个概念并不是很好理解,但是

面向对象编程是学习的Flex的一个前提条件。如果你之前有面向对象编程(Java, C#, Ruby等)的经验的话,那

么你就可以很快入门。如果没有的话,那么你须要迟早找本OOP的书籍来学一下。

注意:有些人可能会问 - “那么设计模式呢?”让我们一步一步来,好吗?你们自己先学一下类和对象、接口、继承、组合、多态、封装等。只有学完这些之后你才可以去学习设计模式。事实上,如果我要写一篇名为“一名伟大的Flex开发者须要知道的10个内容”的文章话,那么设计模式将会是第一个。

ActionScript是与MXML一起配合来开发Flex应用程序的。MXML是一种用XML写成的基于标签的声明性语言。每一个标签都映射到一个与之相对应的ActionScript类。MXML主要是用来对用户界面进行布局,而ActionScript则用来实现业务逻辑。当然存在例外的情况。

注意:你应该对Flex Language Reference非常熟悉。作为一个Flex开发者,你基本上每天都要用到它。

开发者的很大一部分时间都是在调试。明显地,调试需要找到错误的根源。但是,调试也是学习新语言很好的一种方式。

很幸运地,网上有许多可用的工具来帮你进行调试。花点时间来学习使用这些工具。很快你所花的时间就会给你带来效益了。

Flex应用程序是事件驱动的。每一个动作都是一个异步事件产生的结果。作为一名Flex开发者,你必须知道怎么样去响应事件、怎么样去创造事件和抛出事件。为了实现这一点,你必须对Flex的事件结构有充分的了解,也就是说,你要熟悉以下几点概念:

* 自定义事件(由开发者定义的继承自Event类或其子类的事件)

表面上,数据绑定很容易理解。把一个属性的值与另一个属性的值绑定到一起。当源属性的值发生改变时,目标属性的值也会改变。然而,如果随意使用数据绑定的话是会影响程序性能的。充分了解数据绑定能够帮助你决定什么时候适合用数据绑定,什么时候不适合。

设计优秀的Flex应用程序的一个特点是其显示数据的方式在视觉上令人信服。Flex提供了一些基于列表的负责显示数据的控件 (DataGrid,List, TileList, HorizontalList等)。然而,只有使用项目渲染器才能让这些基于列表的控件自定义数据显示方式。

你见过哪些应用程序是不用与数据打交道的吗?

不要忘记Flex是一种图形用户界面技术,因此存在一定的设计期望。作为一名Flex开发者 ,你应该知道如何通过CSS样式或者其它方式来自定义你的Flex应用程序的外观。要使用Flex 4,就没有借口。花点时间来开发一下你的右脑,这是一次不错的改变,并且它可以让你与其它Flex开发者区分开来。

9、至少一种Flex结构框架

大多数Flex结构框架都实现了MVC设计。并且,许多框架都支配着你的代码的组织方式和包装方式。尽管有些人会认为使用框架是没有必要的,但是我相信即使只使用一个框架也会让一个Flex开发者受益匪浅。

简单地看着一项技术(好的或坏的)使用框架来解决一些结构性问题能帮助作为开发者或架构师的你成长。并且,你也不能否认如果你有使用框架的经验,那么你的职位竞争力将会在本质上有所提高。Jess Warden最近告诉我“只有少数商店不使用框架,但这是罕见的。不管你喜不喜欢,使用框架已经成为一种'时尚'。”我同意他的观点。

10、组件的生命周期和显示列表

之前我是觉得不用去学Flex组件生命周期和显示列表的,直到我第一次写自定义组件的时候。在此之前,我都是使用内建的Flex组件并且很高兴地让 MXML帮我处理显示列表。

我第一个自定义组件使用了许多异步事件,我并不能预测事件处理的顺序。但是在我学习了Flex组件生命周期方法之后,我重新掌握了控制。

这些生命周期方法早就有了。学习一下它们是怎么工作的,并且利用它们来帮助你解决问题。你掉的头发越少,你的生活会更加美好。

版权声明:本文为博主原创文章,未经博主允许不得转载。 /q/article/details/

我是从大二开始学习的Java,当时的目标是Java Web开发,当时并不想考研,所以当时的学习是以就业为主,现在我大三了,学习Java Web开发已经一年了,因为种种原因,决定要考研,所以不得不暂时终止了Java Web的学习,博客也可能会停更很长一段时间,虽然只学习了一年Java,但是我感觉我对于学习Java开发还是有一些心得,对于Java Web的学习路线也很清楚,所以,现在把自己学习Java的经验记录下来,希望能帮到一些想学习Java开发的人吧。

因为我的学习是边看视频边看书的学习方法,在学习的前期是以视频为主,后期以书籍为主,但是大量的练习是能够学好Java的关键,所以无论是视频还是书籍,我都推荐你把代码写一遍(照着写也比不写好的多),如果只看书、看视频而不练习,那么你永远也学不会编程。

我个人学习Java的路线是:Java SE —— Java Web —— 框架 —— 虚拟机、高并发、其他工具

我看过很多的Java基础部分的视频,总结下来就是Java基础部分是非常重要的,是Java学习的关键,但是基础部分在初学时并不能真正掌握其精髓,看视频只是为了入门,如果想要提高,需要在学习Java Web时,看Java基础部分的书籍。

这里我非常推荐刘意的Java基础视频,给个链接:

如果你感觉一个视频不够,也可以参考一下毕向东的视频:

我感觉其实只看一遍就可以入门了,比较Java基础部分以后还要学习,所以初始的时候看一遍入个门就可以了。

在看完Java基础部分的视频后,一定要记得做一个项目巩固一下学习的内容,我推荐的是坦克大战项目:

注意:Java基础知识入门只需要看视频就够了,但是如果你想做一名合格的程序员,你需要的远远不止编程的能力,我感觉最重要的其实是解决问题的能力,在学习Java的过程中,不管是基础部分,但是Web部分,还是框架部分,你都需要学习的是善于使用百度、谷歌的技术,遇到问题不能光想着找别人解决,一定要自己尝试解决,通过搜索引擎,自己找到解决问题的办法,这样才能提高,这也是我从学习编程开始到现在为止最重要的心得体会。

我只看过两本Java基础部分的书籍,一本是《Java编程思想》,一本是《Java核心技术》,我不管这两本书别人是如何评价的,我只说一下自己的看法,我不喜欢《Java核心技术》,这本书就像是API文档一样,我个人感觉完全不如看视频,另一本《Java编程思想》非常好,但是并不适合在基础部分看,我个人推荐你在学习Java基础部分的时候可以囫囵吞枣的看一遍,不懂的地方也不要纠结,等以后学习完Java Web后再看一遍,会有更多的收获。

因为Java Web部分我只看过视频,所以这里就只推荐视频,Java Web部分的内容非常杂而且非常多,所以这一部分可能会花费大量的时间,而且Java Web部分的很多知识现在都已经过时了,但是我感觉如果不学习Java Web部分的内容而直接学习框架的话基本也学不下去,所以这一部分还是需要好好的学习。这里推荐的视频是崔西凡的Java Web视频,下面是链接:

其中中和下两部分是Java Web部分的内容,上是一些前端的基础和XML方面的内容,这些都需要学习。

Java Web部分虽然内容很多,但是学完这一部分你会很有成就感,因为你终于可以自己做一些东西了,比如你自己可以自己写一个博客,一个图书管理系统,运用你学习的知识,你可以做很多事情了,这里也推荐学习完Java Web的知识后做一个项目巩固一下学习的知识,这里推荐李兴华的微商城项目:

如果说对你将来工作帮助最大的部分,那么一定就是框架部分了,因为框架就是为了简化开发过程的工具,你可能已经不满足与Java Web 部分的 JSP/Servlet 技术很久了,为啥开发一个Web项目如此繁琐,那么你就需要好好的学习一下框架,有了框架开发Web项目的速度会像开了火箭一样,而且将来工作中全部都是使用框架开发,所以这一部分非常重要。

Java Web开发的框架非常多,但是其基本的原理却总是相差不大,所以你不需要每种框架都学习一下,你只需要着重的学习一部分框架,并且深入的学习,对框架的原理有深刻的认识,那么框架部分你就算是学习的不错了,以后如果遇到没有学过的框架也可以很快的上手使用。

因为我并没有参加过工作,我并不是很清楚现在的框架使用情况,但是根据我加的一些QQ群中一些工作人员的说明,现在的主流框架应该还是:Spring + Mybatis + Spring MVC。

这里最终要的框架就是Spring,目前正在兴起的Spring Boot框架就是为了简化Spring框架发明的,如果你想将来的工作顺利,那么我感觉你需要把Spring框架学习到一定的深度。

对于框架的学习,我认为视频只是辅助,起到入门的作用,最主要的还是看书去学习框架的原理。

这里我只推荐了一本《Spring揭秘》,因为我只看过这一本书,但是这本书让我对Spring有了全新的认识,对于IOC和AOP有了深入的了解,打开了我框架学习的新世界。

框架部分的学习至关重要,这里因为我自己没有更多的经历,所以只是提供了一些很浅薄的经验,但是还是那句话,真正能够帮助你的只要你自己解决问题的能力,网上有大量的框架学习的经验可以借鉴,所以一切还是靠自己。

上面三个框架学习完以后就可以试着用框架开发Web项目了,这里推荐慕课网上的:,这个项目还有一个二代的版本,以后可以学习,在学习这个项目的过程中,还要学习大量Java Web开发中需要使用的工具,而这些都需要你自己去学习。

这里其实对于一个初级的开发人员,虚拟机和高并发并不是必须要学习的,但是Web开发的工具却非常重要,工欲善其事必先利其器的道理大家都懂,这里我就推荐几个主流的工具

  • IDEA 集成开发环境,我想大家在学习上面的课程时应该都用的是Eclipse,但是这里我及其推荐IDEA,好处我就不多说了,你用了自然会知道,视频教程:
  • Git:版本管理工具,视频教程:
  • Maven:这个非常重要,一定要学习,视频教程:

上面的学习路线也不是要求你一步一步照着做,每个人都需要独立思考的能力,比如工具的学习在任何时候都可以开始,我想说的是,如果你想成为一个程序员最重要的还是要会自己思考,不断学习,上面说的技术可能会过时,但是你的学习能力是永远不会过时的,在Java开发的道路上需要学习的远不止上面的内容,可以说上面的内容你全部都学会了也不过是Web开发的入门罢了,想要有更好的发展,你就需要学习更多的知识,对计算机底层的原理有一定的了解,对算法也需要学习,很遗憾,我暂时要退出Java开发的世界了,希望两年之后的今天我已经考到了我想要去的学校,开始我新的篇章,到那时,我可能仍然会继续学习Java,也可能会学习其他的方向,但是只要我一直怀有不满足的精神,一直有学习的动力,那么总会成为大牛。

请问,要成为一位高效的程序员,必需学习哪些编程语言以外的知识? [问题点数:20分,结帖人u]

IT技术发展迅猛,新技术层出不穷,具有良好的学习能力,并及时获取新知识,成为程序员职业发展的核心竞争力。本文作者结合多年学习经验总结出提高程序员学习能力的三个要点,即要善于读书、要高效学习、要有好心态。 IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能
程序员学习编程需要攻克的8个障碍    分类:程序员人生、首页精华7人评论 分享到:更多8 本文由码农网 – 王国峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 作为一个JavaScript Web开发课程的导师,我看到过很多新手程序员满怀热情投入到学习中来,却总是处处碰壁。 大多数学习者同样碰到过相同的障碍,但是,一旦克
一般大型J2EE应用都在建构在linux环境下的。开发环境下我们可以通过samba映射成本地的网络驱动器,直接在windows环境下进行编程调试。但是最后的发布还是要到linux环境,同时我们对网上web服务器和数据库服务器的应用管理(比如自动脚本发布等),应用监控(web服务是否正常、mysql数据库的使用情况)、系统监控(监控磁盘空间的使用情况等)都要求程序员熟悉必要的linux知识。    
课程内容: 源码分析、分布式架构、微服务架构、性能优化、团队协作效率、双十一项目实战 适用对象: 1-5年或更长软件开发经验,没有工作经验但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的。所学的知识点没有系统化,很难在技术领域继续突破的。跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的。面对目前流行的技术不知从何下手,需要突破技术瓶颈的。
成为一名Java高级架构师到底需要学习什么? Java架构师,应该算是一些Java程序员们的一个职业目标了吧。很多码农码了五六年的代码也没能成为架构师。那成为Java架构师要掌握哪些技术呢,总体来说呢,有两方面,一个是基础技术,另一个就是组织能力和提出解决方案能力了。我就跟大家来简要地说说吧。 如果你是想成为Java架构师,那么你首先要是一个Java高级攻城狮。也就是说,基础必须牢固,
随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随之带来的变化就是程序员需要跟进学习的语言也很多。但是语言这么多不可能都去一一掌握,在当前形式下,最需要掌握的三种编程语言。评判的标准是不过时,说的直白些就是找工作比较容易,能扩充自己的知识体系,能让自己的编程之路走的更加顺畅。在这里相信有许多想要学习前端的同学,关注小编文章最后面文字,可免费领取一整套系统的web前端学习教程!第一
1. C++编译器自动为类产生那几个缺省函数?默认构造函数、拷贝构造函数、析构函数、赋值操作符、取地址操作符、const取地址操作符。 2. 使用C++默认的赋值操作符,那些数据成员会发生错误? 对于内置类型,默认的赋值操作符是内存拷贝的方式,对于非内置类型则调用该类的赋值操作符,所以是浅拷贝,是错误的。 3. windows和linux进程同步的方法?

我要回帖

更多关于 程序员10年后都在读什么书 的文章

 

随机推荐