datagrap mysql Communications link failure

今天使用 datagrap 连接 mysql(5.7) 服务器,在确认链接信息正确的情况下 竟然提示 mysql Communications link failure 其他人使用 navicat 连接则正常。 最后发现是因为 datagrap 默认使用 ssl 连接导致的。在数据库连接对话框 高级 选项里,找到 useSSL 将其值修改为 False即可。 即不使用ssl方式连接该mysql服务器。……

阅读全文

使用appium与python进行app的UI自动化测试

前言 对于自动化测试而言,UI 自动化测试相当于最后的验收测试环节。此时,其前置的单元自动化测试,接口自动化测试,接口集成自动化测试都是保障数据及逻辑层面的 正确性。而 UI自动化测试 则真正集成了用户端的真实操作,其结果也更贴近用户的感受。因此,也就更为重要。但由于电商互联网的快节奏改版……

阅读全文

iPhone手机连接Mac电脑时不断跳出信任弹窗的解决

iPhone手机连接电脑时不断跳出信任弹窗的解决 由于苹果手机及电脑的安全机制,每次手机接到电脑的时候,都要用户进行授权。因此会有是否信任该电脑的弹窗。 一旦信任通过,在授权过期前则不会弹出该窗口。 然鹅,今天用新买的数据线连mac电脑时,手机上的弹窗不断的弹出,根本没法点击信任。因为……

阅读全文

使用maven运行jmeter测试脚本进行自动化接口测试-命令行传参

需求 在执行jmeter测试的时候,有时候限于系统的原因,无法实现mock操作,那么就需要人工操作的介入。例如:用户下单购买时微信支付的操作或佣金结算等需要执行后台的结算任务等。因此,jmeter脚本内可能需要分阶段运行预期的阶段。 尝试解决这个办法,就是允许命令行携带参数覆盖原本j……

阅读全文

连接Docker内的Postgres数据库

命令行 方式启动postgres in docker docker run --name postgres -e POSTGRES_PASSWORD=123456 -e POSTGRES_USER=postgres -e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 -d postgres:14.4 注意事项 启动参数 -e ALLOW_IP_RANGE=0.0.0.0/0 必须加上,否则无法从容器外部访问该postgres实例 默认的postgres实例监听的是5432端口,最好通过端口映射到宿主机的方式进行 docker-compose 方式启动 postgre in docker……

阅读全文

使用 zap 替换 xorm 的日志系统

使用 zap 替换 xorm 的日志系统 zap 是 uber 开发的快速日志。 使用 https://github.com/yxlimo/xormzap 这个简易的适配器即可 代码如下: log.go 工具类 package util import "go.uber.org/zap" var logger *zap.Logger func Log() *zap.Logger { if logger != nil { return logger } g, _ := zap.NewProduction() logger = g return logger } func L() *zap.SugaredLogger { if logger != nil { return logger.Sugar() } return Log().Sugar() } repo.go 基于 xorm 的简陋封装 package repo import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/yxlimo/xormzap" "xorm.io/xorm" "xorm.io/xorm/names" "yujinping.top/pams/util" ) var engine *xorm.Engine func Repo() *xorm.Engine { if engine != nil { return engine } var err error username := "root" password := "" host := "localhost" port := 3306 database……

阅读全文

go交叉编译生成跨平台应用

Go 交叉编译 Golang 支持交叉编译,可以在一个平台上编译生成另一个平台的可执行程序。 默认情况下,Go的runtime环境变量CGO_ENABLED=1,即默认开始cgo,允许你在Go代码中调用C代码 如果标准库中是在CGO_ENABLED=1情况下编译的,那么编译出来的最终二进制文件可能是动……

阅读全文

go使用embed嵌入静态资源

第一步构建 vue project 可以创建一个简单的vue3 + vite 的项目。 编译时,需要将发布路径设置为 /public/ ,完成后,将 dist 文件夹移动到 go 项目的根文件夹。 嵌入资源文件 嵌入资源文件主要是使用 Go 1.16后增加的编译 //go:embed 预编译方式。 我使用的是 Go 1.18.3 版本。 修改 main.go package main import ( "embed" "io/fs" "net/http" ) // 注意 嵌入文件夹的时候,要使用 dist/** 形式告诉编……

阅读全文

go使用匿名结构体嵌入时警告

现象 使用gin + jwt-go 做jwt验证的时候,写下如下结构体 type CustomClaims struct { Name string `json:"name"` UserId string `json:"userId"` // StandardClaims结构体实现了Claims接口(Valid()函数) jwt.StandardClaims } 初始化结构体 func (c *LoginController) generateToken(user entity.User) (string, error) { // 构造SignKey: 签名和解签名需要使用一个值 j := helper.NewJWT() // 构造用户claims信息(负荷) claims := helper.CustomClaims{ user.RealName,……

阅读全文

version of Delve is too old for Go version

在更新了 go 版本后,使用 GoLand 进行调试会报错 WARNING: undefined behavior - version of Delve is too old for Go version 1.20.5 (maximum supported version 1.19) 这是因为 go 的版本升级后,相对 dlv 的版本就低了。 所以解决办法就是升级对应的 dlv 版本 进入到 GOPATH 中 如果忘记了 GOPATH 是什么,输入 go env GOPATH 即可。 在 GOPATH 对应目录下安装最新版的 dlv go install github.com/go-delve/delve/cmd/dlv@latest 安装完毕后,其被安装在 GOPATH/bin 目录下,即 GOPATH/bin/dlv 打开 GoLand 菜单栏 Help……

阅读全文