成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

FEer到全棧開發(fā)

elina / 2159人閱讀

摘要:代碼開發(fā)記得曾經(jīng)聽開發(fā)平臺的同學(xué)驕傲的講,中只有百度有全公司級別的統(tǒng)一代碼倉庫,并且使用管理代碼,不明覺厲,我也很驕傲。

前言

從前,一個類B/S架構(gòu)的應(yīng)用里,F(xiàn)Eer,或者叫切圖仔,切圖+表單驗證就是工作的全部。無奈我所做的全部,只是整個應(yīng)用的冰山一角...責任小了,邊緣感就強了,owner意識自然差,視野自然受限。

感謝V8引擎的極速體驗&chrome瀏覽器的緊隨規(guī)范,js執(zhí)行速度快的飛起,w3c規(guī)范愈加豐滿,F(xiàn)Eer終于可以翻身農(nóng)奴把歌唱了。推倒了切圖仔的定位并不斷擴展js的責任田。

其實前端可以有模塊化

其實前端可以滿足除老本行表單驗證外更多的業(yè)務(wù)邏輯

其實前端可以有路由層

其實前端可以有數(shù)據(jù)層

...

看吧,這種趨勢已經(jīng)勢不可擋,js從單文件腳本開始有模塊化概念,有前端主義特色的MVC,有更高大上、業(yè)務(wù)層實現(xiàn)更easy的MVVM,react,vue,angular.js (姑且叫美中三強?)越來越多的WEB應(yīng)用開始變?yōu)镾PA。

什么?你在質(zhì)疑JS,你說SEO?我們FEer來加一個服務(wù)端渲染,順帶白屏時間長問題一同解決送你,還吹毛求疵?請UEmm做一張精美的loading圖附加給你,無話可說了吧~

野心越來越強,client已經(jīng)無法滿足FEer,感謝酷酷的高性能服務(wù)器專家Ryan Dahl和他的node.js,不僅貢獻了一個基于事件的高性能的WEB服務(wù)器,還帶來了javascript的大繁榮。FEer終于可以有機會低成本觸及server端開發(fā)了,因為遙遠的對岸將不止有json"炮彈",還會有我們熟悉的js大兄弟,你懂得這意味著什么,海峽兩岸是一家!未來的溝通,一切將變得更加簡單方便稱心如意,未來對岸的大兄弟(可能就是你自己)將給你更舒心更懂你的json"禮包"。事件驅(qū)動,異步I/O,順帶手FEer就可以自信高效的將VIEW渲染、路由分發(fā)等之前可望不可及的工作包攬實現(xiàn)。

也就是這樣,F(xiàn)Eer腿也不疼了,腰也不困了,一口氣完成前后端開發(fā),不費勁。好像title都可以變了,把自己稱為全棧工程師,責任大了,owner意識強了,曾經(jīng)的后端RD被我們親切的成為服務(wù)端RD,F(xiàn)Eer可以豪爽的說:『提供給我服務(wù)就好,頁面渲染、路由分發(fā)這些小事兒,小的做就行了,您去專心開發(fā)更復(fù)雜的服務(wù)端接口吧』。不過就算這樣,我們還是很開心,因為我們是FEer,我們也是Full Stack developer,沒錯,我們是更懂前端的后端!

新職責 工作流

我們已經(jīng)不是游擊隊了,我們有自己的作戰(zhàn)部隊,需要自己獨立指揮。雖然FEer在飽受折磨,強烈抗議,爭得前后端分離開發(fā)的榮譽后,已經(jīng)在工作流上有質(zhì)的優(yōu)化了(主要體現(xiàn)在有了寫build.sh,養(yǎng)成了編譯的好習慣)?,F(xiàn)在作為全棧,還需要重新梳理下工作流。在社區(qū)有社區(qū)的方案,在百度,我們這樣做。icafe + icode + agile ,一條龍服務(wù)標準、周到、包滿意。

需求管理

