- 博客(199)
- 资源 (6)
- 收藏
- 关注
原创 Golang: Gin 渲染模板的方式
Golang: Gin 渲染模板的方式方式1:Go 标准库 "html/template", template.ParseFiles()方式2:"github.com/gin-gonic/gin",gin.HTML()
2023-03-11 20:00:38
1220
3
原创 Golang: Gin Swagger 配置
Gin Swagger 配置 swagger是一套基于OpenAPI规范构建的开源工具,使用RestApi。swagger-ui 呈现出来的是一份可交互式的API文档,可以直接在文档页面尝试API的调用。 gin-swagger 是基于注释生成 API 文档,项目地址:https://github.com/swaggo/swag。
2023-03-04 01:25:20
941
原创 Gorm : Error 1292 (22007): Incorrect datetime value: ‘0000-00-00‘ for column ‘login_time‘ at row 1
Gorm : Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'login_time' at row 1 当前版本的 mysql 不能设置为 '0000-00-00'
2023-03-03 22:58:35
2276
1
原创 Zipkin : Golang 微服务全链路监控(四)
Zipkin : Golang 微服务全链路监控(四)Golang 微服务全链路监控实现1. broker-service -> auth-service -> postgres db2. zipkin 监控:需代码入侵使用 zipkin 库的 serverMiddleware,其通过 Http 跟踪(trace)链路。*访问 auth-service,需通过 zipkinhttp.NewClient() 方法
2023-02-18 00:38:00
740
原创 Zipkin : Golang 微服务全链路监控(三)
Zipkin : Golang 微服务全链路监控(三)Golang 微服务全链路监控实现1. broker-service -> auth-service -> postgres db2. zipkin 监控:需代码入侵使用 zipkin 库的 serverMiddleware,其通过 Http 跟踪(trace)链路。若要连接数据库,需传 tracer
2023-02-18 00:27:27
730
原创 Zipkin : Golang 微服务全链路监控(二)
Zipkin : Golang 微服务全链路监控(二)Golang 微服务全链路监控实现1. broker-service -> auth-service -> postgres db2. zipkin 监控:需代码入侵
2023-02-15 20:48:58
981
原创 Zipkin : Golang 微服务全链路监控(一)
Zipkin : Golang 微服务全链路监控(一)Golang 微服务全链路监控实现1. broker-service -> auth-service -> postgres db2. zipkin 监控:需代码入侵
2023-02-15 18:15:21
659
原创 Rabbitmq 消费者 : Exception (504) Reason: “channel/connection is not open“
## Rabbitmq 消费者 : Exception (504) Reason: "channel/connection is not open"启动微服务 Rabbitmq 时,定位 ch.consume() 出现异常
2023-02-10 12:41:55
3150
原创 Docker -- Forbidden path outside the build context
ERROR: Forbidden path outside the build context: ../broker-service/broker-service.dockerfile ()
2023-02-06 22:33:39
1515
原创 Error TypeError Cannot set properties of null (setting ‘innerHTML‘)
HTML 显示 JavaScript 结果报错:Error TypeError Cannot set properties of null (setting 'innerHTML')
2023-02-06 20:15:00
672
1
原创 压测: Locust 搭建性能监控平台
一、问题Locust 平台本身的数据是非持久化存储的,每次测试结束数据就清空了。二、解决方案Locust + Prometheus + Grafana
2022-12-05 16:15:20
881
2
原创 Docker CI: SonarScanner 本地 C# 代码质量检测到 SonarQube 服务器
SonarScanner 本地 C# 代码质量检测,在 SonarQube 服务器显示结果
2022-11-29 16:37:32
742
原创 Docker CI: 安装 SonarQube 异常 max virtual memory areas vm.max_map_count [65530] is too low
# docker logs sonarqube_sonarqube_1ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is
2022-11-29 12:21:10
1122
原创 Perforce P4 error: Unable to determine client host name
Jenknis 增加 P4 凭证后,测试服务器是否正常;报错:Unable to connect to: p4java://xxx.xxx.xxx.xxx:1666Unable to determine client host name: %s584d0eac1b29: 584d0eac1b29: Name or service not known
2022-11-09 15:52:24
514
原创 Perforce P4W error: file(s) not in client view
Perforce P4W error: file(s) not in client view
2022-11-08 15:47:56
1718
原创 Shell数据同步: 从服务器同步最新数据,并过滤结果
从服务器同步最新数据,并过滤结果 一、步骤1. 同步数据到本地;2. 通过serverTag过滤本次发布的版本文件;3. 如果有新数据,删除本地数据;4. 遍历目标文件,如果是战场40|50,复制到本地目录;5. 删除同步到本地的其他数据。
2022-11-02 11:47:06
301
原创 Jenkins: 使用Generic Webhook Trigger 插件配置webhook
Jenkins: 使用Generic Webhook Trigger 插件配置webhook
2022-10-14 16:22:55
1305
原创 Python betterproto 异常:-protoc-gen-python_betterproto: Plugin failed with status code 1.
Python betterproto 异常
2022-07-05 16:24:14
1439
原创 Jenkins集成:因为用户userid,导致 gitlab 权限异常
Jenkins集成:因为用户userid,导致 gitlab 权限异常一、问题:gitlab pull出现权限异常,报错为没有userid二、原因:虽然,Jenkins 配置页面显示 gitlab 正常,但是,Jenkins 的 console 一直报错。原因是 Jenkins node 中的 qa 用户因错操作删除。三、 解决方案:useradd 重新增加 qa 用户;修改 /etc/passwd 中,qa 用户的 userid 和groupid 为1001(qa: x:1001:1001
2022-03-02 12:03:33
706
原创 压测:Failed to establish a new connection: [Errno 99] Cannot assign requested address
压测:Failed to establish a new connection: [Errno 99] Cannot assign requested address一、原因socket TIME_WAIT状态未结束前,消耗完所有可用端口并尝试重用这些端口;导致没有可用端口。二、解决方案增加可用端口范围# sysctl net.ipv4.ip_local_port_rangenet.ipv4.ip_local_port_range = 32768 60999# sysctl net.ip
2022-01-28 15:15:35
4134
原创 日志收集处理服务框架:ELK + Filebeat
日志收集处理服务框架:ELK + Filebeat一、需求:压测数据分析和反馈说明:因为在压测产生异常数据时,需要手动登录到压测机上分析日志比较麻烦(压测服务器因业务需求可能到达10+台);所以搭建平台,为了快速搜索日志并跟开发沟通解决问题。二、官方框架filebeat 在服务节点上收集日志信息docker 运行 ELK 服务用户通过 Kibana Web 页面访问日志服务器: http://ip:5601三、配置环境ELK 服务器:$ docker-compose up -d
2022-01-19 17:14:20
2072
原创 性能测试:竞品APP性能对比测试
性能测试:APP性能对比测试一、需求:APP性能对比测试【APP测试前瞻】当前移动互联网已经过了草创时期,各家公司都在抢占市场和用户;那么,就看哪一家做的更精致(交互做的更好,崩溃出现的更少)。APP测试涉及各个方面,而稳定性和性能测试一般在功能测试完成后开展。如何应用自动化测试场景,如图1所示:二、思路:通过录屏方式,获取各个竞品的 APP 数据;截图分析,生成图表。三、配置:1.视频命名规范:产品名网络_手机型号.mp4 例:Tap加速器双通道_小米mi9.mp4
2022-01-11 15:31:48
2918
1
原创 压测:Locust 测试环境容器化
压测:Locust 测试环境容器化一、需求:统一版本虽然 Locust 压测环境安装简单,但是项目中常常出现版本问题导致异常。二、容器化docker-compose.ymlversion: '3'services: master: build: . container_name: locust-master restart: always ports: - "8089:8089" volumes: - ${PWD}:/usr/src/
2022-01-07 12:10:30
1103
原创 压测:快速设置所有压测机的vim环境
压测:快速设置所有压测机的vim环境一、需求:压测环境需要更好的使用vim编辑器二、配置:#!/bin/baships=('10.10.0.1' '10.10.0.2' '10.10.0.3')for addr in "${ips[@]}"do ssh root@"$addr" "yum install git -y; mkdir ~/.vim; mkdir ~/.vim/bundle; mkdir ~/.vim/colors" ssh root@"$addr" "cd ~/.vim
2022-01-06 20:05:49
475
原创 压测:Locust 多台压测机环境下,配置 Master 独立提供 redis 服务
压测:Locust 多台压测机环境下,配置 Master 独立提供 redis 服务一、需求:redis 服务提供刷用户、存入异常日志等信息。多台压测机环境下,让独立提供服务,防止数据重复。二、Master 压测机配置redis服务# vim /etc/redis.confbind 127.0.0.1 10.0.0.10protected-mode no三、测试代码 redis 相关配置redis服务地址配置: redis_conf.pylocal_redis = False #
2022-01-06 12:31:51
891
原创 压测:Locust & WebSocket 二次开发
压测:Locust & WebSocket 二次开发一、需求:压测 WebSocket 接口性能问题。二、问题:Locust 仅封装了Http Client;压测使用 WebSocket,需二次开发三、解决方案:学习Http ClientDrawScript.py#!/usr/bin/env python# -*- coding: utf-8 -*-"""------------------------------------------------- File Nam
2022-01-04 18:20:49
2141
原创 Websocket异常: [SSL: CERTIFICATE_VERIFY_FAILED]
Websocket异常: [SSL: CERTIFICATE_VERIFY_FAILED]平台:Mac OS语言:Python库:websocket-client一、问题:在 Mac OS 中,使用 websocket-client 出现报错。二、解决方案:在 Python 目录下,安装 Certificates 并更新 Shell Profile 即可。...
2022-01-04 11:01:51
2055
1
原创 APP 测试框架二次开发:Python, Appium & BeatifulReport
APP 测试框架二次开发:Python, Appium & BeatifulReport一、需求:需要对APP功能进行测试,重新封装 Python & Appium。二、结构:项目配置文件:conf核心模块:core业务逻辑:logic脚本:scripts软件包:apk截图:img报告:report入口:run_script.py三、入口:run_script.py# coding=utf-8import argparseimport osimp
2021-12-31 18:04:56
1112
原创 压测:Locust测试结束后,实时信息推送
压测:Locust测试结束后,及时信息推送一、需求:压测结束后,企业微信实时反馈信息给项目组。二、问题:记录到Redis里面的数据,在Locust Teardown发送消息时,是每个worker都发送一份Teardown三、解决方案:Redis增加Lockimport redis_lockfrom locust import HttpLocustfrom script import Taskfrom userid.qstools import set_user_infofrom
2021-12-23 12:24:51
708
原创 Python协程安全问题:Context Variables
Python协程安全问题:Context Variables一、问题:最近,同事压测遇到奇诡问题,添加好友功能在少量并发压测时没有问题;但是,增加并发压力后,出现增加好友失败。和开发等位问题时,发现是不同用户重复发送同一个authentication。只是,不能确定是开发的bug还是测试代码问题。正常情况错误情况二、定位问题:tcpdump + wireshark 抓包# tcpdump -i eth0 -nn ip src host node1 -w friends.cap#
2021-12-17 21:02:07
3457
原创 数据筛选:Namedtuple 的运用
数据筛选:Namedtuple 的使用一、需求:需要对上面xls文档进行数据筛选。当要多列数据结合统计时,使用Namedtuple比字典高效。二、原因:Namedtuple比普通tuple具有更好的可读性,可以使代码更易于维护。同时与字典相比,又更加的轻量和高效。但是有一点需要注意,就是namedtuple中的属性都是不可变的。任何尝试改变其属性值的操作都是非法的。三、使用:为了构造一个namedtuple需要两个参数,分别是tuple的名字和其中域的名字。比如,tuple的名字是“apply
2021-12-05 23:12:14
1641
原创 压测:Docker安装Pythonnet环境
压测:Docker安装Pythonnet环境一、需求:压测C#项目时,Python需要调用Pythonnet(DLL库)二、问题:测试开发时,每个人的环境可能不同。如果使用Docker作为开发环境,就可以避免这种情况产生的问题。三、安装使用:1.从Dockerfile编译docker build -t allan-pythonnet:0.01v . # 从Dockerfile编译DockerfileFROM eversysrnd/pythonnet:3.7.9-with-dependen
2021-12-02 12:07:54
403
原创 压测:Ubuntu20.04下,安装Pythonnet的方法
压测:Ubuntu20.04下,安装Pythonnet的方法一、需求:压测C#项目时,Python需要调用Pythonnet(DLL库)二、问题:简单解释一下,为什么怎么安装都会失败:To install on Linux some dependencies are required such as: (你可以在这里看到所有的Troubleshooting说明)Mono-complete or Mono-devel (https://www.mono-project.com/download/s
2021-12-01 17:04:03
469
autoMonkey框架源代码
2017-11-21
360webdriver
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人