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

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時(shí)代我從高效的數(shù)據(jù)科學(xué)家那里學(xué)到的15個(gè)習(xí)慣
我從高效的數(shù)據(jù)科學(xué)家那里學(xué)到的15個(gè)習(xí)慣
2022-03-14
收藏

麥迪遜·亨特,地球科學(xué)學(xué)士學(xué)位本科生



當(dāng)涉及到進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域時(shí),你需要使用書中的每一個(gè)技巧來給自己一個(gè)優(yōu)勢,推動(dòng)你越過終點(diǎn)線。

那么,為什么不嘗試效仿行業(yè)中最好的人的習(xí)慣呢?

這篇文章不是一個(gè)“快速致富”的方法,成為一個(gè)高效的數(shù)據(jù)科學(xué)家。相反,它顯示了幫助最好的數(shù)據(jù)科學(xué)家到達(dá)他們所處位置的習(xí)慣。

人們經(jīng)常說,adata科學(xué)家的價(jià)值取決于他們對組織的影響。這種影響始于通過良好習(xí)慣的養(yǎng)成成為一名高效和有效的數(shù)據(jù)科學(xué)家。

1.跟上技術(shù)的發(fā)展。


有多少當(dāng)前的數(shù)據(jù)科學(xué)技術(shù)是在最近十年左右才出現(xiàn)的?幾乎是大多數(shù)。

進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域的動(dòng)機(jī)是你要好好嘗試一下,你已經(jīng)把自己歸入了一生不斷學(xué)習(xí)的狀態(tài)。別擔(dān)心,沒有聽起來那么凄涼。

然而,你應(yīng)該時(shí)刻記住的是,為了在工作中保持相關(guān)性,你需要跟上技術(shù)的發(fā)展。因此,如果您在整個(gè)職業(yè)生涯中都在使用MATLAB進(jìn)行數(shù)據(jù)分析,請嘗試學(xué)習(xí)用Python編寫代碼。如果您一直在用Matplotlib創(chuàng)建可視化效果,請嘗試使用Plotly來創(chuàng)建一些新鮮的東西。

如何養(yǎng)成這個(gè)習(xí)慣:每周花一個(gè)小時(shí)(或盡可能多的時(shí)間),嘗試新技術(shù)。通過閱讀博客文章找出哪些技術(shù)是相關(guān)的,并選擇一對您想要添加到堆棧中的技術(shù)。然后,創(chuàng)建一些個(gè)人項(xiàng)目,學(xué)習(xí)如何最大限度地使用新技術(shù)。

2.保存適當(dāng)?shù)奈募?


我似乎總是有幸閱讀和處理那些文檔糟糕、沒有支持性注釋來幫助我理解到底發(fā)生了什么的代碼。

我曾經(jīng)把它歸因于程序員的吹口哨,直到有一天,我意識(shí)到這只是一個(gè)糟糕的程序員的標(biāo)志。

我接觸過的所有優(yōu)秀程序員都是那些提供清晰、簡潔的文檔來支持他們的工作,并在他們的程序中添加有用的注釋來描述某些代碼行在做什么的人。這對于正在使用復(fù)雜算法和機(jī)器學(xué)習(xí)模型解決問題的數(shù)據(jù)科學(xué)家來說尤其相關(guān)。

如何實(shí)現(xiàn)這個(gè)習(xí)慣:花一些時(shí)間閱讀好的代碼文檔或關(guān)于如何編寫好代碼文檔的文章。為了實(shí)踐,為舊的個(gè)人項(xiàng)目編寫文檔,或者花一些時(shí)間修改當(dāng)前項(xiàng)目的文檔。由于數(shù)據(jù)科學(xué)世界的很大一部分都是在Python上運(yùn)行的,請查看這篇關(guān)于如何記錄Python代碼的非常好的文章:

Documenting Python Code: A Complete Guide - Real Python
Welcome to your complete guide to documenting Python code. Whether you're documenting a small script or a large…

3.參與數(shù)據(jù)科學(xué)社區(qū)。


認(rèn)為開發(fā)人員是面皮蒼白的社會(huì)棄兒的刻板印象,他們把自己鎖在孤獨(dú)中編寫注定要統(tǒng)治世界的代碼,這是一種過時(shí)的概括,沒有反映整個(gè)科技行業(yè)的現(xiàn)代復(fù)雜性。


“沒有人是一座孤島?!?-許多數(shù)據(jù)科學(xué)家最喜歡的一句話


