摘要:,之前在介紹的時(shí)候圖表君還是留了問(wèn)題。下邊說(shuō)幾句非技術(shù)的話題,技術(shù)的道路做久了,都會(huì)考慮到技術(shù)路線的問(wèn)題,作為一個(gè)年輕人圖表君并沒(méi)有太多的經(jīng)驗(yàn),但是上周看到了池建強(qiáng)老師的一篇文章,說(shuō)的挺好,在這里分享給大家。
大家周末好,天氣這是越來(lái)越冷了,冬季到來(lái)了。西安冬日的傳統(tǒng)霧霾又上演了,不過(guò)最近又限行了,希望能有點(diǎn)用處吧。好了今天不說(shuō)什么新的東西,把之前的坑給填一填吧。
上篇文章的最后給大家留了一個(gè)問(wèn)題,如果順序的執(zhí)行多個(gè)promise,已經(jīng)有同學(xué)答對(duì)了,就是用鏈?zhǔn)秸{(diào)用。的確答案就是如此,那么具體一點(diǎn)怎么做鏈?zhǔn)秸{(diào)用呢?那么我們來(lái)看一個(gè)例子吧。
var guid = 0; function run() { guid++; var id = guid; return new Promise(resolve => { setTimeout(function () { console.log(id); resolve(id); }, (Math.random() * 1.5 | 0) * 1000); }); } var promises = Array.from({ length: 10 }, run); Promise.all(promises)
上篇文章(上邊的例子)中我們看到了 使用promise.all可以把幾個(gè)promise組合起來(lái)使用,那么如果我們想讓這些promise順序執(zhí)行改怎么辦呢?來(lái)看答案。
var guid = 0; function run() { guid++; var id = guid; return new Promise(resolve => { // resolve in a random amount of time setTimeout(function () { console.log(id); resolve(id); }, (Math.random() * 1.5 | 0) * 1000); }); } var promises = Array.from({ length: 10 }).reduce(function (acc) { return acc.then(function (res) { console.log(res) return run().then(function (result) { res.push(result); return res; }); }); }, Promise.resolve([]));
這里有點(diǎn)很有意思,我們先創(chuàng)建了一個(gè)創(chuàng)建一個(gè)長(zhǎng)度為10的Array出來(lái),然后呢,調(diào)用了其上的reduce方法,關(guān)鍵是這個(gè)reduce方法有意思了,傳入的初始值是個(gè)resolved的promise,然后傳入了一個(gè)function,其作用就是將這些promise都chain了起來(lái)。這樣達(dá)到了順序調(diào)用的目的,當(dāng)然可以用其他寫法達(dá)到目的,但是使用reduce還是有點(diǎn)意思的。大家有興趣了可以自己來(lái)試試。
OK,之前在介紹DockerFile的時(shí)候圖表君還是留了問(wèn)題。下邊的DockerFile其實(shí)定義的是有問(wèn)題的。
FROM node:4.6 MAINTAINER Aaron ChenRUN mkdir /app WORKDIR /app COPY . /app RUN npm install EXPOSE 8080
那么問(wèn)題在哪呢?問(wèn)題就是這樣的DockerFile我們就不能利用webpack-dev-server的hot reload的特性了。這對(duì)于開發(fā)階段是相當(dāng)大的效率影響的,那么如何解決呢,也是比較容易的,我們將代碼做成一個(gè)volume掛到容器里就解決問(wèn)題了。
下邊說(shuō)幾句非技術(shù)的話題,技術(shù)的道路做久了,都會(huì)考慮到技術(shù)路線的問(wèn)題,作為一個(gè)年輕人圖表君并沒(méi)有太多的經(jīng)驗(yàn),但是上周看到了池建強(qiáng)老師的一篇文章,說(shuō)的挺好,在這里分享給大家。
技術(shù)發(fā)展(這里只談我了解的軟件)不外乎三條路:算法、底層和業(yè)務(wù)。能在一條路上精通,就很不錯(cuò)了。而厲害的人可以同時(shí)兼顧兩條路。三條都牛的人,蠻罕見的。
技術(shù)1:算法路線?
走算法路線,對(duì)智商的要求是高于其它路線的。但也不能說(shuō)高到哪里去了。畢竟在企業(yè)里做算法工作,更多的是應(yīng)用成熟算法,而不是自己設(shè)計(jì)算法。
算法路線比較適合耐得住寂寞的人,因?yàn)樽鏊惴ǔ3J钦驹诋a(chǎn)品的幕后,好的結(jié)果又往往需要慢慢「熬」出來(lái)。算法往高走,對(duì)基礎(chǔ)的要求就比較高了。不是博士出身,沒(méi)在頂尖研究機(jī)構(gòu)混過(guò),在企業(yè)里也很難做出特別牛的成果。所以一般本科生不太建議走這個(gè)方向(當(dāng)然,本科生也不用太難過(guò),畢竟沒(méi)退學(xué)生也做出過(guò)一些驚人的成就,池建強(qiáng)注)。
技術(shù)2:底層路線
底層路線,是圍繞著操作系統(tǒng)、編譯原理、分布式系統(tǒng)、數(shù)據(jù)庫(kù)、軟件工程這些理論,用各種工具搭建出酷酷的應(yīng)用開發(fā)、運(yùn)行環(huán)境。把各種復(fù)雜的工具跑起來(lái),不僅和諧共處,還能發(fā)揮各自的長(zhǎng)處,彌補(bǔ)各自的短處,并不是個(gè)簡(jiǎn)單工作。如果能再自己開發(fā)一些好用工具,就更不簡(jiǎn)單了。
極客、黑客范兒的人,是最適合走這條路線的。愛(ài)折騰,愛(ài)嘗鮮,崇尚開源文化,細(xì)致縝密,是做好這一行的標(biāo)簽。
運(yùn)維、DevOp、云計(jì)算、大數(shù)據(jù)、架構(gòu)師,這些崗位或領(lǐng)域的人,多是能呼云喚雨的底層高手。?
技術(shù)3:業(yè)務(wù)路線
大多數(shù)技術(shù)都是在業(yè)務(wù)線生存和創(chuàng)造價(jià)值的。如果論技術(shù)光環(huán),這條線是比不過(guò)前兩條的,容易產(chǎn)生「對(duì)技術(shù)能力要求不高」的感覺(jué)。從某些角度看,確實(shí)如此,但這條線也有自己獨(dú)步天下的技術(shù),那就是復(fù)雜業(yè)務(wù)建模能力。
修煉這項(xiàng)能力,除了技術(shù)的通用要求外,還需要比其它路線更強(qiáng)的溝通能力和抽象能力?;蛘哒f(shuō),對(duì)情商的要求最高。
適合自己的才是最好的,到底走那條路線是一個(gè)選擇問(wèn)題,做出自己的選擇,并堅(jiān)持的走下去。這可能是漫長(zhǎng)和痛苦的過(guò)程。好了,嘮嘮叨叨了這么多,今天就寫到這吧,我們下周見。
原創(chuàng)文章,歡迎轉(zhuǎn)發(fā),但請(qǐng)標(biāo)明出處。歡迎關(guān)注圖表君的公眾號(hào),一起成長(zhǎng)。在微信中搜索 “多彩數(shù)據(jù)” 或者 “Data_Visualization”
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88016.html
摘要:前面的一些碎碎念兩天的耽擱,思考了下,雖然需要全面基礎(chǔ)的學(xué)習(xí),但是重點(diǎn)還是應(yīng)該放在實(shí)戰(zhàn)上。更簡(jiǎn)潔的版本是如果文件很小,一次性讀取最方便如果不能確定文件大小,反復(fù)調(diào)用比較保險(xiǎn)如果是配置文件,調(diào)用最方便。 前面的一些碎碎念 兩天的耽擱,思考了下,雖然需要全面基礎(chǔ)的學(xué)習(xí),但是重點(diǎn)還是應(yīng)該放在實(shí)戰(zhàn)上。所以后續(xù)要速速的推倒這個(gè)教程了,用一些數(shù)據(jù)來(lái)實(shí)行一些分析:) 認(rèn)真學(xué)習(xí)的分割線 打打打打雞血!...
摘要:判斷步驟如下如果有一個(gè)操作數(shù)是布爾值,則在比較相等性之前先將其轉(zhuǎn)換為數(shù)值轉(zhuǎn)換為,而轉(zhuǎn)換為。實(shí)際上是對(duì)比運(yùn)用上面的順序,是布爾值,所以轉(zhuǎn)化為數(shù)值為。 『前端碎碎念』系列會(huì)記錄我平時(shí)看書或者看文章遇到的問(wèn)題,一般都是比較基礎(chǔ)但是容易遺忘的知識(shí)點(diǎn),你也可能會(huì)在面試中碰到。 我會(huì)查閱一些資料并可能加上自己的理解,來(lái)記錄這些問(wèn)題。更多文章請(qǐng)前往我的個(gè)人博客 類似標(biāo)題中的問(wèn)題還有很多,例如: 為...
摘要:前端碎碎念系列會(huì)記錄我平時(shí)看書或者看文章遇到的問(wèn)題,一般都是比較基礎(chǔ)但是容易遺忘的知識(shí)點(diǎn),你也可能會(huì)在面試中碰到。當(dāng)兩個(gè)操作數(shù)都是數(shù)值時(shí),執(zhí)行常規(guī)的數(shù)值加法計(jì)算。關(guān)鍵還是要加深對(duì)中對(duì)數(shù)值轉(zhuǎn)換的理解,以不變應(yīng)萬(wàn)變。 『前端碎碎念』系列會(huì)記錄我平時(shí)看書或者看文章遇到的問(wèn)題,一般都是比較基礎(chǔ)但是容易遺忘的知識(shí)點(diǎn),你也可能會(huì)在面試中碰到。 我會(huì)查閱一些資料并可能加上自己的理解,來(lái)記錄這些問(wèn)題...
摘要:在美國(guó)和一些其他發(fā)達(dá)國(guó)家,程序員已經(jīng)從一個(gè)相對(duì)高端的行業(yè)變成越來(lái)越多普通人的日常。是五十個(gè)編輯推薦話題之一軟件開發(fā)者是美國(guó)四個(gè)州最常見的職業(yè)圖片來(lái)源我們不難設(shè)想,把軟件開發(fā)的工作自動(dòng)化掉,對(duì)相關(guān)企業(yè)來(lái)說(shuō)將會(huì)是一個(gè)多么巨大的誘惑。 在美國(guó)和一些其他發(fā)達(dá)國(guó)家,程序員已經(jīng)從一個(gè)相對(duì)高端的行業(yè)變成越來(lái)越多普通人的日常。 JavaScript 是 Medium 五十個(gè)編輯推薦話題之一: http...
閱讀 1472·2021-11-24 09:39
閱讀 1788·2021-11-22 15:25
閱讀 3739·2021-11-19 09:40
閱讀 3299·2021-09-22 15:31
閱讀 1298·2021-07-29 13:49
閱讀 1208·2019-08-26 11:59
閱讀 1320·2019-08-26 11:39
閱讀 933·2019-08-26 11:00