首頁

如何識(shí)別牛逼的前端工程師

藍(lán)藍(lán)設(shè)計(jì)的小編

如何定義牛逼工程師

有軟件工程方面的研究說,對(duì)于開發(fā)者個(gè)體而言,最優(yōu)秀的開發(fā)者的生產(chǎn)效率約為平均值的2倍,而優(yōu)秀的開發(fā)者會(huì)吸引其它優(yōu)秀的人,或者激勵(lì)與幫助團(tuán)隊(duì)中的其它成員,最終使團(tuán)隊(duì)之間的生產(chǎn)效率差異達(dá)到10倍之多。

所謂牛逼的工程師,就是那些個(gè)體效率是其它人2倍,形成團(tuán)隊(duì)之后達(dá)到10倍差異的一群人。

989f8dafe30e5f01630ad82.png

前端領(lǐng)域這幾年發(fā)展速度非??欤瞬欧植汲蕛杉?jí)分化趨勢(shì),大家都在說缺前端,其實(shí)缺的是牛逼前端,對(duì)于低端的前端,培訓(xùn)機(jī)構(gòu)一直在量產(chǎn),但是無法滿足要求。很多情況下,一個(gè)牛逼前端對(duì)于團(tuán)隊(duì)的價(jià)值是再多低端前端都無法提供的。

牛逼的前端工程師有一些共通的特質(zhì),這些特質(zhì)也許不屬于前端的核心范疇,但是可以通過它們將牛逼的人識(shí)別出來。

對(duì)用戶體驗(yàn)的追求

Spring 5 新特性:函數(shù)式Web框架

藍(lán)藍(lán)設(shè)計(jì)的小編

舉例

我們先從示例應(yīng)用程序的一些摘錄開始。下面是暴露Person對(duì)象的響應(yīng)信息庫。很類似于傳統(tǒng)的,非響應(yīng)信息庫,只不過它返回Flux<Person>而傳統(tǒng)的返回List<Person>,以及返回Mono<Person>的地方返回Person。Mono<Void>用作完成標(biāo)識(shí):指出何時(shí)保存被完成。關(guān)于Reactor類型的更多信息,請(qǐng)參閱

public interface PersonRepository { Mono<Person> getPerson(int id); Flux<Person> allPeople(); Mono<Void> savePerson(Mono<Person> person);
}

下面是我們?nèi)绾伪┞稁в行碌暮瘮?shù)式web框架的資源庫:

RouterFunction<?> route = route(GET("/person/{id}"),
    request -> {
        Mono<Person> person = Mono.justOrEmpty(request.pathVariable("id"))
            .map(Integer::valueOf)
            .then(repository::getPerson); return Response.ok().body(fromPublisher(person, Person.class));
    })
    .and(route(GET("/person"),
        request -> {
            Flux<Person> people = repository.allPeople(); return Response.ok().body(fromPublisher(people, Person.class));
    }))
    .and(route(POST("/person"),
    request -> {
        Mono<Person> person = request.body(toMono(Person.class)); return Response.ok().build(repository.savePerson(person));
}));

下面我們要介紹如何運(yùn)行,比如在Reactor Netty中:

詳解 javascript 的類

藍(lán)藍(lán)設(shè)計(jì)的小編

前言

生活有度,人生添壽。

Javascript從當(dāng)初的一個(gè)“彈窗語言”,一步步發(fā)展成為現(xiàn)在前后端通吃的龐然大物。javascript的受歡迎程度也是與日俱增,今年編程語言又是花落javascript,這實(shí)在是一個(gè)充滿了活力的語言。如今,隨隨便一個(gè)網(wǎng)頁javascript代碼量都不下數(shù)千行,要是node后端那更不止幾千行了。(WTF)代碼量的增加給編程帶來的首要的問題就是如何去編寫和維護(hù)如此龐大的代碼呢?答案就是模塊化思想,其實(shí)就是面向?qū)ο螅∣OP)編程,如今比較流行的三大前端框架(angular,react,vue)基本都實(shí)現(xiàn)了組件化編程,但組件化和我們所說的模塊化又有所不同,應(yīng)該可以這么理解,組件化是模塊化的升級(jí)版,模塊化是組件化的基礎(chǔ)。那么,問題來了,javascript怎么面向?qū)ο缶幊棠??我想這很多老鳥也不定說的清楚吧,前端雜而活躍的各種社區(qū),很多前端er一度依賴各種插件,根本不需要去了解這些深層的東西卻照樣能完成任務(wù)。但我想作為一個(gè)有追求的前端er還是很有必要去學(xué)習(xí)這些看似用不著的東西的,別的不說,就單單因?yàn)槲覀兪乔岸薳r,只會(huì)用jquery一個(gè)稍微厲害的后端都能代替你。好吧,廢話不多說,到底如何面向?qū)ο骳oding呢…..

