成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

作為程序員,我的兩次印象深刻的傻眼時(shí)刻

開發(fā) 前端 移動(dòng)開發(fā)
上周我和同事們簡單地聊了聊我們工作中搞砸的那些事兒。如今早已不再犯那些錯(cuò)了,所以想起過去就覺得很好笑。但是笑歸笑,其實(shí)當(dāng)時(shí)犯的這些錯(cuò)讓我們受益頗深。分享自己犯錯(cuò)的經(jīng)歷至關(guān)重要,能讓別人從中吸取經(jīng)驗(yàn)教訓(xùn),而且可能讓他們工作起來更上手。

[[235144]]

上周我和同事們簡單地聊了聊我們工作中搞砸的那些事兒。如今早已不再犯那些錯(cuò)了,所以想起過去就覺得很好笑。但是笑歸笑,其實(shí)當(dāng)時(shí)犯的這些錯(cuò)讓我們受益頗深。

分享自己犯錯(cuò)的經(jīng)歷至關(guān)重要,能讓別人從中吸取經(jīng)驗(yàn)教訓(xùn),而且可能讓他們工作起來更上手。我在這兒記錄了幾條自己最近犯的錯(cuò)。

為什么有那么多生產(chǎn)數(shù)據(jù)庫被誤刪?

[[235145]]

幾個(gè)月之前,Reddit 上發(fā)了一篇文章,寫的是一個(gè)入門級(jí)開發(fā)人員在上班第一天就誤刪了生產(chǎn)數(shù)據(jù)庫。我們看到類似這種有人犯了特大的、不可磨滅的錯(cuò)誤的文章,都不免心生畏懼。我們意識(shí)到自己并不是沒可能犯那種錯(cuò)——大多數(shù)時(shí)候都是懸崖勒馬。

我在干第一份工作的時(shí)候,有一個(gè)高級(jí)數(shù)據(jù)庫管理員在上班第一天就誤刪了生產(chǎn)數(shù)據(jù)庫,這種例子簡直比比皆是。工作團(tuán)隊(duì)用一周前舊的數(shù)據(jù)庫備份幫他彌補(bǔ)了過失,讓他保住了工作。如今十年過去了,都仍用這件事拿他開涮。

今年年初有天早上,我被叫去調(diào)查一個(gè)客戶生產(chǎn)中出現(xiàn)的問題。他們本來要針對(duì)一小部分用戶進(jìn)行產(chǎn)品的 β 測(cè)試,但是他們的網(wǎng)站首頁突然什么都顯示不出來了。我猜想可能是系統(tǒng)有 bug 或者有漏洞所致。

我登錄進(jìn)生產(chǎn)機(jī)器,調(diào)出數(shù)據(jù)庫,發(fā)現(xiàn) articles 表是空的。OK,這證實(shí)了網(wǎng)頁顯示空白的情況。

用戶表里面還是有用戶的,這就奇怪了,所以我們丟了所有的 articles,但起碼他們的測(cè)試用戶仍有他們的賬號(hào),我們可以解釋說是這是個(gè)測(cè)試版,而且這種事情時(shí)有發(fā)生。

接下來一會(huì)兒我就犯迷糊了。我記不清楚自己干了什么,我認(rèn)為自己不會(huì)蠢到在控制臺(tái)窗口輸入了刪除表中用戶的指令,可情況就是這樣——現(xiàn)在既沒有 articles 表,也沒有用戶表。我呆坐著,感覺有點(diǎn)震驚。

然后我的大腦高速運(yùn)轉(zhuǎn),開始想辦法修復(fù)問題。我真的刪掉用戶表了嗎?是的。我們運(yùn)行備份數(shù)據(jù)庫了嗎?沒有。該怎么向客戶解釋呢?我不知道。

我記得自己去找了項(xiàng)目經(jīng)理,坐在她旁邊解釋事情發(fā)生的經(jīng)過,articles 表中沒有數(shù)據(jù)了,所以網(wǎng)站看上去是空的。哦對(duì)了,我還誤刪了用戶表。現(xiàn)在他們需要重新邀請(qǐng)所有的用戶——如果他們還能想清楚用戶都有誰的話。哎呀。

我回到自己的座位上,感覺深受挫敗。

