1. 程式人生 > >專案經驗總結

專案經驗總結

前言:
目前在做的一個專案差不多接近尾聲了,現在來總結一下在做這個專案的過程中遇到的一些問題以及總結一些經驗供以後的工作學習和借鑑。
正文:
首先來簡單地介紹一下專案吧,其實,這個專案的功能很簡單,就是資料的獲取以及展示。首先,這個專案分為服務端和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菜鳥。路漫漫其修遠兮,吾將上下而求索~