99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線(xiàn)電話(huà):13121318867

登錄
首頁(yè)精彩閱讀如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師
如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師
2017-12-14
收藏

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師

不知道大家以前聽(tīng)沒(méi)聽(tīng)說(shuō)過(guò)“10x Developer”這個(gè)詞,如果你連聽(tīng)都還沒(méi)聽(tīng)說(shuō)過(guò),那可真是時(shí)候考慮放棄自己的程序猿事業(yè)了。就像傳說(shuō)一樣,一些程序猿的戰(zhàn)斗力能達(dá)到同行的10倍,也就是說(shuō)一個(gè)10x程序猿能夠替換一個(gè)10人的開(kāi)發(fā)團(tuán)隊(duì)。

本篇文章我們就針對(duì)數(shù)據(jù)科學(xué),來(lái)談一談如何才能成為一名傳說(shuō)中的10x老司機(jī)。本文作者主要從事數(shù)據(jù)挖掘及處理方面的開(kāi)發(fā)工作,是西雅圖女性程序員俱樂(lè)部PyLadies創(chuàng)始人,曾在PyData Seattle 2015上做過(guò)關(guān)于通過(guò)自然語(yǔ)言處理和機(jī)器學(xué)習(xí)調(diào)查用戶(hù)體驗(yàn)的主題演講。

以下正文

最近我在PyData Seattle(https://pydata.org/seattle2017/)發(fā)表了一個(gè)關(guān)于如何通過(guò)借鑒開(kāi)發(fā)社區(qū)的提示和竅門(mén)來(lái)提高數(shù)據(jù)科學(xué)技能的主題演講。這些建議將幫助開(kāi)發(fā)者成為一名非常受團(tuán)隊(duì)成員和其他人歡迎的數(shù)據(jù)科學(xué)方面的老司機(jī)。

這篇文章分為五部分,其中包括:

10x開(kāi)發(fā)者的歷史和爭(zhēng)議

項(xiàng)目設(shè)計(jì)

代碼設(shè)計(jì)

工作工具

生產(chǎn)模式

當(dāng)然,如果你想觀看原始演講的視頻,可以點(diǎn)擊這里

10x開(kāi)發(fā)人員,顧名思義,就是比普通開(kāi)發(fā)人員生產(chǎn)力高出10倍的人。

一個(gè)10x的開(kāi)發(fā)人員,不只是能在一定時(shí)間內(nèi)比普通開(kāi)發(fā)人員生產(chǎn)更多代碼,還能像boss一樣調(diào)試bug,代碼里的bug也更少。因?yàn)樗麄儠?huì)測(cè)試代碼,指導(dǎo)初級(jí)開(kāi)發(fā)人員,編寫(xiě)自己的文檔,并且擁有很多其他技能來(lái)讓自己超越僅僅知道如何寫(xiě)代碼的境界。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

H. Sackman,W. J. Erikson和E. E. Grant在1968年進(jìn)行了一個(gè)叫做“比較在線(xiàn)和離線(xiàn)編程性能的探索性實(shí)驗(yàn)研究”的實(shí)驗(yàn),發(fā)現(xiàn)程序員在完成寫(xiě)代碼的任務(wù)上有很大的時(shí)間差異。

雖然該實(shí)驗(yàn)選取的被研究人員平均開(kāi)發(fā)經(jīng)驗(yàn)已經(jīng)達(dá)到了七年之久,但相互之間的時(shí)間差異卻能達(dá)到驚人的20倍。

雖然該實(shí)驗(yàn)的設(shè)計(jì)存在一定的缺陷,例如將使用低級(jí)語(yǔ)言的程序員和使用高級(jí)語(yǔ)言的程序員混合到了一起,但之后越來(lái)越多的研究都發(fā)現(xiàn)了類(lèi)似的結(jié)果。

雖然關(guān)于到底存不存在10x開(kāi)發(fā)人員仍有著廣泛的爭(zhēng)論,但本文重點(diǎn)關(guān)注的不是這些,而是關(guān)注開(kāi)發(fā)人員,如何通過(guò)從那些經(jīng)驗(yàn)豐富并且被認(rèn)為開(kāi)發(fā)速度更快的人那里得到的提示和竅門(mén),成為一名更有生產(chǎn)效率的數(shù)據(jù)科學(xué)家。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