但是我覺得事情有些蹊蹺,我們?cè)趺纯赡芤婚_始就丟了所有的 articles 表呢?于是我繼續(xù)深究下去,一方面是因?yàn)殡y以接受這個(gè)結(jié)果,一方面是想挽回顏面。之后過了一小會(huì)兒,我注意到了關(guān)鍵問題。

服務(wù)器上還有另外 5 個(gè)數(shù)據(jù)庫,其中一個(gè)的名字和我正在看的那個(gè)數(shù)據(jù)庫的名字非常相似。

我一檢查,發(fā)現(xiàn) articles 都在里面,用戶表也完好無損。事實(shí)證明是因?yàn)榕渲冒l(fā)生變化,無意間讓它變成了生產(chǎn)數(shù)據(jù)庫,導(dǎo)致網(wǎng)站指向了全新的數(shù)據(jù)庫。我在里面看到的那些用戶呢?種子數(shù)據(jù)罷了。

真是如釋重負(fù)!一早上神經(jīng)緊繃、胃酸翻涌,搞得我渾身不適,但好在我們“修復(fù)”了所有的數(shù)據(jù),并且找到了問題真正的癥結(jié)所在,沒有提前宣布誤刪數(shù)據(jù)庫的壞消息。

這個(gè)小插曲讓我們受益良多,最簡單的一個(gè)就是:現(xiàn)在我們總是在給數(shù)據(jù)庫做備份……這可能是我們開發(fā)人員最有效的胃藥。

總趕進(jìn)度,卻從來趕不上進(jìn)度

[[235146]]

我最近所犯的另一個(gè)突出 錯(cuò)誤沒那么戲劇化,實(shí)際上是由一個(gè)個(gè)小錯(cuò)誤最終累積造成了大麻煩。

我們項(xiàng)目開發(fā)的一大挑戰(zhàn)就是時(shí)間緊張(但也不全是?)

第一次開會(huì)時(shí),我們一致覺得項(xiàng)目需要的時(shí)間比我們能夠拿出來的時(shí)間多了一倍。從項(xiàng)目一開始,截止日期就步步緊逼,所以我們?nèi)挛宄屯ㄟ^了認(rèn)證環(huán)節(jié),以便進(jìn)入客戶真正關(guān)心的功能環(huán)節(jié)。

我只是之前在一個(gè)單頁 app 中落實(shí)了一次認(rèn)證,但仍然沒有徹底理解 app 各部分是如何協(xié)調(diào)的。

盡己所能用最快的速度把 app 趕出來,就是大錯(cuò)特錯(cuò),我漏掉了一些非常重要的東西:

  1. 用戶在登陸后,是通過 cookie 來加載的,但是我的 app 頁面沒有給加載提供等待時(shí)間,而是根據(jù)事件順序來決定先后的,所以服務(wù)器會(huì)回復(fù)說你沒有權(quán)限。這種錯(cuò)誤很少見,而且很難再出現(xiàn),因?yàn)榇蠖鄶?shù)情況下事件都是按照正確的順序來完成的。
  2. 而且認(rèn)證環(huán)節(jié)也從不檢查用戶令牌是否失效,如果你不經(jīng)常訪問網(wǎng)站,當(dāng)發(fā)現(xiàn)了沒法登上網(wǎng)站后,就需要注銷登錄再重新登進(jìn)去。
  3. 令牌應(yīng)該在每次發(fā)起請(qǐng)求時(shí)都進(jìn)行更新,但我從來都沒有時(shí)間去理解這些規(guī)則。所以這里又產(chǎn)生了時(shí)間問題。如果我們一次同時(shí)發(fā)出幾種請(qǐng)求,收到的回復(fù)取決于他們到來的順序,那將來發(fā)送請(qǐng)求用到的令牌就是錯(cuò)的。

我們卯足勁趕進(jìn)度,但最終所用的時(shí)間還是要比給定的時(shí)間多一倍。區(qū)別就是我們開發(fā)出的 app 里面漏洞更多了,然后甚而要花更多的時(shí)間對(duì)漏洞進(jìn)行追蹤和修復(fù)。

工作中的失誤讓我尷尬不已,在大家面前感到十分羞愧,因?yàn)槲野岩磺卸几阍伊恕?/p>

我要說一點(diǎn):從那之后,我開始花時(shí)間學(xué)習(xí)認(rèn)證機(jī)制,現(xiàn)在已經(jīng)理解了 OAuth,、JWT、刷新令牌和失效。我仔細(xì)閱讀了許多庫里別人寫的認(rèn)證代碼,而且建立了基于幾種不同語言版本和框架的認(rèn)證流程。