很不幸,es5中并沒有給出明確的定義‘類’的概念,所以傳統(tǒng)的面向?qū)ο缶幊趟坪跏切胁煌ǖ?,那么又該腫么辦呢?值得慶幸的是,前輩們通過不斷探索總結(jié),成功的用javascript模擬出了“類”。那么,javascript的類又該怎么定義呢?

在面向?qū)ο缶幊讨?,類(class)是對(duì)象(object)的模板,定義了同一組對(duì)象(又稱”實(shí)例”)共有的屬性和方法。

深入了解font-weight

藍(lán)藍(lán)設(shè)計(jì)的小編

1.jpg

問題提出

font-weight的屬性值有100、200、300、400、500、600、700、800、900和normal、bold、lighter、bolder,它們的區(qū)別是?
另外,在實(shí)際開發(fā)中,我們應(yīng)該使用數(shù)值表達(dá)還是文字表達(dá)呢?

認(rèn)識(shí)font-weight

根據(jù)W3C Fonts節(jié)章的規(guī)范標(biāo)準(zhǔn),可知:

一起理解Virtual DOM

藍(lán)藍(lán)設(shè)計(jì)的小編

前言

React 好像已經(jīng)火了很久很久,以致于我們對(duì)于 Virtual DOM 這個(gè)詞都已經(jīng)很熟悉了,網(wǎng)上也有非常多的介紹 React、Virtual DOM 的文章。但是直到前不久我專門花時(shí)間去學(xué)習(xí) Virtual DOM,才讓我對(duì) Virtual DOM 有了一定的理解,以致于要懷疑起很久之前看過的那些文章來。倒不是這些文章講得不對(duì),而是現(xiàn)在在我看來角度不太好,說得越多,越說不清。

讓我能夠有所開竅(自認(rèn)為)的,是這篇文章:


Change And Its Detection In JavaScript Frameworks
Monday Mar 2, 2015 by Tero Parviainen


作者看問題的角度很棒,從數(shù)據(jù)變更與UI同步的角度來介紹各個(gè)典型框架,特別是對(duì)于 React 的 Virtual DOM,從這個(gè)角度理解起來更容易些。

了解并使用CSS中的rem單位

藍(lán)藍(lán)設(shè)計(jì)的小編

什么是 rem

可能在你使用收音機(jī)或者用其他音樂播放器之前,就已經(jīng)聽過“R.E.M.”這個(gè)詞了。在這個(gè)樂隊(duì)眼中,這個(gè)詞是“淺睡眠時(shí)眼球的快速轉(zhuǎn)動(dòng)”的縮寫,而在 css 中,rem 代表著“以根元素為參照物的 em 單位“。他不會(huì)讓你拋棄你的宗教信仰也不會(huì)讓你相信那個(gè)遠(yuǎn)在月球的人,但是它可以幫助你實(shí)現(xiàn)一個(gè)和諧、平穩(wěn)的設(shè)計(jì)。

根據(jù) W3C 規(guī)范中對(duì) 1rem 的定義:

1rem 與等于根元素 font-size 的計(jì)算值。當(dāng)明確規(guī)定根元素的 font-size 時(shí),rem 單位以該屬性的初始值作參照。

Web服務(wù)器、應(yīng)用程序服務(wù)器、HTTP服務(wù)器區(qū)別

藍(lán)藍(lán)設(shè)計(jì)的小編

WEB服務(wù)器、應(yīng)用程序服務(wù)器、HTTP服務(wù)器有何區(qū)別?IIS、Apache、Tomcat、Weblogic、WebSphere 都各屬于哪種服務(wù)器?這些問題困惑了很久,今天終于梳理清楚了:

Web服務(wù)器的基本功能就是提供Web信息瀏覽服務(wù)。它只需支持HTTP協(xié)議、HTML文檔格式及URL。與客戶端的網(wǎng)絡(luò)瀏覽器配合。因?yàn)閃eb服務(wù)器主要支持的協(xié)議就是HTTP,所以通常情況下HTTP服務(wù)器和WEB服務(wù)器是相等的(有沒有支持除HTTP之外的協(xié)議的web服務(wù)器,作者沒有考證過),說的是一回事。