你得真正了解業(yè)務(wù)

不管你是為教育、生物技術(shù)還是金融公司工作,都應(yīng)該至少對(duì)解決問(wèn)題的業(yè)務(wù)有一個(gè)比較深入的了解。

為了有效地溝通數(shù)據(jù)分析背后的故事,你應(yīng)該了解是什么在驅(qū)動(dòng)業(yè)務(wù),并且了解業(yè)務(wù)目標(biāo)。

例如,如果你負(fù)責(zé)優(yōu)化食品卡車(chē)的位置,那么你就需要了解客流量,競(jìng)爭(zhēng),該地區(qū)發(fā)生的事件,甚至天氣。你需要想了解公司為什么要優(yōu)化位置??赡苁且?yàn)楣疽黾蝇F(xiàn)有卡車(chē)的銷(xiāo)售量,或者是想要增加卡車(chē)數(shù)量。

哪怕你可能是今天在搜索網(wǎng)站工作,明天就到了金融公司去當(dāng)數(shù)據(jù)科學(xué)家,你也應(yīng)該為了使你的分析與利益相關(guān)者相關(guān)知道是什么讓業(yè)務(wù)成為可能。

你還應(yīng)該了解你所在項(xiàng)目的業(yè)務(wù)流程,例如知道誰(shuí)需要簽署最終結(jié)果,一旦你負(fù)責(zé)的部分完成,數(shù)據(jù)模型被傳遞給誰(shuí),以及預(yù)期的時(shí)間表是如何安排的。

最后,你應(yīng)該確保你知道這個(gè)項(xiàng)目的利益相關(guān)者是誰(shuí),并且能夠向不懂技術(shù)的利益相關(guān)者講明白這個(gè)項(xiàng)目實(shí)際的效果。就像是成為教育工作者一樣,并能夠向不懂技術(shù)的利益相關(guān)者講明白為什么達(dá)成目標(biāo)可能需要比他們預(yù)期的更多時(shí)間或資源。

當(dāng)你了解了利益相關(guān)方的目標(biāo),并能夠確保你溝通技術(shù),專(zhuān)業(yè)知識(shí)和建立解決方案所需的時(shí)間,那么你在你們公司的價(jià)值一定會(huì)變得更大。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

你得真正了解數(shù)據(jù)

了解業(yè)務(wù)很重要,了解數(shù)據(jù)更重要。你需要知道數(shù)據(jù)該怎樣提取,何時(shí)提取,誰(shuí)負(fù)責(zé)質(zhì)量控制,為什么數(shù)據(jù)會(huì)可能存在差距(例如供應(yīng)商的變化或提取方法的變化),什么可能會(huì)丟失,并且哪些其他數(shù)據(jù)源可以被添加進(jìn)來(lái)以創(chuàng)建一個(gè)更準(zhǔn)確的模型。

這真的需要你去和不同的團(tuán)隊(duì)交談,并且不斷地提出問(wèn)題。不要害怕問(wèn)他們正在做哪些工作,也不要害怕跟他們討論你正在做哪些工作,因?yàn)槟阌肋h(yuǎn)不知道大家是不是在做重復(fù)的工作,或者他們是否有一個(gè)更干凈的版本的數(shù)據(jù),而這恰恰是你需要數(shù)據(jù)。這樣可以節(jié)省你大量查詢(xún)數(shù)據(jù)庫(kù)的時(shí)間,例如對(duì)SiteCatalyst進(jìn)行多個(gè)API調(diào)用。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

為什么在項(xiàng)目設(shè)計(jì)過(guò)程中多花費(fèi)一些時(shí)間和精力可以讓你成為10x數(shù)據(jù)科學(xué)家?

你只需要做那些需要完成的工作(在寫(xiě)代碼之前已經(jīng)思考過(guò)),這樣就可以快速完成項(xiàng)目,因?yàn)槟銜?huì)減少工作量!

通過(guò)在客戶(hù)/用戶(hù)認(rèn)為他們需要的東西和他們真正需要的東西之間發(fā)現(xiàn)不同,你就能把自己定位成這個(gè)領(lǐng)域的專(zhuān)家和共識(shí)的制定者。

你會(huì)鞏固自己對(duì)問(wèn)題的理解,從而減小犯那些重大錯(cuò)誤的幾率。

