摘要:代碼開發記得曾經聽開發平臺的同學驕傲的講,中只有百度有全公司級別的統一代碼倉庫,并且使用管理代碼,不明覺厲,我也很驕傲。
前言
從前,一個類B/S架構的應用里,FEer,或者叫切圖仔,切圖+表單驗證就是工作的全部。無奈我所做的全部,只是整個應用的冰山一角...責任小了,邊緣感就強了,owner意識自然差,視野自然受限。
感謝V8引擎的極速體驗&chrome瀏覽器的緊隨規范,js執行速度快的飛起,w3c規范愈加豐滿,FEer終于可以翻身農奴把歌唱了。推倒了切圖仔的定位并不斷擴展js的責任田。
其實前端可以有模塊化
其實前端可以滿足除老本行表單驗證外更多的業務邏輯
其實前端可以有路由層
其實前端可以有數據層
...
看吧,這種趨勢已經勢不可擋,js從單文件腳本開始有模塊化概念,有前端主義特色的MVC,有更高大上、業務層實現更easy的MVVM,react,vue,angular.js (姑且叫美中三強?)越來越多的WEB應用開始變為SPA。
什么?你在質疑JS,你說SEO?我們FEer來加一個服務端渲染,順帶白屏時間長問題一同解決送你,還吹毛求疵?請UEmm做一張精美的loading圖附加給你,無話可說了吧~
野心越來越強,client已經無法滿足FEer,感謝酷酷的高性能服務器專家Ryan Dahl和他的node.js,不僅貢獻了一個基于事件的高性能的WEB服務器,還帶來了javascript的大繁榮。FEer終于可以有機會低成本觸及server端開發了,因為遙遠的對岸將不止有json"炮彈",還會有我們熟悉的js大兄弟,你懂得這意味著什么,海峽兩岸是一家!未來的溝通,一切將變得更加簡單方便稱心如意,未來對岸的大兄弟(可能就是你自己)將給你更舒心更懂你的json"禮包"。事件驅動,異步I/O,順帶手FEer就可以自信高效的將VIEW渲染、路由分發等之前可望不可及的工作包攬實現。
也就是這樣,FEer腿也不疼了,腰也不困了,一口氣完成前后端開發,不費勁。好像title都可以變了,把自己稱為全棧工程師,責任大了,owner意識強了,曾經的后端RD被我們親切的成為服務端RD,FEer可以豪爽的說:『提供給我服務就好,頁面渲染、路由分發這些小事兒,小的做就行了,您去專心開發更復雜的服務端接口吧』。不過就算這樣,我們還是很開心,因為我們是FEer,我們也是Full Stack developer,沒錯,我們是更懂前端的后端!
新職責 工作流我們已經不是游擊隊了,我們有自己的作戰部隊,需要自己獨立指揮。雖然FEer在飽受折磨,強烈抗議,爭得前后端分離開發的榮譽后,已經在工作流上有質的優化了(主要體現在有了寫build.sh,養成了編譯的好習慣)。現在作為全棧,還需要重新梳理下工作流。在社區有社區的方案,在百度,我們這樣做。icafe + icode + agile ,一條龍服務標準、周到、包滿意。
需求管理icafe是百度內部的工作平臺,在我理解,就是需求管理平臺。PM等需求方在icafe上發布需求,開發小哥肢解圣意,將一個Aplication級別的需求不斷拆分,拆分成story,逐個開發滿足。PM、RD、QA在icafe平臺了解PM所需,測驗RD所得,清楚QA所測。
代碼開發記得曾經聽開發icode平臺的同學驕傲的講,BAT中只有百度有全公司級別的統一代碼倉庫,并且使用git管理代碼,不明覺厲,我也很驕傲。icode平臺代碼的提交可以通過issue號與icafe里的需求store連接起來。通過git進行版本控制是業界及開源社區主流的選擇。包括百度EFE的大神們編纂了公司級別統一的各種語言的編碼規范,代碼提交會觸發編碼規范校驗,保證了入庫代碼的規范,review后準入的限制基本保證了代碼的質量。
持續集成百度的持續集成解決方案是依托于agile平臺實現。還記得樸大的廣告,集成的,好喝的!。每個icode項目都會要求開發者編寫一個BCLOUD腳本,類似travis ci的.travis.yml的文件,代碼提交會觸發線上云編譯機集群完成編譯,并記錄編譯狀態,協助開發者保證線上代碼分支的持續可用。agile另一個主要功能是完成代碼發布,發布后,代碼即進入公司級代碼倉庫。
域名什么,你在說域名?我真的可以包辦域名了!在你要包辦域名的前,首先需要判斷你心儀的希望使用的域名是否已被占用。dig、nslookup是我使用的判別方法。
nslookup baidu.com //只是做示范,提醒自己小伙子野心不要太大
在確認你心儀且該域名尚未被占用的后,你就應該了解下A記錄、CNAME了。簡言之,一個域名的A記錄是域名指向ip的映射,而CNAME是域名指向其他域名的別名映射。在百度,有shifen系統,shifen系統的域名是A記錄,但它其實指向的是vip(虛擬ip),機房、機群多了以后,這樣會盡可能的保證運維的靈活度。
數據庫B/S架構應用運轉的本質就是數據的流動。任何業務邏輯的實現到最后都會被抽象成數據結構,持久化到數據庫中保存。數據庫種類很多,業務中最常用的可能就是MySQL,Redis,MongoDB等。大多數的B/S應用數據庫選型都會使用MySQL,因為它是最流行的關系型數據庫,體積小、速度快、性能卓越。Redis常用于session共享及業務邏輯數據緩存,提高接口響應速度。說到MySQL,phpMyAdmin是一個不錯的MySQL數據庫管理工具,當然,作為新時代的FEer,在不方便使用phpMyAdmin的場合,你也得掌握基礎的MySQL命令。
// 登錄MySQL server mysql -h IP -P port -u username -ppassword // RD讓你導出個表,不能不會 mysqldump database table // 看下MySQL server上有哪些數據庫 show databases; // 想操作哪個庫 use db; // 想操作的庫里有哪些表 show tables; // 查看下編碼 show variables like "%char%"; // 咦、不是utf8? SET character_set_client="utf8"; SET character_set_connection="utf8"; SET character_set_results="utf8"; // 增? INSERT INTO `table` (`prop`,`prop`...) VALUES(value1,value2); // 刪? DELETE FROM `table` WHERE conditions; // 改? UPDATE `table` SET prop=value WHERE conditions; // 查? SELECT * FROM `table` WHERE condition;前端
如果還不用美中三強或其他MVVM框架(比如百度errorrik大神的san,據說能扛IE6的MVVM)怎么好意思說自己是前端。前端標配已經是webpack + babel + MVVM + (FE)-router + (FE)-Store/x... 包括module bundler,transformer,MVVM,前端路由,前端狀態管理,數據驅動,狀態機,這些東西已經融入到現代WEB前端產品內,缺少一樣,都覺得少了點什么,像個中官。
后端說到node.js,說到后端服務器框架,不得不再感謝一個大拿,TJ,貢獻太大了。express, koa, co等等,進一步降低了FEer進入的門檻。后端選TJ大拿的框架就夠了,當然包括百度、阿里在內都有一些自己的服務端框架,基本都是基于TJ大拿加上業務線的實際運用場景之上的封裝。包括yog2,egg等。對了,MySQL orm推薦使用sequelize,這里有篇文檔介紹的挺全。
服務端如上文所述,FEer把路由分發、頁面渲染這些雜活攬下以后,RD大大們就可以專心寫服務端接口了。node server 與其他服務端server的通信可以通過RPC、Webservice等方式實現,node server也可以做proxy,將客戶端的請求代理到其他服務器獲取業務的數據。當前開源風愈來愈強的風氣下,各類相關node包一片大繁榮,大家可以自行選擇你看中的。在我的業務場景下,我最常使用的是百度FEX Team的 node-ral。
MORE責任越大,就要求能力越強。從FEer到Full stack developer,不是那么簡單,需要變化的不止一點,要不斷擴大自己的技術關注圈,提升自己的技術廣度與深度,增強技術視野,只有真正按RD的標準來要求自己,配合FEer的看家本領,才能做一名合格的全棧開發。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84230.html
摘要:前言隨著技術的不斷發展,前端工程師也被賦予了越來越多的職責。接下來這篇文章,完成一個簡單的登錄注冊,能讓你快速上手,成為一個小全棧工程師,快速開始安裝因為已經完全支持語法,所以請保證的版本在以上推薦一個的多版本管理工具。 前言 隨著技術的不斷發展,前端工程師也被賦予了越來越多的職責。不再是從前只需要切個圖,加個css樣式就能完成任務的切圖仔了。接下來這篇文章,完成一個簡單的登錄注冊,能...
摘要:全棧開發是一個學習實現提高的過程。解除對開發人員的限制所有的職業都在持續的進化。哪怕是爆炸和擁擠的印度招聘市場,全棧工程師在年也非常的搶手。印度的創業公司已經開發意識到全棧工程師的重要意義,全棧會越來越重要。 在不斷壯大的招聘市場上,最需要的是有非常廣泛技術棧的人。 前言 敬愛的讀者,大家好。大家經常討論的話題是作為一個軟件工程師是一個持續學習的過程。因為現有的趨勢和技術在軟件領域會很...
摘要:全棧開發是一個學習實現提高的過程。解除對開發人員的限制所有的職業都在持續的進化。哪怕是爆炸和擁擠的印度招聘市場,全棧工程師在年也非常的搶手。印度的創業公司已經開發意識到全棧工程師的重要意義,全棧會越來越重要。 在不斷壯大的招聘市場上,最需要的是有非常廣泛技術棧的人。 前言 敬愛的讀者,大家好。大家經常討論的話題是作為一個軟件工程師是一個持續學習的過程。因為現有的趨勢和技術在軟件領域會很...
閱讀 5043·2021-07-25 21:37
閱讀 688·2019-08-30 15:53
閱讀 3354·2019-08-29 18:47
閱讀 692·2019-08-29 15:39
閱讀 2136·2019-08-29 13:12
閱讀 1803·2019-08-29 12:43
閱讀 2995·2019-08-26 11:52
閱讀 1894·2019-08-26 10:15