當前位置:首頁 » 雲伺服器 » docker搭建svn伺服器

docker搭建svn伺服器

發布時間: 2022-12-14 15:14:16

① 做軟體測試都需要學什麼呢

蝸牛學院這里根據行業變化和企業用人需求整理了一份Python軟體測試學習路線,主要學習以下內容,題主可以了解一下~

第一階段:專業基礎課程

階段目標:

1. 熟練掌握IT核心技術:編程資料庫,操作系統,版本控制

2. 能夠熟練運用所學技術搭建各類伺服器環境

3. 深入理解軟體研發過程各種疑難雜症及處理手段

4. 掌握Python編程技術並熟練運用Python進行程序設計

知識點:

1、Web頁面元素,布局,CSS樣式,盒模型,javaScript程序設計,函數,基礎演算法,正則表達式。

2、資料庫知識,範式,Mysql配置,命令,建庫建表,數據的增刪改查,約束,視圖,存儲過程,函數,觸發器,事務,游標,建模工具深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理。為軟體測試和測試開發打下基礎。

3、linux安裝配置,文件目錄操作,VI命令,管理,用戶與許可權,環境部署,Shell編程Linux作為一個主流的伺服器操作系統,是每一個測試開發工程師必須掌握的重點技術,並且能夠熟練運用。

4、Python編程基礎,語法規則,函數,數據類型,PDBC,培養扎實的Python編程基本功,同時對Python核心對象編程有熟練的運用。

5、Python面向對象,異常處理,文件IO,多線程,網路編程,PyQT界面開發,深入理解面向對象編程,異常處理機制,多線程原理,網路協議知識,並熟練運用於項目中。

第二階段:專業核心課程

階段目標:

1. 熟練應用所學知識完成一個標準的軟體測試項目

2. 熟練運用Python完成GUI測試,介面測試和性能測試開發

3. 對測試開發技術體系和實現原理有深入的理解

4. 靈活運用測試開發技術解決項目中的各種問題

知識點:

1、軟體工程,軟體質量,系統測試流程,方法,專業術語,測試用例設計,禪道管理工具,測試報告,缺陷管理理解軟體工程的各類實際問題,理解系統測試的理論、方法與過程,熟練運用測試用例設計方法高效設計測試用例。

2、測試需求分析,測試方案設計,測試用例設計,測試項目實施,缺陷報告與測試報告,深入理解系統測試各個過程和關鍵環節,熟練完成系統測試項目。

3、SikuliX框架,UIAutomation框架,Selenium WebDriver框架,基礎框架,Android應用,Monkey測試,Appium移動端測試框架,UIAutomator2移動端測試框架綜合運用各類應用操作平台,完成各種自動化測試框架的學習和應用,深入理解GUI自動化測試技術及相應框架的測試開發。

4、Python單元測試框架,網路通信協議,HTTP與HTTPS協議,WebService與WebSocket協議,Python的介面測試庫,PostMan與SoapUI介面測試工具通過對代碼級介面測試和協議級介面測試的測試開發實戰,靈活運用Python開發介面測試腳本,熟練運用各類介面測試工具。

5、性能測試原理,指標體系,場景設計,實施過程,JMeter工具應用,BeanShell腳本開發,Python+Locust性能測試框架深入理解性能測試技術體系和方法論,熟練運用JMeter性能測試工具和Locust性能測試框架實施對任意系統的性能測試。

第三階段:綜合實戰項目

階段目標:

1. 將軟體測試和測試開發技術靈活運用於項目中

2. 具備較強的測試開發能力,獨立完成測試開發項目

3. 綜合運用軟體測試技術,滿足企業中高級人才需求

4. 對所學技術有深入的理解並具備獨立解決問題的能力

知識點:

1、測試需求分析,同行評審,測試計劃,測試方案,測試用例,配置管理,持續集成。通過對大型企業級應用系統的測試項目實戰,強化理解系統測試項目的實施過程與技術細節。

2、介面測試設計與實施,回歸測試,冒煙測試,安全性測試,RobotFramework框架應用,UI自動化實戰將各類自動化測試技術結合項目實戰演練,強化對自動化測試技術的運用,同時掌握更多的測試框架。

3、性能測試項目實戰,LoadRunner性能測試工具,總結通過綜合項目實戰,將全套測試技術融入到項目中,強化學習效果和項目經驗。

4、Python原生測試框架開發,包括Monkey,UI,圖像識別,雲測試平台,HTML測試報告,持續集成,KDT關鍵字驅動框架開發等原生技術實現通過大量的Python原生代碼開發,深入理解自動化測試開發技術的底層實現原理,完全拋棄對工具的依賴,做到真正的測試開發技術。

5、基於測試框架的設計思路和實現手段,自主實現一套測試框架能夠獨立完成一套自動化測試框架,並能夠直接用於實際項目中。

6、持續集成與Jenkins,安全性測試原理與工具,Python爬蟲開發與Scrapy框架,提升軟體測試其它類技術,增強知識面,提升競爭力,助力職業發展。

補充知識

1、演算法進階,圖像處理,視頻處理,加密解密,壓縮演算法。

2、UML統一建模語言、五種圖、類圖、類圖詳解、用例圖、時序圖。

3、Dubbo分布式開發框架,Oracle關系型資料庫管理系統,MongoDB非關系型資料庫管理系統。

4、大數據開發框架Hadoop/MapRece/Spark。

5、Android與iOS的原生應用開發與WebApp開發。

6、OpenCV圖像處理框架、TensorFlow深度學習框架,Lucene全文搜索引擎與中文分詞框架Ik-Analyzer,視頻處理演算法與框架等。

② Docker 和docker hub的思想是不是和SVN挺像的

其實流程上可以這樣類比的,區別在於docker鏡像是由只讀層堆疊的,自己和他人無法修改,只能重構。另外,docker hub是公開的,全世界的人都可以從上面pull想要的鏡像,你也可以搭建自己的私有倉庫,來存放自己構建的鏡像。有什麼問題咱們可以討論!

③ GitLab搭建個人(或公司)版本控制系統

說明:Git,Github,GitLab三者關系。

Git - 是一款自由和開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。(svn是集中化的版本控制系統)。

GitHub - 是一個面向開源及私有軟體項目的託管平台(也就一個網站),提供給用戶空間創建git倉儲,保存用戶的一些數據文檔或者代碼等。它可以託管各種git庫,並提供一個web界面。被戲稱為「全世界最大的同性交流社區」。

GitLab - 基於Git的項目管理軟體。使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。

當然啦國內開源中國出的「碼雲」,第一次聽得人還以為是「馬雲」。我醬紫。它跟Github功能差不多,都能建立公有和私有的倉庫。不過嘛感覺有點封閉,社區沒有Github熱鬧。

有的人就說啦,我完全可以在Github或者GitLab上做遠端代碼倉庫,為啥還要倒騰GitLab自建代碼託管系統?就一個字: 「代碼安全性」(公司保密規定)。 對於公司來說,GitLab讓開發團隊對他們的代碼倉庫擁有更多的控制,相比於GitHub,它有不少的特色:

一、自建代碼託管系統都需要做些什麼工作?

1. 選擇開源軟體

Git 大家族的 GitLab ,它提供了完善的用戶許可權管理,除了涵蓋 Git 所有的功能,同時又提供方便的後台管理。分別有CE(社區版)、EE(企業版)、OM(RPM 包完整版)三個版本,目前市面上開發者們的普遍選擇是使用 CE 版的源碼,成本較低且相對方便。

2. 硬體設施方面

如果是對於中小型企業來講,自建機房一般成本較高,所以除非是大型集團企業。現在市面上存在太多的雲伺服器廠商,平均價格多在 5000元/年以上,都是不錯的選擇。

可能遇到的坑:

3.由於個人眼界以及信息不對稱,目前大部分公司都是在公司區域網內自行用GitLab搭建代碼託管系統。部署Gitlab 是對伺服器有配置要求的建議是CPU兩核,內存4G以上。個人經驗,勿噴啦。

