在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

失敗是成功之母,一名開發(fā)工程師的工作經(jīng)歷

工程師人生 ? 來源:網(wǎng)絡整理 ? 作者:工程師吳畏 ? 2018-07-02 17:34 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

但是我覺得事情有些蹊蹺,我們怎么可能一開始就丟了所有的 articles 表呢?于是我繼續(xù)深究下去,一方面是因為難以接受這個結果,一方面是想挽回顏面。之后過了一小會兒,我注意到了關鍵問題。

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

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

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

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

總趕進度,卻從來趕不上進度

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

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

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

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

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

用戶在登陸后,是通過 cookie 來加載的,但是我的 app 頁面沒有給加載提供等待時間,而是根據(jù)事件順序來決定先后的,所以服務器會回復說你沒有權限。這種錯誤很少見,而且很難再出現(xiàn),因為大多數(shù)情況下事件都是按照正確的順序來完成的。

而且認證環(huán)節(jié)也從不檢查用戶令牌是否失效,如果你不經(jīng)常訪問網(wǎng)站,當發(fā)現(xiàn)了沒法登上網(wǎng)站后,就需要注銷登錄再重新登進去。

令牌應該在每次發(fā)起請求時都進行更新,但我從來都沒有時間去理解這些規(guī)則。所以這里又產(chǎn)生了時間問題。如果我們一次同時發(fā)出幾種請求,收到的回復取決于他們到來的順序,那將來發(fā)送請求用到的令牌就是錯的。

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

工作中的失誤讓我尷尬不已,在大家面前感到十分羞愧,因為我把一切都搞砸了。

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

失敗是成功之母

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

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

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

對待犯錯,如果你能夠做到這四點,那么就會不斷進步:

對曾經(jīng)犯過的錯誤可以自嘲一番

從中吸取經(jīng)驗教訓

在之后努力為自己正名

和他人分享,讓他人也能從中獲益。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 工程師
    +關注

    關注

    59

    文章

    1573

    瀏覽量

    68680
  • 數(shù)據(jù)庫

    關注

    7

    文章

    3855

    瀏覽量

    64786
