www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > > 充電吧
[導(dǎo)讀]上周我與同事們進(jìn)行了一次關(guān)于職業(yè)生涯中搞砸了一些事情的簡(jiǎn)短談話。這確實(shí)會(huì)淪為他人笑柄,卻更給我們帶來(lái)了珍貴的教訓(xùn)。重要的是,我們應(yīng)該分享那些曾經(jīng)的錯(cuò)誤,這樣其他人就可以從其中學(xué)習(xí)。下文是最近在我身上發(fā)生的例子。

上周我與同事們進(jìn)行了一次關(guān)于職業(yè)生涯中搞砸了一些事情的簡(jiǎn)短談話。這確實(shí)會(huì)淪為他人笑柄,卻更給我們帶來(lái)了珍貴的教訓(xùn)。重要的是,我們應(yīng)該分享那些曾經(jīng)的錯(cuò)誤,這樣其他人就可以從其中學(xué)習(xí)。下文是最近在我身上發(fā)生的例子。

為什么有如此多誤刪生產(chǎn)數(shù)據(jù)庫(kù)的事情發(fā)生?

幾個(gè)月前,Reddit上有一篇文章,講了一名初級(jí)開(kāi)發(fā)人員在上班的第一天就刪除了生產(chǎn)數(shù)據(jù)庫(kù)的事。我們都很憷于讀到這類犯了這類無(wú)法讓人忘卻的大錯(cuò)誤的文章。因?yàn)槲覀冸x這些也不遠(yuǎn),而大多數(shù)人都是“死里逃生”。

在我的第一份工作中,一位高級(jí)數(shù)據(jù)庫(kù)管理員在上班第一天就誤刪了生產(chǎn)數(shù)據(jù)庫(kù)。這類故事情節(jié)比比皆是。這個(gè)團(tuán)隊(duì)從一個(gè)星期的備份中恢復(fù)了他導(dǎo)致的錯(cuò)誤,并讓他繼續(xù)工作。十年后,他們依然將其作為笑點(diǎn)。

今年早些時(shí)候,我被派去檢查一個(gè)客戶的生產(chǎn)數(shù)據(jù)上的問(wèn)題。他們進(jìn)行了小范圍的非公開(kāi)測(cè)試,結(jié)果網(wǎng)站上沒(méi)有顯示任何內(nèi)容。我想查查是否是存在漏洞或是易損性問(wèn)題導(dǎo)致了這一結(jié)果。

我通過(guò)了生產(chǎn)機(jī)器上的簽名環(huán)節(jié),然后打開(kāi)了數(shù)據(jù)庫(kù)。內(nèi)容庫(kù)(articles table)內(nèi)空空如也。這證實(shí)了我們?cè)诰W(wǎng)站上看到的情況是真實(shí)的。

用戶庫(kù)(users table)內(nèi)依然有用戶數(shù)據(jù)存在。真讓人奇怪。所以情況是我們丟失了所有內(nèi)容,但是至少測(cè)試用戶的信息依然存在。我們給出的解釋是這是一個(gè)測(cè)試行為,所以這些事情有可能發(fā)生。

接下來(lái)的幾分鐘一片混亂。我不記得自己做了什么。我不認(rèn)為自己笨到在控制臺(tái)上執(zhí)行了刪除用戶庫(kù)的操作。但是事實(shí)就是這么發(fā)生了,現(xiàn)在后臺(tái)既沒(méi)有了內(nèi)容庫(kù),也沒(méi)有了用戶庫(kù)。這真實(shí)下了我一大跳。

然后我的大腦就開(kāi)始轉(zhuǎn)動(dòng)起來(lái)思考如何解決這個(gè)問(wèn)題。我真的把用戶庫(kù)給刪掉了嗎?是的。我們存?zhèn)浞萘藛?沒(méi)有。我們應(yīng)該如何告訴客戶這個(gè)事情?不知道。

我猶記得自己走向項(xiàng)目經(jīng)理那里,坐在她身邊,向她解釋了發(fā)生了什么事情時(shí)的場(chǎng)面。因?yàn)槲覀兊膬?nèi)容庫(kù)中沒(méi)有內(nèi)容,這就是為什么網(wǎng)站上空空如也的原因。同時(shí),我還刪除了用戶庫(kù)。他們現(xiàn)在需要重新邀請(qǐng)所有的用戶,如果他們能夠弄清楚誰(shuí)是誰(shuí)。

我回到了自己的辦公室,垂頭喪氣。

不過(guò),我還是沒(méi)有接受這件事。我們一開(kāi)始是如何失去這些東西的?

我開(kāi)始不停地往深處想。半是為了否認(rèn)這件事,半是想要挽回面子。不久,我注意到了一些重要事情。

在服務(wù)器上還存在著其他5個(gè)數(shù)據(jù)庫(kù)。其中一個(gè)數(shù)據(jù)庫(kù)的名字和我剛才看到的數(shù)據(jù)庫(kù)名字很像。

當(dāng)我查看這個(gè)數(shù)據(jù)庫(kù)的時(shí)候,發(fā)現(xiàn)所有的內(nèi)容都在里面。用戶庫(kù)也安然無(wú)恙。結(jié)果證明,是一個(gè)配置變動(dòng)無(wú)意中改變了生產(chǎn)設(shè)置,使站點(diǎn)指向了一個(gè)全新的數(shù)據(jù)庫(kù)。我之前所看的用戶信息是什么?種子數(shù)據(jù)。

