真的是很久沒寫博客了

記錄可查,自從畢業以後就沒怎麼寫過博客。期間寫了翻譯了兩篇老外的文章,不過好像彷佛也是爛尾了。前端

仔細想一想,沒有堅持下去的緣由有不少,可是不管有多少緣由,歸根到底問題仍是出在本身身上。什麼工做以後好累啊,平時沒時間啊種種,其實都是藉口。node

其實就是懶了,之前的激情慢慢消退了。不管你說是生活的壓力,仍是工做的忙碌,都是藉口。時間老是用的,可是沒激情沒有動力,即便是雙休日,哪怕是三休日也是不會提筆。python

真是隻是懶了,沒激情了嗎?我想並非,在我看來目前本身更多的是思想上的懶惰。webpack

畢業和入職

之前在學校時,畢業面臨着就業。當時各類學習新技術,鑽研,什麼 Angular 、Node.js,mongo啊,而後畢設基於這些作了一個聊天室。麻雀雖小,五臟俱全。也是得益於此纔有幸加入如今的公司負責 IM 模塊的前端工做。好的,從這時開始,心態出問題了。git

畢業以後順利入職,起初寫了一點 node 相關的後臺代碼,操做 mongo,加幾個接口啊之類的。後來開始負責公司內部的工具系統的前端開發,期間原 IM的負責人離職,我便接手。到如今,一人負責 IM 模塊的前端,偶爾在負責 node 的同窗忙時 debug 一下 node 的代碼。後端相關技術得以見長。github

可能說到這你會感受,喔不錯喔。然而事實倒是:我雖想走向全棧工程師,可是目前主要仍是提升前端的技能,先成爲一名優秀的前端工程師。web

公司數據規模還算大,負責的模塊功能也算比較複雜,在開發工程中,業務能力獲得了很明顯的提高。可是,公司的前端架構和前端氛圍是硬傷,尤爲是在我剛剛入職的時候。入職之初,公司甚至沒有專門的前端組,前端開發人員只是附屬於後端,一切都是後端牽着走。開發工具和流程都是古老的,包括但不限於seajs ,前端模板,git 使用規範等。入職時間爲2015年7月,這時候的前端圈子已是百家爭鳴的時代,具體什麼樣子我想不須要我再細說了,可是公司內部的前端總體還停留在幾年前。對於這些,起初我不覺得然,但當我在開發的時候,我才真正意識到工具是多麼的重要。docker

無力吐槽的 seajs

不能否認,可以作出 seajs 是蠻厲害的,或許它在阿里內部配合一系列內部工具,使用起來如虎添翼。可是放在外面,對於其餘的使用者來講,有多大的利弊我無從知曉。我只能從我自身的角度吐槽。gulp

如下都是個人我的觀點。後端

  1. 亂七八糟的文檔。什麼五分鐘上手,我看了大半天仍是沒搞清楚到底怎麼搞,並且還在 issues 裏面寫文檔。

  2. 亂加新概念。什麼懶加載我不知道,我也不想知道。由於在我看來這簡直無理取鬧。

  3. 中文社區小圈子,不少問題都知道怎麼辦。或許配合阿里系的構建工具很爽,可是配合 grunt 啊 gulp 啊什麼的簡直是要哭死。

半天都沒入門,可能我是真菜吧。

前端模板系統

jQuery + 前端模板引擎的思路是我13年實習的時候使用,在15年另外一家公司實習時,已是 Angular 了。因此對我而言,感受像是在倒車。

我並非說這種模式是多麼的很差,而是公司使用這種模式與個人預期出現了誤差。

Git 的使用

且不說我 git 玩得多麼的溜,可是基本的操做和規範什麼的都仍是內心有數的,不懂就查乃程序猿基本素質。可是公司內部大部分或者能夠說全部的使用方式 都只有是粗暴的 push pull,毫無藝術可言。初來乍到的我簡直被震驚了-大部分時候先後端的人都在一個分支上開發。我嘗試在小組推一推 git flow,可是無奈習慣的可怕。好在我依然按照 git flow 要求本身。

以上,我心裏吐槽比較多的,包括但不限於這些,畢竟本文並非來吐槽本身可愛公司的。

然而,事實證實,這一切的背後都是有其內在緣由,在不展開說。

本身的嘗試

工做一段時間以後,發現使用 seajs 致使的不少問題(狗屁懶加載,還不如打包成一個文件),因而開始在本身的模塊中嘗試使用 webpack,配合以前的「前端架構」,同時以組件化的形式對 IM 的模塊進行優化。

首先,保留模塊 seajs 的 js 入口文件,將其餘的 js 文件和小模塊按需整理打包成一個或者多個文件,從入口文件引入這些文件。

