原创 gitlab-ci+docker+supervisor+uwsgi部署踩坑,使用uwsgi,如何查看500錯誤?

需求:搭建了autotest自動化工程,結合了flask,目的是將autotest中的方法開放接口出去(存在跨語言調用),並且開放了自動化測試接口出去(pytest+allure),以便可以實現調用接口跑case。 部署:gitl

原创 Run GitLab Runner in a container (Docker in docker)

GitLab Runner 官方文檔:https://docs.gitlab.com/runner/ 支持以下運行環境:詳情見上述文檔。 Install using GitLab’s repository for Debian/U

原创 java-使用keytool信任自簽證書,需要重啓

目前我司的技術棧是Java和Python,且都調用第三方的服務,因此需要mock第三方的服務以便開發測試使用。之前已整理過[Python requests信任自簽證書的問題]。(https://blog.csdn.net/wind

原创 python進程線程詳解

如下是目錄結構: 多進程 multiprocessing 進程池 Pool 子進程 進程間通信 進程小結 多線程 Lock 多核CPU ThreadLocal 進程 vs. 線程 線程切換 計算密集型 vs. IO密集型 異步IO

原创 CentOS 7 安裝MongoDB詳細步驟 及 supervisor 管理MongoDB踩坑

安裝MongoDB: 創建/etc/yum.repos.d/mongodb-org-4.0.repo文件,編輯內容如下: [mongodb-org-4.0] name=MongoDB Repository baseurl=http

原创 Supervisor 管理進程詳解

Supervisor 是一個用 Python 實現的進程管理工具,可以很方便地啓動,關閉,重啓,查看,以及監控進程,當進程由於某種原因崩潰或者被誤殺後,可以自動重啓併發送事件通知。Supervisor 可謂運維利器,使用 Superv

原创 Java HTTP 組件庫選型看這篇就夠了

最近項目需要使用 Java 重度調用 HTTP API 接口,於是想着封裝一個公用的 HTTP client lib. 這個庫需要支持以下特性: 1、連接池管理,包括連接創建和超時、空閒連接數控制、每個 host 的連接數配置等。基本

原创 @RequestParam、@RequestBody和@ModelAttribute(application/x-www-form-urlencoded, application/json)

@RequestParam A) 常用來處理簡單類型的綁定,通過Request.getParameter() 獲取的String可直接轉換爲簡單類型的情況( 由String到 簡單類型的轉換操作由ConversionService配置

原创 HttpServletRequest request 獲取form參數的兩種方式

@RequestMapping(value="/query",method = RequestMethod.POST) public String buildRequest(HttpServletRequest request){

原创 springboot+idea熱部署

spring爲開發者提供了一個名爲spring-boot-devtools的模塊來使Spring Boot應用支持熱部署,提高開發者的開發效率,無需手動重啓Spring Boot應用。 devtools的原理 深層原理是使用了兩個Cl

原创 證書(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)

SSL SSL - Secure Sockets Layer,現在應該叫"TLS",但由於習慣問題,我們還是叫"SSL"比較多.http協議默認情況下是不加密內容的,這樣就很可能在內容傳播的時候被別人監聽到,對於安全性要求較高的場合,

原创 SpringBoot構建RESTful service完成Get和Post

SpringBoot構建RESTful service完成Get和Post 一個基本的RESTfule service最進場向外提供的請求Method就是Get和Post。 在Get中,常用的都會在請求上帶上參數,或者是路徑參數。響應

原创 使用spring validation完成數據後端校驗

簡述JSR303/JSR-349,hibernate validation,spring validation之間的關係。 (1)JSR303是一項標準,JSR-349是其的升級版本,添加了一些新特性,他們規定一些校驗規範即校驗註解,

原创 Java中int與Integer、Long與long的區別

Long與long究竟有什麼區別呢? 無外乎,int與Integer! 我們知道Java的數據類型分兩種: 1.基本類型:long,int,byte,float,double,char … 2.對象類型(類): Long,Intege

原创 long(Long)與int(Integer)之間的轉換

1.將long型轉化爲int型,這裏的long型是基礎類型: long a = 10; int b = (int)a; 2.將Long型轉換爲int 型的,這裏的Long型是包裝類型: Long a = 10; int b