二、搭建過程(這里僅是作者接觸的,其實還有很多更高級的盤法)

Gitlab的服務構成

1.搭建方法分為:傳統方式安裝GitLab和Docker安裝(推薦)。

2.傳統安裝過程(平台使用centos7安裝)

安裝和配置必要的依賴項:

安裝Postfix以發送通知郵件:

在安裝Postfix期間,可能會出現配置屏幕。選擇「Internet Site」並按enter鍵。使用您的伺服器的外部DNS以「mail name」並按enter。如果出現額外的屏幕,繼續按enter鍵接受默認值。

添加GitLab鏡像源並安裝gitlab伺服器:

注意這里設置的埠不能被佔用,默認是8080埠,如果8080已經使用,請自定義其它埠,並在防火牆設置開放相對應得埠。

重置並啟動GitLab:

訪問 GitLab頁面:如果沒有域名,直接輸入伺服器ip和指定埠進行訪問

獲取/修改超級管理員root的密碼:

最後我們使用默認的賬號:root 和剛剛設置好的密碼12345678進行登錄。

後面的步驟配置SSH key,git Bash的global config等初始化設置跟GitHub一樣。可是還有一點就是「漢化」。(英文不好的小夥伴)但是有一定風險,後面我打開報502錯誤。有兩種方法:用git比對出英文與中文的補丁,將英文打補丁。第二是直接下載中文版,替換英文。

3.Docker安裝(推薦)

(1)配置docker鏡像

直接從 docker hub 獲取的話速度非常慢,所以需要配置一個鏡像。我使用的是 cloud.io提供的加速器,速度很快。

(2)獲取 GitLab 鏡像

下載完成後,查看鏡像列表

(3)啟動容器

3個--publish指定容器與主機的埠映射,分別是 http、https、ssh

3個--volume指定數據卷的映射,分別是 gitlab 的 配置、日誌、數據

(4)配置外部訪問 URL

修改 gitlab 配置文件:

找到 external_url 這一項修改為自己伺服器的訪問地址:

保存後,重啟容器

(5)訪問

初次訪問時,gitlab 要求我們重置管理員密碼,修改完成後登錄。默認用戶root。

當然以上為個人實驗,公司裡面大部分為CTO等大佬已經搭建完畢,我們主要是折騰。

最後推薦個人用很順手的工具: SourceTree (可視化界面的Git),當然啦要想成為大牛或者裝13也好,還是從Git Bash里敲命令行。

④ 新手入門Linux的步驟

很多Linux初學者不知從何處開始學起,怎麼學,感覺很茫然。Linux菜鳥要成為Linux高手,要有一個好的學習計劃和規劃,參加正規培訓班,要不然時間花了很多,卻沒有效果。這里介紹學習Linux的步驟和建議,也可以咨詢老男孩教育,希望對初學者有幫助。
准備階段:(1)了解Linux是什麼,有什麼優缺點,發展歷史和現狀,應用領域;(2)趕快找一部計算機,趕快安裝一個 Linux 發行版本,要自己親手安裝一遍Linux操作系統(包括虛擬機的Linux環境和完整真實的Linux環境);(3)熟悉Linux環境和Linux基本操作
菜鳥階段之選教程:選擇一本好的工具書工具書對於學習者而言是相當重要的。如:跟老男孩學Linux運維,linux就該這樣學等。
菜鳥階段之系統命令:Linux命令是必須好好學習和經常使用,而不要經常去使用菜單操作。一定要養成在命令行下工作的習慣
中級階段之命令行習慣:養成在命令行下工作:一定要養成在命令行下工作的習慣,要不然沒法成為高手
中級階段之Linux系統結構理解、語言編程與英語:C語言、C++,QT,shell,makefile,java,vi編輯器使用。這些至少要精通一兩門編程語言吧
高級階段之網路編程:Linux是網路的代名詞,Linux網路服務功能非常強大,不論是郵件伺服器、Web伺服器、DNS伺服器等都非常完善。要增加自己Linux 的技能,只有通過實踐來實現了。所以學習Linux也一樣,如果你無法經常學習的話,學了後面的,前面的忘了。你對Linux命令熟悉後你可以開始搭建一個小的Linux網路,這是最好的實踐方法。 當然你不需搭建所有服務,可以慢慢來。需要說明的是這個Linux網路對於初學者有兩三台計算機即可。學好了學好學精了Linux的網路編程,可以肯定的告訴你,你已經是一個非常優秀的Linux人才或者「Linux高手」了
高級階段之嵌入式編程、底層驅動編程與內核源碼:成為Linux高手的重要的方向

⑤ 求java學習路線圖

/*回答內容很長,能看完的少走一個月彎路,絕不抖機靈*/

提前預警:本文適合Java新手閱讀(老手可在評論區給下建議),希望大家看完能有所收獲。

廢話不多少了,先了解一下Java零基礎入門學習路線:

第一階段:JavaSE階段

變數、數據類型、運算符

  • 二進制和十進制的轉化

  • 注釋、單行注釋、多行注釋、文本注釋、注釋內容和位元組碼的關系

  • 標識符、關鍵字、駝峰原則

  • 變數的本質、內存畫圖、變數聲明和初始化

  • 變數的分類和作用域(局部變數、成員變數、靜態變數)

  • 常量和Final

  • 基本數據類型介紹

  • 整型變數和整型常量

  • 浮點類型、float、double

  • char字元型、轉義字元

  • boolean布爾型、if語句使用要點、布爾類型佔用空間問題

  • 運算符介紹

  • 算數運算符(二元、自增、自減)

  • 賦值和賦值運算符

  • 關系運算符詳解

  • 邏輯運算符、短路運算符詳解

  • 位運算符詳解

  • 字元串連接符

  • 條件運算符(三元運算符)

  • 運算符優先順序問題

  • 自動類型轉換詳解

  • 強制類型裝換詳解

  • 基本數據類型裝換常見錯誤、溢出、L問題

  • 使用Scanner獲取鍵盤輸入

控制語句

  • 控制語句和實現邏輯對應

  • if單選結構

  • if_elseif_else多選結構

  • switch語句_IDEA更換主題

  • 循環_while

  • 循環_for循環_dowhile

  • 嵌套循環

  • break和continue語句_標簽_控制語句底層原理

  • 寫一個年薪計算機_網路查問題的秘訣(重要)

  • 個人所得稅計算器軟體

  • 方法核心詳解_天才思維模型教你高手學習思維模式

  • 方法的重載

  • 遞歸結構講解_遞歸頭_遞歸體

面向對象編程-基礎

  • 面向過程和面向對象的區別

  • 類和對象的概述

  • 類的屬性和方法

  • 創建對象內存分析

  • 構造方法(Construtor)及重載

  • 對象類型的參數傳遞

  • this關鍵字

  • static關鍵字詳解

  • 局部代碼塊、構造代碼塊和靜態代碼塊

  • package和import詳解

  • JavaDoc生成API文檔

面向對象編程-進階

  • 面向對象的三大特性

  • 面向對象之【封裝(Encapsulation)】

  • 訪問許可權修飾符

  • 面向對象之【繼承(Inheritance)】

  • Object類

  • 方法重寫Override

  • super關鍵字詳解

  • 重寫equals()和toString()

  • 繼承中對象創建的內存分析

  • 面向對象之【多態(Polymorphism)】

  • 向上轉型

  • 向下轉型

  • instanceof運算符

  • 編譯時和運行時詳解

  • final修飾符

  • 抽象類和抽象方法(abstrct)

  • 介面的定義和實現

  • JDK8的介面新特性

  • 介面應用:內部類比較器Comparable

  • 內部類詳解

  • Java的內存管理與垃圾回收