其次,從新梳理了 IM 的代碼,根據界面劃分組件。本來打算參考 flux 的思路將數據在一個 store 中,可是考慮到目前仍是 jQuery 配合前端模板的開發模式,擔憂出現沒法掌控的性能問題,最終仍是將組件的數據分離散落組件內部。 每一個組件有本身專屬的 Model,View 和 Controller。Controller 控制 Model,Model 變化以後修改 View,組件內部 Model 和 View 的通訊以及個逐漸之間都是 經過訂閱發佈者模式通訊。

到這一步以後,模塊的穩定性有了明顯提高,數據的「單向流動」和數據驅動頁面的思路也使得代碼結構較以前簡單清晰。

組件化的優點在於:分治。在個人代碼中,組件內部只須要處理本身 Model 和 View 的事情,在 Controller 中暴露出對外的訂閱和發佈。而組件之間的「交流」只經過彼此的 Controller。

|-------------------------------------|
    | Controller =====> Model =====> View |
    |-------------------------------------|
    |            |
    |-------------------------------------|
    | Controller =====> Model =====> View |
    |-------------------------------------|
    |            |
    |-------------------------------------|
    | Controller =====> Model =====> View |
    |-------------------------------------|

固然,上述過程不是一蹴而就,而是一點點的嘗試和修改,最後總結如此。

好消息來了?有消息好過沒消息

期間有一個好消息就是,公司終於成立了前端小組。在覺得老員工的帶領下和你們的努力下,前端開發規範和流程定下來了。而後小組分工對目前的一些比較重大的問題進行處理。好比 z-index 的規範,公用組件的清理和維護。我負責表情鍵盤的公共組件,目前已經完工,回頭有空放 github 上供你們拍磚。

現實是殘酷的

技術發展如此迅速,要想在當前站穩腳跟,仍是要有一手絕活,提升自身的競爭力纔是硬道理。工做上老技術加新思想得過且過,可是業餘時間也是不能鬆懈的。

畢業到如今,業餘時間的學習狀態也是起起伏伏。一會看看 React,一會搞搞 node……一會想作一個綁定七牛雲的 markdown 編輯器,一會又想寫 python 爬爬網站……說的好聽叫「德智體美勞全面發展」,說的很差聽就是「浮躁」。東一榔頭西一棒子,demo 都是半成品,簡直毫無做爲。

好在乎識到業界競爭,及時剎車,給本身稍微定了計劃和目標。

  1. 用如今的新技術作一個相對完整的做品

  2. 影片管理工具

  3. 學 Python,好好學,好好用

  4. 繼續寫博客

  5. 等等其餘的事情

目前正在進行第一項:利用 Vuejs 及其生態圈作一個本身的 任務清單管理,歡迎你們送星鼓勵迷途羔羊。
先後幾個月的時間,斷斷續續。有時候大半個月不寫,有時候週末狂寫兩天,如今天天堅持提交代碼,時間少就稍微改改樣式,時間多就加加功能。後端代碼在這,本是之前在 daocloud 上搭着玩的,如今想慢慢把它打形成個人我的 API 接口倉庫,一樣也歡迎你們的鼓勵。

本身的硬盤裝滿了各類電影,可是名字和信息亂七八糟,但願有一個管理軟件,可是沒有找到,因而乎想本身用 electron 搞一個,取名「MovieMaster」,還能夠跨平臺呢。加載文件夾中的影片文件顯示影片的信息是它的基本功能,同時能夠編輯影片的信息。更多好用功能之後再想。目前爬了6000多條電影數據,等有空開發先後端,[倉庫]()都建好了呢

Python 做爲興趣愛好,拓展本身的技術面,不想侷限於 JavaScript。把以前的 python demo 倉庫刪了個乾淨,從新複習了基本的語法和數據接口,等有空了,從新拾起 Flask 擼起來。

繼續寫博客,本文不就是一個很好的開頭嗎?之前的博客用 githubpage 搭建,目前來講保持不變吧,同時應該會在其餘平臺同步博文。
主要是貼圖片有點麻煩,雖然如今有不少工具,可是仍是想本身擼一個,粘貼上傳到七牛雲,demo 都寫好了。現階段仍是多寫寫字吧。

其實我仍是挺想本身作一個單頁博客,想一想工做量有點大,個人 MovieMaster 優先。

demo 不少,惋惜都沒成型,遺憾。

後記

大半夜說了這麼多,不是心血來潮,是一直以來想寫點什麼可是殊不知道寫點什麼。今天可以提筆寫下這篇,不管流水仍是感悟,也算是一個進步。

畢業之時,曾想三五年後成爲一名優秀工程師,一個打五個的那種。不論這個目標是否可以實現,可是依然要朝着這個方向前進。

與君共勉

相關文章
相關標籤/搜索