失敗是成功之母

這是每次失敗的經(jīng)歷給予我的啟發(fā)。只要你愿意學(xué)習(xí),幾乎每次這樣的經(jīng)歷都會(huì)讓你從中受益。

如果人能夠從錯(cuò)誤中吸取教訓(xùn),那么就會(huì)有所進(jìn)步。如果一個(gè)隊(duì)員是第一次犯錯(cuò),我盡量不會(huì)對(duì)他表現(xiàn)出不滿態(tài)度,他們往往已經(jīng)知道自己把事情搞糟了。

但我也努力不去苛責(zé)那些總是犯錯(cuò)、屢教不改的人,他們也需要被同情。

對(duì)待犯錯(cuò),如果你能夠做到這四點(diǎn),那么就會(huì)不斷進(jìn)步:

  • 對(duì)曾經(jīng)犯過的錯(cuò)誤可以自嘲一番
  • 從中吸取經(jīng)驗(yàn)教訓(xùn)
  • 在之后努力為自己正名
  • 和他人分享,讓他人也能從中獲益。

關(guān)于犯錯(cuò)的寶貴價(jià)值,我留給你們一則名人軼事:20 世紀(jì)初期,IBM 的總裁托馬斯·J·沃森遇到了一位因?yàn)槎啻螞Q策錯(cuò)誤讓公司損失慘重的員工,當(dāng)問及是否要開除這個(gè)員工時(shí),沃森答道:

“不,我剛剛花了 60 萬美元培訓(xùn)了他,我怎么會(huì)讓其他人雇傭他來獲得他的經(jīng)歷呢?”

你過去犯過哪些有意思的錯(cuò)?來一起分享吧!

責(zé)任編輯:未麗燕 來源: 程序師
相關(guān)推薦

2014-07-03 09:56:35

程序員辭職

2015-09-21 09:42:57

程序員教誨

2020-11-08 14:40:37

程序員編程

2024-01-03 15:09:21

云原生Go語言

2017-01-10 14:02:08

程序員黑歷史

2016-04-19 10:20:42

程序員遺憾

2023-10-04 00:18:00

云原生Go語言

2017-11-21 08:22:16

程序員編程技術(shù)

2009-03-26 09:22:05

2018-08-06 10:25:07

Linux命令程序員

2016-12-14 10:00:44

數(shù)據(jù)結(jié)構(gòu)編譯器

2012-09-18 10:05:51

程序員我的歌聲里程序員的歌

2020-12-06 20:12:52

碼農(nóng)程序員

2015-08-24 09:08:35

程序員難忘時(shí)刻

2021-03-22 08:58:23

程序員產(chǎn)品經(jīng)理

2009-06-02 13:43:04

程序員定義職場

2013-06-08 14:12:13

程序員招聘

2019-07-10 09:05:14

程序員開源軟件軟件

2010-03-02 10:13:56

程序員面試

2012-05-25 10:54:24

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 天天曰天天曰 | 成人国产一区二区三区精品麻豆 | 亚洲中字在线 | 99视频免费在线观看 | 日韩快播电影网 | 999免费视频 | 九九伊人sl水蜜桃色推荐 | 韩国精品在线 | 在线观看免费高清av | 亚洲 中文 欧美 日韩 在线观看 | 国产精品高潮呻吟久久av黑人 | 日韩精品 电影一区 亚洲 | 一级毛片在线播放 | 久久久久9999亚洲精品 | 亚洲欧美自拍偷拍视频 | 久久久成人免费视频 | 丁香婷婷综合激情五月色 | 91精品久久久久 | 午夜精品一区二区三区在线观看 | 日屁视频 | 国产一区二区黑人欧美xxxx | 欧美黄色性生活视频 | 免费看黄视频网站 | 免费在线性爱视频 | 亚洲福利av | av在线播放网站 | 中文字幕精品一区二区三区精品 | 中文字幕亚洲专区 | 亚洲免费一 | 精品一区二区三区日本 | 午夜视频大全 | 成人深夜福利 | 综合色久 | 久久91精品国产 | 一区二区在线视频 | 一区二区三区四区视频 | 狠狠色狠狠色综合系列 | 黄免费观看视频 | 中文字幕国产在线 | 最新免费视频 | 蜜桃视频在线观看免费视频网站www |