项目经验总结

前言:
目前在做的一个项目差不多接近尾声了,现在来总结一下在做这个项目的过程中遇到的一些问题以及总结一些经验供以后的工作学习和借鉴。
正文:
首先来简单地介绍一下项目吧,其实,这个项目的功能很简单,就是数据的获取以及展示。首先,这个项目分为服务端和APP端,服务端主要就是从数据库获取数据,APP端就是从服务端请求数据,并展现在页面上。然后,服务端主要是用SSH框架编写的,APP端主要就是android端。接下来,就是我在做这个项目的过程中遇到的一些坑以及自己的一些解决方法。
项目的那些坑:
坑一:我一开始是做Java Web开发的,对于Android的知识可谓是少之又少,仅有的一些项目经验就是在毕业设计的时候,接触到的一点android。虽说这两种技术都与java有关系,但是两者的思想以及编程上面还是有很多不同之处的,这些就导致了我在开发android端的时候,走了很多弯路。例如,APP端需要频繁的向服务端请求数据,我就使用了java的httpClient来做一个链接,但是这种原生的网络请求往往是有很多弊端的,也是经不起考验的,一般项目中都会引用第三方成熟的框架来建立请求。
坑二:上面也提到过,项目需要不断地发起网络请求,向服务端请求数据。如果,数据库的数据比较小,十几万条这种的,在今日这种4G网络下,还是比较轻松的。但是如果数据是几百万条甚至更多呢?要如何在这么多数据中查询到你需要的数据?还能保证查询的效率?
坑三:对第三方开源框架的不熟悉。现在开源的东西越来越多,也越来越好用,一个项目中肯定会不可避免地使用到各种各样的第三方框架。这种第三方框架带来的好处很明显,带来的坏处也明显。好处就是你是站在巨人的肩膀上进行的开发,降低了开发的成本,提高开发的效率。坏处就是,因为这个框架不是你编写的,它里面有很多API你并不熟悉,而且,你也不能去维护它。
解决方案:
以上说了那几个坑,都是我在项目中思考过的。接下来,就说一下,怎么来填坑吧。
填坑一:武器——心态
坑一纯属是我自己用来抱怨的。一开始听到要做android的时候,我整个人是不好的。即使觉得很坑爹,有时间抱怨还不如抓紧时间去填补知识。我个人是比较提倡在做项目中学习的,因为只有你真的接触到了项目,你才知道你需要的是什么技术,你才能对症下药,有的放矢。在工作的时候,往往有很多项目都是我们不擅长,这个时候,除了调整心态或者炒老板鱿鱼,我没想到其他的方法了。
填坑二:武器——优化SQL查询语句以及对数据库的表结构进行优化
由于项目使用的是Mysql数据库,Mysql的特点是体积小,查询快,开源,核心内核是多线程的,支持千万条数据的存储。在实际项目中,设备每5秒中就会上传一次数据到Mysql数据库的一张表中,一天的数据量就有17280条数据,一个月就有50多万条数据。随着时间的增长,数据库的数据量就会越来越庞大,导致查询速度的缓慢。为了提高查询速度,楼主也找了好多方法( MySQL数据库如何解决大数据量存储问题:http://blog.csdn.net/likika2012/article/details/38816037),首先是建立索引,把能优化的SQL语句都优化,由于把大量的数据都存储在一张表中不合理,因此还做了根据时间做了分表操作。但是,感觉这些并不能从实际上解决问题,应该也是楼主的能力经验有限,目前能做的只有这些。
坑三:武器——学习,学习,学习,重要的事情要说三遍
项目使用开源项目是不可避免的了,你只有不断学习别人的源码,理解别人的设计思想,提高自己的编码水平,除此之外,别无捷径。程序员这个行业其实更新换代很快的,想要立于不败之地,除了学习,还是学习,多更行业的大牛交流,多谢谢博客,多思考,多动手吧。
最后
通过这个项目,其实自己也学到了很多,起码从一个java小白开始慢慢转变成了一个java菜鸟。路漫漫其修远兮,吾将上下而求索~

你可能感兴趣的:(项目经验,工作)