1. 程式人生 > >我的年度總結

我的年度總結

        年度總結

        也不知道從何說起,就談談我對開發的態度吧。         我自認為算是一個比較善於思考、汲取上進的一個人。或許和我性格也有關係,我不太習慣好多件事情一起幹,這樣很容易分心。         開發這條道路其實大部分時間還是比較孤獨的。孤獨,不是指不要團隊合作意識。而是一個人真的要有長進,要有學習和吸收的時間。要耐得住寂寞,熬的了夜,當然我指的是有意義的,像是那種為了“熬夜”而去熬夜的,又或者大家都在熬夜,我是不是也要一起熬夜?但其實都不知道在幹嘛的。我覺得很可笑,而且有點道德綁架嫌疑。這種現象無外乎就幾點:個人能力不行,團隊溝通不恰當,專案職責沒分配好。         首先對於個人的發展方向,也用不著看的太遠。現在所接觸和學習的任何事情,其實將來都是會用得到的。所以,安安心心幹好本分的事情,比什麼都重要。所以,我只說說開發中學到的東西。  
  • 不斷擴充自己的知識庫
        語言不斷的升級,技術不斷的提升。比如說最典型的Java,很多人都會說出一兩個經常會遇到的困擾,比如記憶體溢位,在比如垃圾的GC機制。                     Java的垃圾回收          098efd30d2734de8b35a9dc80ca126f0.jpg
JDK11都已經發布了,SUN公司或許以後每一年會更新一個版本。甚至有預言說JDK12的理論會推翻之前的設計思想,那麼Spring只好被重做了。無法向下相容。這是很多老“Java”無法承受的事實。         目前所有的Java工程師也僅限於7或者8,又或者...6。面對市場上激烈的語言競爭,如果不接受新的知識,那是無法在市場上生存的更好。程式設計在國內也就幾十年的光景,從早期的JEE架構,到SSH架構,再到服務化架構。從服務單體化,到後來的SOA,至此解決了不同語言平臺通過某種協議交換資料。從XML到JSON的轉變,大大減少了網路的開銷。直到現在的微服務架構。         語言不斷更新,技術不斷更新,到現在甚至只要能上網的電腦,直接Cloud Studio就可以實現雲開發。很多使用場景下,不僅僅一個Java可以選擇。客戶要的只是效率。比如Node,Python,Golang,Php,每一種語言都有自己獨佔的市場空間。         身邊有人也問過我,到底選擇哪一個語言學習。之所以這麼問,我覺得已經跑偏了。哪一種語言都行,主要看需要你用什麼。語言雖然層出不窮,但背後的思想確實逐漸統一。學習也是要學這種思想。如果一門學通了,其他的其實都差不多。認識到自己想要從事哪個方向,比考慮到底學什麼重要。  
  • 我對前端的一些學習姿勢和態度
        前端是一個先易後難的過程,入門很簡單,學精難。學習本身就是一個溝通交流的過程,和人也好,和機器也是一樣。好多東西不能僅限於會用,要學會嘗試去做,別人可以做的如果自己沒有做過,那就有必要嘗試一下。比如說新技術,比如說新框架。或者一點新奇的點子,為什麼NPM安裝的包拿過來直接就能用?同源策略到底是啥意思?Js的設計模式是什麼?         前端本身就是一個冒險。要不斷的推翻,不斷的學習,才能趕得上技術更新速度。為什麼好多公司都會問除了前端還會一點服務端的技術?         該懶惰就要“懶惰”一點,有現成的框架能用,為什麼還要自己寫。很多時候我們不必重複造輪子,永遠要相信,你想到的,應該別人已經遇到過了。要把主要的精力放到業務邏輯上。重複的函式就用偏函式解決。重複的頁面就要用元件代替。重複的專案就要用同樣的程式碼。程式碼規範化了,後期迭代,維護,修改,那還不是輕車熟路。  
  • 實際開發總結經驗
        平時的時間除了工作,就是學習。經常會寫一些小Demo出來。把工作中的精華提煉出來。或者寫在部落格裡,或者放到GitHub上,以備後期用到的時候拿來即用。         比如說嘗試Vue + Typescript,發現實際上無法完完全全相容。也只能等到Vue的下一個版本。         比如說索引專案後期的SEO。我就查了一些資料,像是Vue SSR、React SSR。後期我自己也弄了一個類似於早期Java後臺開發那樣,用過類似Jsp方式實現了一個小 Demo。實現方式是用 Node + Nunjucks模板引擎。之所以用Nunjucks,主要是使用者基數大,用法和Jsp差不多,Jinja2同一團隊,用法相通。這樣我就有了一個類似個人部落格,門戶,論壇一類的解決方案。         比如說上汽員工平臺。我用了很多的比較好的思路和方式,然後我就全部抽象出來一個 基礎框架。以備後期做後臺頁面的時候,開箱即用。          131941_dcd644b5_1437187.gif         比如說釘釘前端的簽名免登,我對比了一下以往的寫法。我直接抽離出來。然後幾行程式碼搞定。         比如說懶人必備的一個工具,Gulp等。         比如說 門戶的一些設計思路          door_ui.gif  
  • 總結
        前端是一個很好玩,也很容易上癮的方向。在此借鑑一段話:Atwood定律的由來,Javascript技能獨立完成所有網際網路應用所需的功能開發,同時又是主流程式語言中最為輕量級的。JavaScript就是完美的,它沒有類的概念,但所有東西都是物件,無需建立過程就能存在,而且它時單執行緒的。同時,JavaScript也走向了後端,Nodejs之類的框架和Mongodb之類的NoSql資料庫讓Web開發實現了JavaScript的前後端通吃。另外一個很重要的事實,那就是JavaScript已經獲得了所有瀏覽器的支援,幾乎所有網站都已經在使用它,再加上JSON標準,相比其他語言,他已經佔據了有利地形。     ​    ​至此我還有什麼理由不去學好它呢?