自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

原創(chuàng)
移動(dòng)開(kāi)發(fā)
當(dāng)一個(gè)個(gè)小案例被成功的敲出來(lái)時(shí),那便是開(kāi)發(fā)者最大的成就。嘗試用Java寫個(gè)小游戲,鍛煉了Aris的編程能力,這也是他真正踏上編程路的開(kāi)端。

【51CTO.com原創(chuàng)稿件】Aris在大學(xué)期間對(duì)編程產(chǎn)生了興趣,當(dāng)時(shí)他的班主任是教Java的,看著老師用代碼寫出一些他們做不到的事,Aris便開(kāi)始覺(jué)得編程是一件很牛逼的事情。從那時(shí)起,他就沉入到計(jì)算機(jī)的世界里,每周都會(huì)去圖書(shū)館借一些書(shū)回去,邊對(duì)照書(shū)邊敲代碼執(zhí)行,逐漸一個(gè)個(gè)小案例被成功的敲出來(lái)了,頓時(shí)他心生滿滿的成就感。但一味的跟著書(shū)編程,并不會(huì)一直運(yùn)行成功,有一次因?yàn)闀?shū)本的某個(gè)小錯(cuò)誤,Aris沒(méi)有發(fā)現(xiàn),導(dǎo)致他執(zhí)行不出結(jié)果,于是他通過(guò)百度、Google各種查詢,最終找到解決方法。此后Aris覺(jué)得單單跟著書(shū)上敲是不行的,還需要自己靈活變通,后面的學(xué)習(xí)生涯也是這樣一天天積累的。

[[185079]]

Aris·Java開(kāi)發(fā)

自學(xué)Java編寫小游戲

畢業(yè)后的三年間,Aris由于個(gè)人原因,沒(méi)有從事過(guò)任何相關(guān)的企業(yè)級(jí)開(kāi)發(fā)工作,而是在一家IT培訓(xùn)機(jī)構(gòu)擔(dān)任Java項(xiàng)目助理,很久沒(méi)接觸過(guò)Java的他,理論知識(shí)在腦海里所剩無(wú)幾,所以剛進(jìn)培訓(xùn)機(jī)構(gòu)時(shí),他也是跟著前來(lái)培訓(xùn)的學(xué)生一起邊工作邊學(xué)習(xí),增強(qiáng)自己Bug解決能力,更好的與學(xué)生溝通,不管是日常學(xué)習(xí)還是生活瑣事,都逐一了解清楚,這樣方便后期對(duì)學(xué)生日常管理做優(yōu)化,在此期間Aris自學(xué)了Struts2和Spring和Hibernate這三個(gè)比較常用的框架,后期因?yàn)檎n程上的改革,研究了MyBatis數(shù)據(jù)層管理框架。當(dāng)時(shí)Aris學(xué)Swing的時(shí)候,為了對(duì)Swing的應(yīng)用更為熟練點(diǎn),他自己嘗試寫了個(gè)<飛機(jī)大戰(zhàn)>游戲,列舉部分代碼:

飛機(jī)大戰(zhàn)GAME OVER

主程序

敵機(jī)

小蜜蜂

 子彈

飛行物

用HTML5實(shí)現(xiàn)App和Web項(xiàng)目

之所以會(huì)選擇轉(zhuǎn)開(kāi)發(fā),因?yàn)锳ris覺(jué)得自己的技術(shù)水平已經(jīng)達(dá)到一個(gè)瓶頸,需要進(jìn)一步成長(zhǎng),必須接觸真正的企業(yè)開(kāi)發(fā)才行,所以他毅然辭掉培訓(xùn)機(jī)構(gòu)的工作,投奔軟件公司去做Java開(kāi)發(fā)了。初入開(kāi)發(fā)崗,自然免不了過(guò)渡期,主要是通過(guò)溝通和自學(xué)成長(zhǎng)的??蠢纤緳C(jī)寫的業(yè)務(wù)代碼,了解項(xiàng)目流程,是Aris首要掌握的。有效代碼約5000行,他都一步步理解透徹。2周后Aris接手***個(gè)任務(wù),推翻原生態(tài)安卓App,改為時(shí)下流行的HTML5語(yǔ)言作為一個(gè)升級(jí)版,Aris和以前接手過(guò)的同事溝通,了解相關(guān)的業(yè)務(wù)需求,期間會(huì)使用到MUI這項(xiàng)前端框架。當(dāng)時(shí)除了上MUI官網(wǎng)外,還有Git、51CTO、最代碼等各種技術(shù)相關(guān)的論壇網(wǎng)站查找過(guò)案例。由于JS的comfirm方法在調(diào)用時(shí),會(huì)在標(biāo)題欄那里顯示當(dāng)前訪問(wèn)的地址,所以找了一下官方MUI文檔,看到了MUI有自己重新封裝的comfirm,調(diào)用mui.comfirm()就不會(huì)在標(biāo)題欄出現(xiàn)當(dāng)前訪問(wèn)的網(wǎng)址了,這個(gè)小問(wèn)題解決。對(duì)于App項(xiàng)目,Aris覺(jué)得難點(diǎn)在于App拍照完返回時(shí)觸發(fā)的回調(diào)事件該如何實(shí)現(xiàn),就此問(wèn)題當(dāng)時(shí)跟其他成員討論過(guò),結(jié)果定下了一個(gè)共同適用的方案,

  1. 調(diào)用var cmr = plus.camera.getCamera()先獲取當(dāng)前設(shè)備的攝像頭; cmr.captureImage(function(path){},function(error){})然后在調(diào)用它的captureImage這個(gè)方法 