數(shù)據(jù)科學(xué)的復(fù)雜性使得在數(shù)據(jù)科學(xué)界內(nèi)外建立一個(gè)大型的專業(yè)人員支持網(wǎng)絡(luò)是必要的,以解決使數(shù)據(jù)科學(xué)家成為必要的各種問題。

然而,社區(qū)的重要性并不僅僅停留在專業(yè)層面。隨著數(shù)據(jù)科學(xué)領(lǐng)域的擴(kuò)展,有必要為未來的分析師和工程師鋪平道路,這樣他們也可以產(chǎn)生影響,并進(jìn)一步支持其他數(shù)據(jù)科學(xué)家。

隨著數(shù)據(jù)科學(xué)領(lǐng)域的“性感”減弱,做出必要改變的唯一方法將是啟動(dòng)一場社區(qū)范圍的運(yùn)動(dòng),激勵(lì)該行業(yè)向更好的方向改變。

如何實(shí)現(xiàn)這個(gè)習(xí)慣:成為一名導(dǎo)師,撰寫信息豐富的博客文章,加入數(shù)據(jù)科學(xué)論壇并幫助回答問題,創(chuàng)建一個(gè)Youtube頻道來分享您的經(jīng)驗(yàn),參加Kaggle比賽和黑客馬拉松,或者創(chuàng)建課程來幫助未來的數(shù)據(jù)科學(xué)家學(xué)習(xí)進(jìn)入該行業(yè)所需的技能。

4.定期重構(gòu)代碼。


重構(gòu)是在不改變代碼原有功能的情況下清理代碼的過程。雖然重構(gòu)是軟件開發(fā)環(huán)境中的一個(gè)過程,但對于數(shù)據(jù)科學(xué)家來說,重構(gòu)是一個(gè)有用的習(xí)慣。

我在重構(gòu)時(shí)的口頭禪是“少即是多”。

我發(fā)現(xiàn),當(dāng)我最初編寫代碼來解決數(shù)據(jù)科學(xué)問題時(shí),我通常會(huì)拋棄良好的編碼實(shí)踐,而傾向于編寫在需要時(shí)有效的代碼。換句話說,會(huì)發(fā)生大量的意大利面代碼。然后,在我的解決方案開始工作后,我將返回并清理我的代碼。

如何實(shí)現(xiàn)此習(xí)慣:查看舊代碼,并詢問是否可以更有效地編寫相同的代碼。如果是這樣,請花一些時(shí)間來教育自己關(guān)于最佳編碼實(shí)踐的知識(shí),并尋找可以縮短、優(yōu)化和澄清代碼的方法。查看這篇概述代碼重構(gòu)最佳實(shí)踐的優(yōu)秀文章:

Code Refactoring Best Practices: When (and When Not) to Do It
代碼重構(gòu)是DevOps軟件開發(fā)方法中使用的一個(gè)過程,包括編輯和清理…

5.優(yōu)化工作區(qū)、工具和工作流程。


有這么多的IDE提高工作效率的擴(kuò)展,令人驚訝的是,有些人還沒有選擇優(yōu)化他們的工作流。

這個(gè)習(xí)慣對每個(gè)人來說都是如此獨(dú)特,以至于它實(shí)際上決定了哪些工具、工作區(qū)和工作流使您成為最有效和高效的數(shù)據(jù)科學(xué)家。

如何實(shí)現(xiàn)這個(gè)習(xí)慣:每年一次(如果對您更有效,則更頻繁),評估您的整體有效性和效率,并確定您可以改進(jìn)的地方。也許這意味著早上第一件事就是研究機(jī)器學(xué)習(xí)算法,或者坐在健身球上而不是椅子上,或者在IDE中添加一個(gè)新的擴(kuò)展,為您的代碼添加一層。嘗試不同的工作空間、工具和工作流,直到您進(jìn)入最佳形式。

6.重點(diǎn)了解業(yè)務(wù)問題。


據(jù)我所知,數(shù)據(jù)科學(xué)75%理解業(yè)務(wù)問題,25%編寫模型以找出如何解決這些問題。

編碼、算法和數(shù)學(xué)是容易的部分。了解如何實(shí)現(xiàn)它們,以便它們能夠解決特定的業(yè)務(wù)問題,而不是太多。通過花更多的時(shí)間來理解業(yè)務(wù)問題和您試圖解決的目標(biāo),剩下的過程將會(huì)順利得多。

