原创 【go】gorm中去掉默認表名後的s複數形式

【go】gorm中去掉默認表名後的s複數形式 背景 使用gorm時,查詢數據時mysql報錯,顯示錶名不存在,仔細查看,報錯的表名中增加了s,比如實際數據庫表名是:ali_user,報錯信息中顯示錶 ali_users 不存在 原因 gor

原创 【go】go錯誤,panic:assignment to entry in nil map 問題記錄

一個go的map相關的panic錯誤 背景:在獲取多個數據時,從數據庫取到多條數據,需要把多條數據返回給前端,定義一個res返回值,爲map[string]any類型,在賦值後運行發生 panic:assignment to entry i

原创 【python】解決python項目中循環依賴問題-動態引入

解決python項目中循環依賴問題-動態引入 背景:在做客戶端性能測試框架過程中需要從統一入口去調用case,統一入口文件中存在公有方法,於是導致A->B->A的循環引入問題 解決:動態引入需要的包 # 在具體的方法中引入包,不在文件開始的

原创 uiautomator2的安裝與使用

開源項目地址:https://github.com/openatx/uiautomator2 介紹: uiautomator2是做安卓自動化框架,內部封裝了一系列的操作安卓app的方法 原理: python端: 運行腳本,並向移動設備

原创 gin框架中結合cron實現定時任務執行

gin框架中結合cron實現定時任務執行 背景:一個hr管理系統中,需要每日定時處理員工離職操作,需要每天定時執行刪除賬號等操作,在這使用定時任務比較方便,比如每天晚21點執行 實現方式如下: 創建定時任務 # 新建Console包,統

原创 uiautomatou2常用方法

參考地址:https://www.jianshu.com/p/38f48390c538 官方文檔:https://github.com/openatx/uiautomator2

原创 自動化測試 - php調用jenkins-api構建job

背景:前一節搭建jenkins並創建了job任務後,用戶可以在jenkins平臺手動點擊構建來執行pytest自動化任務,想實現一個從web界面去觸發構建jenkins中的job任務,在這選擇使用php來調用jenkins-api去觸發構建

原创 mac電腦系統升級後,php -v 錯誤顯示:icu4c相關錯誤解決辦法(解決:升級php)

mac升級後,[email protected]環境損壞,提示icu4相關錯誤解決辦法 背景:mac電腦在一次升級後,php環境損壞導致php無法使用,提示如下信息: 具體原因:電腦升級後brew損壞,重新執行過brew相關的升級,包括所有軟件包,導致icu4

原创 自動化測試 - mac安裝jenkins並安裝allure插件,構建執行pytest自動化用例併產出allure結果

背景:jenkins + pytest + allure,產出自動化測試結果 步驟如下: 一、mac安裝jenkins 1. 方法一:(不推薦,跳過) 安裝tomcat 下載jenkins並放到tomcat的www目錄 2. 方法二:b

原创 php優化 - 防止跨域攻擊

php優化 - 防止跨域攻擊 解決方案: 驗證 HTTP Referer 字段 服務端生成token,下發到客戶端,客戶端提交後並進行驗證 http的header頭自定義屬性,每次驗證header頭中的自定義的屬性值

原创 數據庫 - db和redis數據一致性問題

數據庫 - db和redis數據一致性問題 直接說解決辦法: 查詢數據操作: 查詢緩存,如果命中,直接返回;如果沒有命中,查詢數據庫,再寫入緩存 更新數據操作: 直接更新db數據庫 然後刪除緩存 刪除數據操作: 先刪除

原创 協議 - tcp和udp的區別

協議 - tcp和udp的區別 TCP/IP協議: 是一個協議簇。裏面包括很多協議的,UDP只是其中的一個, 之所以命名爲TCP/IP協議,因爲TCP、IP協議是兩個很重要的協議,就用他兩命名了。 TCP協議: 可靠的面向連接的協議,

原创 php合併數組幾種方法

幾種合併數組方法如下: 使用+號合併數組結果: 鍵名相同時,前邊的鍵值覆蓋後邊的鍵值 array_merge()方法: 鍵名相同時,後邊的鍵值覆蓋前邊的鍵值 array_merge_recursive()方法: 鍵名相同時,

原创 php優化 - nginx與php-fpm通信協議

CGI:通信網關協議 CGI協議:動態語言的代碼文件需要對應的語言解釋器才能被服務器識別,CGI協議就是用來使得解釋器與服務器之間互相通信 請求鏈路: 1、客戶端輸入ur 2、解析到服務器IP 3、請求發送到Web服務器(nginx)

原创 定時任務-crontab簡單用法

定時任務-crontab簡單用法 crotab定時任務: 在服務器上設置定時器,來執行特定的任務腳本,比如php XXX或者 python XXX,或者 go run *** crontab基本用法: - crontab時間設置: #