***花費(fèi)不少的時(shí)間去編寫修改,功能終于實(shí)現(xiàn)出來(lái)了。***個(gè)項(xiàng)目完成后,他轉(zhuǎn)做Web前端開(kāi)發(fā)了。這次的任務(wù)是把公司以前的一個(gè)網(wǎng)站前端技術(shù)由ExtJS改為用HTML5來(lái)實(shí)現(xiàn)。因?yàn)镋xtJS太顯商務(wù)化了,畢竟現(xiàn)在是互聯(lián)網(wǎng)時(shí)代,項(xiàng)目也應(yīng)該隨時(shí)跟進(jìn)才對(duì)。而且頁(yè)面需要統(tǒng)一適用Layui,Aris繼續(xù)學(xué)習(xí)摸索新框架, Layui官網(wǎng)上有充足的案例和標(biāo)準(zhǔn)的文檔。改版前的舊網(wǎng)站是用ExtJS來(lái)實(shí)現(xiàn)頁(yè)面渲染的,所以也需要了解ExtJS。在前端頁(yè)面開(kāi)發(fā)中,請(qǐng)求的地址和接收的參數(shù)要及時(shí)跟進(jìn)后臺(tái)的Action來(lái)做調(diào)整。項(xiàng)目提交給測(cè)試師之前,記得把項(xiàng)目中與業(yè)務(wù)無(wú)關(guān)的彈出框給注釋掉或者刪除掉,這些彈出信息只是在開(kāi)發(fā)過(guò)程中為了跟蹤方法的調(diào)用結(jié)果或者期間出現(xiàn)的錯(cuò)誤信息,是不需要給測(cè)試師看的,以免測(cè)試師看到以為是什么Bug,所以去掉彈出框會(huì)節(jié)省很多時(shí)間成本。

Aris總結(jié)3點(diǎn)編程經(jīng)驗(yàn),分享給初學(xué)者:

1、寫代碼時(shí)要注意,遍歷Map的方式有很多,通常場(chǎng)景下需要的是遍歷Map中的Key和Value,那么推薦使用的效率***的方式是:

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

如果只是想遍歷一下這個(gè)Map的key值,那用”Set<String> keySet = hm.keySet();”會(huì)比較合適一些。

2、JS不熟練的情況下,可以多看***版本JavaScript 權(quán)威指南,畢竟JS一直都在優(yōu)化,***版就可以學(xué)習(xí)到優(yōu)化好的知識(shí),有興趣也可以看老版本,這樣可以接觸到JS一些底層源碼,設(shè)計(jì)思路是怎樣的。現(xiàn)在常用的JQuery,想要學(xué)習(xí)可以去看看《鋒利的JQuery》這本書(shū),不管是紙質(zhì)書(shū)還是電子書(shū)都可以,里面有涉及到JQuery各式各樣的選擇器和插件,一些便捷的方法可以直接拿來(lái)使用,加快開(kāi)發(fā)進(jìn)度。

3、對(duì)業(yè)務(wù)不熟悉,要多跟同事討論,理解清楚該功能要實(shí)現(xiàn)的業(yè)務(wù)是怎樣,不要獨(dú)自埋頭苦干。

工作中體現(xiàn)價(jià)值

Aris的領(lǐng)導(dǎo)是前端后端都比較牛的大神,工作期間他得到了不少領(lǐng)導(dǎo)指導(dǎo)和教育,慢慢的他自己負(fù)責(zé)的內(nèi)容逐步實(shí)現(xiàn)了出來(lái),這使得Aris更加充滿信心來(lái)應(yīng)付以后的工作。從App開(kāi)發(fā)到前端框架,Aris得到了鍛煉,他覺(jué)得在一家企業(yè)要體現(xiàn)自己的價(jià)值,就是看你能完成什么樣的工作,任何新任務(wù)都是挑戰(zhàn)。只相信更好的,不相信***的,正所謂人無(wú)完人!路漫漫其修遠(yuǎn)兮,愿每位開(kāi)發(fā)者勇敢邁出***步,編出自己的程序。

如果你也愿意分享你的故事,請(qǐng)加51CTO開(kāi)發(fā)者QQ交流群 370892523聯(lián)系群主小官,期待你的精彩故事!

51CTO開(kāi)發(fā)者QQ交流群 370892523

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

【編輯推薦】

責(zé)任編輯:何星 來(lái)源: 51CTO
相關(guān)推薦

2017-07-03 14:39:41

開(kāi)發(fā)者故事

2017-01-18 16:37:43

開(kāi)發(fā)者故事

2016-12-30 16:43:53

開(kāi)發(fā)者故事

2017-03-21 11:19:57

開(kāi)發(fā)者故事

2017-11-28 14:15:38

開(kāi)發(fā)者故事

2017-01-05 15:30:59

開(kāi)發(fā)者故事

2017-01-10 14:59:03

開(kāi)發(fā)者故事

2017-09-15 11:39:47

2017-01-11 17:25:23

開(kāi)發(fā)者故事

2017-03-01 15:57:48

開(kāi)發(fā)者故事

2017-07-06 14:59:27

2017-01-16 17:24:08

開(kāi)發(fā)者故事

2017-01-19 13:40:56

開(kāi)發(fā)者故事

2017-01-18 11:07:20

開(kāi)發(fā)者故事

2017-04-21 15:50:52

開(kāi)發(fā)者故事

2017-10-23 13:15:51

2017-04-25 15:39:30

開(kāi)發(fā)者故事

2018-07-04 17:42:58

開(kāi)發(fā)者故事

2017-03-24 16:43:09

開(kāi)發(fā)者故事

2017-01-13 16:36:29

開(kāi)發(fā)者故事
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)