為了了解你所從事的行業(yè)面臨的問題,你需要做一些調(diào)查,收集一些背景知識(shí),以支持你對你試圖解決的問題的了解。例如,您需要了解是什么使某一特定業(yè)務(wù)的客戶成功,或者工程公司試圖達(dá)到的特定目標(biāo)。

如何養(yǎng)成這個(gè)習(xí)慣:花些時(shí)間研究一下你工作的特定公司和他們所處的行業(yè)。寫一份你可以參考的備忘單,包含公司的主要目標(biāo),以及在特定行業(yè)可能面臨的問題。不要忘記包括您可能想要用來解決業(yè)務(wù)問題的算法,或者將來可能有用的機(jī)器學(xué)習(xí)模型的思想。當(dāng)你發(fā)現(xiàn)有用的東西時(shí),添加到這個(gè)備忘單中,很快你就會(huì)擁有一個(gè)與行業(yè)相關(guān)的花絮寶庫。

7.采用極簡風(fēng)格。


不,不是在生活中。在代碼和工作流中。

人們經(jīng)常認(rèn)為,最好的數(shù)據(jù)科學(xué)家使用最少的代碼、最少的數(shù)據(jù)和最簡單的算法來完成工作。

雖然作為極簡主義者,我不想讓你立即假設(shè)稀缺。通常,當(dāng)有人討論代碼中極簡主義的重要性時(shí),會(huì)導(dǎo)致人們試圖開發(fā)只使用幾行代碼的令人憤慨的解決方案。別鬧了。是的,令人印象深刻,但這真的是對你時(shí)間的最好利用嗎?

相反,一旦您熟悉了數(shù)據(jù)科學(xué)概念,就開始尋找可以優(yōu)化代碼的方法,使其簡單、干凈和簡短。使用簡單的算法來完成工作,不要忘記編寫可重用的函數(shù)來消除冗余。

如何實(shí)現(xiàn)這個(gè)習(xí)慣:作為一名數(shù)據(jù)科學(xué)家,開始推動(dòng)自己編寫更高效的解決方案,編寫更少的代碼,并使用更簡單的算法和模型來完成工作。了解如何在不降低代碼有效性的情況下縮短代碼,并留下大量注釋來解釋壓縮版本的代碼是如何工作的。

8.使用函數(shù)消除復(fù)雜性和冗余。


當(dāng)我第一次編寫數(shù)據(jù)分析代碼時(shí),我會(huì)第一個(gè)承認(rèn)我嚴(yán)重忽略了函數(shù)。當(dāng)我掙扎著通過不同的分析來推理時(shí),意大利面代碼填滿了我的IDE。如果您看了我的代碼,您可能會(huì)認(rèn)為它已經(jīng)走得太遠(yuǎn)了,并自愿把它從谷倉后面拿出來,讓它擺脫困境。

一旦我設(shè)法拼湊出一個(gè)半體面的結(jié)果,我就會(huì)回去試圖修復(fù)相當(dāng)于嚴(yán)重事故的結(jié)果。通過將代碼打包成函數(shù),我可以迅速消除不必要的復(fù)雜性和冗余。如果這是我對代碼所做的唯一一件事,那么我已經(jīng)將它簡化到了一個(gè)點(diǎn),我可以重新審視解決方案,并理解我是如何到達(dá)那個(gè)點(diǎn)的。

如何實(shí)現(xiàn)這個(gè)習(xí)慣:編寫代碼時(shí)不要忘記函數(shù)的重要性。人們常說,最好的開發(fā)人員是懶惰的開發(fā)人員,因?yàn)樗麄冎廊绾蝿?chuàng)建不需要太多工作的解決方案。編寫解決方案后,返回并將冗余或復(fù)雜的代碼捆綁到函數(shù)中,以幫助組織和簡化代碼。

9.應(yīng)用測試驅(qū)動(dòng)的開發(fā)方法。


測試驅(qū)動(dòng)開發(fā)(TDD)是一種軟件開發(fā)原則,它側(cè)重于編寫具有不斷測試的增量改進(jìn)的代碼。TDD運(yùn)行在“Red,Green,Refactor”系統(tǒng)上,該系統(tǒng)鼓勵(lì)開發(fā)人員構(gòu)建測試套件,編寫實(shí)現(xiàn)代碼,然后優(yōu)化代碼庫。

數(shù)據(jù)科學(xué)家可以成功地實(shí)現(xiàn)TDD,以產(chǎn)生分析管道、開發(fā)概念驗(yàn)證、處理數(shù)據(jù)子集,并確保在開發(fā)過程中不破壞功能代碼。

