js如何區(qū)分本地開發(fā)環(huán)境和生產(chǎn)環(huán)境?
一、js如何區(qū)分本地開發(fā)環(huán)境和生產(chǎn)環(huán)境?
通過環(huán)境變量來區(qū)分。你在 ~/.bashrc 寫入 export NODE_ENV="development"然后在 Node.js 里面讀取 NODE_ENV 的值,就知道當前環(huán)境了。一般我們默認的環(huán)境是開發(fā)環(huán)境,這樣你只需要在生產(chǎn)環(huán)境的所有機器上設(shè)置export NODE_ENV="production"
二、如何做好生產(chǎn)環(huán)境和開發(fā)環(huán)境的隔離?
Docker的優(yōu)勢在于環(huán)境的隔離和復用。
比如你有10個應用要用到nginx,傳統(tǒng)的做法可能寫成1(10)個配置文件,這樣如果這1(10)個配置文件有個被修改出錯了,nginx就無法啟動了,你所有的應用都無法訪問了。
再比如你服務器上裝了一個mysql程序,10個應用都是連接的它,但是有1個應用占用較多的連接數(shù)或者在瘋狂消耗IO,那么其它應用訪問數(shù)據(jù)庫的性能都會下降。
最后比如不同的java程序依賴不同的jdk,那么這時候就要指定一堆的環(huán)境變量,安裝多個jdk。
容器就可以把以上內(nèi)容封裝成相互對立的執(zhí)行環(huán)境,避免相互影響。
復用就更好理解了,如果你在調(diào)試docker容器的某個問題,不小心導致程序崩潰了,沒關(guān)系,利用鏡像重新啟動一個容器就恢復了。
又比如你要排查線上環(huán)境的一個問題,為了百分之百模擬環(huán)境,你可以直接把docker容器提交成鏡像,然后在本地開發(fā)環(huán)境上運行容器,隨意調(diào)試。
三、生產(chǎn)環(huán)境和測試環(huán)境的區(qū)別?
軟件開發(fā)環(huán)境(Software Development Environment,SDE)是指在基本硬件和宿主軟件的基礎(chǔ)上,為支持系統(tǒng)軟件和應用軟件的工程化開發(fā)和維護而使用的一組軟件,簡稱SDE。它由軟件工具和環(huán)境集成機制構(gòu)成,前者用以支持軟件開發(fā)的相關(guān)過程、活動和任務,后者為工具集成和軟件的開發(fā)、維護及管理提供統(tǒng)一的支持。
項目部署環(huán)境一般可分為三種:生產(chǎn)環(huán)境,測試環(huán)境,開發(fā)環(huán)境
開發(fā)環(huán)境:開發(fā)環(huán)境時程序猿們專門用于開發(fā)的服務器,配置可以比較隨意,為了開發(fā)調(diào)試方便,一般打開全部錯誤報告和測試工具,是最基礎(chǔ)的環(huán)境。開發(fā)環(huán)境的分支,一般是feature分支。
測試環(huán)境:一般是克隆一份生產(chǎn)環(huán)境的配置,一個程序在測試環(huán)境工作不正常,那么肯定不能把它發(fā)布到生產(chǎn)服務器上,是開發(fā)環(huán)境到生產(chǎn)環(huán)境的過度環(huán)境。測試環(huán)境的分支一般是develop分支,部署到公司私有的服務器或者局域網(wǎng)服務器上,主要用于測試是否存在bug,一般會不讓用戶和其他人看到,并且測試環(huán)境會盡量與生產(chǎn)環(huán)境相似。
生產(chǎn)環(huán)境: 生產(chǎn)環(huán)境是指正式提供對外服務的,一般會關(guān)掉錯誤報告,打開錯誤日志,是最重要的環(huán)境。部署分支一般為master分支。
三個環(huán)境也可以說是系統(tǒng)開發(fā)的三個階段:開發(fā)->測試->上線,其中生產(chǎn)環(huán)境也就是通產(chǎn)說的真實的環(huán)境,最后交給用戶的環(huán)境。
四、預生產(chǎn)環(huán)境與生產(chǎn)環(huán)境區(qū)別?
預生產(chǎn)環(huán)境(即預發(fā)布環(huán)境,非必須)
是測試環(huán)境到生產(chǎn)環(huán)境的過渡,從生產(chǎn)環(huán)境不定期同步,保持和生產(chǎn)環(huán)境的設(shè)置、數(shù)據(jù)的一致性,也是用于測試。測試環(huán)境可能會受到一些限制,一些流程或者數(shù)據(jù)沒有被測試到的話,就可以在預生產(chǎn)環(huán)境進行驗證,從而保證產(chǎn)品上線的質(zhì)量。
預生產(chǎn)環(huán)境和生產(chǎn)環(huán)境的區(qū)別:
預生產(chǎn)環(huán)境中新功能為最新代碼,其他的功能和生產(chǎn)環(huán)境一致。
預生產(chǎn)環(huán)境和生產(chǎn)環(huán)境的訪問域名不同。
生產(chǎn)環(huán)境
正式使用的系統(tǒng)環(huán)境,即線上環(huán)境,用戶使用的環(huán)境。會由特定的人員來維護,一般人沒有權(quán)限去修改。
一般情況下,一個環(huán)境對應一個服務器,也有一些公司把開發(fā)、測試等環(huán)境放到一個服務器上。
五、生產(chǎn)環(huán)境和線上環(huán)境的區(qū)別?
1 生產(chǎn)環(huán)境和線上環(huán)境是不同的。2 生產(chǎn)環(huán)境是指實際運行的系統(tǒng),包括硬件、軟件、網(wǎng)絡(luò)等方面,需要保證穩(wěn)定性、可靠性、安全性等,因此需要進行嚴格的測試和驗證。而線上環(huán)境是指已經(jīng)發(fā)布的系統(tǒng),用戶可以通過網(wǎng)絡(luò)進行訪問和使用。3 在生產(chǎn)環(huán)境中,需要滿足高并發(fā)、高可用、高性能等要求,需要進行負載均衡、容災備份、監(jiān)控等方面的優(yōu)化和管理。而在線上環(huán)境中,需要進行版本控制、數(shù)據(jù)備份、安全防護等方面的管理。延伸:是非常重要的,對于軟件開發(fā)和運維工作都具有重要的意義。只有深入理解和掌握它們的特點和區(qū)別,才能更好地進行系統(tǒng)設(shè)計、開發(fā)、測試和部署。
六、linux開發(fā)環(huán)境?
Linux的C/C++開發(fā)環(huán)境一般都是文本編輯器(Vim、emacs等)+編譯器(GCC、g++、make、cmake)+調(diào)試器(gdb),用集成開發(fā)環(huán)境IDE(比如codeblocks、eclipse-cdt)的比Windows平臺要少。我才開始用的是eclipse-cdt,也是覺得IDE不好用,而且寫一個helloworld都要產(chǎn)生一大堆文件(也不知道這些文件什么作用),用git來維護管理代碼也非常不方便,而且如果編寫的是命令行程序會反復切換到終端,還不如直接在終端編譯,總之太不靈活了。
不過如果gdb用得不習慣的,可以選擇用gdb的圖形前端ddd和Kdbg這兩個軟件。
也有覺得命令行編輯器不習慣的,他們會選擇圖形界面的gVim+各種插件,或者圖形功能更好的代碼編輯器如gedit、Sublime Text、Atom、VScode等等。
七、生產(chǎn)辦公環(huán)境是什么環(huán)境?
工作地方的設(shè)施,人員,環(huán)境,和設(shè)備是否符合要求
八、運行環(huán)境開發(fā)環(huán)境有什么不同?
C#的開發(fā)環(huán)境是微軟的visual studio,簡稱VS。運行環(huán)境就是.netframwork(dotnet框架),你在哪個框架版本下開發(fā)的,就需要安裝那個框架支持程序的運行,一般是高級的支持低級的,但是低級的不支持高級的
九、運行環(huán)境,開發(fā)環(huán)境有什么不同?
開發(fā)環(huán)境指的是你當前操作的環(huán)境,舉個例子我用win7系統(tǒng),eclipse寫代碼.這些就屬于開發(fā)環(huán)境運行環(huán)境,指的就是java環(huán)境,學java的都知道,java運行依賴于JDK,JDK就java虛擬機,java只有在java虛擬機中才能運行,而JDK就是運行環(huán)境,當然配合server(tomcat之類的)這些就屬于運行環(huán)境
十、myeclipse是開發(fā)環(huán)境還是運行環(huán)境?
MyEclipse,是在Eclipse 基礎(chǔ)上加上自己的插件開發(fā)而成的功能強大的企業(yè)級集成開發(fā)環(huán)境,主要用于Java、Java EE以及移動應用的開發(fā)。
在最新版本的MyEclipse中,配合CodeMix使用支持也十分廣泛,尤其是對各種開源產(chǎn)品和主流開發(fā)框架的支持相當不錯。已支持PHP、Python、Vue、Angular、React、Java、Java EE等語言和框架開發(fā)。
本網(wǎng)站文章僅供交流學習 ,不作為商用, 版權(quán)歸屬原作者,部分文章推送時未能及時與原作者取得聯(lián)系,若來源標注錯誤或侵犯到您的權(quán)益煩請告知,我們將立即刪除.