你得懂得代碼設(shè)計(jì)

雖然在設(shè)計(jì)代碼時(shí)有很多非常好的實(shí)踐,但其中有一些非常突出的細(xì)節(jié)將大大增加你的生產(chǎn)效率。

我第一次聽(tīng)到關(guān)于清晰度或清晰度勝過(guò)聰明才智的論述是在大學(xué)寫(xiě)作課。 被自己一時(shí)的聰明想法抓住,并使用今天剛想到的最新詞匯來(lái)表述想法是很容易的一件事,但是像編程一樣,你這樣做不僅可能會(huì)混淆自己,還會(huì)混淆別人。(小編注:比如不按變量命名規(guī)則,每次都是a,b,c。。。真的在日后看代碼的時(shí)候很崩潰)

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

在上面的Scala示例中,第一行顯示了使用簡(jiǎn)寫(xiě)語(yǔ)法的sortBy方法。雖然簡(jiǎn)明扼要,但很難想象下劃線(xiàn)代表什么。雖然這是許多人在匿名函數(shù)中表示參數(shù)名稱(chēng)的常見(jiàn)模式,但對(duì)于不太高級(jí)的開(kāi)發(fā)人員(或者當(dāng)你過(guò)了一段時(shí)間再看你的代碼)時(shí),搞明白代碼到底代表什么的做法就變得很頭痛了。

在第二個(gè)例子中,我們起碼使用了一個(gè)參數(shù)名稱(chēng),加上它還顯示了賦值,我們可以看到它是通過(guò)序列x中的最后一個(gè)元素排序的。

當(dāng)代碼不怎么抽象的時(shí)候,之后的調(diào)試才會(huì)更容易,所以在第三個(gè)例子中,我明確命名了我的參數(shù),以便它表示數(shù)據(jù)。

當(dāng)你的大腦必須要經(jīng)歷每一步,或者查找或回想代碼的簡(jiǎn)寫(xiě)代表什么的時(shí)候,調(diào)試會(huì)需要更長(zhǎng)的時(shí)間,添加新函數(shù)也會(huì)需要更長(zhǎng)的時(shí)間,因此即使使用上述示例的簡(jiǎn)寫(xiě)可以簡(jiǎn)潔而快速地輸入,從長(zhǎng)遠(yuǎn)來(lái)看,明確命名參數(shù)對(duì)你和他人都會(huì)是有利的,從而避免你們耍小聰明犯下的錯(cuò)。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

雖然我們不會(huì)檢查緩存,但我們將介紹命名的重要性。想象一下,你正在查看一些舊的代碼,你會(huì)看到序列按Scala示例進(jìn)行排序:

sortBy(x => -x._2) 

使用單個(gè)字母來(lái)命名序列根本提供不了有用的信息,因?yàn)楫?dāng)你可能從API,數(shù)據(jù)庫(kù)或Spark中的數(shù)據(jù)流中提取數(shù)據(jù)時(shí),你必須運(yùn)行代碼才能看到”x”到底代表什么。

所以保持與之前Scala的示例的代碼應(yīng)該是:

sortBy(clothesCount => -clothesCount._2) 

這樣你就可以知道我們正在對(duì)什么進(jìn)行排序,甚至不用運(yùn)行代碼。

但是,有時(shí)使用X作為變量名稱(chēng)卻很好。例如,X通常用于機(jī)器學(xué)習(xí)庫(kù),其中X表示觀察到的數(shù)據(jù),而y是試圖預(yù)測(cè)的變量。在這種情況下,使用這個(gè)領(lǐng)域約定俗成的表示,如“模型”,“擬合”,“預(yù)測(cè)”和“x”和“y”等字段是最好不過(guò)的。

除了數(shù)據(jù)科學(xué)方面的要求,你還要遵循你所使用的語(yǔ)言的編程語(yǔ)言慣例。例如,我建議你去檢查一下文檔,如PEP for Python,來(lái)了解最佳做法。

通過(guò)規(guī)范你的命名約定,并通過(guò)清晰而不是耍小聰明的代碼,它將使重構(gòu)和調(diào)試更容易和更快。按照這兩個(gè)代碼設(shè)計(jì)的竅門(mén),你將走上成為10x數(shù)據(jù)科學(xué)家的道路。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

