学习策略

  互联网开发,或者说分布式应用开发,用到很多技术,甚至不断有更多新技术在出现。如何去学习这些技术,学到什么程度,主攻该技术的哪一部分都是需要去考虑的问题。

  在计算机领域、互联网领域、服务端开发领域,一门技术出现的目的是去解决或更好的解决某些问题,其本质就是一个工具,一个服务端的软件,当然也可能是一个还没有落地的思想。

===========================================

  学习一门技术的第一个问题就是安装与配置,也是最繁琐和浪费时间的。对于研发来说这一步其实是最不需要过多考虑的,了解基本的部署架构即可。真正的部署与维护都是由运维去做的,包括从网上下载软件包,在各种Linux版本,甚至其他平台的安装、配置,以及启动,通过命令操作等都不需要去过多的关心。

  软件部署好后,如何在我们的应用中,使用其提供的技术来解决我们开发中所面临的问题,才是重点要考虑和掌握的,包括明确该技术能解决什么问题,如何去解决问题,解决问题的原理是什么。
  最后一点,最重要的是,同一个问题的解决方案不只一个,可能会有很多技术,那就必须要了解不同解决方案的差异是什么,分别适用于什么样的环境和业务,要想了解这些,就必须明确每种技术解决问题的原理。

  在明确了上述问题后,将开发范围局限到java互联网应用的开发,我们需要做的就是下载厂商提供的java实现接口,也就是通过java来调用软件提供服务的第三方jar包,然后根据官方文档写一个hello world示例,就算是上手了。

===========================================

  java本身为我们提供了很多标准接口,可以方便我们直接进行统一的编程操作。
  实现关系数据库操作的JDBC接口,程序中所有关于关系数据库的操作,均使用该接口来编程实现,只需要加载各个数据库厂商针对该接口的实现包即可。同理,还有实现消息服务的JMS接口,实现邮件服务的JMail接口等等。
  
  还有很多技术,java并没有提供统一的接口,这就需要第三方来提供并实现。缺点是,对于同一个问题可能有多种解决方案,如果要换一种技术实现,那就要重构代码。
  实现非关系数据库操作的MemcacheDB,Redis,MongoDB等都需要下载第三方实现的jar包来进行操作。
  实现站内检索服务的Luence,solr,elasticSearch。
  等等。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章