icafe是百度內(nèi)部的工作平臺,在我理解,就是需求管理平臺。PM等需求方在icafe上發(fā)布需求,開發(fā)小哥肢解圣意,將一個Aplication級別的需求不斷拆分,拆分成story,逐個開發(fā)滿足。PM、RD、QA在icafe平臺了解PM所需,測驗RD所得,清楚QA所測。

代碼開發(fā)

記得曾經(jīng)聽開發(fā)icode平臺的同學(xué)驕傲的講,BAT中只有百度有全公司級別的統(tǒng)一代碼倉庫,并且使用git管理代碼,不明覺厲,我也很驕傲。icode平臺代碼的提交可以通過issue號與icafe里的需求store連接起來。通過git進行版本控制是業(yè)界及開源社區(qū)主流的選擇。包括百度EFE的大神們編纂了公司級別統(tǒng)一的各種語言的編碼規(guī)范,代碼提交會觸發(fā)編碼規(guī)范校驗,保證了入庫代碼的規(guī)范,review后準入的限制基本保證了代碼的質(zhì)量。

持續(xù)集成

百度的持續(xù)集成解決方案是依托于agile平臺實現(xiàn)。還記得樸大的廣告,集成的,好喝的!。每個icode項目都會要求開發(fā)者編寫一個BCLOUD腳本,類似travis ci的.travis.yml的文件,代碼提交會觸發(fā)線上云編譯機集群完成編譯,并記錄編譯狀態(tài),協(xié)助開發(fā)者保證線上代碼分支的持續(xù)可用。agile另一個主要功能是完成代碼發(fā)布,發(fā)布后,代碼即進入公司級代碼倉庫。

域名

什么,你在說域名?我真的可以包辦域名了!在你要包辦域名的前,首先需要判斷你心儀的希望使用的域名是否已被占用。dig、nslookup是我使用的判別方法。

nslookup baidu.com //只是做示范,提醒自己小伙子野心不要太大

在確認你心儀且該域名尚未被占用的后,你就應(yīng)該了解下A記錄、CNAME了。簡言之,一個域名的A記錄是域名指向ip的映射,而CNAME是域名指向其他域名的別名映射。在百度,有shifen系統(tǒng),shifen系統(tǒng)的域名是A記錄,但它其實指向的是vip(虛擬ip),機房、機群多了以后,這樣會盡可能的保證運維的靈活度。

數(shù)據(jù)庫

B/S架構(gòu)應(yīng)用運轉(zhuǎn)的本質(zhì)就是數(shù)據(jù)的流動。任何業(yè)務(wù)邏輯的實現(xiàn)到最后都會被抽象成數(shù)據(jù)結(jié)構(gòu),持久化到數(shù)據(jù)庫中保存。數(shù)據(jù)庫種類很多,業(yè)務(wù)中最常用的可能就是MySQL,Redis,MongoDB等。大多數(shù)的B/S應(yīng)用數(shù)據(jù)庫選型都會使用MySQL,因為它是最流行的關(guān)系型數(shù)據(jù)庫,體積小、速度快、性能卓越。Redis常用于session共享及業(yè)務(wù)邏輯數(shù)據(jù)緩存,提高接口響應(yīng)速度。說到MySQL,phpMyAdmin是一個不錯的MySQL數(shù)據(jù)庫管理工具,當然,作為新時代的FEer,在不方便使用phpMyAdmin的場合,你也得掌握基礎(chǔ)的MySQL命令。

// 登錄MySQL server
mysql -h IP -P port -u username -ppassword

// RD讓你導(dǎo)出個表,不能不會
mysqldump database table 

// 看下MySQL server上有哪些數(shù)據(jù)庫
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,據(jù)說能扛IE6的MVVM)怎么好意思說自己是前端。前端標配已經(jīng)是webpack + babel + MVVM + (FE)-router + (FE)-Store/x... 包括module bundler,transformer,MVVM,前端路由,前端狀態(tài)管理,數(shù)據(jù)驅(qū)動,狀態(tài)機,這些東西已經(jīng)融入到現(xiàn)代WEB前端產(chǎn)品內(nèi),缺少一樣,都覺得少了點什么,像個中官