異常機制

  • 異常的概述

  • 異常的執行過程與分析

  • try-catch-finally捕捉異常

  • throw拋出異常

  • throws聲明異常

  • 異常繼承體系

  • 運行時異常和編譯異常

  • 自定義異常

Java常用類

Wrapper包裝類

  • 自動裝箱和自動拆箱

  • 包裝類的源碼分析

  • String類的使用與內存原理

  • String類的源碼分析

  • StringBuffer

  • StringBuilder

  • 字元串處理類性能分析

  • Date類

  • System類

  • DateFormat類

  • Calendat類

  • Math類

  • BigInteger類和BigDecimal類

  • Random類

  • 枚舉類

  • File類

  • 常見的面試題講述與分析

  • 數據結構演算法

  • 數據結構的概述

  • 線性表

  • 順序表

  • 鏈表

  • 棧和隊列

  • 二叉樹

  • 二叉查找樹

  • 二叉平衡樹

  • 黑紅樹

  • 冒泡排序

  • 選擇排序

  • 遞歸

  • 折半查找

  • 集合(容器)

  • 集合和數組的聯系和區別

  • 集合框架體系

  • ArrayList的使用和源碼分析

  • 集合中使用泛型

  • LinkedList的使用和源碼分析

  • HashSet的使用和源碼分析

  • 哈希表及原理

  • TreeSet的使用和源碼分析

  • 比較器Comparable和Comparator

  • HashMap的使用和源碼分析

  • TreeMap的使用和源碼分析

  • Iterator於ListIterator

  • Collections工具類

  • 舊集合類Vector、Hashtable

  • 集合總結和選擇依據

  • 泛型介面

  • 泛型類

  • 泛型方法

  • IO流

  • IO流的概念

  • IO流的分類及其原理分析

  • 文件流FlieInputStream、FileOutputStream

  • 緩沖流BufferedInputStream、BufferedOutputStream

  • 數據流ObjectInputStream、ObjectOutputStream

  • 序列化和反序列化

  • 轉換流InputStreamReader、OutputStreamWriter

  • 列印流PrintWrite和PrintStream

  • 數組流ByteArrayOutputStream、ByteArrayInputStream

  • 使用IO復制文件夾

  • 多線程

  • 進程和線程

  • 線程的創建與啟動

  • 創建線程的三種方式對比

  • 線程的生命周期

  • 線程式控制制

  • 多線程的安全問題與解決辦法

  • 線程的同步:同步代碼塊

  • 線程的同步:同步方法

  • 線程的同步:Lock鎖

  • 線程的死鎖問題

  • 線程通信

  • Condition

  • 線程的完整生命周期

  • 線程池ThreadPoolExecutor

  • ForkJoin框架

  • ThreadLocal類

  • 網路編程

  • 計算機網路基礎知識

  • 網路通信協議

  • OSI參考模型

  • TCP/IP參考模型

  • 數據的封裝與拆封原理解析

  • TCP協議

  • UDP協議

  • IP地址和埠號

  • URL和Socket

  • 使用TCP編程實現登錄功能

  • 使用UDP編程實現客服系統

  • 使用TCP編程實現文件上傳

  • 集合提升尋訓練

  • 手寫ArrayList

  • 手寫單鏈表

  • 手寫Linkedlist

  • 手寫HashMap

  • 手寫HashSet

  • 最新並發集合類

  • 多線程提升訓練

  • 生產者消費者模式擴展

  • Lock鎖和Condition

  • ReadWriteLock

  • BlockingQueue

  • volatile關鍵字

  • 多線程題目練習

  • JDK新特徵

  • 面試題詳解

  • 設計模式

  • 設計模式入門

  • 面向對象設計七大原則

  • 簡單工廠模式

  • 工廠方法模式

  • 單例模式

  • 原型模式

  • 裝飾模式

  • 適配器模式

  • 外觀模式

第二階段:資料庫

    MySQL基礎

  • 資料庫基礎知識

  • MySQL基礎知識

  • MySQL8新特徵

  • 安裝和卸載MySQL8

  • 使用navicat訪問資料庫

  • SQL語言入門

  • 創建資料庫表

  • DML

  • 修改刪除資料庫表

  • 表的完整性約束

  • 表的外鍵約束

  • DML擴展

  • MySQL 查詢語句

  • 基本select查詢

  • where子句

  • 函數

  • group by

  • having

  • SQL99-內連接查詢

  • SQL99-外連接查詢

  • SQL99-自連接查詢

  • SQL92-連接查詢

  • 不相關子查詢

  • 相關子查詢

  • 分頁查詢

  • 資料庫對象

  • 索引

  • 事務及其特徵

  • 事務的並發問題

  • 事務的隔離級別

  • 存儲過程

  • 導入導出數據

  • JDBC

  • JDBC概述

  • 使用JDBC完成添加/更新/刪除操作

  • 使用JDBC完成查詢操作

  • JDBC常用介面

  • 使用PreparedStatement

  • 使用事務完成銀行轉賬

  • 提取DBUtil工具類

  • 使用Properties讀寫屬性文件

  • 日誌框架log4j

  • 開發員工管理系統

