Ⅰ Xcode測試環境、正式環境,開發環境、生產環境
Xcode的編譯環境分為以下幾種:測試環境、正式環境、開發環境、生產環境。這四種環境之間的關系並不是同級的,主要有以下區分:
大概是這樣的關系,如果你app要添加推送功能,App是通過XCode直接安裝的話,那麼你的App就屬於開發環境鋒磨,想要推送成功就需要創建開發環境的證書;如果你的App是打包成ipa文件安裝的(不管是森毀正式上線還是自己測試),那麼就是生產環境,需此基備要創建生產環境證書。
Ⅱ 什麼是軟體測試環境和正式開發環境
測試環境就是做測試的環境,開發環境就是做開發的環境。
軟體開發環境是指在基本硬體和宿主軟體的基礎上,為支持系統軟體和應用軟體的工程化開發和維護而使用的一組軟體,簡稱SDE。它由軟體工具和環境集成機轎尺枯制構成,前者用以支持軟體開發的相關過程、活動和任務,後者為工具集成和軟體的開發、維護及管理提供統一的支持。
測試環境是指測試運行其上的軟體和硬體環境的描述,以及任何其它與被測軟體交互的軟體,包括驅動和樁。測試環境是指為了完成軟體測試工作所必需的計算機硬體、軟體、網路設備、歷史數據的總稱。
(2)編譯測試環境擴展閱讀
軟體測試環境注意事項
1、一個應用程序的外觀設計並不是一切。功能測試也是開發者需要關注的重要問題之一,特別是整體用戶體驗。如果用戶在使用過程中沒有達到預期的功能和業務需求,那麼UI外觀設計的再完美也仍會面臨被卸載的危險。
2、測試要確保最大的設備和系統覆蓋率,測試要確保最大的設備覆蓋率,盡量在不同的操作系統和設備製造商中進行。發現錯誤並及時進行修復,才是測試真正的意義。
3、探索性測試重要,但不能完全依賴。探索性測試是整體測試策困鏈略的重要組成部分,可快速識別致命性閉洞bug。探索性測試需要測試人員熟悉應用程序、目標用戶的典型行為以及測試方法。
Ⅲ 抓取微信小程序的包可以幹啥
一、微信小程序抓包
1、測試環境的抓包
那如何來進行微信小程序的抓包呢?這時候我們需要用到微信開發者工具了。
需要我們的開發同學提供一個微信小程序包。然後再微信開發者工具進行打開。沒有許可權就申請。
導入成功之後,我們就可以對需要測磨芹冊試的軟體進行調試,抓包。
打開調試器-network,這樣我們就可以抓到包了。
2、正式環境的抓包
正式環境的抓包,因為正式和測試是分開的,如果正式環境出現問題,但測試環境卻沒有出現時,如何抓取正式環境的包呢?
我們需要開發同學打包一個正式環境域名的包,然後再按照上面的步驟導入到微信開發者工具,便可以輕松找到問題所在。
二、微信小程序真機模擬抓包
有時候我們在使用手機進行測試時,有問題,使用首滾微信開發者工具測試時沒有問題,如何進行手機的抓包呢?
這時候我們需要用到微信開發者工具的真機調試模式進行瞎宏調試。
真機調試,可以讓我們通過手機操作,然後進行抓包。我們在電腦上就會看到抓取到的介面數據。排查問題。
三、微信小程序分享測試
微信分享的測試也是非常重要的一項測試,它直接影響到你的這個程序的推廣。
1、聊天入口分享
當我們進行聊天入口分享時,我們需要抓包,可以採用真機調試進行抓包。查看參數和數據返回情況。
2、二維碼分享
有一部分分享,是需要通過二維碼進行分享,並且分享之後,用戶需要跳轉到小程序帶上參數。直接通過手機掃碼是跳轉正式環境的。如何操作?
我們需要調整編譯模式。
獲取到二維碼中的參數,鏈接,查看跳轉頁面是否正常。
3、場景值模擬測試
有其他特殊情況,比如掃描小程序碼,顯示關注公眾號按鈕,測試環境就需要通過添加編譯模式達到測試目的。如圖:
我們通過添加不同的場景,路徑,啟動參數,就可以模擬一些手機上無法完成的測試。
免責聲明
本文來自騰訊新聞客戶端創作者,不代表騰訊新聞的觀點和立場。
點擊展開全文
Ⅳ 大家都用什麼C/C++編譯環境
了解的C/C++編譯器如下: x0dx0aGCC家族有 x0dx0aCygwin x0dx0aMingw32 x0dx0aDJGPP x0dx0aDev-C++(Mingw32) x0dx0a還有正宗的GNU GCC 2.95.5~3.0.0.4版本 x0dx0aMS家族有 x0dx0aMSC 5.0、6.0、7.0 x0dx0aMSQC 1.0、2.5 x0dx0aMSVC 1.0、4.2、6.0、7.0 x0dx0aBorland家族有 x0dx0aTC 1.0、2.0 x0dx0aTC++ 1.01、3.0 x0dx0aBC 3.0、3.1、4.0、4.5、5.0、5.02 x0dx0aBCB 3.0、5.0、6.0 x0dx0a其它有 x0dx0aIntel C/C++ 5.0 x0dx0aWatcom C/C++ 11.0、11.0c x0dx0aVectorC 1.3.3 x0dx0aIBM VisualAge for C++ x0dx0aDigitalMars C/C++ x0dx0aKAI C/C++ 4.03f for RedHat 7.2 x0dx0aLcc4.1 x0dx0aLCC-WIN32 2001-09-25~2002-04-28日版 x0dx0aSmall C x0dx0aCC386 x0dx0aPacific C x0dx0a另外還有C的解釋器 x0dx0aQuincy x0dx0aEic x0dx0aCINT x0dx0ax0dx0a上面提到的編譯器/解釋器,大部分我都使用過。現在固定使用VC7.0 Cygwin Mingw32 VectorC和LCC-WIN32這五種編譯器。 x0dx0ax0dx0a在GCC家族中GNU GCC是根本,其它的編譯器版本都是從它導出的。其中,Cygwin和Mingw32都是WIN32平台下的編譯器,DJGPP是DOS下的32位編譯器。大家所熟知的DEV-C++充其量只是GCC的一個外殼,它所自帶的編譯器就是Mingw32的一個版本。這些GCC的版本中,Cygwin是最大的,它與其說是一個編譯器,倒不如說是一套編程工具。它不僅有編譯器,還有其它很多的工具。其實,它就是一個UNIX系統在WIN32平台上的實現。實現了大多常用的UNIX工具,最近的版本中連Apache這樣的「工具」都集成進來的。不過,Cygwin雖然功能強大,但它卻不是很易用(和UNIX相似,熟悉UNIX的人用它可以很快上手),因為太多其它的工具分散了人們的注意力。相比之下Mingw32就要好用得多,它只有最基本的幾個編程工具(只可惜它不自帶GDB)。GCC中並不只是C/C++編譯器,其中還有很多其它的編譯器如java,Fortran,ADA等。它是一個編譯器集合,不過有些編譯器只能在UNIX系統上用。MS家族的編譯器就不用說了,大家對它們都很熟悉。VC 7.0(VC.NET)是它的最新產品。Borland家族也不用說,大家也是耳熟能詳。最近它才推出了BCB 6.0。 x0dx0ax0dx0a其它的編譯器如:Intel C/C++大家一看名稱就知道是Intel的東西,它和VC6完全兼容,不過要掛在VC6下才能用。Watcom C/C++是早先編譯器四國大戰中的一員,原本是很不錯的東西,可惜戰略不對,現在已不見聲息了。倒是以它為基礎的一個OpenWatcom現在還在奮戰。VectorC是我近日才發現的一個好東東,它是個純C的編譯器。IBM的VisualAge for C++原本是IBM想用來淌C++編譯器這片渾水的東西,不過IBM的戰略改了,它就被放棄了。DigitalMars C/C++的前身的Symantec C++(它也是編譯器四國大戰中的一員),不過現在Symantec不做了,於是它的作者就把它改成了DigitalMars C/C++開放給大家使用。以上這些都是WIN32平台上的東西。KAI C/C++是個很強大的C/C++編譯器,它是個多平台的編譯器。不過現在被INTEL收購了,已經停止開發了。Lcc4.1是個純C的編譯器它是開放源代碼的。不過不怎麼好用。LCC-WIN32是一個在LCC基礎上開發的C語言的集成開發環境,很好用,而且有很詳細的資料,FREE!Pacific C是一個純DOS的C的集成開發環境,就不多說了。Small C CC386都是開放源代碼的編譯器,它們都很簡單,應用來給大家學習編譯器的。Quincy Eic CINT都是C的解釋器,是用來讓大家學習C語言的其中CINT的功能很強大,還支持一些C++的特性。 x0dx0a當然還有很多其它的編譯器,這里我給出的編譯器都是可以在WIN32或DOS平台上用的(除KAI外)。UNIX平台上的編譯器還是以GNU的為主,其它的我就不是很清楚了。 x0dx0ax0dx0a在以上的編譯器中,最特別的就是VectorC這個東西只支持純C。但它卻號稱是最快的編譯器,不過經過我的試驗,它的確在有些情況下強過其它編譯器很多!而且它還有個互動式的優化器,可以讓你直接看到C代碼對映的匯編代碼。Cygwin和Mingw32為一母所生,其運行效果相差不大。它們生成的代碼效率都很不錯,編譯的速度也很快,最值得一提的是它們對C++的特性的支持算是所有編譯器中最完全的,而且它們還支持C99的大部分特性。這一點很是不錯!大家對MS的VC已經很熟悉了,本不用我多說。不過在它的最新的產品VC7.0中,有很大的改進。它對C++的特性的支持比6.0有了很大的提高,是我所用的編譯器中是僅次於GCC的。而且它編譯出的程序,運行速度很快!僅有少數時候次於VectorC與GCC,其它情況都是最快的!其平均運行速度是最快的。對Borland的產品我也無需多說。它的TC2.0與BC3.1都是我最喜歡的東西。可是現在的BCB卻大不如前了,編譯的速度和VC6一樣慢!IDE還有較多的BUG。最令人想不通的是它生成的代碼的運行速度很慢,比LCC-WIN32還慢!它唯一值得一提的就是它的RAD做的比MS的好。Intel的編譯器大家可能不熟,它太貴了!還要有VC的支持,很不劃算,而且編譯速度比VC6還慢。不過它的代碼質量很不錯。DigitalMars C/C++沒有什麼亮點,編譯速度較快,代碼執行速度適中,對C++特性支持還算不錯。LCC-WIN32是個很不錯的集成開發環境,它只支持純C。它的編譯速度極快!代碼執行速度較慢。不過它的最大亮點在於它的IDE,在所有的FREE編程工具中,它的IDE是最專業的,有很強大的代碼分析,管理功能。而且它提供了大量的編程資料。 x0dx0a我曾對一些編譯器的代碼執行效率做過一些測試,以下是概況: x0dx0a1. VectorC、VC 7.0 (極快) x0dx0a2. Intel C/C++、VC 6.0、GCC (很快) x0dx0a3. DigitalMars C/C++ (一般) x0dx0a4. LCC-WIN32、BCB、BC5.02 (較慢) x0dx0a當然,我所做的測試比較片面。不過在很大程度上已能反映其大概狀況。
Ⅳ C語言中編譯 生成 調試 測試 運行各是什麼意思有什麼區別
C語言中編譯 生成 調試 測試 運行的區別如下:
區別一:
從編譯方面來看:
編譯依賴於編譯器,英文是compile, vc中這一過程是將源代碼轉換成目標文件,如:obj文件,rc文件等。
區別二:
從生成方面來看:
生成指的是連接的過程,英文是build,依賴於鏈接器。vc中在這一階段將所有的目標文件和所有需要用到的組件組合成一個整體,例如需要生成的是windows系統下的PE可執行文件,鏈接器會依照特定格式將目標文件組合,最後生成PE格式的,exe或dll文件。
區別三:
從調試方面來看:
調試是所有或部分代碼編寫完成後,讓程序在調試器中運行,用這種手段對程序進行分析,找出並修正潛在問題。
區別四:
從運行方面來看:
運行就是讓程序在系統中運行。
C語言的介紹:
C語言是目前流行的通用程序設計語言,是計算機專業人員和計算機愛好者開發軟體的首選開發工具。C語言源程序必須經過某種編譯工具翻譯成為目標機器語言程序才能夠在計算機上執行。
然而隨著程序編寫規模的擴大,順利編寫出正確的程序絕非一件容易的事情,早期的許多編譯工具僅僅提供翻譯功能,已滿足不了應用的要求,編程人員需要-種功能全面並高度集成的編譯環境。
程序是一段具有一定功能的代碼,編寫程序的目的是解決問題。當程序人員寫完程序後,其實並不起作用,只有當編寫的程序經過一系列的處理後,能夠解決問題時。
序才成為真正的程序,這一系列的處理過程,-般就是編輯、編譯、連接、調試與運行等。目前最成熟的C語言集成環境主要有Turbo C2.0和Turbo C 3.0( 簡稱TC30)或Borland C++3.1( 簡稱BC31)以及Visual C++ 6.0。
Ⅵ vscode下搭建Typescript編譯環境
Typescript 是微軟開發的一個JavaScript的超級。著名前端框架的Angular和HTML5游戲引擎Egret等都選擇了Typescript作為編寫語言。「工欲善其事,必先利其器」,在學習Typescript語言之前必須要有一個良好的開發環境。這里筆者選擇了輕量的Visual Studio Code,此工具具有輕量、跨平台、插件豐富等特點,是一款非常優秀的開發工具。
1、首先需要安裝Nodejs,安裝過程網上很容易搜到,在此不再介紹。安裝完成後,在命令窗口輸入
2、安裝typescript模塊
安裝完成後,可以查看typescript模塊的版本號
3、創建項目目錄,在命令窗口中進入該項目目錄,創建tsconfig.json。例如項目地址是D:\test\ts。
在項目目錄下會生成一個tsconfig.json文件
裡面有很多配置項,大家可以根據各自的需要來定製。本文用的示例配置如下,
新建tscript、js文件夾,分別用作存放typescript、javascript文件。
4、測試編譯
在Visual studio code中打開ts目錄,在tscript目錄中新建test.ts文件。
然後點擊菜單中的Tasks->Run Task。
之後會出現tsc:build 、tsc:watch兩個選項
其中tsc:build選項是用於一次編譯。tsc:watch選項可以監測ts文件的改動,可以進行實時編譯,非常方便。經過編譯後的文件會存放在之前配置好的js文件目錄下。
如此就可以進行Typescript之旅了。~~
Ⅶ 怎樣搭建web項目測試環境
測試環境的搭建是一名合格QA必須具備的宏芹褲技能。下面,結合CI和CD兩種不同軟體生產實踐,總結一下如何從零開始部署一套web集成測試環境。
1.伺服器准備。根據項目和使用的中間件的規模,准備好一個或多個資源配置能夠滿足要求的伺服器,一般選用linux下 centos的某個發行版作為伺服器。
2.安裝資料庫、完成資料庫表的建立。這里以開源的mysql為例。
Yum方式安裝msyql,並啟動mysql服務。(Yum的安裝可以參考http://blog.csdn.net/iamhuanggua/article/details/60140867)
yuminstall -y mysql-server mysql mysql-devel
創建資料庫和建表。規范的的系統,一般都保留有現成的SQL腳本,執行腳本就可以完成資料庫和表的建立。
3.安裝和配置JDK、tomcat、nginx…
安裝JDK。Yum 方式安裝最新版JDK:yum install JDK。
安裝tomcat。官網下載tomcat,解壓。
wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.75/bin/apache-tomcat-7.0.75-linux-x64.zip
安裝和配置 nginx。官網下載nginx,解壓後,修改conf/nginx.conf配置請求轉發規則。
4.安裝持續集成工具jenkins.
Jenkins就是一個web服務,只需要從官方下載jenkins的war包,部署到web容器tomcat的webapp目錄下,啟動tomcat服務,就可以在瀏覽器端輸入IP和埠號(例如:部署在本機上可以通過 localhost:8080/jenkins 進行訪問)使用了。
5.配置一個Jenkins job用於編譯、打包產品、部署到測試環境
5.1 配置job完成編譯和打包。編譯打包的Jenkinsjob的配置比較簡單,可以自行網路。
5.2 在部署web服務的機器上,找一個目錄,寫一個shell腳本,拷貝jenkins job打出來的包到web伺服器的部署目錄下,並重啟服務。如果部蔽簡署jenkins 和部署web服務的機器不是同一台,需要通過用戶名密碼或者建立linux機器之間的信任關系後,通過scp遠程拷貝。
5.3 在5.1的job中,增加「構建後操作」,構建後執行(或遠程執行)5.2中編寫的sh腳本。
6.配置一個或多個Jenkins job 用來完成一系列測試(包括但不限於UI自動化、介面自動化、安全測試等)
測試job的構建方式選擇步驟五中配置的job完成後觸發。到此為此,持續集成的工作就完成了。
7.從CI到CD——配置一個Jenkins ob 完首租成生產環境部署
如果所在組織的持續集成能力較高,在實施持續部署(Continous Deployment),就還需要配置一個jenkins job在所有測試job都通過後觸發部署生產包到生產環境。部分用戶群較大的產品還需要配置灰度發布。
Ⅷ 測試環境怎麼搭建
問題一:在軟體測試中如何搭建測試環境? 聽您這提問,估計您是沒做過測試吧。
什麼是測試環境呢?大白話講就是可以基本准確的將測試用例執行出來,並且結果是有參考意義的那麼個環境~
這前題是你的測試用例是有效的。那撇掉這個不管的情況下,測試環境就不可能是固定的。
有時候,測試環境可能就是一個系統。P如你這個軟體,什麼都不用管,你只要測能不能裝在XP系統上,那此時,一個完整的XP系統就是測試環境。
有時候,你要測一個網站舉腔弊支持不支持多種瀏覽器。那此時,你的測試環境就是一個安裝了多種瀏覽器的操作系統。
我說的你明白了么?所謂的搭建測試環境(招聘的老有這要求,會搭建環境),就是你能搭出可供測試用的環境。簡單了說~是操作系統~復雜了說,是裝了特定軟體做了特定設置的操作系統~
問題二:什麼是測試環境?如何搭建測試環境? 硬體:包括PC機、筆記本、伺服器、各種終端等。例如要測試photoshop軟體,是要在PC機上測,還是筆記本上測?是在cpu為酷睿的計算機上測,還是要在炫龍的cpu上測?不同的硬體環境photoshop的處理速度是不一樣的。
軟體:這里主要指的是軟體運行的操作系統。例如測試photoshop,是指windows xp下測試還是在vista下測試?可能會有兼容性問題。軟體環境還包括與其他各類軟體共存同一系統時的兼容性問題。
一般來說,配置測試環境可遵循下列原則:
1、真實:盡量模擬用戶的真實使用環境。這里需要提一點圓答,關於項目軟體與產品軟體需要不同看待。項目軟體由於只針對某一群體的用戶,所以測試的環境比較單一。但產品軟體針對的是廣大群眾,所以測試環境比較復雜,要多方面考慮。
2、干凈:測試環境中盡量不要安裝與被測軟體無關的軟體。筆者就遇到這種事情,兩台機器,針對一個功能,一台測試OK,另一台測試NG,最後根據調查發現,測試OK的機器上安裝了客戶根本不會安裝的VC++開發環境,測試NG的機器正因為沒有安裝VC,所以測試出了這個bug:軟體中缺少必要的動態鏈接庫支持。但這個干凈也不是必須的,有時還要刻意去測試某個軟體去其他軟體並存時的兼容性問題。
問題三:windows怎麼搭建測試環境 第1步、下載IIS
1、如果不是很清楚自己的裝有Microsoft Windows XP 操作系統的電腦上是否安裝了IIS,可以打開IE瀏覽器,在其地址欄輸入127.0.0.1並回車,如下圖
2
如果能正常打開上面的網頁,說明本台電腦已安裝了IIS(Internet信息服務)。如果打不開上面的網頁,我們就得自己來安裝IIS。下面介紹的是如何來安裝IIS,如果你已會,完全可以跳過本部分,不會的可以一起來學習一下。
3
2、系統安裝光碟中帶有IIS的安裝程序,但因為現在大部分朋友的電腦都是GHOST系統,所以可以用搜索引擎,下載IIS獨立安裝包。打開網路,輸入「IIS for xp」,找到相關鏈接網站,下載所需要IIS安裝包,如下圖
4
3、下載下來的「IIS for XP」安裝包一般都為壓縮文件,所以使用它前,得先行解壓,如下圖
5
第2步、安裝IIS
1、我們依次打開「開始」→「控制面板」,找到並雙擊」添加或刪除程序「,打開了」添加或刪除程序「窗口,如下圖
6
2、點擊窗口左側的「添加/刪除Windows組件」,如下圖
7
3、勾選「Internet信息服務」,並點擊「下一步」命令按鈕,如下圖
8
4、彈出「所需文件」對話框,點擊窗口右下角的「瀏覽」命令按鈕,打開「查找」對話框,找到我們剛才從網上下載下來,並解壓的IIS FO XP 安裝包,找到所需的文件,選擇打開後,然後再點「確定」命令按鈕,繼續IIS的安裝,以後安裝過程中再需要什麼文件的話,找到安裝包後,選擇文件就可以了。如下圖
9
點擊「完成」命令按鈕,完成IIS的安裝,如下圖
10
第3步、測試IIS
打開IE 瀏覽器,在其地址欄輸入」127.0.0.1「後回車,看到如下圖所示的界面,就證明IIS安裝成功了,如下圖
11
至此,我們已成功正族安裝IIS,IIS的安裝講解完畢,接下來講解如何測試我們自己的ASP網站。
12
第4步、架設網站
1、我們把自己的ASP網站源代碼拷貝到電腦任意一個磁碟分區,比如D盤,如下圖
13
2、打開「計算機」管理。在「我的電腦」上右擊,選擇並點擊「管理」,這樣我們就打開了「計算機管理」窗口,在該窗口左側依次點擊「服務和應用程序」→「Internet信息服務」→「網站」,然後在「默認網站」上右擊,選擇「新建」→「虛擬目錄」,如下圖
14
3、新建虛擬目錄。點擊「虛擬目錄」,打開「虛擬目錄創建向導」對話框,點擊「下一步」命令按鈕,輸入虛擬目錄「別名」,比如:glxt,然後再點「下一步」命令按鈕,通過「瀏覽」的方式找到網站源代碼所在的目錄,我們剛才把源代碼放在了:D:\bysjASP,如下圖
15
4、完成向導。目錄選擇好後,我們點「下一步」,在「訪問許可權」對話框,按照下圖所示選擇就可以了,再點「下一步」命令按鈕,出現「已成功完成虛擬目錄創建向導」對話框,點擊「完成」,完成虛擬目錄的創建工作,如下圖
16
第5步、測試網站
1、我們在「計算機管理」窗口的「默認網站」下面,找到我們剛才創建成功的虛擬目錄「glxt」,然後點擊這個虛擬目錄,如下圖
17
2、在窗口的右側,找到我們網站的首頁:index.asp,然後右擊這個文件,在彈出的快捷菜單中選擇並點擊「瀏覽」,如下圖
18
這樣我們就打開了我們自己的網站,如果程序沒有錯誤,網站是可以正常打開的;如果程序有錯誤,則網......>>
問題四:如何搭建一個穩定、可重復的測試環境 innodb_data_home_dir = /longxibendi/mysql/mysql/var/
#innodb_data_file_path = ibdata1:1G:autoextend
innodb_data_file_path = ibdata1:500M;ibdata2:2210M:autoextend #表空間
innodb_file_io_threads = 4 #io線程數
問題五:什麼是android測試環境搭建 android 官網之前發布過ADT版本的Eclipse,建議使用官網提供的集成開發環境IDE(已上傳附件),即官方已經集成好ADT CDT SDK Eclipse,不需要再做任何的配置,直接解壓就可以用了。
問題六:面試問到軟體測試中怎麼搭建測試環境 搭建測試環境實際就是部署環境,比如window+mysql+tomcat部署這些
問題七:軟體測試搭建環境具體是怎麼做的 這個要看實際工作環境、軟體的運行環境來決定的,總體來說從:
1、操作系統:win還是Linux
2、軟體架構: B/S還是C/S
3、資料庫類型:orcale還是mssql,db2deng
。。。。
問題八:前端的開發調試測試的環境怎麼搭建 前端環境搭建系列的目的是把前端團隊作為一個整體,如何有效的團隊協同開發,第一部分開發環境。
1.代碼版本管理
SVN是必不可少了,版本號的規劃按照項目三位版本,開發四位版本來部署。比如我要做A項目,版本號為1.0.0,我第一次提測的代碼版本為1.0.0.1。每次四位版本按照tag區分。QA按照這個tag部署測試代碼,OP則部署線上代碼。
如果多個項目同時開發,就開分支。這些需要一個項目管理平台來管理版本。
2. 開發環境
我假設前端team的范疇是HTML CSS JS MVC中的V 和 C。最佳的環境是每個人一個開發環境,代碼通過SVN同步別人的代碼。但是文件的路徑全部都一致。
比如
css的img.xx/css
js的img.xx/js
flash的img.xx/swf
後台環境,假設每個後端開發也都有獨立的環境,如果和誰聯調代碼就讓他把配置指向你的V C目錄進行調試。
QA環境的debug問題,你的環境和QA環境代碼部署一致,能夠通過host切換靜態文件,如css js flash。畢竟前端的大部分問題是前端代碼的問題,V 和 C的問題就在自己的環境調試了,靜態資源切換到QA的host。
數據問題,最後有個大的造數據平台,通用一份資料庫,提供數據增加和修改的介面,這是理想狀態,當然這個平台也會很麻煩,實在不行就通過後端的數據操作介面操作數據。
3.編譯環境
可惡的前端代碼裸上,會有很多問題,大部分是性能問題,還有部分是緩存問題。
所以需要提供編譯環境,編譯流程放在提測前是安全的,因為會經過QA的質量檢測,如果在OP環節應該比較麻煩,編譯代碼的bug也沒人去測。
編譯一般解決的事情
1、批量的一些操作,比如版本號
2、代碼的合並和壓縮
3、代碼的優化或者職能替換,比如資源打包
我遇到過的開發狀況都不樂觀。所以有時間自己搭下試試有多復雜。
一般有公用開發環境,就一台機器一個host,不管主幹分支都放在那裡,可想又多混亂,還有前端無版本管理軟體,人肉維護多個並發版本。
或者有版本管理,開發環境還是多人一個,而且沒有host,靜態資源引入都是通過模板conf管理路徑的。這樣的代碼不利於資源路徑管理,特別是圖片,加入png半透明的需要全路徑,多個css合並的最好是根目錄路徑。
各種悲劇,此文到此結束。下篇為開發模式和模塊化。
Ⅸ Gradle--多環境編譯打包
前段時間產品經理提了個需求,測試環境,預發布環境,生產環境編譯下的app需要在同一步手機同時差侍存在,實現是可以的,但是得有三個環境下的不同applicationId,網路地圖key,域名,桌面logo,剛開始是想需要什麼環境就換什麼類型,很麻煩,每次都要換一次重新編譯,我就在想有什麼便捷的方法一鍵設置更換,gradle其中的Flavors功能可以實現我想要的。
這個是主項目中build.gradle中的配置,有三個環境我命名讓做為 xiaoming_test,xiaoming_ready,xiaoming_proct,並有不同的applicationId,BAIDU_MAP_KEY,HTTP_HEAD,HTTP_HEAD_JAVA,app_icon,(解釋一下,有兩條域名是因為後面後台是用java開發而做的區分),到這里應該大家有疑問,舉個栗子,我們一般開發的第三方key是在mainifests進行注冊申請的,而我們gradle如何去引用資源的。這里有兩種引用方式,直接引用,自定義引用。
引用logo在application的icon屬性命名為app_icon,$表示引用這個命名,對應的是gradle的配置。
在mainifests自定義為HTTP_HEAD,value值通過${HTTP_HEAD}引用,getHttpHead()獲取自定義注冊的域名值。從而實現每次請求對應的域名,只需在gradle里設置。
只虛滑吵需打開studio的BuildVariarts設置,選擇需要的環境即可重新編譯不同的apk,方便快捷的做到一鍵設置快速打包。
Ⅹ Linux發行版(路由器固件)OpenWrt入門全集
現階段openwrt官方支持的路由列表:wiki.openwrt.org/toh/start
如果要學習openwrt的話,買些列表中二手的路由器來實踐下更容易學習,大部分要升級一下rom晶元和內存晶元,典型配置都是4M、64M。 大家先學習一下,等待小米開放時刻的到來,有備無患……
OpenWrt 可以被描述為一個嵌入式的 Linux 發行版,(主流路由器固件有 dd-wrt,tomato,openwrt三類)而不是試圖建立一個單一的、靜態的系統。OpenWrt的包管理提供了一個完全可寫的文件系統,從應用程序供應商提供的選擇和配置,並允許您自定義的設備,以適應任何應用程序。
對於開發人員,OpenWrt 是使用框架來構建應用程序,而無需建立一個完整的固件來支持;對於用戶來說,這意味著其擁有完全定製的能力,可以用前所未有的方式使用該設備。
當Linksys釋放 WRT54G/GS 的源碼後,網上出現了很多不同版本的 Firmware 去增強原有的功能。大多數的 Firmware 都是99%使用 Linksys的源碼,只有1%是加上去的,每一種 Firmware 都是針對特定的市場而設計,這樣做有2個缺點,第一個是難以集合各版本Firmware的長處,第二個是這版本距離 Linux 正式發行版越來越遠。
OpenWrt 選擇了另一條路,它從零開始,一點一點的把各軟體加入去,使其接近 Linksys 版 Firmware的功能,而OpenWrt 的成功之處是它的文件系統是可寫的,開發者無需在每一次修改後重新編譯,令它更像一個小型的 Linux 電腦系統。
OpenWrt 項目由 2004 年 1 月開始, 第一個版本是基於 Linksys 提供的 GPL 源碼及 uclibc 中的 buildroot 項目, 這個版本稱為 「stable」 版, 在網上至今仍有很多項目使用這個版本, 較為有名 Freifunk-Firmware 和 Sip@Home.
到了2005年初, 一些新的開發人員加入了這項目, 幾個月後他們釋出了第一個 「experimental」 版本, 這和以前版本不同的是, 這版本差不多完全舍棄了 Linksys 的 GPL 源碼, 使用了 buildroot2 作為核心技術, 將 OpenWrt 完全模塊化,OpenWrt 使用 Linux 正式發行的核心源碼(2.4.30),加上了一些補丁和網路驅動,開發隊伍更為OpenWrt添加了許多免費的工具,可以直接把Image寫入 Flash (mtd)裡面,設定無線功能和VLAN交換功能,這個版本名為「White Russian」,而1.0版本於2005年底公布。
OpenWRT是一個高度模塊化、高度自動化的嵌入式Linux系統,擁有強大的網路組件和擴展性,常常被用於工控設備、電話、小型機器人、智能家居、路由器以及VOIP設備中。 同時,它還提供了100多個已編譯好的軟體,而且數量還在不斷增加,而 OpenWrt SDK 更簡化了開發軟體的工序。
OpenWRT不同於其他許多用於路由器的發行版,它是一個從零開始編寫的、功能齊全的、容易修改的路由器操作系統。實際上,這意味著您能夠使用您想要的功能而不加進其他的累贅,而支持這些功能工作的linux kernel又遠比絕大多數發行版來得新。
如果對 Linux 系統有一定的認識, 並想學習或接觸嵌入式 Linux 的話, OpenWRT很適合。 而且OpenWRT支持各種處理器架構,無論是對ARM,X86,PowerPC或者MIPS都有很好的支持。 其多達3000多種軟體包,囊括從工具鏈(toolchain),到內核(linux kernel),到軟體包(packages),再到根文件系統(rootfs)整個體系,使得用戶只需簡單的一個make命令即可方便快速地定製一個具有特定功能的嵌入式系統來製作固件。
一般嵌入式 Linux 的開發過程, 無論是 ARM, PowerPC 或 MIPS 的處理器, 都必需經過以下的開發過程:
1、 創建 Linux 交叉編譯環境;
2、建立 Bootloader;
3、移植 Linux 內核;
4、建立 Rootfs (根文件系統);
5、安裝驅動程序;
6、安裝軟體;
熟悉這些嶔入式 Linux 的基本開發流程後,不再局限於 MIPS 處理器和無線路由器, 可以嘗試在其它處理器, 或者非無線路由器的系統移植嵌入式 Linux, 定製合適自己的應用軟體, 並建立一個完整的嵌入式產品。
由於CPU內核體系不同,造成很多應用程序移植到OpenWrt上的時候經常崩潰。
由於ADSL硬體模塊的驅動程序沒有開放源代碼,造成很多ADSL一體無線路由的ADSL模塊不能工作而造成功能缺失(RG100A和DB120除外)。
由於OpenWRT並不是官方發布的路由器固件,所以要使用(刷入該固件)有困難,而且其基於Linux,導致OpenWRT的入門門檻較高。
White RussianOpenWRT的初始版本,從2005年7月的White Russian RC1開始發展,一直到2007年1月才發布White Russian 0.9。
KamikazeOpenWRT的第二個版本,從2007年6月開始發布Kamikaze 7.06,一直更新到2010年1月的Kamikaze 8.09.2結束。這期間OpenWRT進行了大量改進,並為它的發展打下了堅實的基礎。
Backfire2010年03月04日,OpenWrt Backfire 10.03 Beta發布,該版本是開源的路由器固件,基於linux,功能強大,支持很多主流的平台和路由器,甚至支持國內的君正jz4740平台,是學習和開發嵌入式,也是工業、 商業應用理想平台。更新方面: brcm-2.4 更新到 2.4.37 kernel ,other targets 更新到 2.6.30 or 2.6.32 ,arm/mips平台的 gcc 更新到 4.3.3 ,powerpc的gcc更新到 4.4.3 ,uClibc 更新到 0.9.30.1 , Broadcom 11g 晶元組的 b43 無線網卡驅動更新到 2.6 kernel ,支持Atheros 11n ath9k ,支持很多新的ar71xx設備,magicbox歸入ppc40x平台 。
2010年03月25日,OpenWrt 發布 Backfire 10.03-rc1,支持國內留下的 tp-link最新多款11n的路由器,是不是想讓路由器支持萬能中繼呢,或者增加路由器的多wan口支持呢,更多的這些高端路由才有的功能,或許能 讓家用路由輕松具備。
2010年04月07日,OpenWRT放出Backfire 10.03正式版。
2010年08月29日OpenWRT放出了Backfire 10.03.1。修正了很多BUG,提高了兼容性。TP-LINK WR841N v2 已經可以正常使用了,包括無線部分和上網部分。 自rc1之後的變動:改進了防DNS重綁定攻擊,改進了uhttpd穩定性, Rootfs生成修復(Orion景象),修正了基於BRCM47XX的PCI初始化,添加了rtl8366 vlan 改變的 整合腳本,還原了一般x86鏡像 GRUB控制台,提高了ar71xx系列乙太網驅動程序性能,添加了ar7240 交換機驅動,一些swconfig 和 交換機驅動的改進,RDC 使用啟動載入器支持波特率,允許原生HID 支持 通過添加 kmod-input-hid,6in4:適當的處理了PPPoE連接並且修復了終端隧道更新。
鑒於開源軟體在國內的發展態勢,目前國內有基於OpenWRT改進而來的OpenWRT-DreamBox。這個版本的OpenWRT集成了了很多常用功能(包括離線下載等),而通過這個版本的OpenWRT便可以把一個路由器的功能發揮的淋漓盡致。
現在有越來越多的Maker開始折騰OpenWrt,但作為一個Maker新手來講,在網上還是很難找到一份系統的入門級資料。查找資料很辛苦,而且OpenWrt的門檻相對較高,希望這篇文章所提供的從零開始學OpenWrt編譯 + 刷機 + 使用教程能降低新手們的入門難度,當然,編譯過程非必須,一般的路由都可找到可用的穩定固件直接刷機。
1、安裝Ubuntu(編譯需要Linux環境),到其官網下載,版本根據自己所需選擇即可。可以選擇安裝到虛擬機或者物理機,圖形化安裝而且是中文版,連安裝都搞不定的,可以關閉本頁面了;(下載地址可以網路,回復貼中會提供)
2、切記不要改動軟體源,同時按住Ctrl + Alt + T,調出終端;
3、逐條輸入下列命令(及時驗證是否安裝成功):
[php]
sudo apt-get install g++
sudo apt-get install libncurses5-dev
sudo apt-get install zlib1g-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install unzip
sudo apt-get install autoconf
sudo apt-get install gawk
sudo apt-get install make
sudo apt-get install gettext
sudo apt-get install gcc
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install libz-dev
sudo apt-get install asciidoc
sudo apt-get install subversion
sudo apt-get install sphinxsearch
sudo apt-get install libtool
sudo apt-get install sphinx-common
[/php]
至此編譯環境搭建完成。
OpenWrt源碼分兩種,一種是最新但不是最穩定的Trunk開發版,一種是最穩定的Backfire版,建議下載官方源碼。下載前先在本地創建文件夾:
[php]
mkdir openwrt
sudo chmod 777 openwrt
cd openwrt
[/php]
選擇你想要的版本然後執行下載命令,下載結束會顯示版本號:
Trunk版下載命令:
[php]
svn co svn://svn.openwrt.org/openwrt/trunk/
[/php]
Backfire版下載命令:
[php]
svn co svn://svn.openwrt.org/openwrt/branches/backfire/
[/php]
添加軟體擴展包,將feeds.conf.default修改為feeds.conf:
[php]
cp feeds.conf.default feeds.conf
[/php]
更新擴展,安裝擴展:
[php]
./scripts/feeds update -a
./scripts/feeds install –a
[/php]
註:如果不是剛下載的源碼,為保持代碼為最新狀態,應定期運行svn update命令更新源碼。
測試編譯環境:
[php]
make defconfig
到這里就可以開始編譯自己的固件了。進入定製界面:
[php]
make menuconfig
[/php]
如果一切正常,會出現一個配置菜單,可以選擇要編譯的固件平台(晶元類型)、型號,還能選擇固件中要添加的功能和組件,配置好後保存並退出菜單即可。
[php]
openwrt-make
[/php]
如果你想修改源碼,應該在此步進行,如支持大容量Flash之類的修改,自己上網查到修改什麼文件什麼地方後,就在ubuntu圖形界面上進去找到文件,雙擊打開文本編輯器修改保存。
[php]
Make
[/php]
或者
[php]
make V=99
[/php]
或者
[php]
make -j V=99
[/php]
make是編譯命令,V=99表示輸出debug信息,V一定要大寫,如果要讓CPU全速編譯,就加上 -j 參數,第一次編譯最好不帶-j參數。
編譯過程保持聯網(會從網上下載一些源碼包),所以斷網可能造成編譯中斷,編譯所需時間與電腦CPU及網路環境有很大關系,第一次編譯時間較久,快則半小時長則2、3個小時,之後的編譯所需時間較短。編譯完成後會在源碼文件目錄出現bin文件夾(如trunk/bin/XXXX),如果你手裡的路由是原版固件需要刷OpenWrt需要選用XXX-factory.bin固件,如果路由已經刷了OpenWrt,選用升級固件XXXX-sysupgrade.bin升級用的,在升級界面升級即可。進到文件夾找到你需要的固件傳出(通過郵箱、網盤、U盤等),開始刷機吧。
要在路由器上使用OpenWrt,首先要將路由器固件刷新為OpenWrt,即相當於OpenWrt 系統的安裝,不同型號的路由器的安裝方法可能也會不一樣,但一般常用的有三種方法:
1.Web上傳固件更新(就是路由器設置或管理界面的那個固件更新)
2.PFTP上傳固件更新(最簡單的就是HFS了)
具體型號的路由器適用於哪種或哪幾種方法,需自行嘗試。
要對OpenWrt進行配置,一般有兩條途徑:
1.SSH登錄通過命令行控制
2.Web登錄通過Web界面設置
首次安裝OpenWrt後,需要設置密碼才可以使用SSH登錄,方法是使用telnet登錄或者Web登錄設置密碼。在Windows下面telnet和SSH登錄可以使用Putty,在Linux或Mac下可分別使用如下命令:
[php]
ssh –l root 192.168.1.1 //Linux
ssh –l [email protected] //Mac
[/php]
一般指令與常見Linux發行版相同,但是OpenWrt使用自己的包管理器:opkg,使用「opkg –help」查看幫助信息。以下是一些常用操作命令:
[php]
opkg update //更新軟體包列表
opkg install //在線安裝軟體包
opkg remove //移除軟體包
[/php]
登錄Web管理界面,前提是該OpenWrt系統中要安裝了Web界面,一般是Luci,登錄方式與普通路由器無異,打開瀏覽器,輸入路由器IP即可進入登錄界面,OpenWrt的默認IP是192.168.1.1。
到此,OpenWrt的大門已為你敞開。接下來,開始嘗試利用OpenWrt實現更多智能應用吧,比如單號多撥榨取運營商帶寬、綁定域名遠程式控制制、掛載大容量硬碟、搭建BT下載機、搭建網路攝像頭、Samba/DLNA家庭NAS共享、私有雲同步、FTP、個人網站/伺服器…
需要學會用ssh登錄路由器用linux命令查看。
ps 命令查看當前系統運行的進程信息
free 命令查看內存使用和swap掛載情況
ls 查看目錄和文件
cd 進入退出目錄
vi 查看編輯配置文件
安裝命令:
[php]
#opkg update
#opkg install nano
uci set network.lan.ipaddr=[lan ip]
[/php]
使用pppoe設置
Shell代碼
[php]
uci set network.wan.proto=pppoe //設置wan口類型為pppoe
uci set network.wan.username=[上網帳戶]
uci set network.wan.password=[上網密碼] //這兩行設置pppoe用戶名和密碼
[/php]
如果要掛在上級路由下面,就需要進行下面的設置
Shell代碼
[php]
uci set network.wan.proto=none //關掉wan
uci set network.lan.gateway=[上級路由ip] //網關指向上級路由
uci set network.lan.dns=[上級路由ip] //dns指向上級路由
uci set dhcp.lan.ignore=1 //關掉lan的dhcp
[/php]
最後對無線網路進行配置
Shell代碼
[php]
uci set wireless.@wifi-device[0].disabled=0 //打開無線
uci set wireless.@wifi-device[0].txpower=17 //設置功率為17dbm 太高會燒無線模塊
uci set wireless.@wifi-device[0].channel=6 //設置無線信道為6
uci set wireless.@wifi-iface[0].mode=ap //設置無線模式為ap
uci set wireless.@wifi-iface[0].ssid=[自己設置SSID] //設置無線SSID
uci set wireless.@wifi-iface[0].network=lan //無線鏈接到lan上
uci set wireless.@wifi-iface[0].encryption=psk2 //設置加密為WPA2-PSK
uci set wireless.@wifi-iface[0].key=[密碼] //設置無線密碼
[/php]
提交應用配置
Shell代碼
[php]
uci commit //應用
/etc/init.d/network restart //重啟網路服務
[/php]
安裝luci管理界面
Shell代碼
[php]
opkg update // 更新軟體列表
opkg list-installed // 查看已安裝軟體
opkg install luci // 安裝LUCI
opkg install luci-i18n-chinese // 支持中文
luci-app-firewall - 0.10.0-1
luci-i18n-english - 0.10.0-1
luci-lib-core - 0.10.0-1
luci-lib-ipkg - 0.10.0-1
luci-lib-lmo - 0.10.0-1
luci-lib-nixio - 0.10.0-1
luci-lib-sys - 0.10.0-1
luci-lib-web - 0.10.0-1
luci-mod-admin-core - 0.10.0-1
luci-mod-admin-full - 0.10.0-1
luci-proto-core - 0.10.0-1
luci-proto-ppp - 0.10.0-1
luci-sgi-cgi - 0.10.0-1
luci-theme-base - 0.10.0-1
luci-theme-openwrt - 0.10.0-1
[/php]
即可完成LUCI的安裝。
輸入以下命令開啟支持web服務的uhttpd,並設置其為自啟動:
Shell代碼
[php]
/etc/init.d/uhttpd enable # 開機自啟動
/etc/init.d/uhttpd start # 啟動uhttpd
[/php]
- Wifidog
你可以嘗試執行以下命令安裝Wifidog:
[php]
opkg update # Optional
opkg install wifidog
[/php]
--sftp安裝
[php]
opkg update
opkg install vsftpd openssh-sftp-server
/etc/init.d/vsftpd enable
/etc/init.d/vsftpd start
[/php]
小米埠轉發命令:
通過修改 /etc/config/firewall 這個文件來實現開放自己需要的埠到外網。
[php]
config rule 'httpdwan'
option src 'wan'
option dest_port '8088'
option proto 'tcp'
option target 'ACCEPT'
option name ''''httpd wan accept tcp port 8088''''
[/php]
保存後,執行 /etc/init.d/firewall restart 重啟防火牆。
SSH工具:
1.WINSCP(文件傳輸到路由器上嚴重推薦使用)
2.putty中文版 中文的使用的難度相對低一點