保持代碼樣式一致,與剛剛我們說(shuō)的保持命名約定一樣重要。要獲得一些基本的風(fēng)格點(diǎn),你應(yīng)該堅(jiān)持一種情況,不要在同一個(gè)腳本中混合使用駝峰式大小寫(xiě)和snake的命名規(guī)范,否則的話(huà),你的代碼很快就會(huì)變得難以閱讀和瀏覽。另一種你應(yīng)該保持一致的方法是同一種任務(wù)要堅(jiān)持使用相同方法。

例如,要從字典中刪除重復(fù)項(xiàng),并且需要在代碼的好幾個(gè)位置處執(zhí)行此操作,那么就不要僅僅因?yàn)樵赟tack Overflow網(wǎng)站上看到過(guò)就使用其他創(chuàng)造性的方法來(lái)執(zhí)行操作。使用最清晰和最不聰明的方法來(lái)讓你的代碼和腳本保持一致。并且,我還要再次強(qiáng)調(diào),一致性的目的是為了避免讓你自己和其他人混淆,這將有助于你更快地進(jìn)行調(diào)試!(請(qǐng)注意,我們這段話(huà)的核心是調(diào)試)。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

還記住我們剛剛談到的,必須在代碼中的多個(gè)地方刪除字典中的重復(fù)項(xiàng)嗎?使用函數(shù),你就不需要多次重寫(xiě)代碼。當(dāng)然,即使你不重用代碼,把代碼封裝在函數(shù)中也是至關(guān)重要的最佳做法。你的函數(shù)應(yīng)該很小,小到只能做一件事情,以便可以重復(fù)調(diào)用。

當(dāng)你不使用函數(shù)時(shí),經(jīng)常會(huì)有有全局變量導(dǎo)致命名沖突,代碼不可測(cè)試和代碼的不斷重復(fù)。

通過(guò)使用函數(shù),你的代碼就可以自由組合,更易于編寫(xiě)測(cè)試單元。

但是不要僅僅止步于寫(xiě)一些只做一件事情的小函數(shù),請(qǐng)務(wù)必抽象你的函數(shù),以便重新使用它們 - 這樣有助于降低代碼冗余度,并能加快你的開(kāi)發(fā)時(shí)間,這樣做下去至少讓你成為一個(gè)2x 程序猿。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

盡管不太常見(jiàn),但代碼設(shè)計(jì)中很重要的一點(diǎn)是使用樁代碼。樁代碼是簡(jiǎn)單的mock類(lèi)以及函數(shù),可以顯示輸入,輸出和注釋?zhuān)榇a提供一個(gè)大綱。在你開(kāi)始實(shí)際編寫(xiě)代碼之前,使用樁代碼會(huì)讓你先考慮代碼,并可以幫助你避免怪異的意大利面條式的代碼。你會(huì)注意到你在編寫(xiě)代碼之前有哪些重復(fù)的代碼,并且會(huì)考慮最合適的數(shù)據(jù)結(jié)構(gòu)。

上面的代碼示例給我們展示了注釋和文檔。要真正成為一個(gè)被同事喜歡的程序猿,并提高自己作為一名數(shù)據(jù)科學(xué)家的效率,就要會(huì)寫(xiě)有用的簡(jiǎn)明扼要的注釋。這不僅應(yīng)該包括關(guān)于代碼段的注釋?zhuān)€包括其輸入和輸出。

此外,關(guān)于docstrings可能最酷的是,它們可以通過(guò)大多數(shù)語(yǔ)言的庫(kù)轉(zhuǎn)換為文檔。例如Python有一個(gè)名為Sphinx的庫(kù),可以讓你將docstrings轉(zhuǎn)換成完整的文檔。

你現(xiàn)在可能知道你的代碼是什么,但當(dāng)你嘗試調(diào)試或添加函數(shù)時(shí),你和其他人將非常開(kāi)心有注釋。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

無(wú)論你使用什么語(yǔ)言編寫(xiě)代碼,請(qǐng)記得使用異常處理,并為你自己,同事和最終用戶(hù)留下有用的錯(cuò)誤信息。上面的代碼顯示了一個(gè)停止函數(shù),能夠傳遞來(lái)自正在調(diào)用的API的錯(cuò)誤消息。