后端

說到node.js,說到后端服務(wù)器框架,不得不再感謝一個大拿,TJ,貢獻太大了。express, koa, co等等,進一步降低了FEer進入的門檻。后端選TJ大拿的框架就夠了,當然包括百度、阿里在內(nèi)都有一些自己的服務(wù)端框架,基本都是基于TJ大拿加上業(yè)務(wù)線的實際運用場景之上的封裝。包括yog2,egg等。對了,MySQL orm推薦使用sequelize,這里有篇文檔介紹的挺全。

服務(wù)端

如上文所述,F(xiàn)Eer把路由分發(fā)、頁面渲染這些雜活攬下以后,RD大大們就可以專心寫服務(wù)端接口了。node server 與其他服務(wù)端server的通信可以通過RPC、Webservice等方式實現(xiàn),node server也可以做proxy,將客戶端的請求代理到其他服務(wù)器獲取業(yè)務(wù)的數(shù)據(jù)。當前開源風愈來愈強的風氣下,各類相關(guān)node包一片大繁榮,大家可以自行選擇你看中的。在我的業(yè)務(wù)場景下,我最常使用的是百度FEX Team的 node-ral。

MORE

責任越大,就要求能力越強。從FEer到Full stack developer,不是那么簡單,需要變化的不止一點,要不斷擴大自己的技術(shù)關(guān)注圈,提升自己的技術(shù)廣度與深度,增強技術(shù)視野,只有真正按RD的標準來要求自己,配合FEer的看家本領(lǐng),才能做一名合格的全棧開發(fā)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84230.html

相關(guān)文章

  • 【從前端全棧】- koa快速入門指南

    摘要:前言隨著技術(shù)的不斷發(fā)展,前端工程師也被賦予了越來越多的職責。接下來這篇文章,完成一個簡單的登錄注冊,能讓你快速上手,成為一個小全棧工程師,快速開始安裝因為已經(jīng)完全支持語法,所以請保證的版本在以上推薦一個的多版本管理工具。 前言 隨著技術(shù)的不斷發(fā)展,前端工程師也被賦予了越來越多的職責。不再是從前只需要切個圖,加個css樣式就能完成任務(wù)的切圖仔了。接下來這篇文章,完成一個簡單的登錄注冊,能...

    鄒強 評論0 收藏0
  • 全棧開發(fā):2017年你最好的選擇[翻譯]

    摘要:全棧開發(fā)是一個學(xué)習實現(xiàn)提高的過程。解除對開發(fā)人員的限制所有的職業(yè)都在持續(xù)的進化。哪怕是爆炸和擁擠的印度招聘市場,全棧工程師在年也非常的搶手。印度的創(chuàng)業(yè)公司已經(jīng)開發(fā)意識到全棧工程師的重要意義,全棧會越來越重要。 在不斷壯大的招聘市場上,最需要的是有非常廣泛技術(shù)棧的人。 前言 敬愛的讀者,大家好。大家經(jīng)常討論的話題是作為一個軟件工程師是一個持續(xù)學(xué)習的過程。因為現(xiàn)有的趨勢和技術(shù)在軟件領(lǐng)域會很...

    fireflow 評論0 收藏0
  • 全棧開發(fā):2017年你最好的選擇[翻譯]

    摘要:全棧開發(fā)是一個學(xué)習實現(xiàn)提高的過程。解除對開發(fā)人員的限制所有的職業(yè)都在持續(xù)的進化。哪怕是爆炸和擁擠的印度招聘市場,全棧工程師在年也非常的搶手。印度的創(chuàng)業(yè)公司已經(jīng)開發(fā)意識到全棧工程師的重要意義,全棧會越來越重要。 在不斷壯大的招聘市場上,最需要的是有非常廣泛技術(shù)棧的人。 前言 敬愛的讀者,大家好。大家經(jīng)常討論的話題是作為一個軟件工程師是一個持續(xù)學(xué)習的過程。因為現(xiàn)有的趨勢和技術(shù)在軟件領(lǐng)域會很...

    aisuhua 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<