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/de……

阅读全文

SpringBoot配置JSON格式的日志输出

前言 当应用被拆分为N多个微服务时,当系统遇到问题,能够准确的查看日志就成了一个非常现实的问题。 原因是以容器方式运行的服务可能分布在不同的服务器上,至少十几个的微服务,甚至更多。同时由于也不太可能给到研发人员所有的相关服务器权限, 因此,需要一个集中的日志查看分析的系统,这个系统就是……

阅读全文

使用maven运行jmeter测试脚本进行自动化接口测试-进阶

前言 承接上文 - 使用maven运行jmeter测试脚本进行自动化接口测试 本次主要增强了在自动化测试阶段的配置项,以及使用 jmeter gui 界面时的自动配置项。 使得gui 界面下与 非gui下自动测试的jmx脚本能够不做任何变更,即可在两种不同的环境下运行。使用gui界面更容易对脚本进行调试和测试。 检……

阅读全文

jmeter请求返回中文乱码的解决方案

问题现象 搭建自动测试服务器时,发现使用jmeter 访问接口,其返回的内容中文会乱码。同样的接口使用postman进行测试,则呈现良好无乱码。服务器端接口返回的编码是utf-8编码。 显然,应该是jmeter 对返回内容的解析与服务器端返回的编码不一致导致的。推测,postman应该是……

阅读全文

在docker-compose中启动redis并设置密码

docker-compose.yml redis: image: "redis:7.0.0-alpine" container_name: "redis" privileged: true ports: # docker容器redis默认端口号:6379 - "6379:6379" command: - redis-server - --requirepass - "your-password-here"命令行方式 启动 docker 容器时携带参数 --requirepass your-password 即可……

阅读全文

MYSQL 8 上使用正则表达式获取字符串

问题 使用 Nacos 进行微服务配置管理的时候,要构建新的 docker container 用来打包所有的微服务,并暴露所有的端口。由于微服务数量比较多,其端口分别配置在自己所属的配置文件内。因此手工处理的话,耗时且难于保证准确。因此直接使用 nacos 的数据库,通过 sql 的办法取出端口号,就成为一个更好的解决方案。 解决 打开 nacos 的配置数……

阅读全文

JMeter中如何自定义开发自己的插件

参考 JMeter 文档中的 notes_on_extending.txt Making a TestBean Plugin For JMeter This component will be a CSV file reading element that will let users easily vary their input data using csv files. Pick a package and make three files: [ComponentName].java (org.apache.jmeter.config.CSVDataSet.java) [ComponentName]BeanInfo.java (org.apache.jmeter.config.CSVDataSetBeanInfo.java) [ComponentName]Resources.properties (org.apache.jmeter.config.CSVDataSetResources.properties) CSVDataSet.java must implement the TestBean interface. In addition, it will extend ConfigTestElement, and implement LoopIterationListener. - TestBean is a marker interface, so there are no methods to implement. - Extending ConfigTestElement will make our component a Config element in a test plan. By extending different abstract classes, you can control the type of element your component will be (ie AbstractSampler, AbstractVisualizer, GenericController, etc - though you can also make different types of elements just by instantiating the right interfaces, the abstract classes can make your life easier). CSVDataSetBeanInfo.java should extend org.apache.jmeter.testbeans.BeanInfoSupport create……

阅读全文

最近文章

分类

标签

工具站

其它