如果數(shù)據(jù)不是API需要的,那么它就會(huì)引發(fā)一個(gè)有用的錯(cuò)誤消息。在你自己的代碼中,你可以在停止函數(shù)中寫(xiě)一個(gè)消息,幫助用戶(hù):

stop(paste0(“Make sure all your inputs are strings: ”, e)) 

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

以上示例來(lái)自“Hitchhikers Guide to Python”,它使用Python測(cè)試庫(kù)Pytest。

盡管編寫(xiě)測(cè)試單元對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)相當(dāng)普遍,但這在數(shù)據(jù)科學(xué)領(lǐng)域卻很少使用。當(dāng)然,你可以使用交叉驗(yàn)證,混淆矩陣和其他方法來(lái)驗(yàn)證你的模型。 但是,你是否測(cè)試了正在為你獲取數(shù)據(jù)的查詢(xún)? 你使用的各種方法是如何清理和轉(zhuǎn)換數(shù)據(jù)的,你的模型需要它們嗎? 這些方面對(duì)于安全防范“Garbage in, garbage out”(小編注:這兩個(gè)單詞的意思是,如果將錯(cuò)誤的、無(wú)意義的數(shù)據(jù)輸入計(jì)算機(jī)系統(tǒng),計(jì)算機(jī)自然也一定會(huì)輸出錯(cuò)誤、無(wú)意義的結(jié)果。)至關(guān)重要。 當(dāng)你測(cè)試代碼時(shí),不僅這兩個(gè)未來(lái)的證據(jù)可以反映可能引入錯(cuò)誤的變化,而且當(dāng)你有能力自己給自己檢查代碼時(shí),每個(gè)人都會(huì)認(rèn)為你就像一個(gè)搖滾明星一樣耀眼,因?yàn)橐坏┐a被用于實(shí)際生產(chǎn)就會(huì)發(fā)現(xiàn)bug非常少。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

為你的項(xiàng)目使用版本控制是成為10x數(shù)據(jù)科學(xué)家的重要一步。這最明顯的好處是保存模型的不同版本,既可以輕松地進(jìn)行團(tuán)隊(duì)工作,也可以通過(guò)在存儲(chǔ)庫(kù)中使用版本控制進(jìn)行備份,防止在筆記本電腦被盜或硬盤(pán)驅(qū)動(dòng)器墜毀的情況下丟失工作。

在beta版中,有一個(gè)名為Data Version Control的開(kāi)源數(shù)據(jù)版本控制項(xiàng)目,對(duì)于數(shù)據(jù)科學(xué)工作流程來(lái)說(shuō)看著很有希望。 它依靠Git,并允許通過(guò)構(gòu)建數(shù)據(jù)依賴(lài)圖來(lái)跨團(tuán)隊(duì)重現(xiàn)項(xiàng)目。你的數(shù)據(jù)會(huì)與你的模型分開(kāi)保存,它與其他版本控件一樣工作,允許你回滾到以前保存的備份。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

10x開(kāi)發(fā)人員知道使用正確的工具來(lái)完成工作,無(wú)論是使用庫(kù)來(lái)節(jié)省時(shí)間,切換語(yǔ)言以實(shí)現(xiàn)性能,還是使用API,而不是自己從頭構(gòu)建解決方案。

比方說(shuō)你現(xiàn)在有一些Twitter或其他社交數(shù)據(jù)要用來(lái)進(jìn)行情緒分析。一個(gè)選擇是自己標(biāo)注數(shù)據(jù),訓(xùn)練自己的模型,另一個(gè)則是使用預(yù)先訓(xùn)練的模型。不去自己建立每個(gè)數(shù)據(jù)模型來(lái)重新造輪子是很薄的。使用最適合工作的工具,即使這意味著使用你沒(méi)有構(gòu)建過(guò)的工具。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

我們都寫(xiě)過(guò)一個(gè)與Cron工作配對(duì)的Bash腳本來(lái)自動(dòng)化一些報(bào)告,但是,在你花費(fèi)一些時(shí)間嘗試調(diào)試由Cron自動(dòng)執(zhí)行的其他人撰寫(xiě)的報(bào)告時(shí),你甚至不知道它在哪里運(yùn)行,你會(huì)意識(shí)到必須有更好的方法才行。通過(guò)使用自動(dòng)化工具,如Puppet,Chef,Ansible或任何其他流行的自動(dòng)化工具,你就可以從集中的位置運(yùn)行你的工作,因此調(diào)試他人(或你自己)的工作就能快很多。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