如何實(shí)現(xiàn)此習(xí)慣:研究測試驅(qū)動(dòng)開發(fā),并確定此技術(shù)是否可以為您的工作流添加一些內(nèi)容。TDD并不是每個(gè)問題的完美答案,但如果仔細(xì)實(shí)施,它可能會(huì)很有用。查看這篇文章,它對TDD進(jìn)行了很好的描述,并提供了一個(gè)如何在數(shù)據(jù)科學(xué)項(xiàng)目中實(shí)現(xiàn)它的示例:

How to use Test Driven Development in a Data Science Workflow
Another thing Data Scientists and Machine Learning Engineers should learn from Software Developers

10.做出小而頻繁的承諾。


有沒有發(fā)出一個(gè)拉請求,你的計(jì)算機(jī)被錯(cuò)誤消息和問題從Wazoo中傳出來?我有。太爛了。

當(dāng)你想介紹誰對你的拳頭做出了如此大的承諾時(shí),深呼吸,記住這個(gè)人顯然沒有花時(shí)間養(yǎng)成良好的成長習(xí)慣。

基于團(tuán)隊(duì)的軟件開發(fā)的黃金法則是什么?做出小而頻繁的承諾。

如何實(shí)現(xiàn)這個(gè)習(xí)慣:經(jīng)常提交代碼更改,并定期請求獲取最新代碼。您或其他人所做的每一個(gè)更改都可能破壞整個(gè)項(xiàng)目,因此進(jìn)行易于恢復(fù)且可能只影響項(xiàng)目的一部分或一層的小更改是很重要的。

11.把自我發(fā)展作為優(yōu)先事項(xiàng)。


根據(jù)您詢問的對象,該行業(yè)的數(shù)據(jù)科學(xué)家要么太多,要么太少。

無論這個(gè)行業(yè)是飽和還是干旱,你都將與大量高資歷的候選人競爭一份工作,而這些候選人往往是資歷過高的。這意味著在求職之前,你需要已經(jīng)養(yǎng)成了自我提升的習(xí)慣。今天,每個(gè)人都癡迷于提高技能,這是有充分理由的。這種趨勢對數(shù)據(jù)科學(xué)家來說應(yīng)該也不例外。

如何養(yǎng)成這個(gè)習(xí)慣:做一個(gè)技能清單,看看你是如何滿足雇主在招聘公告中提出的要求的。你是一個(gè)能夠高效使用相關(guān)庫的Pythonista嗎,比如Keras、NumPy、Pandas、PyTorch、TensorFlow、Matplotlib、Seaborn和Plotly?你能寫一份備忘錄,詳細(xì)說明你的最新發(fā)現(xiàn),以及它們?nèi)绾问鼓愕墓拘侍岣?5%嗎?你愿意作為團(tuán)隊(duì)的一員來完成一個(gè)項(xiàng)目嗎?找出任何缺點(diǎn),找到一些好的在線課程或資源來提高你的技能。

12.開始一個(gè)項(xiàng)目時(shí),要牢記目標(biāo)。


Stephen Covey在《7個(gè)高效能人士的習(xí)慣》中討論了“以終為始”的原則。

為了有效地將此與數(shù)據(jù)科學(xué)項(xiàng)目聯(lián)系起來,您需要在項(xiàng)目的規(guī)劃階段問自己項(xiàng)目的期望結(jié)果是什么。這將有助于塑造項(xiàng)目的路徑,并為您提供實(shí)現(xiàn)最終目標(biāo)所需的結(jié)果路線圖。不僅如此,確定項(xiàng)目的結(jié)果將使你對項(xiàng)目的可行性和可持續(xù)性有一個(gè)整體的想法。

如何實(shí)現(xiàn)此習(xí)慣:在每個(gè)項(xiàng)目開始時(shí)都有一個(gè)規(guī)劃會(huì)話,該會(huì)話明確列出您希望在開發(fā)期結(jié)束時(shí)實(shí)現(xiàn)的目標(biāo)。確定您將試圖解決哪個(gè)問題,或者您試圖收集哪一個(gè)證據(jù)。然后,您可以開始回答可行性和可持續(xù)性問題,這些問題將塑造項(xiàng)目的里程碑和結(jié)果。從那里,您可以開始編寫代碼和機(jī)器學(xué)習(xí)模型,并有一個(gè)明確的計(jì)劃來指導(dǎo)您完成項(xiàng)目。

13.理解,這樣你才能被理解。


