欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    作者 | 譯者 | 無明

    服務器端程序代碼編寫,我們創建并維護著一個包含 30 萬行基礎設施代碼的庫,有數百家公司在他們的生產環境中使用這個庫。在這篇文章中,我將分享我們在開發和維護這個庫的實踐過程中學到的非常重要的五課。

    1 處于石器時代的

    雖然這個行業充斥著各種前沿的流行語——、微服務、服務網格、不可變基礎設施、大數據、數據湖,等等——但實際情況是,當你在構建基礎設施并陷入困境時,它們看起來一點都不前沿。

    對我來說, 感覺更像這樣:

    構建生產級的基礎設施其實很難,壓力很大,而且非常耗時。

    根據我們在與數百家不同公司合作時收集的經驗數據,你大致可以估計你的下一個基礎設施項目需要多長時間:

    服務器端程序代碼編寫_wpf程序編寫計算圓面積的程序_如何用vbs編寫群發郵件程序

    2 第 1 課:生產級基礎設施檢查清單

    項目總是比預期的要長,為什么會這樣?

    第一個原因是 Yak (給牦牛擼毛),那么什么是 Yak ?看看這個場景你就明白了:

    經理:你不是在開發用戶登錄功能嗎?為什么現在在搗鼓一個我們根本用不到的數據庫?

    工程師:是啊,我是打算開發用戶登錄功能。然后我開始評估要用哪個庫,我發現一個非常好的庫,但它只支持 。于是我試著搭建一個 ,看看值不值得這樣做。但切換數據庫會破壞索引,所以我現在在學習如何建立 索引……這樣才能把用戶登錄功能做出來,對吧?

    第二個原因是構建生產級的基礎設施涉及了太多的細節。絕大多數開發人員并不知道這些細節,因此,當你在估算項目時,你通常會忘記關鍵和耗時的細節。

    為避免這個問題,每次你開始使用新的基礎設施時,請檢查以下清單:

    并非每個基礎設施都需要檢查清單中的每個項目,但你應該有意識地記錄你已實現的項目、決定跳過的項目以及相應的原因。

    wpf程序編寫計算圓面積的程序_如何用vbs編寫群發郵件程序_服務器端程序代碼編寫

    3 第 2 課:工具集

    截至 2018 年,以下是我們在 中用于構建和管理基礎設施的主要工具:

    現在,所有這些工具都很有用,但這不是重點。重點是,光是有這些工具還不夠,你還需要改變團隊的行為。

    特別是,如果你的團隊不信賴這些工具,或者你的團隊沒有足夠的時間學習使用這些工具,那么即使是世界上最好的工具都無法為你的團隊帶來任何幫助。因此,關鍵的一點是,基礎設施即代碼是一項投資:需要前期預付成本,但如果你明智地進行投資,將獲得長期的巨大好處。

    4 第 3 課:大模塊是有害的

    基礎設施即代碼新手通常在單個文件或作為一個單元進行部署的一組文件中定義所有環境(dev、stage、prod 等)的所有基礎設施。這是一種糟糕的做法。

    以下是這種做法的一些缺點:

    速度慢:如果你的所有基礎設施都在同一個地方定義,那么運行任何命令都需要很長時間。我們已經看到公司的 plan 需要 5-6 分鐘才能運行完畢!

    服務器端程序代碼編寫_wpf程序編寫計算圓面積的程序_如何用vbs編寫群發郵件程序

    不安全:如果你的所有基礎設施都是一起管理的,那么在更改內容時都需要可以訪問所有內容的權限。這意味著幾乎每個用戶都必須是管理員。

    風險:如果所有雞蛋都在一個籃子里,那么任意一個錯誤都可能會破壞整個系統。你可能正在對 dev 中的前端應用程序進行微小更改,但由于輸入錯誤或運行了錯誤的命令,可能把生產數據庫給刪掉了。

    難以理解:在一個地方擁有的代碼越多,人們理解它們的難度就越大。如果將它們捆綁在一起,你不理解的部分可能會影響到你。

    難以測試:測試基礎設施代碼很難,測試大量基礎設施代碼幾乎是不可能的。

    難以評審:諸如 plan 之類的命令的輸出變得毫無用處,因為沒有人想要查看數千行輸出。代碼評審也變得毫無用處。

    你應該使用小型、獨立、可重用、可組合的模塊來構建代碼。這不是什么有爭議的新觀點。你之前可能已經聽過無數次了:

    “一次做一件事,并把它做好”——Unix 哲學。

    “函數的第一條規則是它們應該很小。函數的第二個規則是它們應該比小更小?!薄墩麧嵈a之道》

    5 第 4 課:沒有自動化測試的基礎設施代碼太脆弱

    wpf程序編寫計算圓面積的程序_如何用vbs編寫群發郵件程序_服務器端程序代碼編寫

    如果你的基礎設施代碼沒有經過自動化測試就很容易出問題。你只是不知道一些暗藏的問題。也就是說,測試基礎設施代碼很難。你沒有“”(例如,你無法在筆記本電腦上部署 AWS VPC),也沒有“單元測試”(例如,你無法將“”代碼與“外部”隔離開來,因為 所做的事情就是與外界交互)。

    因此,要正確測試你的基礎設施代碼,通常需要將代碼部署到真實環境,運行真實的基礎設施,驗證它們做它們該做的事情(對于這種測試方式,請參考 ,一個開源庫,包括用于測試 、 和 代碼的工具)。因此,對于基礎設施測試服務器端程序代碼編寫,你必須重新定義一些術語:

    這張圖是一個金字塔,我們有很多單元測試、較少數量的集成測試和極少數的端到端測試。為什么?這是由每種類型的測試所需要的時間來決定的:

    基礎設施測試的周期時間很慢,特別是金字塔越往上就越慢,所以你會想盡可能多地在金字塔底層捕捉到錯誤。這意味著你應該:

    構建小巧、簡單的獨立模塊,并為它們編寫大量單元測試。

    將這些小型、簡單、經過實戰檢驗的構建塊組合在一起,創建更復雜的基礎設施,并進行少量的集成和端到端測試。

    6 第 5 課:發布過程

    如何用vbs編寫群發郵件程序_服務器端程序代碼編寫_wpf程序編寫計算圓面積的程序

    現在讓我們把這一切都放在一起。以下是你從現在開始應該采用的構建和管理基礎設施的方法:

    英文原文

    7 本文彩蛋

    硅谷一直以其“不斷創新、鼓勵冒險、包容失敗、崇尚競爭、平等開放”的文化聞名于世。在硅谷,軟件開發的流程、迭代都非常迅速,許多科技公司形成了各自行之有效的開發模式與工程師文化,其中尤以 為代表。你可以在 InfoQ 公眾號對話框回復關鍵詞:硅谷,獲取一篇以 為例的項目開發流程和工程師的績效管理機制文章。

    注:請在公眾號對話框回復關鍵詞,留言區回復收不到鏈接哦~

    推薦一個年末不可錯過的線下技術大會,學習來自 、微軟、BAT、360、京東、美團、華為等 40+AI 落地案例,涵蓋機器學習、知識圖譜、NLP、搜索推薦、語音識別等最佳實踐和趨勢解讀,干貨滿滿。

    AICon 大會開幕倒計時 15 天,12 月 20-21,相約北京國際會議中心,與 40+ 國內外一線 AI 技術大咖面對面交流,不見不散。

    點擊“閱讀原文”獲取完整日程,購票過程中有任何問題,敬請咨詢票務小姐姐 Amy:(微信同號)

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有