收藏 人收藏

    評論

    相關推薦

    月薪 3 萬的嵌入式工程師都在用,串口屏到底神在哪?

    作為一名資深的嵌入式工程師,我深知在選擇硬件組件時,性能、可靠性、易用性和成本效益都是至關重要的考量因素。月薪3萬的嵌入式工程師們之所以傾向于使用串口屏,主要是基于以下幾個方面的考量
    的頭像 發(fā)表于 02-12 10:33 ?178次閱讀
    月薪 3 萬的嵌入式<b class='flag-5'>工程師</b>都在用,串口屏到底神在哪?

    電子工程師的電源設計經(jīng)驗分享

    作為一名電子工程師,電源設計直是我在工作中重點關注的領域。電源設計不僅需要扎實的理論基礎,還需要豐富的實踐經(jīng)驗。以下是我多年工作中總結的
    的頭像 發(fā)表于 01-21 15:53 ?143次閱讀

    為什么嵌入式驅(qū)動開發(fā)工程師可以拿高薪?

    技術領域具有不可替代的地位。 成為一名優(yōu)秀的嵌入式驅(qū)動工程師只需要深耕以下幾點: 1)堅實的技術基礎: 首先,需要有堅實的基礎,包括計算機組成原理、微處理器與微控制器架構以及電路設計與硬件接口知識
    發(fā)表于 01-07 16:56

    OpenAI從谷歌DeepMind挖角三高級工程師

    近日,據(jù)Wired最新報道,OpenAI在人才爭奪戰(zhàn)中取得了顯著成果,成功從競爭對手谷歌DeepMind“挖角”了三高級計算機視覺和機器學習領域的專家。 據(jù)悉,這三工程師分別是Lu
    的頭像 發(fā)表于 12-04 14:13 ?366次閱讀

    硬件工程師工作必備書籍推薦

    硬件工程師工作必備書籍推薦
    的頭像 發(fā)表于 09-24 16:07 ?1096次閱讀
    硬件<b class='flag-5'>工程師</b>找<b class='flag-5'>工作</b>必備書籍推薦

    嵌入式軟件工程師如何提升自己?

    嵌入式軟件工程師如何提升自己? 作為一名嵌入式軟件工程師,在這個充滿機遇和挑戰(zhàn)的領域里,如何提升自己顯得非常重要,它決定了你未來的發(fā)展方向和成就。接下來,我們起探討
    發(fā)表于 06-12 11:20

    索尼誠邀軟件工程師參與PS免費手游平臺設計

    據(jù)悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動娛樂正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負責設計PlayStation的免費手機游戲平臺。
    的頭像 發(fā)表于 05-23 17:08 ?793次閱讀

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    和通信協(xié)議,以及熟練掌握種或多種編程語言和開發(fā)工具。 主要負責的任務和領域 嵌入式軟件工程師工作涉及到各種任務,主要包括: * 系統(tǒng)設計:包括確定系統(tǒng)功能、分配資源、優(yōu)化性能等。
    發(fā)表于 05-16 11:00

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統(tǒng)是當今科技領域的核心,而C語言則是嵌入式系統(tǒng)開發(fā)中最常用的編程語言之。成為一名嵌入式C語言高手需要長時間的學習和實踐。下面將介紹
    發(fā)表于 04-07 16:03

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統(tǒng)是當今科技領域的核心,而C語言則是嵌入式系統(tǒng)開發(fā)中最常用的編程語言之。成為一名嵌入式C語言高手需要長時間的學習和實踐。下面將介紹
    發(fā)表于 03-25 14:12

    單片機如何通過代碼控制硬件:一名工程師的分享

    今天跟大家聊聊單片機是怎樣通過代碼來操控硬件的。作為一名單片機工程師,我們平時的工作就像是給單片機編寫“指令集”,讓它按照我們的意圖去驅(qū)動各種硬件設備。
    的頭像 發(fā)表于 03-06 14:46 ?1654次閱讀
    單片機如何通過代碼控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程師</b>的分享

    次平臺開發(fā)工程師的“熱辣滾燙”:愛星物聯(lián)使用流程

    hello,我是一名平臺開發(fā)工程師小王,近期了解到愛星物聯(lián)平臺的開源版即將發(fā)布,有點小期待,不過平時我都是用公版平臺完成系統(tǒng)搭建和產(chǎn)品控制的,來看看我是如何進行這“熱辣滾燙”的新流程
    的頭像 發(fā)表于 02-26 11:44 ?505次閱讀
    <b class='flag-5'>一</b>次平臺<b class='flag-5'>開發(fā)</b><b class='flag-5'>工程師</b>的“熱辣滾燙”:愛星物聯(lián)使用流程
    主站蜘蛛池模板: 国产伦精品一区二区三区 | 亚洲欧洲一区二区三区在线 | 欧美不卡1卡2卡三卡老狼 | 影院成人区精品一区二区婷婷丽春院影视 | 欧美影院一区 | 日本黄色片www | 欧美性色视频 | 免费观看一级特黄欧美大片 | 夜夜爽一区二区三区精品 | 免费网站色 | 视频一区二区在线 | 韩国三级hd中文字幕久久精品 | 亚洲韩国日本欧美一区二区三区 | 亚洲aⅴ久久久噜噜噜噜 | 亚州视频一区二区 | 亚洲精品欧洲久久婷婷99 | 黄 色 免费网 站 成 人 | 俺去插 | 国产免费人人看大香伊 | 黑人一区二区三区中文字幕 | 国卡一卡二卡三免费网站 | 色网站综合 | 夜夜爽66| 乱说欲小说又粗又长 | 婷婷毛片 | 又粗又长又色又爽视频 | 视频免费黄色 | 91大神在线精品视频一区 | 天天夜夜狠狠 | 97夜夜澡人人爽人人喊一欧美 | 欧美特黄一级视频 | 免费国产综合视频在线看 | 欧美mv日韩mv国产mv网站 | 亚洲婷婷国产精品电影人久久 | 19xxxxxxxxx日本69| 老司机成人精品视频lsj | xxxxxx性| bt天堂在线最新版www | 欧美成人精品欧美一级乱黄 | 天天操操 | 男人j桶女人j免费视频 |