真是謝天謝地。早上的神經(jīng)緊張和胃酸讓我覺(jué)得很不舒服,但是我們“恢復(fù)”了數(shù)據(jù),并在壞消息傳開(kāi)之前找到了真正的問(wèn)題。

從這件事中可以吸取很多教訓(xùn)。其中一點(diǎn)是關(guān)于最簡(jiǎn)單原則:我們總是在做的備份,也許是開(kāi)發(fā)人員最有成效的挽救藥。

繼續(xù)前進(jìn)但不要沖得過(guò)前

我最近犯的一個(gè)錯(cuò)誤不太引人注目。事實(shí)上,這是一個(gè)經(jīng)由小錯(cuò)誤所引起的小錯(cuò)誤最終導(dǎo)致了一場(chǎng)混亂的故事。

我們面臨的是一個(gè)時(shí)間緊迫的項(xiàng)目。

在初次會(huì)議上,我們團(tuán)隊(duì)一致認(rèn)為完成它會(huì)花費(fèi)比預(yù)定時(shí)間多一倍的時(shí)間。這個(gè)最后期限一開(kāi)始就對(duì)我們產(chǎn)生影響,讓我寬松地通過(guò)了身份認(rèn)證部分而留有更多時(shí)間去關(guān)注客戶所實(shí)際關(guān)注的功能設(shè)計(jì)。

我只是在一個(gè)單一頁(yè)面測(cè)試了身份驗(yàn)證測(cè)試,但是當(dāng)時(shí)還不了解它們將如何被組合在一起。

把它單列出來(lái)是我做的一個(gè)錯(cuò)誤決定。我忽略了一些重要事情:

用戶在登陸之后會(huì)從cookie中加載內(nèi)容,但是這個(gè)頁(yè)面卻試圖在沒(méi)有任何等待的情況下進(jìn)行加載。根據(jù)事件的發(fā)生順序,用戶會(huì)得到帶來(lái)服務(wù)器的反映,說(shuō)其是未經(jīng)授權(quán)的。

身份驗(yàn)證也未檢查令牌是否過(guò)期。如果用戶不經(jīng)常訪問(wèn)這個(gè)網(wǎng)站。那么當(dāng)其再一次訪問(wèn)時(shí),網(wǎng)站需要用戶登出再登入才會(huì)運(yùn)行。

令牌應(yīng)該基于每個(gè)請(qǐng)求進(jìn)行更新,但是我從未花費(fèi)時(shí)間去理解其發(fā)生前后的規(guī)則。所以,這又產(chǎn)生了一個(gè)時(shí)間問(wèn)題。如果我們同時(shí)發(fā)送了幾個(gè)請(qǐng)求,根據(jù)它們返回的順序,用戶會(huì)得到那個(gè)在后來(lái)的請(qǐng)求中無(wú)法使用的令牌。

我們匆匆忙忙地趕著項(xiàng)目,卻仍花費(fèi)了比規(guī)定多一倍的時(shí)間。區(qū)別之處在于有更多的漏洞,并需要花更多時(shí)間去跟蹤并修復(fù)這些漏洞。

這使我感到窘迫。之后因?yàn)檎虑樽兊帽容^糟糕哦而讓我在公眾場(chǎng)合感到羞愧。

我想說(shuō)的是:在此之后,我花費(fèi)了時(shí)間去學(xué)習(xí)認(rèn)證程序。我現(xiàn)在了解了OAuth、JWT、刷新令牌和到期行為。我仔細(xì)研究了其他人所編寫(xiě)的身份驗(yàn)證代碼。我能夠在不同的語(yǔ)言和框架中建構(gòu)身份驗(yàn)證程序。

將失敗轉(zhuǎn)化為未來(lái)的成功

這是我從那些表現(xiàn)糟糕的事情中所獲得的經(jīng)驗(yàn)。如果你愿意,那么幾乎所有好的結(jié)果都會(huì)由此而來(lái)。

如果有人能從自己的錯(cuò)誤中汲取教訓(xùn),那么他就會(huì)比現(xiàn)在更優(yōu)秀。我試著不去打擊那些第一次犯錯(cuò)誤的隊(duì)友。他們通常都知道自己把事情搞的一團(tuán)糟。

我也正嘗試不對(duì)那些不斷犯同樣錯(cuò)誤的人施加壓力。他們?nèi)匀恢档猛椤?/p>

如果在錯(cuò)誤中做到這4點(diǎn),那么你就會(huì)不斷成長(zhǎng):

嘲笑自己。

從中汲取經(jīng)驗(yàn)教訓(xùn)。

改正錯(cuò)誤。

分享自己的錯(cuò)誤,讓其他人也有所收獲。

最后,我想講一個(gè)關(guān)于錯(cuò)誤價(jià)值的軼事。20世紀(jì)初,IBM的首席執(zhí)行官托馬斯·J·沃森曾遇到過(guò)一名員工,這名員工的一系列糟糕決策讓公司付出了巨大代價(jià)。當(dāng)沃森被問(wèn)到是否會(huì)解雇這名員工時(shí),他回應(yīng)道:

“不,我剛在他身上花了60萬(wàn)美元的培訓(xùn)費(fèi)。為什么要讓別人白白撿去這個(gè)便宜?”

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