挨踢部落故事匯(11):編程起步從0到1

Aris在大學期間對編程產生了興趣,當時他的班主任是教Java的,看着老師用代碼寫出一些他們作不到的事,Aris便開始以爲編程是一件很牛逼的事情。從那時起,他就沉入到計算機的世界裏,每週都會去圖書館借一些書回去,邊對照書邊敲代碼執行,逐漸一個個小案例被成功的敲出來了,頓時他心生滿滿的成就感。但一味的跟着書編程,並不會一直運行成功,有一次由於書本的某個小錯誤,Aris沒有發現,致使他執行不出結果,因而他經過百度、Google各類查詢,最終找到解決方法。此後Aris以爲單單跟着書上敲是不行的,還須要本身靈活變通,後面的學習生涯也是這樣一每天積累的。前端

Aris·Java開發

Aris·Java開發編程

自學Java編寫小遊戲後端

畢業後的三年間,Aris因爲我的緣由,沒有從事過任何相關的企業級開發工做,而是在一家IT培訓機構擔任Java項目助理,好久沒接觸過Java的他,理論知識在腦海裏所剩無幾,因此剛進培訓機構時,他也是跟着前來培訓的學生一塊兒邊工做邊學習,加強本身Bug解決能力,更好的與學生溝通,不論是平常學習仍是生活雜事,都逐一瞭解清楚,這樣方便後期對學生平常管理作優化,在此期間Aris自學了Struts2和Spring和Hibernate這三個比較經常使用的框架,後期由於課程上的改革,研究了MyBatis數據層管理框架。當時Aris學Swing的時候,爲了對Swing的應用更爲熟練點,他本身嘗試寫了個<飛機大戰>遊戲,列舉部分代碼:前端框架

飛機大戰GAME OVER

主程序

敵機

小蜜蜂

 ×××

飛行物

用HTML5實現App和Web項目框架

之因此會選擇轉開發,由於Aris以爲本身的技術水平已經達到一個瓶頸,須要進一步成長,必須接觸真正的企業開發才行,因此他毅然辭掉培訓機構的工做,投奔軟件公司去作Java開發了。初入開發崗,天然免不了過渡期,主要是經過溝通和自學成長的。看老司機寫的業務代碼,瞭解項目流程,是Aris首要掌握的。有效代碼約5000行,他都一步步理解透徹。2周後Aris接手第一個任務,推翻原生態安卓App,改成時下流行的HTML5語言做爲一個升級版,Aris和之前接手過的同事溝通,瞭解相關的業務需求,期間會使用到MUI這項前端框架。當時除了上MUI官網外,還有Git、51CTO、最代碼等各類技術相關的論壇網站查找過案例。因爲JS的comfirm方法在調用時,會在標題欄那裏顯示當前訪問的地址,因此找了一下官方MUI文檔,看到了MUI有本身從新封裝的comfirm,調用mui.comfirm()就不會在標題欄出現當前訪問的網址了,這個小問題解決。對於App項目,Aris以爲難點在於App拍照完返回時觸發的回調事件該如何實現,就此問題當時跟其餘成員討論過,結果定下了一個共同適用的方案,ide

調用var cmr = plus.camera.getCamera()先獲取當前設備的攝像頭; cmr.captureImage(function(path){},function(error){})而後在調用它的captureImage這個方法 

最後花費很多的時間去編寫修改,功能終於實現出來了。第一個項目完成後,他轉作Web前端開發了。此次的任務是把公司之前的一個網站前端技術由ExtJS改成用HTML5來實現。由於ExtJS太顯商務化了,畢竟如今是互聯網時代,項目也應該隨時跟進纔對。並且頁面須要統一適用Layui,Aris繼續學習摸索新框架, Layui官網上有充足的案例和標準的文檔。改版前的舊網站是用ExtJS來實現頁面渲染的,因此也須要了解ExtJS。在前端頁面開發中,請求的地址和接收的參數要及時跟進後臺的Action來作調整。項目提交給測試師以前,記得把項目中與業務無關的彈出框給註釋掉或者刪除掉,這些彈出信息只是在開發過程當中爲了跟蹤方法的調用結果或者期間出現的錯誤信息,是不須要給測試師看的,以避免測試師看到覺得是什麼Bug,因此去掉彈出框會節省不少時間成本。學習

Aris總結3點編程經驗,分享給初學者:測試

一、寫代碼時要注意,遍歷Map的方式有不少,一般場景下須要的是遍歷Map中的Key和Value,那麼推薦使用的效率最高的方式是:優化

public static void main(String[] args)  {       HashMap<String, String> hm = new HashMap<String, String>();       hm.put("111", "222");       Set<Map.Entry<String, String>> entrySet = hm.entrySet();       Iterator<Map.Entry<String, String>> iter = entrySet.iterator();       while (iter.hasNext())  {           Map.Entry<String, String> entry = iter.next();           System.out.println(entry.getKey() + "\t" + entry.getValue());       }  }  

若是隻是想遍歷一下這個Map的key值,那用」Set<String> keySet = hm.keySet();」會比較合適一些。網站

二、JS不熟練的狀況下,能夠多看最新版本JavaScript 權威指南,畢竟JS一直都在優化,最新版就能夠學習到優化好的知識,有興趣也能夠看老版本,這樣能夠接觸到JS一些底層源碼,設計思路是怎樣的。如今經常使用的JQuery,想要學習能夠去看看《鋒利的JQuery》這本書,不論是紙質書仍是電子書均可以,裏面有涉及到JQuery各式各樣的選擇器和插件,一些便捷的方法能夠直接拿來使用,加快開發進度。

三、對業務不熟悉,要多跟同事討論,理解清楚該功能要實現的業務是怎樣,不要獨自埋頭苦幹。

工做中體現價值

Aris的領導是前端後端都比較牛的大神,工做期間他獲得了很多領導指導和教育,慢慢的他本身負責的內容逐步實現了出來,這使得Aris更加充滿信心來應付之後的工做。從App開發到前端框架,Aris獲得了鍛鍊,他以爲在一家企業要體現本身的價值,就是看你能完成什麼樣的工做,任何新任務都是挑戰。只相信更好的,不相信最好的,正所謂人無完人!路漫漫其修遠兮,願每位開發者勇敢邁出第一步,編出本身的程序。

若是你也願意分享你的故事,請加51CTO開發者QQ交流羣 370892523聯繫羣主小官,期待你的精彩故事!

相關文章
相關標籤/搜索