簡述:我的2017技術(shù)流水賬
***次使用 AngularJS 是在 2014 年,那時(shí)候正在做一個(gè)回合制的手游項(xiàng)目,編寫后端的同時(shí),也順手編寫了 GM 工具和 Web 頁戰(zhàn)斗模擬工具,為了方便,整個(gè)工具全部寫在一個(gè)頁面中。頁面交互全部使用 jQuery 完成,寫到中后期,已經(jīng)被獲取表單數(shù)據(jù)、綁定事件、修改 DOM 元素折騰得不行。于是嘗試了 AngularJS ,整個(gè)人都感覺不一樣了,完全是像寫后端代碼一樣寫前端代碼。尤其是雙向數(shù)據(jù)綁定,實(shí)在是解決了 GM 工具等管理平臺中的痛點(diǎn)——大量數(shù)量的處理。AngularJS 結(jié)合 Bootstrap,簡直是編寫管理后臺的大殺器。
可是隨著單頁應(yīng)用的規(guī)模越來越大, AngularJS 的劣勢也日益明顯,雖然服務(wù)可以實(shí)現(xiàn) JavaScript 代碼的復(fù)用,但這還不夠。指令雖然實(shí)現(xiàn)了 JavaScript 和 HTML 的復(fù)用,使用又太過繁瑣。雙向綁定雖然方便,但這種隨意到處修改值的結(jié)果就是值變化了你也不知道是哪里改的。代碼文件的組織,也只能按照 JavaScript / HTML / CSS 分別組織。文件打包最多用用 Browserify + Gulp。無論從本身的技術(shù),還是從社區(qū)的環(huán)境來看, AngularJS 的確已經(jīng)是過去的技術(shù)了。
你好,Vue
去年的時(shí)候,已經(jīng)開始陸續(xù)試用 React 和 Vue 1.x ,React 的熱更新、徹底的組件化、完整的 ES6 支持,實(shí)在是讓人興奮。不過我始終沒有習(xí)慣 JSX ,而 Vue 1.x 的革命性又稍顯不足。但 Vue 2.0 的面世,徹底征服了我,博取眾家之長,新的生態(tài)工具的支持,在簡單的嘗試之后,很快便投入了 Vue 2 的懷抱?,F(xiàn)在的管理后臺,基本都是 Vue + Element-ui 的組合。
干凈利落,ES6
轉(zhuǎn)移到 Vue 2 便可以在整個(gè)項(xiàng)目中使用 ES6 了。最喜歡的還是簡潔的箭頭函數(shù)和放心使用的局部變量,再加上 eslint 的強(qiáng)制語法檢查,讓所有人都編寫格式一致的代碼。唯一不爽的就是我喜歡的 'sid' === name 的寫法要放棄了。
快快快,Elasticsearch
Elasticsearch 的確是所有的后端開發(fā)人員都該試一試的技術(shù),讓人震驚的速度,與生俱來的備份機(jī)制,幾乎完全零配置開箱即用, DSL 可能相對 SQL 要復(fù)雜一些,但入門也還好。
有了 Elasticsearch ,與數(shù)據(jù)存儲(chǔ)和統(tǒng)計(jì)相關(guān)的事情,幾乎都不再是問題。在 MySQL 中有了幾百萬數(shù)據(jù),想要流暢的查詢統(tǒng)計(jì),就得開始規(guī)劃字段建立索引了,在 Elasticsearch 中完全不用考慮,更何況它的統(tǒng)計(jì)功能經(jīng)甩 MySQL 無數(shù)條街。還不提 Elasticsearch ***大的檢索功能。
Elasticsearch 是今年讓我最有幸福感的技術(shù)。
淺嘗轍止,Python / Go
前不久一個(gè)項(xiàng)目,需要獲取圖片 hash,查了一下 Python 這方面的庫比較豐富,于是看了一下 Python 的語法就上手了,花了半天工夫折騰出來。后來看到還有 Go 的版本,便也試了一下。運(yùn)行結(jié)果有點(diǎn)震驚,Go 比 Python 快了至少 5 倍,果然 CPU 密集的事情,還是編譯語言比較拿手。Go 的 defer 和強(qiáng)制代碼格式 gofmt,給我留下了深刻的印象。感覺是時(shí)候開始一個(gè)新的后端語言了。
半途而廢,Docker
原計(jì)劃是準(zhǔn)備放棄 VirtualBox,不過 Docker 并不能方便的執(zhí)行各種 linux 命令,它更偏重于代碼的運(yùn)行環(huán)境,而我現(xiàn)在又基本不再掌控后端,所以對我的意義已經(jīng)不大。Docker 最終便沒有用到工作之中。
Github Desktop
SourceTree 現(xiàn)在是越來越慢了,而且經(jīng)常需要打開關(guān)閉項(xiàng)目 Tab 之后才能發(fā)現(xiàn)文件修改,啟動(dòng)也很慢。終于我開始了新的 Git GUI 工具的選擇,最沒有抱希望的 Github Desktop 卻是我最終的選擇。超出想像的快,簡潔的界面,雖然不支持 ssh key 登陸,功能也比較簡陋,但只要速度快,小問題是可以忍受的。
Coding.NET
已經(jīng)用了兩三年 Coding.NET 了,以前碼幣容易掙的時(shí)候,還換了件 T 恤,開始是個(gè)人使用,后來推廣到團(tuán)隊(duì)使用,出了企業(yè)版后,還動(dòng)員公司也付了費(fèi)。但現(xiàn)在免費(fèi)用戶取消了 Coding Pages 自定義域名功能,后來還限制五個(gè)私有項(xiàng)目,這讓 Coding.NET 成為了另一個(gè)被放棄的服務(wù)。
2017 的***一天,用 Gogs 搭建了自己的 Git 服務(wù),花 6 塊錢把 n 年前的花生殼賬號做了個(gè)認(rèn)證,開始了自建之路。