<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 首頁(yè)

          聊聊開(kāi)發(fā)中的前端

          用心設(shè)計(jì)

          在開(kāi)發(fā)項(xiàng)目組里面,前端一般都是作為一個(gè)統(tǒng)稱而存在,很多剛畢業(yè)的童鞋就問(wèn)我想從事前端方面問(wèn)我怎么看,我會(huì)反問(wèn)你對(duì)前端了解多少,很多人都認(rèn)為前端基本上都是搞設(shè)計(jì)從事視覺(jué)方面。

           

          前端從整個(gè)項(xiàng)目劃分來(lái)看,可以分為UE、頁(yè)面、邏輯,以下逐分析。

           

          一、UE


          Image title

          Node.js新手必須知道的4個(gè)JavaScript概念

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

          如果只需要知道一種編程語(yǔ)言就可以構(gòu)建一個(gè)全棧的應(yīng)用程序,是不是特別了不起?Ryan Dahl為了把這個(gè)想法成為現(xiàn)實(shí),創(chuàng)造了node.js。Node.js是建立在Chrome強(qiáng)勁的V8 JavaScript引擎上的服務(wù)器端框架。雖然最初是用C++編寫的,但是應(yīng)用程序通過(guò)JavaScript運(yùn)行。

          這樣一來(lái),問(wèn)題就解決了。一種語(yǔ)言就可以統(tǒng)治一切。而且,在整個(gè)應(yīng)用程序中你只需要使用這一種語(yǔ)言。所以,我們需要深刻了解node.js。這就是本文的主題。

          下面這四個(gè)基本概念是你想要掌握node.js所必需的。我會(huì)盡可能長(zhǎng)話短說(shuō)向大家介紹它們。

          logo-nodejs.jpg

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

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

          如何定義牛逼工程師

          有軟件工程方面的研究說(shuō),對(duì)于開(kāi)發(fā)者個(gè)體而言,最優(yōu)秀的開(kāi)發(fā)者的生產(chǎn)效率約為平均值的2倍,而優(yōu)秀的開(kāi)發(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ì),大家都在說(shuō)缺前端,其實(shí)缺的是牛逼前端,對(duì)于低端的前端,培訓(xùn)機(jī)構(gòu)一直在量產(chǎn),但是無(wú)法滿足要求。很多情況下,一個(gè)牛逼前端對(duì)于團(tuán)隊(duì)的價(jià)值是再多低端前端都無(wú)法提供的。

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

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

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

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

          舉例

          我們先從示例應(yīng)用程序的一些摘錄開(kāi)始。下面是暴露Person對(duì)象的響應(yīng)信息庫(kù)。很類似于傳統(tǒng)的,非響應(yīng)信息庫(kù),只不過(guò)它返回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框架的資源庫(kù):

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

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

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

          深入了解font-weight

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

          1.jpg

          問(wèn)題提出

          font-weight的屬性值有100、200、300、400、500、600、700、800、900和normal、bold、lighter、bolder,它們的區(qū)別是?
          另外,在實(shí)際開(kāi)發(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 有了一定的理解,以致于要懷疑起很久之前看過(guò)的那些文章來(lái)。倒不是這些文章講得不對(duì),而是現(xiàn)在在我看來(lái)角度不太好,說(shuō)得越多,越說(shuō)不清。

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


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


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

          了解并使用CSS中的rem單位

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

          什么是 rem

          可能在你使用收音機(jī)或者用其他音樂(lè)播放器之前,就已經(jīng)聽(tīng)過(guò)“R.E.M.”這個(gè)詞了。在這個(gè)樂(lè)隊(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ù)器?這些問(wèn)題困惑了很久,今天終于梳理清楚了:

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

          應(yīng)用程序服務(wù)器(簡(jiǎn)稱應(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è)面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。確切一點(diǎn),你可以說(shuō):Web服務(wù)器專門處理HTTP請(qǐng)求(request),但是應(yīng)用程序服務(wù)器是通過(guò)很多協(xié)議來(lái)為應(yīng)用程序提供(serves)商業(yè)邏輯 (business logic)。

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

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

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

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

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

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

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

          1.1 方法一:簡(jiǎn)單的復(fù)制語(yǔ)句

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

          日歷

          鏈接

          個(gè)人資料

          存檔

          久久久91人妻无码精品蜜桃HD| 久久福利青草精品资源站免费| 91精品国产9l久久久久| 日韩欧美亚洲综合久久| 久久综合精品国产一区二区三区| 久久精品国内一区二区三区| 久久人人爽人人爽人人AV东京热| 亚洲国产成人久久一区久久| 久久综合成人网| 久久99久久99精品免视看动漫| 久久亚洲色一区二区三区| 久久99精品国产麻豆婷婷| 狠狠综合久久综合中文88| 9999国产精品欧美久久久久久| 九九久久99综合一区二区| 国产精品久久波多野结衣| 亚洲国产精品久久66| 久久精品国产精品亜洲毛片| 国产亚州精品女人久久久久久| 国产真实乱对白精彩久久| 老司机午夜网站国内精品久久久久久久久| 久久久网中文字幕| 色婷婷综合久久久久中文一区二区 | 国产69精品久久久久APP下载| 亚洲人AV永久一区二区三区久久| 99精品国产免费久久久久久下载| 久久国产劲爆AV内射—百度| 久久九九青青国产精品| 精品久久久久中文字幕一区| 国产精品久久婷婷六月丁香| 久久精品国产清高在天天线| 久久精品国产色蜜蜜麻豆| 精品国产青草久久久久福利| 青青草原综合久久大伊人精品| 国内精品久久久久国产盗摄| 亚洲精品tv久久久久久久久| 国产成人无码精品久久久免费| 一本色道久久88精品综合| 91精品免费久久久久久久久| 97精品伊人久久久大香线蕉| 国产精品伦理久久久久久|