我以爲像我這般年紀的(29歲),有相對紮實技術功底的(就不自謙了),對賺錢有着強烈慾望的程序員,應該定一個切實的小目標——五年內月入三萬!程序員
之因此要定這個目標,最主要的緣由是老婆的批評刺痛了我——一個身強力壯的年輕男子(腦子也還好使),不千方百計的多掙點錢,簡直就是對本身人生的不負責任;嗯,也是對家庭的不負責任——有罪啊!面試
次要的緣由是業界(IT)的大牛「純潔的微笑」對「掙錢」的認知警醒了我:spring
千萬別把有本事掙錢的人,當成臭奸商;掙錢能力,幾乎是斷定一我的綜合能力的最高標準。可以掙到錢的人,只要不是違法所得,你會發現這我的的洞察能力,執行能力,管理能力,心理素質,意志品質等等,都會比通常人強。sql
先說一句垂頭喪氣的話:我出身很差,不過一個賣草鞋的。哦,說錯了,我比劉皇叔的出身好多了,沒窮到賣草鞋的份啊(據歷「記」史「憶」記載)。儘管父母都是面朝黃土背朝天的農民,但在上學的年紀,他們可一點沒虧待過我。和王思聰那樣的Super富二代天然是沒得比;但畢竟沒餓過肚子啊編程
我之前常常後悔,後悔本身只考了個三本,上了一個不入流的大專,因此沒有一個更好的平臺來展現本身的才華。如今想一想,之前的本身可真夠自覺得是的!高考沒考好(≈學習很差),那全怪我本身,怨不得別人啊!小程序
沒上好大學,沒關係啊,實習的時候,公司沒少有研究生啊;我不是和人家站在同一條起跑線了嘛。之因此最後混得很差,關鍵的問題還在本身,你看:設計模式
第一,不懂人情世故;你好比說早上見到領導要禮貌的「早安」啊;酒桌上領導敬酒的時候酒杯要低半杯啊;領導誇誇其談的時候要拍馬屁啊。等等這些,我年輕的時候居然不屑於去作!安全
第二,不會默默背鍋;你好比說,領導在領導的面前對着我發脾氣的臭罵:「你個傻X,當初我不是要求你這樣實現功能的,你看你作出來的是個屁!」聽到這話,咱就火冒三丈,直接懟回去:「這不你當初要求我這麼作的嘛,如今該背鍋的時候扔給我了啊!」性能優化
第三,不敢主動提薪;你好比說,領導擺出一副慈悲的樣子:「王二啊,你這一年在寫代碼的能力上進步很大,有目共睹啊;我們團隊遇到的技術難題多虧了你加班加點的調查,才得以解決;你也是我重點培養的對象,因此,我想此次漲薪由你說了算,你說說,你要漲多少?我毫不會虧待你。」咱心想啊,領導這麼器重本身,因而脫口而出:「800吧!」聽到領導不假思索回答:「才800啊,我確定知足你!」我腦海中剎那間想起來了一幅徐悲鴻的「萬馬奔騰」圖!好不容易等到一次大幅加薪的機會,我居然那麼當心眼——只敢提800,愧對領導一番盛情啊!mybatis
往事不堪回首,就很少提了。日後去,得作一些積極的準備。領導靠不住,工資靠不住,還得靠副業——本身爲本身打工——你不能老期望着領導帶領我們走向「發家致富」的康莊大道啊,人家眷於「少部分富起來的人」,至於富起來後帶不帶我們,那得看天意!但天意通常習慣捉弄人。
做爲一名有8年工做經驗的程序員,實現月入三萬的目標,難度並不很大,關鍵看本身敢不敢付諸行動!此話怎講?且聽我詳細分析:
第一,接私活作啊——風險小,零成本投入,惟一擔憂的就是甲方靠不靠譜,結款何時到帳。若是去買彩票、買股票、買期貨,那掙錢的機率幾乎和諸葛亮借東風的機率差很少——徹底碰運氣啊。接私活就不同,雖然掙的是辛苦錢,出賣的是本身的時間、精力,但掙什麼錢都不容易啊!付出纔有回報嘛!
不僅是接私活,還得成立組織來接私活。有了組織好辦事啊,你們能夠共享資源,共享技術,共享創意!
基於這樣的想法,石磊、小龍和我(王二),三我的就成立了一個組織——青苗科技工做室(有沒有高大上?)。名字聽起來很專業,很生機勃勃吧!咱們三我的的技術能夠互補,Web開發、IOS、安卓、小程序、公衆號,幾乎全部的項目均可以承接,徹底沒必要再畏首畏尾!
第二,創建生態系統——逐步積累,長期發展。
有了組織,可不僅能用來接私活。最重要的是,創建屬於咱們青苗科技的生態系統,像JEECG、JEECMS、JFinal 那樣——經過開源核心框架來吸引流量,同時爲中小微企業定製軟件來獲取盈利。
第三.擁有一套完整的技術知識(持續學習實戰,提高技術棧)
設計模式
設計模式是可複用面向對象軟件的基礎,學習設計模試是每一個程序員從菜鳥走向大神的必經之路,巧妙地運用設計模式可使咱們的代碼看似複雜實際簡潔、複用性更高、更容易被別人理解等好處,同時也是學習軟件工程的基礎和必然。
併發編程
主要培養編程者深刻了解最底層的運做原理,增強編程者邏輯思惟,這樣才能寫出高效、安全、可靠的多線程併發程序。
開發工具工程化
經過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具。程序員的戰鬥,每每不是一我的的戰鬥,咱們如何在一個平臺下高效的去重,進行代碼review,對功能進行調整,debug,作到在統一的規劃下步步爲營,混亂的堆代碼的過程當中找到本身的記錄。這一切都依賴於有效的工具。
性能調優
咱們不只僅對項目要指揮若定,還要能解決一切性能問題。只有深刻學習JVM底層原理,Mysql底層優化以及Tomcat調優,才能達到知其然,知其因此然的效果。除了性能優化以外,也能提供通用的常見思路以及方案選型的考慮點,幫助你們培養在方案選型時的意識、思惟以及作各類權衡的能力。
源碼分析
程序員天天都和代碼打交道。通過數年的基礎教育和職業培訓,大部分程序員都會「寫」代碼,或者至少會抄代碼和改代碼。可是,會讀代碼的並不在多數,會讀代碼又真正讀懂一些大項目的源碼的,少之又少。這也形成了不少錯誤看源碼的方式。
那要如何正確的分析源碼呢?
咱們的目標應該放在最經常使用的框架上面,下面就介紹兩個:一個是Spring,另外一個是你們用來以爲一直不怎麼出問題的Mybatis。
△spring源碼
△mybatis源碼
分佈式架構
隨着咱們的業務量愈來愈大和越重要,單體的架構模式已經沒法對應大規模的應用場景,並且系統中決不能存在單點故障致使總體不可用,因此只有垂直或是水平拆分業務系統,使其造成一個分佈式的架構,利用分佈式架構來冗餘系統消除單點的故障,從而提升整個系統的可用性。同時分佈式系統的模塊重用度更高,速度更快,擴展性更高是大型的項目必不可少的環節。
分佈式架構(一)
分佈式架構(二)
微服務
關於微服務架構的取捨
在合適的項目,合適的團隊,採用微服務架構收益會大於成本。
微服務架構有不少吸引人的地方,但在擁抱微服務以前,也須要認清它所帶來的挑戰。
須要避免爲了「微服務」而「微服務」。
微服務架構引入策略 – 對傳統企業而言,開始時能夠考慮引入部分合適的微服務架構原則對已有系統進行改造或新建微服務應用,逐步探索及積累微服務架構經驗,而非全盤實施微服務架構。
B2C項目實戰
要想立足於互聯網公司,且能在互聯網浪潮中不被淹沒,對於項目的開發實戰演練是沒必要可少的技能,也是對自身能力的一個衡量,有多少的量對等於得到多少的回報。看似簡單的一個項目需求圖譜,其中的底層原理,實現原理又能知道多少?你搭建一個完整的B2C項目平臺到底須要多少知識?這一切都是須要咱們考量的。
JVM和性能優化
架構關鍵基礎設施
加WX:weizhuanye51獲取高併發、高性能及分佈式、Jvm性能調優、Spring源碼,MyBatis等BAT視頻+面試學習資料!