有時(shí)你可能找不到一個(gè)團(tuán)隊(duì)來(lái)負(fù)責(zé)你設(shè)計(jì)的模型,這個(gè)時(shí)候就需要知道如何自己部署自己的模型。

雖然上面那副圖中的提供商之間有很多差異,但它們包含了從難以置信的易用性到你需要的更多的設(shè)置和知識(shí)。本節(jié)的內(nèi)容其實(shí)可以單獨(dú)成為一個(gè)話(huà)題。如果你想了解有關(guān)模型托管的更多細(xì)節(jié),可以查看我們的其他幾個(gè)不同的報(bào)告,分別介紹部署模型(https://blog.algorithmia.com/building-intelligent-applications/ )以及部署和擴(kuò)展你的深度學(xué)習(xí)模型(https://blog.algorithmia.com/deploying-deep-learning-cloud-services/)。

可能是致命傷的事情:

易用性

成本(包括附加組件和隱藏成本,如托管數(shù)據(jù))

投標(biāo)人鎖定

語(yǔ)言可用性

通過(guò)了解如何部署模型,你才有能力通過(guò)數(shù)據(jù)來(lái)講述故事,輕松地與團(tuán)隊(duì)成員共享(不管使用哪種語(yǔ)言)或?qū)⑵洳渴鸬缴a(chǎn)環(huán)境中,從而與數(shù)千用戶(hù)共享。這將幫助你成為10x-er,因?yàn)橐坏┝私饬诉@一點(diǎn),你就可以創(chuàng)建更多性能更高的模型,使用戶(hù)開(kāi)心。當(dāng)用戶(hù)開(kāi)心時(shí),企業(yè)主就會(huì)開(kāi)心。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

成為10x數(shù)據(jù)科學(xué)家的技巧

為了讓這篇文章圓滿(mǎn),這里有一些關(guān)于如何成為10x數(shù)據(jù)科學(xué)家的最受歡迎的技巧:

模式匹配。這來(lái)自于以前遇到類(lèi)似問(wèn)題并意識(shí)到可以重用或修改當(dāng)前問(wèn)題解決方案的經(jīng)驗(yàn)。

了解如何解釋你的代碼 - 給自己和其他人。 這意味著你可以在白板上,做/得到代碼甚至協(xié)同編程。要習(xí)慣于談?wù)撃愕拇a和思考過(guò)程。

了解如何/何時(shí)退出并重新開(kāi)始。如果你意識(shí)到有一個(gè)更好的方法來(lái)解決問(wèn)題,那就不要害怕重新開(kāi)始。最好就是重新開(kāi)始,做一個(gè)更好的方法來(lái)完成,而不是放出一些不是最佳或高性能的東西。

創(chuàng)建你自己的Gists庫(kù),或通過(guò)GitHub或其他托管服務(wù)的存儲(chǔ)庫(kù)組織代碼片段。

如何成為一名頂級(jí)戰(zhàn)斗力的數(shù)據(jù)分析師?

最后,回顧整篇帖子,如何成為一個(gè)10x的數(shù)據(jù)科學(xué)家和如何調(diào)試其實(shí)是相同的主題。每個(gè)10x的開(kāi)發(fā)人員都可以想象成一個(gè)主調(diào)試器,因?yàn)檫@個(gè)規(guī)則就是無(wú)論你的代碼多長(zhǎng),你都可以將它乘以10,并得到你需要調(diào)試的時(shí)間。 成為一個(gè)很好的調(diào)試器的一個(gè)竅門(mén)就是使用異常處理,你可以在IDE中使用調(diào)試器,你可以通過(guò)代碼查找邏輯中的錯(cuò)誤,并檢查涉及錯(cuò)誤的庫(kù)的源代碼,以確保你正在傳遞代碼需要的內(nèi)容。

即使你從這個(gè)帖子只得到了幾點(diǎn)收獲,恭喜你,你已走上了成為10x數(shù)據(jù)科學(xué)家的道路。

當(dāng)然,能不能抵達(dá)道路的盡頭,就看你自己咯。


數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線(xiàn)
立即咨詢(xún)
客服在線(xiàn)
立即咨詢(xún)
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶(hù)后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }