1、學(xué)習(xí)一門新的編程語言的時(shí)候
我的第一份工作是 Android 攻城師盒犹,做了有兩年左右懂更,發(fā)現(xiàn)自己平時(shí)的工作幾乎都是在設(shè)計(jì)頁面布局,這不是我理想的工作(我的理想工作是不上班 [/ 壞笑])急膀。因?yàn)榻?jīng)常和 Java 后端人員接觸沮协,感覺他們工作挺炫酷的,敲幾行代碼卓嫂,在瀏覽器輸入一個(gè)地址慷暂,就能打開一個(gè)自己設(shè)計(jì)的網(wǎng)頁,簡直太牛 P 了晨雳。因此決定向 Java 后端發(fā)展呜呐。之后又有爬取數(shù)據(jù)的需求,有利用業(yè)余時(shí)間學(xué)習(xí)了 Python悍募。每當(dāng)接觸一門新的編程語言時(shí)蘑辑,都感覺自己進(jìn)步飛快。
- 學(xué)習(xí) Java 后端:
剛接觸時(shí)坠宴,真的是什么都不懂洋魂,首先是三大框架 SSH(Struts、Spring喜鼓、Hibernate)副砍,知道的同學(xué)請舉個(gè)手,現(xiàn)在幾乎都是 SSM 框架的天下了(Spring庄岖、SpringMVC豁翎,MyBatis)。
一路走來搞懂了什么是 JSP隅忿?什么是 Servlet心剥?什么是攔截器 / 過濾器?什么是 Socket 通信背桐?什么是數(shù)據(jù)庫操作优烧?什么是事務(wù)?什么是分布式链峭?什么是分布式事務(wù)畦娄?....... 終于明白了,什么叫 “一入編程深似海”
- 學(xué)習(xí) Python:(人生苦短,我用 Python)
學(xué)習(xí)這門語言的最初動(dòng)力就是做爬蟲熙卡,直接在 w3school 和 菜鳥教程 簡單學(xué)習(xí)了語法杖刷,就開始試著用 Scrapy 的爬蟲之旅。中間為了實(shí)現(xiàn)自己的爬取目標(biāo)驳癌,又學(xué)習(xí)了許多必要的知識(shí)挺勿。你需要搞明白:xpath 選擇器、css 選擇器(了解其中一個(gè)即可)喂柒,數(shù)據(jù)的下載、圖片的保存禾嫉,線程數(shù)量的配置......
提示:不要懼怕任何編程語言灾杰,它沒有你想像的那么難,就是規(guī)則
just do it !
2熙参、當(dāng)自己嘗試獨(dú)自完成一個(gè)項(xiàng)目的時(shí)候
獨(dú)自完成一個(gè)相對(duì)完成的項(xiàng)目艳吠,這點(diǎn)可以讓你更全面的了解項(xiàng)目的構(gòu)成。我在做自己的一個(gè)獨(dú)立項(xiàng)目時(shí)(項(xiàng)目名稱不方便透漏孽椰,還請諒解)昭娩,需要自己去了解前端方面的知識(shí),如 html/css/jsp/jquery 等黍匾,作為后端人員適當(dāng)?shù)膶W(xué)習(xí)前端知識(shí)還是很有必要的栏渺。如今前端都在向后端侵透,我們不侵透下前端都感覺對(duì)不起后端這個(gè)稱呼锐涯。
3磕诊、學(xué)會(huì)使用搜索引擎 Google、百度(排名分先后)
如今的技術(shù)已經(jīng)發(fā)展的比較成熟纹腌,你所遇到的 80% 的技術(shù)難題霎终,已經(jīng)有人遇到過并幫你找到好的解決方案了,所以要學(xué)會(huì)使用關(guān)鍵詞進(jìn)行搜索查詢升薯。
有很多問題你會(huì)發(fā)現(xiàn)在百度查不出來莱褒,翻了七八頁也沒有找到好的解決方案。這個(gè)時(shí)候建議你用 Google 試試涎劈,一般答案就在前兩頁內(nèi)广凸。(大家都說百度是一家廣告公司,不是我說的)
來兩張對(duì)比圖蛛枚,客觀自行對(duì)比吧:
我也是從百度開始的炮障,但搜索結(jié)果不對(duì)比不知道,之前遇到過一個(gè)問題坤候,在百度翻了近 10 頁都沒有找到自己想要的答案胁赢。抱著試試的心態(tài)去 Google 試了下,在第 1 頁中就找到了答案白筹。
關(guān)于百度的更多內(nèi)容可以看這個(gè)回答:為什么有人說「百度全面降低了中國的互聯(lián)網(wǎng)體驗(yàn)」智末?
總之谅摄,如果你有梯子,請遠(yuǎn)離百度系馆,使用 Google送漠。
4、第三次讀書籍《設(shè)計(jì)模式》的時(shí)候
第一次讀設(shè)計(jì)模式相關(guān)的書籍由蘑,也就混個(gè)臉熟闽寡,具體什么用處,怎么用尼酿?都沒搞明白
二刷設(shè)計(jì)模式書籍爷狈,算搞明白了單例模式、適配者模式裳擎、工廠模式等所能起到的作用
三刷設(shè)計(jì)模式涎永,已經(jīng)間隔了兩年,再看才明白其中的道道鹿响,設(shè)計(jì)之精巧羡微。也學(xué)會(huì)設(shè)計(jì)模式你真不能稱為一位合格的程序員。
設(shè)計(jì)模式(Design Pattern)是前輩們對(duì)代碼開發(fā)經(jīng)驗(yàn)的總結(jié)惶我,是解決特定問題的一系列套路妈倔。它不是語法規(guī)定,而是一套用來提高代碼可復(fù)用性绸贡、可維護(hù)性启涯、可讀性、穩(wěn)健性以及安全性的解決方案恃轩。
設(shè)計(jì)模式對(duì)每一位編程人員來說都是一把利劍结洼,沒認(rèn)真學(xué)過的同學(xué)請回家自行閱讀學(xué)習(xí)。
5叉跛、開始讀源碼的時(shí)候
曾經(jīng)不止一次松忍,有人建議我多看看源代碼,但是我一直不以為意筷厘,因?yàn)橐恢币詠淼脑瓌t就是鸣峭,我們是站在巨人的肩膀上的,到時(shí)候會(huì)調(diào)用就行了酥艳。
閱讀源碼之后覺得好像得到了某種內(nèi)功心法摊溶,查看源代碼一方面可以了解看的東西具體是如何實(shí)現(xiàn)的(所用的算法、數(shù)據(jù)結(jié)構(gòu)等)充石,另一方面也可以學(xué)習(xí)代碼的架構(gòu)莫换。這對(duì)編程人員以后的發(fā)展很重要,很重要,很重要拉岁。
6坷剧、開始試著看英文文檔的時(shí)候
編程這個(gè)行業(yè)是很特殊的。之所以說特殊喊暖,就是因?yàn)樗械募夹g(shù)大多來自歐美惫企,所以最主流,最新鮮陵叽,最正確的技術(shù)文章都是英文狞尔,遺憾的是,大部分還沒有譯本巩掺。你現(xiàn)在能看到的譯本都是基于譯者對(duì)這個(gè)技術(shù)的理解進(jìn)行翻譯的偏序,中間難免會(huì)有偏差。
學(xué)好英語你可以和世界各地的程序員在 Stack overflow锌半,Reddit 和 Github 進(jìn)行交流,以碼會(huì)友寇漫。作為工作多年的老鳥刊殉,大家自然知道內(nèi)推的好使程度,要是拿到了公司的錄取州胳,那么什么簽證都是浮云记焊。
如果你想掌握最前沿的技術(shù),那么從英文文檔開始吧栓撞。
“不積跬步遍膜,無以至千里”,希望未來的你能:有夢為馬 隨處可棲瓤湘!加油瓢颅,少年!
關(guān)注公眾號(hào):「Java 知己」弛说,每天更新Java知識(shí)哦挽懦,期待你的到來!
- 發(fā)送「Group」木人,加入無廣告微信群信柿,與 10 萬程序員一起進(jìn)步。
- 發(fā)送「面試」醒第,領(lǐng)取BATJ面試資料渔嚷、面試視頻攻略。
- 發(fā)送「玩轉(zhuǎn)算法」稠曼,領(lǐng)取《玩轉(zhuǎn)算法》系列視頻教程形病。
- 千萬不要發(fā)送「1024」...