第十三章:這就是差距
只是沒過幾天周天白只是沒過幾天又被調(diào)了一個(gè)地方,今天是他去新地點(diǎn)上班第一天。
寫的第一個(gè)功能是第三方賬號(hào)登錄,先注冊(cè)后登錄,他處理前端傳來的用戶名、密碼先對(duì)其校驗(yàn)再進(jìn)行加密,然后記錄到數(shù)據(jù)庫再進(jìn)行一層加密。
收到登錄請(qǐng)求后會(huì)校驗(yàn)登錄此次是否超過設(shè)置的閾值,如果超過則不予登錄,未超過最大限制次數(shù)的登錄再判斷用戶名、密碼是否正確,不正確再進(jìn)行閾值判斷,超過輸入次數(shù)的最大限制次數(shù)則禁止2小時(shí)內(nèi)再次登入。
賬號(hào)登錄成功后取得其所進(jìn)行的操作記錄入庫,也方便后續(xù)的加積分。
手機(jī)號(hào)注冊(cè)時(shí)他把手機(jī)號(hào)記錄在數(shù)據(jù)庫中,給他生成隨機(jī)驗(yàn)證碼,并將手機(jī)號(hào)和驗(yàn)證碼綁定,限制5分鐘的驗(yàn)證碼過期時(shí)間。
在登錄時(shí),只有在時(shí)間期限內(nèi)的正確驗(yàn)證碼才讓其登錄成功,記錄其后續(xù)操作。
數(shù)據(jù)庫設(shè)計(jì)建立也已經(jīng)完成,接下來引入第三方賬戶登錄。在客戶端上點(diǎn)擊第三方登錄后調(diào)起登錄界面,進(jìn)行輸入第三方的用戶名、密碼,校驗(yàn)第三方返回的id,成功后記錄此次操作并將其放至庫中相關(guān)表內(nèi)。
這個(gè)功能簡(jiǎn)單,他用了兩小時(shí)就寫完了。后面又寫了各個(gè)理財(cái)產(chǎn)品的詳細(xì)和選擇組合。
午飯時(shí)間,幾個(gè)新來的一起出去吃飯,席間一個(gè)也是新來的吐槽說他負(fù)責(zé)的模塊需要大量數(shù)據(jù)插入到數(shù)據(jù)庫中,他配合了場(chǎng)景先模擬了一百萬數(shù)據(jù)插入,用了半個(gè)多小時(shí)。
這耗時(shí)讓他懷疑人生。
在座的新人中有一個(gè)人冒頭說他回去試試要多久,應(yīng)該可以縮短些時(shí)間。
這話周天白聽去了,開始留心他飯后舉動(dòng)。果然,那人回到工位后打開電腦開始模擬數(shù)據(jù)插入,45分鐘后有了結(jié)果,一百萬數(shù)據(jù)插入,耗時(shí)15分鐘。同樣的業(yè)務(wù)場(chǎng)景下,耗時(shí)縮短了一半。
看到這一幕的周天白暗自打聽那人的信息,才知道那人叫徐來,西南交大軟件工程系,應(yīng)屆生。
專業(yè)出身的果然不一樣,他自己之前在寫工大通APP的時(shí)候也模擬過百萬數(shù)據(jù),雖然耗時(shí)不長(zhǎng),但業(yè)務(wù)太單一,和現(xiàn)在這種不是一個(gè)量級(jí)。
他自己寫,耗時(shí)頂天了也得20分鐘,寫的時(shí)間與得在一小時(shí)左右。周天白生出了想結(jié)交徐來的心思,同時(shí)也在想要是成青云寫,時(shí)間又會(huì)是多久?畢竟,幾個(gè)人中他學(xué)的最刻苦,寫的也最好。
下班后他沒有急著回家,在銀行附近又繞了一大圈熟悉了周邊的環(huán)境再回到銀行附近坐地鐵。銀行位于三壞與四環(huán)交界的邊緣,周圍很繁華。
他喜歡繁華又熱鬧的地方。
回到家后他問了成青云,相同條件下他插入數(shù)據(jù)大概要多久,并發(fā)給他一些相關(guān)的模擬參數(shù),50分鐘后得到了回復(fù)和詳細(xì)過程,17分鐘。
看著滿屏的字母,周天白覺得他運(yùn)氣不錯(cuò)。前有青哥,現(xiàn)在又有一個(gè)可以交的朋友。當(dāng)然兩者不能相提并論,他是真拿成青云當(dāng)大哥的。
但這也不妨礙他結(jié)交別人,他從不掩飾他對(duì)強(qiáng)者的喜歡,慕強(qiáng)從來都不是缺點(diǎn),就像仇富,很多人仇的是自己不富。
此后的幾天里,吃飯、下班的時(shí)候他故意找茬和徐來搭話,發(fā)現(xiàn)其不止代碼寫的好,性格也很跳脫隨和,見識(shí)廣,更加深了結(jié)交之心。
周天白的機(jī)敏風(fēng)趣,大氣和獨(dú)到的眼光也讓徐來印象深刻,沒多久兩人就成了朋友。
解決完周天白問題的成青云自己也遇到了問題,早上把需求變更涉及到的功能重新改了一下,代碼合并之后一運(yùn)行輸出結(jié)果錯(cuò)誤:
iOS客戶端上界面還出現(xiàn)了顏色異常,原本主色調(diào)橙色和紅色的的頁面出現(xiàn)了紫紅色藍(lán)色交叉變換。
一行行代碼看下來,檢查相關(guān)類方法,看了一個(gè)小時(shí)才發(fā)現(xiàn)是有人把界面顏色重新設(shè)置了,加上控制臺(tái)打印顏色RGB值導(dǎo)致的,原先的顏色當(dāng)成垃圾回收了,改回來后顏色問題解決了。輸出結(jié)果錯(cuò)誤還是沒有找到問題根源。
又查了兩小時(shí)沒查出來,他向?qū)γ娴目偙O(jiān)張龍求助,半小時(shí)后找到了問題所在,枚舉類型用錯(cuò)一個(gè)。主要還是判斷有誤,當(dāng)前如果有下載操作正在進(jìn)行就返回,否則會(huì)創(chuàng)建一個(gè)任務(wù)放到線程池中進(jìn)行下載。數(shù)值定義里不該有0否則后續(xù)判斷起不了作用,下載會(huì)多線程執(zhí)行。
張龍沒多說什么,只是一句,多線程導(dǎo)致的問題有時(shí)候是不好查,觸發(fā)問題的臨界條件也不好找。
成青云記下了,還得再努力,拉小差距,像專業(yè)靠攏,加強(qiáng)實(shí)力,當(dāng)下決定把下班回家后學(xué)習(xí)一小時(shí)的時(shí)間再拉長(zhǎng),他想更快的融入到互聯(lián)網(wǎng)行業(yè),成為其中一員。