第三階段:JavaEE階段

      Servlet

    • web開發概述

    • B/S和C/S架構簡介

    • HTTP協議

    • HTTP請求頭和響應頭

    • Tomcat安裝使用

    • Tomcat目錄結構

    • Servlet概述

    • Servlet快速入門

    • Servlet生命周期

    • 讀取配置文件信息

    • HttpServletRequest

    • HttpServletResponse

    • GET和POST區別

    • 解決中文亂碼

    • 請求轉發與重定向

    • 絕對路徑和相對路徑

    • Cookie

    • Session

    • ServletContext

    • ServletConfig

    • JSP

    • JSP技術介紹

    • JSP的執行過程

    • scriptlet

    • 表達式

    • 聲明

    • JSP指令元素

    • JSP動作元素

    • JSP隱式對象

    • JSP底層原理

    • 九大內置對象

    • 四個作用域

    • Servlet和JSP的關系和區別

    • MVC模式

    • 合並Servlet

    • JavaScript

    • JavaScript概述與特點

    • JS基礎語法

    • 函數

    • 數組

    • Math對象

    • String對象

    • Date對象

    • 事件event

    • 瀏覽器開發者工具

    • console

    • DOM和BOM

    • window

    • location

    • navigator

    • history

    • 認識DOM

    • DOM獲取元素

    • jQuery

    • jQuery簡介及快速入門

    • jQuery入口函數

    • jQuery對象與DOM對象互相轉換

    • 基本選擇器

    • 屬性選擇器

    • 位置選擇器

    • 表單選擇器

    • 內容選擇器

    • jQuery事件

    • jQuery動畫效果

    • DOM操作-操作文本

    • DOM操作-操作屬性

    • DOM操作-操作元素

    • 直接操作CSS樣式

    • 操作CSS類樣式

    • 購物車案例

    • 表單驗證

    • 正則表達式

    • EL+JSTL+過濾器+監聽器

    • EL介紹及使用

    • EL取值原理

    • EL隱含對象

    • EL邏輯運算

    • JSTL介紹-核心標簽庫

    • JSTL核心標簽庫

    • JSTL-格式標簽庫

    • Filter原理

    • Filter生命周期

    • Filter鏈

    • Filter登錄驗證

    • Filter許可權控制

    • Listener概述及分類

    • Listener監聽在線用戶

    • Ajax和JSON

    • Ajax非同步請求和局部刷新的原理

    • 使用原生Ajax驗證用戶唯一性

    • jQuery Ajax

    • JSON的格式和使用

    • 主要JSON解析器

    • Jackson的使用

    • Jackson的實現原理

    • 使用jQuery Ajax實現三級聯動

    • 使用jQuery Ajax實現自動補全

    • 分頁和文件上傳/下載

    • 分頁的意義

    • 理解分頁工具類

    • 實現基本分頁

    • 實現帶查詢的分頁

    • 文件上傳原理

    • 文件上傳API

    • 實現文件上傳

    • 文件下載原理

    • 文件下載響應頭

    • 實現文件下載

    第四階段:框架階段

      MyBatis

    • MyBatis概述

    • MyBatis入門配置

    • 基本的CRUD操作

    • 核心配置文件詳解

    • Mapper.xml基礎詳解

    • 模糊查詢

    • 分頁的實現及插件PageHelper的使用

    • 動態sql+sql片段的使用

    • 一對多、多對一的關系處理

    • 註解的使用

    • 一級緩存和二級緩存說明及使用

    • generator逆向工程使用

    • Spring

    • Spring框架簡介

    • Spring官方壓縮包目錄介紹

    • Spring環境搭建

    • IoC/DI容器詳解

    • Spring創建Bean的三種方式

    • scope屬性講解

    • Spring中幾種注入方式

    • 靜態代理設計模式

    • 動態代理設計模式

    • AOP詳解

    • AOP中幾種通知類型

    • AOP兩種實現方式

    • 自動注入

    • 聲明式事務

    • 事務傳播行為

    • 事務隔離級別

    • 只讀事務

    • 事務回滾

    • 基於註解式配置

    • 常用註解

    • Spring 整合MyBatis

    • i18n

    • Spring整合Junit

    • SpringMVC

    • MVC架構模式

    • 手寫MVC框架

    • SpringMVC簡介

    • SpringMVC運行原理

    • 基於配置文件方式搭建環境

    • 基於註解方式搭建環境

    • SpringMVC的跳轉及視圖解析器的配置

    • SpringMVC和Ajax的交互

    • Spring 參數注入

    • SpringMVC作用域傳值

    • 視圖解析器

    • 文件下載

    • 文件上傳

    • Spring攔截器/攔截器棧

    • 登錄狀態驗證

    • SpringMVC容器和Spring容器介紹

    • 異常處理4種方式

    • SpringMVC5其他常用註解

    • Maven

    • Maven簡介

    • Maven原理

    • Linux安裝及注意事項

    • Maven項目結構

    • POM模型

    • Maven 中項目類型

    • 創建WAR類型的Maven項目

    • scope屬性可取值

    • SSM項目拆分演示

    • Maven的常見插件講解

    • 熱部署

    • BootStrap

    • BootStrap概述

    • BootStrap柵格系統

    • BootStrap常用全局CSS樣式

    • 常用組件

    • 常用JavaScript插件

    • RBAC

    • RBAC概述

    • RBAC發展歷史

    • 基於RBAC的資料庫表設計

    • URL攔截實現

    • 動態菜單實現

    • 密碼學

    第五階段:前後端分離階段

      Spring Boot

    • Spring Boot簡介

    • Spring Boot實現Spring MVC

    • 配置文件順序及類型講解

    • Spring Boot項目結構

    • Spring Boot 整合MyBatis

    • Spring Boot 整合Druid

    • Spring Boot 整合PageHelper

    • Spring Boot 整合logback

    • Spring Boot 整合JSP

    • Spring Boot 整合Thymeleaf

    • Spring Boot 開發者工具

    • Spring Boot 異常顯示頁面

    • Spring Boot 整合Junit4

    • Spring Boot 項目打包部署

    • Spring Boot 整合Quartz

    • Spring Boot 中Interceptor使用

    • Spring Boot Actuator

    • HikariCP

    • Logback

    • Logback簡介

    • Logback依賴說明

    • Logback 配置文件講解

    • Logback 控制台輸出

    • Logback 文件輸出

    • Logback 資料庫輸出

    • Spring Security

    • Spring Security簡介

    • Spring Security架構原理

    • 什麼是認證和授權

    • 基礎環境搭建

    • 自定義認證流程

    • UserDetailsService和UserDetails

    • PasswordEncoder

    • 自定義認證結果

    • 授權-訪問路徑匹配方式

    • 授權-許可權管理

    • 基於註解實現許可權管理

    • Thymeleaf整合Security許可權管理

    • Rememberme 實現

    • 退出實現

    • CSRF

    • Linux - CentOS 8

    • Linux簡介

    • VMWare安裝及使用

    • Linux安裝及注意事項

    • Linux目錄結構及路徑

    • Linux常用命令

    • VMWare常用配置

    • XShell安裝及使用

    • Xftp安裝及使用

    • JDK解壓版配置步驟

    • Tomcat配置步驟

    • 安裝MySQL

    • WAR包部署

    • Docker

    • Docker簡介

    • Docker與VM對比

    • Docker特點

    • Docker架構

    • Docker安裝與啟動

    • 鏡像加速器配置

    • Docker鏡像操作常用命令

    • Docker容器操作常用命令

    • DockerFile

    • 搭建本地鏡像倉庫

    • 推送鏡像到阿里雲及本地倉庫

    • Docker容器生命周期

    • Docker數據管理

    • Redis

    • Redis簡介

    • Redis 單機版安裝

    • Redis 數據類型介紹

    • Redis 常用命令

    • Redis 持久化方案

    • Redis 的主從搭建

    • Redis的哨兵搭建

    • Redis 的集群搭建

    • Spring Boot整合Spring Data Redis

    • Redis的緩存穿透

    • Redis的緩存雪崩

    • Redis的緩存擊穿

    • Vue

    • vsCode和插件安裝

    • webpack介紹

    • Vue項目創建

    • Vue模板語法

    • Vue條件渲染

    • Vue列表渲染

    • Vue事件處理

    • Vue計算屬性

    • Vue Class與Style

    • Vue表單處理

    • Vue組件

    • Vue組件生命周期

    • Vue 路由配置

    • Vue Axios網路請求

    • Vue跨域處理

    • Vue Element

    • Mock.js

    • Swagger

    • Swagger2簡介

    • Springfox

    • Swagger2基本用法

    • Swagger-UI用法

    • Swagger2配置

    • Swagger2常用配置

    • Git/GitEE

    • Git的下載和安裝

    • Git和SVN對比

    • Git創建版本庫

    • Git版本控制

    • Git遠程倉庫

    • Git分支管理

    • Git標簽管理

    • GitEE建庫

    • GitEE 連接及使用

    • GitEE 組員及管理員配置

    第六階段:微服務架構

      FastDFS

    • 分布式文件系統概述

    • FastDFS簡介

    • FastDFS架構

    • Tracker Server

    • Storage Server

    • FastDFS安裝

    • 安裝帶有FastDFS模塊的Nginx

    • Fastdfs-java-client的使用

    • 創建Fastdfs-java-client工具類

    • 實現文件上傳與下載

    • KindEditor介紹

    • 通過KindEditor實現文件上傳並回顯

    • RabbitMQ

    • AMQP簡介

    • RabbitMQ簡介

    • 安裝Erlang

    • 安裝RabbitMQ

    • RabbitMQ原理

    • Spring Boot 集成RabbitMQ

    • RabbitMQ的交換器

    • Spring AMQP的使用

    • Spring Cloud Netflix Eureka

    • Eureka簡介

    • Eureka和Zookeeper 對比

    • 搭建Eureka注冊中心

    • Eureka 服務管理平台介紹

    • 搭建高可用集群

    • 集群原理

    • Eureka優雅停服

    • Spring Cloud Netflix Ribbon

    • Ribbon簡介

    • 集中式與進程內負載均衡區別

    • Ribbon常見的負載均衡策略

    • Ribbon的點對點直連

    • Spring Cloud OpenFeign

    • Feign簡介

    • Feign的請求參數處理

    • Feign的性能優化

    • 配置Feign負載均衡請求超時時間

    • Spring Cloud Netflix Hystrix

    • Hystrix簡介

    • 服務降級

    • 服務熔斷

    • 請求緩存

    • Feign的雪崩處理

    • 可視化的數據監控Hystrix-dashboard

    • Spring Cloud Gateway

    • Spring Cloud Gateway簡介

    • Gateway基於配置文件實現路由功能

    • Gateway基於配置類實現路由功能

    • Gateway中內置過濾器的使用

    • Gateway中自定義GatewayFilter過濾器的使用

    • Gateway中自定義GlobalFilter過濾器的使用

    • Gateway中使用過濾器實現鑒權

    • Gateway結合Hystrix實現熔斷功能

    • Spring Cloud Config

    • 什麼是分布式配置中心

    • 創建配置中心服務端

    • 創建配置中心客戶端

    • 基於Gitee存儲配置文件

    • 基於分布式配置中心實現熱刷新

    • Spring Cloud Bus

    • 什麼是消息匯流排

    • 基於消息匯流排實現全局熱刷新

    • ELK

    • ElasticSearch介紹

    • ElasticSearch單機版安裝

    • ElasticSearch集群版安裝

    • ElasticSearch索引管理

    • ElasticSearch文檔管理

    • ElasticSearch文檔搜索

    • SpringDataElasticSearch訪問ElasticSearch

    • LogStash介紹

    • 基於LogStash收集系統日誌

    • TX-LCN

    • 分布式事務簡介

    • 分布式事務兩大理論依據

    • 分布式事務常見解決方案

    • LCN簡介

    • TX-LCN的3種模式

    • LCN原理

    • LCN環境搭建及Demo演示

    • Nginx

    • Nginx的簡介

    • 什麼是正向代理、反向代理

    • Nginx的安裝

    • Nginx配置虛擬主機

    • Nginx配置服務的反向代理

    • Nginx的負載均衡配置

    • Spring Session

    • Spring Session介紹

    • 通過Spring Session共享session中的數據

    • 通過Spring Session同步自定義對象

    • Spring Session的Redis存儲結構

    • 設置Session失效時間

    • Spring Session序列化器

    • MyBatis Plus

    • MyBatis Plus簡介

    • Spring整合MyBatis Plus

    • MyBatis Plus的全局策略配置

    • MyBatis 的主鍵生成策略

    • MyBatis Plus的CRUD操作

    • 條件構造器EntityWrapper講解

    • MyBatis Plus的分頁插件配置

    • MyBatis Plus的分頁查詢

    • MyBatis Plus的其他插件講解

    • MyBatis Plus的代碼生成器講解

    • MyBatis Plus的公共欄位自動填充

    • ShardingSphere

    • 簡介

    • 資料庫切分方式

    • 基本概念

    • MySQL主從配置

    • 切片規則

    • 讀寫分離

    • 實現分庫分表

    第七階段:雲服務階段

      Kafka

    • Kafka簡介

    • Kafka架構

    • 分區和日誌

    • Kafka單機安裝

    • Kafka集群配置

    • 自定義分區

    • 自動控制

    • Spring for Apache Kafka

    • Zookeeper

    • Zookeeper簡介和安裝

    • Zookeeper 數據模型

    • Zookeeper 單機版安裝

    • Zookeeper常見命令

    • ZClient操作Zookeeper

    • Zookeeper 集群版安裝

    • Zookeeper 客戶端常用命令

    • Zookeeper分布式鎖

    • RPC

    • 什麼是分布式架構

    • 什麼是RFC、RPC

    • HttpClient實現RPC

    • RestTemplate

    • RMI實現RPC

    • 基於Zookeeper實現RPC 遠程過程調用

    • Dubbo

    • SOA架構介紹

    • Dubbo簡介

    • Dubbo結構圖

    • Dubbo注冊中心

    • Dubbo 支持的協議

    • Dubbo 注冊中心搭建

    • Spring Boot 整合 Dubbo

    • Admin管理界面

    • Dubbo 搭建高可用集群

    • Dubbo 負載均衡

    • Spring Cloud Alibaba Dubbo

    • Spring Cloud Alibaba Dubbo簡介

    • 基於Zookeeper發布服務

    • 基於Zookeeper訂閱服務

    • 實現遠程服務調用處理

    • Spring Cloud Alibaba Nacos

    • Spring Cloud Alibaba Nacos簡介

    • 搭建Nacos伺服器

    • 基於Nacos發布|訂閱服務

    • 實現遠程服務調用處理

    • Nacos Config配置中心

    • Spring Cloud Alibaba Sentinel

    • Spring Cloud Alibaba Sentinel簡介

    • 搭建Sentinel伺服器

    • Sentinel-實時監控

    • Sentinel-簇點鏈路

    • Sentinel-授權規則

    • Sentinel-系統規則

    • @SentinelResource註解

    • 持久化規則

    • Spring Cloud Alibaba Seata

    • Spring Cloud Alibaba Seata簡介

    • 搭建Seata伺服器

    • Seata支持的事務模式-AT模式

    • Seata支持的事務模式-TCC模式

    • Seata支持的事務模式-Saga模式

    • Seata支持的事務模式-XA模式

    • SeataAT事務模式應用方式

    • SeataTCC事務模式應用方式

    ⑥ 群暉7.0和6.2區別

    群暉 Nas 7.0 已經發布了,最近又更新到 7.1 了。

    這里主要想說明一些使用細節上的區別,慢慢總結,慢慢更新,群暉7.0使用了新的UI,肯定有它的方便和易用之處,但也有一些缺點,也希望大家在評論區吐槽一下自己不太習慣或反人類的地方。

    二、DSM6.0 SSH支持的一些命令 在DSM7.0 已經不再支持或改由其它命令替代

    由於dsm7.0 的命令有變化,早期dsm6.0的命令 syno_poweroff_task 等命令 已不再支持

    我找到所有官網的文章,找到類似的命令:

    /usr/syno/bin/synopkg onoffall stop


    三、DSM7.0 將Photo Station和 Moments 合並為 Synology Photos

    在 DSM 7.0 中 Synology Photos 替代了之前的 Photo Station和 Moments,在升級之後原有的兩個套件會消失,並變為 Synology Photos,如果你之前存有不少照片,那之前的個人照片和共享照片也會遷移到 Synology Photos中存儲,更新後,手機端也需要安裝移動端對應的 Synology Photos。之前 6.2 版本的 DS Photo 和 Moments App 不能在 DSM 7.0 中使用!

    不過有貼吧網友 天草緋鞠(原文)試過:手機版synology photo不支援gif即時顯示 ,而網頁版支持,手機版synology photo查看圖片後,返回像簿清單會頻繁重載,導致app卡到閃退 (不知道正式版有否解決掉)手機版synology photo若圖片(4~8k)很多張,快取縮圖跑完app也會異常卡頓,synology photos依然不能像video station指定索引路徑,Video station網頁軟解1080P或4K影片CPU異常之高(MKV HEVC很明顯),docker目前用起來正常,跑gitlab與彩虹小馬積分正常,DSfile依然不能在空白處右鍵新增記事本,手機上傳選圖時gif會動,但是傳後不點進去看大圖不會動。上傳影片至synology photos後 用網頁可以直接線上看(上傳會過濾掉不支援的格式提示失敗) 用app只能用第三方播放器且畫質極差且不順 有設畫質優先依然很糟,原因不明,但是用手機從synology photos下載在播放則正常 可能也是bug。

    使用synology photos網頁上傳照片有BUG(?),照片會同時存在"home/Photos"與"homes/賬號"底下,容量會累加 (有網友解答:實際上homes才是實際路徑。home是邏輯虛擬的路徑,照片沒有重復)

    但也有網友反映:DSM7.0 基礎功能沒問題,docker、Synology Photos沒問題。運行3個月Synology Photos比moment好用很多,預覽、分類、特別是家庭用戶家分享功能很棒。別的功能沒試,不多評價


    四、不少第三方套件由於安全原因已不再支持或需要第三方再更新才能支持

    如 DSM7.0系統不再支持SVN,由6.2 升級且原有使用SVN的客戶可能就無法正常使用。

    解決辦法:可用Docker搭建SVN Server 替代

    DSM7.0 也不再支持 VPN Server, 也需要使用Docker方式安裝來替代

    Synology 在 DSM 7.0 中添加了嚴格的要求,以防止未經 Synology 簽名的套件以 root 許可權運行。這是因為,具有 root 許可權的套件可以採用 root 用戶身份執行命令,並危害系統安全。

    由於進行了此更改,從 DSM 6.2 升級的套件應更改其許可權設置,以便能夠在 DSM 7.0 中運行。

    下表列出了 DSM 7.0 當前支持的第三方套件。新的兼容套件可用時定期更新該列表。

    套件名稱

    支持狀態

    Acronis TrueImage —

    ArchiwareP5 —

    ArchiwarePure —

    Data Deposit Box Backup V

    DiXiM Media Server V

    Domotz V

    ElephantDrive —

    EynioServer —

    GoodSyncServer —

    IDrive —

    KodExplorer —

    LogicalDOC8 —

    MEGAcmd —

    MinimServer —

    Nakivo Backup and Replication —

    nConnect V

    Nakivo Transporter —

    NordVPN —

    Plex Media Server V

    QuikFynd —

    Resilio Sync —

    Sony BraviaMeeting —

    Sony BraviaSignage —

    sMedio DTCP Move V

    Syncthing —

    Teamviewer —

    VirtualHere —

    玩物下載 (Onewu download) V

    花生殼動態域名 —

    V:當前支持
    —:當前不支持

    五、DSM7.0控制台比DSM6.2少了不少的功能

    即精簡了控制台的功能(也許這樣系統啟動速度也要快一些),將部分不常用的功能變成獨立app了,如果需要,可以自己去安裝。

    ⑦ 做軟體測試需要具備哪些技能

    1、 軟體測試基礎知識:
    測試計劃編寫、設計測試用例、編寫測試報告、編寫BUG報告單、跟蹤BUG修復情況、還需要良好的溝通能力、以及各種測試階段所使用的測試方法、單元測試、功能測試、集成測試、系統測試等等、CMMI /ISO9001
    2、 各種測試工具的使用:
    我們在測試的工作中為了能夠提高工作效率進程會用到很多工具、QTP、LR、QC、TD、Bugfree、VSS、SVN等等工具、雖然說工具不是萬能的但是工具能為我們提高工作效率所以不能吧工具當神一樣看待、但是必須得會熟練的使用
    3、 操作系統相關知識:
    Windows、linux、uinx這些都必須會使用、而且不僅僅是簡單的操作、一般的服務管理、注冊表編輯、命令行操作都需要會、可以想像下一個連apache服務都不會安裝配置的人、誰能想像你可以做好基於apache環境的測試工作、什麼?不知道怎麼查看磁碟壓力、IO數據。windows linux都有提供自帶的工具可用於查看這些數據、perfmon、top什麼的。
    4、 資料庫知識:
    現在Oracle的DBA待遇比一般的開發人員待遇還高就知道資料庫在企業中的重要性了、作為測試人員雖然不需要有DBA的能力、但是基本的資料庫操作你必須得會把、不管是Oracle、DB2、MSsql還是mysql最少都應該能熟悉使用其中的一二。
    5、 計算機硬體知識:
    做過性能測試的朋友都知道在性能測試過程中硬體性能也是一個非常重要的指標、CPU、內存、IO、帶寬等等、如果你是做硬體測試的。那麼就更不用說了。交換機、路由器、防火牆這些設備都需要有所了解。
    6、 網路協議:
    如果你還知道TCP和UDP有什麼不一樣的話請趕快去補充點知識吧、互聯網時代、一切都通過網路傳輸、常用協議必須得了解、曾經面試了一個測試工程師做了2年的測試居然不知道自己測試軟體使用什麼協議、這樣的人是你的話你敢招么?
    7、 開發語言即代碼編寫能力:
    雖然不會寫代碼也能做測試、但是如果你想做到高級測試工程師以上、那麼代碼編寫能力就是必選項、如果不會寫代碼、那麼你不可能成為高級測試。高級測試工程師的一部分工作就是在寫測試工具。雖然測試也需要寫代碼但不需要和開發一樣那麼精通某一門語言、可是測試卻需要了解很多門開發語言(舉一個簡單的例子:你現在所在的項目從C++語言、2年後你換工作了、新公司的開發語言是java或者是VB什麼的)所以在開發語言中測試需要更廣的學習。
    8、 行業知識:
    行業知識之所以寫在最後面是因為前面的7條我們都可以通過學習來掌握、但是唯獨行業知識卻只能通過工作經驗來積累、不要說你去看幾本書就知道通信行業、醫療行業、或者是航天行業、你認為在書本上面能學到么?
    由於行業知識的特殊性所以建議朋友們不要頻繁的跳槽、經驗的積累是需要時間來沉澱的。
    9、 具有一定的美學觀:
    這個說起來比較拗口一點、簡單來說不管是開發活動還是測試活動、最後的目標就是將產品推向市場、而且得到用戶的認可。所以如果產品在需求分析階段就出現了偏離用戶航道、那麼就算測試 開發做得再好這個項目也是一樣會失敗。所以各位如果有幸能夠參加需求評審的話、請不要吝嗇你的言論。
    10、請不要忘記時刻學習著:
    這點我相信大家應該都能理解所以不用寫什麼:僅此一點「不學習就會落後」
    總結:說了那麼多技能或者是說是需要掌握的技術、如果你沒有一顆發現缺陷之美的心態、沒有一顆以提高質量為前提來投入工作中、那麼就算你其他做得再好也不過是萬千軟體測試從業人員中的一枚。測試活動大部分用於發現缺陷、而發現缺陷之後的工作尤為重要:怎麼樣從發現缺陷到提高質量。

    ⑧ 10個頂級Mongodb GUI工具,以圖形方式管理資料庫

    MongoDB是一個面向文檔的資料庫,屬於NoSQL資料庫,它使用類似JSON的文檔和schemata。

    MongoDB的默認介面是(CLI)命令行,新用戶很難像專業人員那樣處理資料庫。因此,有一些MongoDB管理工具來提供GUI界面以提高生產力。就像phpmyadmin為MySQL/MariaDB資料庫提供基於HTTP網路的GUI界面一樣。但是,此處包含的所有工具都不是基於HTTP的,只有少數工具為MongoDB提供Web界面。以下是使用GUI的比較流行的MongoDB管理工具列表:

    要從具有圖形用戶界面的MongoDB開始,MongoDB是最好的方法之一。MongoDB Compass Community由MongoDB開發人員開發,這意味著更高的可靠性和兼容性。它為MongoDB提供GUI mongodb工具,以 探索 資料庫交互;具有完整的CRUD功能並提供可視方式。藉助內置模式可視化,用戶可以分析文檔並顯示豐富的結構。為了監控伺服器的負載,它提供了資料庫操作的實時統計信息。就像MongoDB一樣,Compass也有兩個版本,一個是Enterprise(付費),社區可以免費使用。適用於Linux,Mac或Windows。

    NoSQLBooster是MongoDB CLI界面中非常流行的GUI工具。它正式名稱為MongoBooster。NoSQLBooster是一個跨平台,它帶有一堆mongodb工具來管理資料庫和監控伺服器。這個Mongodb工具包括伺服器監控工具,Visual Explain Plan,查詢構建器,SQL查詢,ES2017語法支持等等......它有免費,個人和商業版本,當然,免費版本有一些功能限制。NoSQLBooster也可用於Windows,MacOS和Linux。

    ClusterControl是另一個MongoDB工具,具有管理資料庫基礎結構的GUI。它還有兩個版本 - 社區和企業版。不用說,ClusterControl社區版可以免費使用,而企業則是付費的。它不僅限於MongoDB,還支持MySQL,MySQL復制,MySQL NDB集群,Galera集群,MariaDB,PostgreSQL,TimescaleDB,Docker和ProxySQL。

    ClusterControl為資料庫基礎架構提供全自動安全性,該基礎架構具有單個圖形用戶界面,可操作和自動化MongoDB和MySQL資料庫環境。它可通過YUM/APT提供回購,適用於Linux平台(RedHat,Centos,Ubuntu或Debian)。

    Nosqlclient是一個免費的開源MongoDB管理工具,基於Web的GUI意味著不再需要命令行來管理資料庫。我們可以使用Nosqlclient在MongoDB中插入,刪除或更新數據,而無需使用查詢。它可作為桌面應用程序,Docker和Web應用程序使用。Web使用HTTP為MOngoDB提供基於瀏覽器的界面。

    Robo 3T由MongoDB客戶端Studio 3T的開發人員維護和提供。以前,Robo 3T被稱為Robomongo。它也是適用於Windows,MacOS和Linux的跨平台MongoDB GUI管理工具。它具有相同的引擎和環境,是MongoDB shell(3.2)的一部分。

    上面提到的Robomong被3T收購並更名為Robot 3T;現在是Studio 3T的一部分。那麼,Studio 3T是什麼?與其他提到的MongoDB管理GUI工具一樣,Studio 3T也是一個基於GUI的工具,用於管理資料庫,但在付費類別中。但是,此工具的30天免費試用版允許用戶在投入資金之前使用並了解其功能。與免費和開源Robot 3T相比,Studio 3T具有更多功能並提供企業支持。與Robo 3T相同,它也適用於Windows,Linux(Ubuntu和CentOS)和MacOS。

    Mongo Management Studio是一個用於資料庫管理的免費MongoDB GUI工具。它輕巧,界面清晰,易於開發基於MongoDB的項目。它使用nodeJs,Electron框架,MongoDB和AngularJs開發。MMS與MongoDB 3.0/3.2/3.4兼容。

    與上述所有MongoDB管理工具一樣,用戶可以輕松安裝它,但免費版僅適用於Windows;而企業和個人則適用於Linux,Windows和MacOS。企業版(Web伺服器)支持MongoDB Web界面HTTP GUI,這意味著我們可以在主伺服器上安裝,之後可以在本地或遠程使用瀏覽器的任何系統上訪問。但是,個人版和免費版只能在已安裝它們的本地系統上使用。

    它是面向關系,NoSQL和雲平台的資料庫開發人員的通用集成開發環境(IDE)。因此,支持各種資料庫來開發,訪問,管理和可視化分析數據。

    對於MongoDB,Aqua Data Studio使用具有管理和資料庫查詢功能的圖形用戶界面作為管理工具。Aqua Data studio的Visual界面允許用戶瀏覽和修改資料庫結構,包括模式對象和集合,以及維護資料庫安全性。

    它提供了一個MongoDB資料庫工具包,包括各種工具,如Visual Analytics,MongoSQL查詢參考,MongoJS查詢分析器,MongoShell MongoShell,FluidShell,查詢和分析工具,網格和數據透視圖,表數據編輯器,導入和導出工具,實體關系建模;Visual Query Builder;比較工具:架構比較,文件比較;SQL 歷史 記錄,Open API腳本環境,集成安全Shell(SSH)和版本控制:Subversion(SVN),Git,CVS,Perforce。

    MongoJS查詢分析器Javascript編輯器允許執行JavaScript命令並支持自動完成和語法突出顯示。結果可以在樹層次結構,網格結果和文本中看到。

    作為付費產品,Aqua Data Studio的試用版提供14天,具有所有企業功能。所以,如果你正在尋找一些付費產品,那麼你可以在花錢之前免費試用它。它適用於Windows,Linux和MacOS。

    這聽起來像phpMyAdmin工具。但是,phpMoAdmin也是PHP編寫的但是可用於MongoDB。它基於Vork PHP框架。很輕巧,易於安裝。它只有115KB的moadmin.php文件,用戶可以放在網站的任何地方開始工作。

    它是一個跨平台的MongoDB管理工具,在Open Source許可下發布,使用Electron框架和Angular JS構建。可在GitHub上找到。

    以上談到了Windows,Linux和MacOS MongoDB管理客戶端,所以那些正在尋找智能手機和平板電腦的用戶mongoDB管理可以試試Mongolime。它為MongoDB移動客戶端提供了輕松連接和訪問MongoDB伺服器的功能。它具有內置的SSH隧道,可以通過SSL輕松驗證和連接遠程伺服器。MongoLime是免費增值MongoDB客戶端應用程序,支持iOS和Android平台。

    使用Node.js,Express和Bootstrap3編寫的基於Web的MongoDB管理界面。它允許連接多個資料庫;查看/添加/刪除資料庫,集合和文檔;預覽音頻/視頻/圖像資產;GridFS支持 - 添加/獲取/刪除難以置信的大文件;在文檔中使用BSON數據類型,Mobile / Responsive - Bootstrap以及更多功能。

    ⑨ 如何使用docker+jenkins實現自動化集成

    Docker 介紹
    Docker
    號稱是下一代的虛擬機,它在啟動和創建速度、性能、移植性等方面均優於傳統虛擬機。Docker 是 PaaS 提供商 dotCloud
    開源的一個基於 LXC 的高級容器引擎。它能夠讓開發者打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux
    機器上,也可以實現虛擬化。目前,通過 Boot2Docker 已能使 Docker 運行在 Windows 和 OS X 中。Docker
    容器完全使用沙箱機制,相互之間沒有任何介面。Docker 幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。最重要的是,
    他們不依賴於任何語言、框架或系統。
    Docker 在其網站上明確地提到的 Docker 的典型應用場景如下:
    對應用進行自動打包和部署
    創建輕量、私有的 PAAS 環境
    自動化測試和持續整合與部署
    部署和擴展 Web 應用、資料庫和後端服務
    在自動化測試領域,Docker 大有取代傳統虛擬機技術的趨勢,原因如下:
    自動化測試依賴的是測試所需要的應用,而並非整個操作系統。因此,傳統的虛擬機技術存在資源浪費。
    Docker 構建於 LXC 之上。藉助 LXC 輕量級的特性,相比於目前的虛擬機技術,Docker 啟動更快、資源佔用更小。
    Docker 比虛擬機輕量、靈活,便於管理。

    Docker 標准化的構建方法 (Dockerfile) 和良好的 REST API,使得自動測試和持續集成/部署能夠很好的集成進來。
    回頁首
    Sahi 介紹
    Sahi 是一個開源的 Web UI 自動化測試框架。盡管它的知名度不及 Selenium,用戶群也不及 Selenium 龐大,但它確有它獨特的魅力,例如:

    基於上下文的頁面元素識別機制。

    隱式頁面載入響應等待機制。

    良好的瀏覽器支持。

    優秀的跨瀏覽器錄制回放調試工具 Sahi Controller。
    這些特性都大大地加快了自動化測試腳本的開發速度,並降低了維護成本。
    Sahi
    通過一個用 Java 編寫的代理伺服器,將用戶的腳本轉換為 JavaScript 後注入往返的 HTTP
    請求及響應中,從而驅動瀏覽器事件。編程語言方面,除 Sahi 腳本(其本質是一個 JavaScript 庫)以外,還支持 Java 和
    Ruby。Sahi 有開源和收費兩個版本。雖然收費版本提供了很多開源版本不具備的高級特性,不過開源版本已經能夠滿足大部分的功能要求。點此查看開源版本與收費版本的差異。點此查看Sahi 與其他 Web 自動化測試框架的對比。
    回頁首
    Jenkins 介紹
    Jenkins
    是一種開源的基於 Java 開發的持續集成工具,前身稱作 Hudson。Jenkins
    提供了用於監控持續重復工作的軟體平台。它支持豐富的插件,用戶可以按照需求進行選擇安裝和配置,以實現生成執行狀態表格,自動部署、更新自動化測試包等
    高級功能。本文將要介紹 Jenkins 的 Docker 插件,它能夠動態地創建 Docker 容器作為 Jenkins Slave
    節點,並在執行任務後,自動關閉容器。另外,它還支持一些額外功能,比如當構建任務成功完成後自動將容器保存為鏡像、自動將鏡像上傳到資源庫等。
    回頁首
    實例演示
    該實例演示如何製作一個運行 Sahi 的鏡像以及如何在 Jenkins 上配置 Docker 插件以運行 Sahi 測試腳本。

    准備 Docker 鏡像
    本實例需要准備三個鏡像:一個運行 Jenkins,一個運行 Subversion,另外一個運行 Sahi。
    首先,製作運行 Sahi 的鏡像。Docker Hub 是一個用於分享 Docker 鏡像的資源庫。目前,該資源庫還沒有運行 Sahi 的鏡像,所以必須自己創建 Dockerfile 來構建鏡像。下圖是用來製作 Sahi 鏡像的目錄。
    圖 1. 製作 Sahi 鏡像的目錄
    下圖是 Dockerfile 的文件內容。
    圖 2. Dockerfile文件內容
    整個過程大體分為八個步驟:
    指定基礎鏡像

    我們使用的是 evarga/jenkins-slave。該鏡像基於 Ubuntu,安裝了 SSH 服務,並創建了用戶 Jenkins。

    替換系統默認更新源。把系統更新源替換為 163 的,後面的軟體安裝速度會比較快一些。

    安裝必要的軟體(不包括 Oracle Java 和
    Sahi):Firefox, Unzip 以及 Xvfb。刪除 Open JDK 是為了後面安裝 Oracle Java 做准備。Firefox
    不用多說,因為該鏡像用於 Web UI 自動化測試,所以安裝了最新版本的 Firefox。安裝 Unzip 是因為後面安裝 Sahi
    需要用到它。Xvfb(X virtual framebuffer)是一個 X11
    顯示伺服器的實現。它不是將圖形在屏幕上顯示出來,而是在內存中運行所有的圖形操作。對客戶端來說,除了無法看到真正的圖形顯示,沒有其他分別。一般稱這
    種運行方式為 headless。

    安裝 Oracle Java 8。理論上 Sahi 應當也支持 Open JDK,所以安裝 Oracle Java 不是必須的。

    安裝 Sahi。上傳了 zip 文件後,用 Unzip 解壓,Sahi 是基於 Java 的,所以解壓後即已安裝好 Sahi。之後,替換了幾個文件,它們的作用如下:
    Userdata.properties

    userdata.properties 中有個屬性叫
    proxy_alert.disabled,默認值為 false。用戶第一次啟動 Sahi Dashboard
    的時候,會彈出一個如下圖所示的對話框。用戶勾選了「Do no show this message again」並點擊 Continue
    按鈕之後,Sahi 修改該屬性值為 true。之後就不會在跳出這個對話框了。由於用 headless 的方式運行 Sahi
    無法點擊該對話框,所以必須事先用一個已將該屬性設置為 true 的文件替換 Sahi 默認的 userdata.properties。

    圖 3. Sahi 代理問題對話框

    sahi_example_com

    這是一個證書文件。用戶第一次在 Sahi Dashboard
    中打開 Firefox 時的頁面如下圖所示。用戶需要點擊 SSL Manager 鏈接手動接受 SSL 證書。此時,文件
    sahi_example_com 被生成到 userdata/certs 目錄下。之後,就不需要再進行該操作了。所以,復制的
    sahi_example_com 目的也是為了自動完成這步需要在圖形界面下才能完成的操作。

    圖 4. Sahi 啟動頁

    圖 5. SSLManager 的非信任連接頁面

    browser_types.xml

    替換該文件是為了使 Sahi 以 headless
    的方式工作。在該文件中,事先添加了一個名字為 firefox-xvfb 的瀏覽器配置信息。之後,測試腳本就可以指向該瀏覽器運行。具體配置 Sahi 和 Xvfb 的步驟參考。

    添加 init.sh 文件
    init.sh 文件用於啟動 Xvfb 和 Sahi。其內容如下。

    圖 6. init.sh 文件內容

    「sleep 5」是因為 Sahi 啟動需要一點時間,若立即運行測試腳本會導致失敗。

    修改許可權

    最終運行的容器是作為 Jenkins Slave 節點用
    Jenkins 用戶運行,因此將整個/usr/local 目錄及子目錄的所有人修改為 Jenkins,並給 Shell
    文件添加執行許可權。Jenkins 用戶是在基礎鏡像 evarga/jenkins-slave 中創建的,所以在這個 Dockerfile
    里沒有創建 Jenkins 用戶的語句。

    指定默認執行的命令
    CMD ["/usr/sbin/sshd","-D"] – 該語句令鏡像默認啟動 SSH 服務。事實上,這條語句也可以不添加,因為 evarga/jenkins-slave 的 Dockerfile 中已包含該語句。

    切就緒之後,在該目錄中執行「docker build -t shenrui/sahi –rm=true」。命令成功執行後,通過「docker
    images」應當可以查看到名為「shenrui/sahi」的鏡像。該鏡像已經上傳到 Docker Hub,有需要的讀者可以自行拉取。
    Sahi
    鏡像構建好之後,接下來准備 Jenkins 容器。Docker Hub 上已有官方的 Jenkins 鏡像,直接用命令「docker pull
    jenkins」拉取。在 Docker 主機上,創建一個目錄(例如,/data/jenkins_home),並修改許可權(chmod
    777)以便 Jenkins 容器能讀寫該目錄,然後用命令「docker run -d -t --name myjenkins -p
    8080:8080 -v /data/jenkins_home:/var/jenkins_home jenkins」啟動。此時,打開
    http://<Docker Host IP>:8080 應當可以看到 Jenkins 的管理頁面。
    同樣地,直接拉取 Docker Hub 的 Subversion
    的鏡像(docker pull bsboiko/subversion)。不過,還需要做進一步的配置。步驟如下:

    用命令「docker run -i -t bsboiko/subversion /bin/bash」以交互的方式啟動 Subversion 容器。

    在容器中創建目錄 /var/svn/repos(mkdir -p
    /var/svn/repos),並基於該目錄創建 Subversion 資源庫(svnadmin create
    /var/svn/repos)。

    在資源庫目錄下的 svnserve.conf
    文件中刪除「password-db = passwd」前面的注釋符 #,並在 passwd 文件中添加一行「shenrui =
    password」。

    用命令「docker commit <container id> mysvn」把上面所做的修改保存下來創建一個新鏡像 mysvn。

    最後,用命令「docker run -t -d -p
    3690:3690 --name mysvn mysvn svnserve -d --foreground -r
    /var/svn/repos」啟動 mysvn 容器。啟動時,添加容器到主機的埠映射「-p 3690:3690」以便之後直接通過主機 IP
    提交測試腳本。
    至此,Docker 上有兩個正在運行的容器(docker ps),名字分別是 myjenkins 和 mysvn。

    熱點內容
    碧藍航線pc掛機腳本 發布:2024-05-19 02:30:03 瀏覽:588
    腳本fir 發布:2024-05-19 02:28:57 瀏覽:260
    阿里雲獨享伺服器 發布:2024-05-19 02:23:54 瀏覽:253
    織夢源碼ga 發布:2024-05-19 02:23:20 瀏覽:571
    java文件名後綴 發布:2024-05-19 02:14:39 瀏覽:956
    快手點榜腳本 發布:2024-05-19 02:08:44 瀏覽:163
    pythonforinkeys 發布:2024-05-19 01:55:44 瀏覽:793
    電腦如何區域網共享文件夾 發布:2024-05-19 01:25:01 瀏覽:69
    手機存儲越大性能越好嗎 發布:2024-05-19 01:14:28 瀏覽:177
    我的世界hyp伺服器怎麼玩 發布:2024-05-19 00:51:25 瀏覽:801