應(yīng)用程序服務(wù)器(簡稱應(yīng)用服務(wù)器),我們先看一下微軟對(duì)它的定義:”我們把應(yīng)用程序服務(wù)器定義為“作為服務(wù)器執(zhí)行共享業(yè)務(wù)應(yīng)用程序的底層的系統(tǒng)軟件”。 就像文件服務(wù)器為很多用戶提供文件一樣,應(yīng)用程序服務(wù)器讓多個(gè)用戶可以同時(shí)使用應(yīng)用程序(通常是客戶創(chuàng)建的應(yīng)用程序)”

通俗的講,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。確切一點(diǎn),你可以說:Web服務(wù)器專門處理HTTP請(qǐng)求(request),但是應(yīng)用程序服務(wù)器是通過很多協(xié)議來為應(yīng)用程序提供(serves)商業(yè)邏輯 (business logic)。

JavaScript 中對(duì)象的深拷貝

藍(lán)藍(lán)設(shè)計(jì)的小編

在JavaScript中,對(duì)對(duì)象進(jìn)行拷貝的場景比較常見。但是簡單的復(fù)制語句只能對(duì)對(duì)象進(jìn)行淺拷貝,即復(fù)制的是一份引用,而不是它所引用的對(duì)象。而更多的時(shí)候,我們希望對(duì)對(duì)象進(jìn)行深拷貝,避免原始對(duì)象被無意修改。

對(duì)象的深拷貝與淺拷貝的區(qū)別如下:

  • 淺拷貝:僅僅復(fù)制對(duì)象的引用,而不是對(duì)象本身;
  • 深拷貝:把復(fù)制的對(duì)象所引用的全部對(duì)象都復(fù)制一遍。

一. 淺拷貝的實(shí)現(xiàn)

淺拷貝的實(shí)現(xiàn)方法比較簡單,只要使用是簡單的復(fù)制語句即可。

1.1 方法一:簡單的復(fù)制語句

/* ================ 淺拷貝 ================ */ function simpleClone(initalObj) { var obj = {}; for ( var i in initalObj) {
        obj[i] = initalObj[i];
    } return obj;
}

JavaScript世界萬物誕生記

藍(lán)藍(lán)設(shè)計(jì)的小編

一. 無中生有

起初,什么都沒有。

1.png

 

造物主說:沒有東西本身也是一種東西啊,于是就有了null:

現(xiàn)在我們要造點(diǎn)兒東西出來。但是沒有原料怎么辦?

有一個(gè)聲音說:不是有null嘛?

另一個(gè)聲音說:可是null代表無啊。

造物主說:那就無中生有吧!

于是:

2.png

更快學(xué)習(xí)JS的6個(gè)簡單思維技巧

藍(lán)藍(lán)設(shè)計(jì)的小編

當(dāng)人們嘗試學(xué)習(xí) JavaScript , 或者其他編程技術(shù)的時(shí)候,常常會(huì)遇到同樣的挑戰(zhàn):

  • 有些概念容易混淆,特別是當(dāng)你學(xué)習(xí)過其他語言的時(shí)候。
  • 很難找到學(xué)習(xí)的時(shí)間(有時(shí)候是動(dòng)力)。
  • 一旦當(dāng)你理解了一些東西的時(shí)候,卻很容易再一次忘記。
  • 可以使用的工具甚多且經(jīng)常變化,所以不知道從哪里開始入手。

幸運(yùn)的是,這些挑戰(zhàn)最終都可以被戰(zhàn)勝。在這篇文章里,我將介紹 6 個(gè)思維技巧來幫你更快的學(xué)習(xí) JavaScript ,讓你成為一個(gè)更快樂更多產(chǎn)的程序員。

對(duì)于很多學(xué)習(xí) JavaScript 的人來說,他們問的第一個(gè)問題是選用哪個(gè)框架(現(xiàn)有框架非常多)。但是如果你還不熟悉原生的 JavaScript ,那這就是個(gè)不該問的問題。你會(huì)花費(fèi)你全部的時(shí)間去查詢不同的框架并且不會(huì)取得任何進(jìn)展。

日歷

鏈接

個(gè)人資料

存檔