在試圖準(zhǔn)備一個(gè)關(guān)于為什么自旋v2粒子服從費(fèi)米-狄拉克統(tǒng)計(jì)的新生講座失敗后,理查德·費(fèi)曼說過一句著名的話:“我不能把它降低到新生的水平。這意味著我們真的不明白?!氨环Q為”偉大的解釋者“的費(fèi)曼留下了數(shù)據(jù)科學(xué)家只能希望效仿的遺產(chǎn)。

數(shù)據(jù)科學(xué)是一門使用數(shù)據(jù)來講述一個(gè)引人注目的故事的藝術(shù),只有當(dāng)講故事的人理解他們試圖講述的故事時(shí),它才會(huì)成功。換句話說,理解是你的任務(wù),這樣你才能被理解。盡早養(yǎng)成這個(gè)習(xí)慣,了解你想要完成的事情,這樣你就可以與其他人分享到一個(gè)相當(dāng)好的理解水平,這將使你成為這個(gè)房間里最有效的數(shù)據(jù)科學(xué)家。

如何實(shí)現(xiàn)這個(gè)習(xí)慣:使用Feynman技術(shù)來加深對您試圖發(fā)現(xiàn)的概念和試圖解決的問題的理解。這種方法很好地與分析數(shù)據(jù)然后向一般非數(shù)據(jù)科學(xué)利益相關(guān)者解釋結(jié)果的數(shù)據(jù)科學(xué)過程相一致。簡而言之,您將對主題的解釋細(xì)化到這樣一個(gè)程度,即您可以用任何人都能理解的簡單、非行話術(shù)語來解釋它。

14.閱讀研究論文。


在一個(gè)由碩士和博士主導(dǎo)的領(lǐng)域。持有者,研究論文經(jīng)常被用來分享行業(yè)新聞和洞察力。

研究論文是了解他人如何解決問題的有用方法,拓寬了我們的視野,并跟上了最新的趨勢。

如何養(yǎng)成這個(gè)習(xí)慣:每周挑選一到兩篇與你當(dāng)前的工作或你感興趣的技術(shù)相關(guān)的研究論文來閱讀。試著每周為這篇文獻(xiàn)復(fù)習(xí)留出時(shí)間,讓這成為一個(gè)優(yōu)先事項(xiàng)。熟悉閱讀研究論文的三關(guān)方法,這有助于你快速收集相關(guān)信息。要真正鞏固你對論文的理解,試著把你從閱讀中學(xué)到的東西落實(shí)到一個(gè)個(gè)人項(xiàng)目中,或者與同事分享你學(xué)到的東西。

15.對變化持開放態(tài)度。


數(shù)據(jù)科學(xué)的世界正在迅速變化,從所使用的技術(shù)到所達(dá)到的目標(biāo)。不要做那種固步自封、不愿改變的數(shù)據(jù)科學(xué)家。

開放的改變不僅會(huì)迫使你作為一個(gè)專業(yè)人士繼續(xù)提高,而且還會(huì)讓你在一個(gè)快速變化的行業(yè)中保持相關(guān)性,這個(gè)行業(yè)在你落后的時(shí)候會(huì)把你吐出來。

如何養(yǎng)成這個(gè)習(xí)慣:每當(dāng)一項(xiàng)新技術(shù)或?qū)嵺`成為新聞時(shí),就進(jìn)行一次測試,看看新技術(shù)或?qū)嵺`帶來了什么。即使只是閱讀文檔,您也可以隨時(shí)了解行業(yè)的變化趨勢。此外,您可以為您的公司帶來一個(gè)關(guān)于技術(shù)的視角,并幫助他們導(dǎo)航技術(shù)變化和進(jìn)步。在辦公室里做一個(gè)耳旁風(fēng)的人可以幫助你保持領(lǐng)先,也可以幫助你引導(dǎo)你的團(tuán)隊(duì)和公司找到更好、更有效的解決方案。

在數(shù)據(jù)科學(xué)職業(yè)生涯的任何階段,養(yǎng)成良好的習(xí)慣都可以讓你發(fā)揮潛力,成為團(tuán)隊(duì)中有效的一員,對他們試圖解決的任何問題都有很大的影響。

沒有比現(xiàn)在更好的時(shí)間來花時(shí)間為未來的成功做好準(zhǔn)備了。



數(shù)據(jù)分析咨詢請掃描二維碼

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

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

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } 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)證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測極驗(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ù)說明請參見: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 = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+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); }