Linux机器通过Docker-Compose安装Jenkins发送Allure报告
目录
一、安装Docker
二、安装Docker Compose
三、准备测试用例
四、配置docker-compose.yml
五、启动Jenkins
六、配置Jenkins和Allure插件
七、创建含pytest的Jenkins任务
八、项目结果通知
1.通过企业微信通知
2.通过邮件通知
九、配置域名DNS解析
最近小编接到一个任务用来监测和巡检网络入口是否正常,下面是我实现的思路图:
下面是我要实现的具体步骤:
一、安装Docker
在CentOS上,首先更新包管理工具并安装所需的包。
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
接下来,添加Docker的官方仓库,然后安装Docker。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
在执行这步骤的时候可能会出现下载Docker不成功,我后面采用aliyun下载的并设置了自己的代理。
启动Docker服务,并设置为开机自启。
sudo systemctl start docker
sudo systemctl enable docker
二、安装Docker Compose
需要下载Docker Compose的当前稳定版本。检查Docker Compose GitHub仓库上的最新版本。
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
这里最开始下载存在问题,我是登录仓库后下载对应的文件后,通过scp命令上传到/usr/local/bin目录下,并重命名为docker-compose
chmod +x docker-compose-linux-x86_64mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
验证安装是否成功。
docker-compose --version
三、准备测试用例
准备用pytest编写的测试用例。例如,创建一个简单的测试文件test_example.py
# test_example.pydef test_example():assert 1 == 1def test_example_fail():assert 1 == 2
四、配置docker-compose.yml
创建docker-compose.yml文件来定义Jenkins服务。此配置将Jenkins作为服务运行,并准备了用于持久化数据和与宿主机的Docker守护进程通信的卷。因为我需要用到python脚本,采用pytest框架,这里我构建了python镜像。
version: '3.9'
services:jenkins:image: jenkins/jenkins:ltscontainer_name: jenkinsnetwork_mode: "host"user: rootrestart: alwaysvolumes:- /var/run/docker.sock:/var/run/docker.sock- /root/compose/jenkins/jenkins_data:/var/jenkins_home- /root/compose/jenkins/pythonProject:/var/jenkins_home/pythonProject- /root/compose/jenkins/apache-maven-3.9.8:/usr/local/apache-maven/apache-maven-3.9.8- /root/compose/jenkins/jdk-11.0.23:/usr/local/jdk-11.0.23- /root/compose/jenkins/conf/profile:/root/.bashrcenvironment:- TZ=Asia/Shanghaipython:image: python:3.10container_name: pythonvolumes:- /root/compose/jenkins/pythonProject:/usr/srcworking_dir: /usr/srccommand: bash -c "pip install -r requirements.txt && tail -f /dev/null"
五、启动Jenkins
运行以下命令在后台启动Jenkins服务:
docker-compose up -d
我配置了portainer可视化界面,可看到启动后的镜像信息:
六、配置Jenkins和Allure插件
1.访问http:<机器名称>:8080进行Jenkins的初始化配置。
2.安装Allure Jenkins插件:进入管理--》插件管理,在“可选插件”标签页搜索“Allure Jenkins Plugin”进行安装。
3.重启Jenkins以应用安装的插件。
七、创建含pytest的Jenkins任务
1.在Jenkins中创建一个新的“自由风格的软件项目”。
2.在“源代码管理”部分,配置你的项目库(如果你的测试用例放在Git等版本控制系统中)。
3.在“构建”部分,添加“执行shell”步骤,填写命令来安装pytest和allure-pytest,并执行测试用例。
python3 -m ensurepip --upgrade # 确保pip3安装/更新
pip3 install pytest
pip3 install allure-pytest
python3 -m pytest --alluredir=allure-results test_example.py
后续网络入口特别多的情况下,执行一次会耗时2h,时间成本太高,修改shell语句:
cd /var/jenkins_home/pythonProject
#可以先安装pytest-xdist插件
pip3 install pytest-xdist
#通过requirements.txt文件包含全部的依赖插件
pip3 freeze > requirements.txt#上面两个步骤可以提前在jenkins容器内执行,这里可不执行pytest -n 8 test_redirects.py --alluredir "allure-results" --clean-alluredir
4.运行Jenkins任务并查看Allure报告
但是最开始这里执行会报错,pip和python不存在,采用新的方式在docker容器内下载python3
首先以root用户权限进入到jenkins容器内:
docker exec -itu root jenkins /bin/bash
执行命令:
apt-get update
#直接容器中安装 wget
apt install -y wget#先安装依赖
apt -y install gcc automake autoconf libtool make
apt -y install make*
apt -y install zlib*
apt -y install openssl libssl-dev
apt install -y build-essential
apt install sudo
sudo apt-get update
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
sudo apt-get install libxpm-dev libxext-dev
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev #下载python
wget https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz#解压下载的python包
tar -zvxf Python-3.12.1.tgz#进入目录
cd /var/jenkins_home#修改目录名称
mv Python-3.12.1 python3#进入到python3目录
cd python3#执行命令
./configure --prefix=/var/jenkins_home/python3#make编译安装
./configure --prefix=/var/jenkins_home/python3 --with-ssl#这时候可能会提示执行命令:
./configure --enable-optimizations
make
make install#添加python3软链接
which python3ln -s /var/jenkins_home/python3/bin/python3.12 /usr/local/bin/python3#添加pip3软链接
ln -s /var/jenkins_home/python3/bin/pip3 /usr/local/bin/pip3#检查是否安装成功
python3 --version
pip3 --version
运行刚刚配置的Jenkins任务。构建完成后,Jenkins将会显示一个“Allure报告”的链接,点击它即可查看详细的测试报告。
通过上述步骤就可以在CentOS系统上,通过docker-compose安装Jenkins,并通过Jenkins运行pytest编写的Python测试用例,并生成Allure测试报告了。
八、项目结果通知
1.通过企业微信通知
可在“执行shell”中加入语句:
curl https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=yourkey \-H 'Content-Type: application/json' \-d '{"msgtype": "markdown","markdown": {"content": "# 基建消防队 <font color=\"warning\"></font>\n> ### 级别状态: <font color=\"green\">S1 Recovered</font>\n> ### 规则标题: <font color=\"comment\">监控对象失联</font>\n> ### 规则备注: <font color=\"comment\">检查categraf到n9e链路是否正常</font>\n> ### 负责人: <font color=\"comment\">@xxx</font>\n> [查看详细报告](填写报告链接地址)"},"mentioned_list":["@all"]}'
在后面监测过程中想要报告展示的信息更全面,包含总测试案例、通过案例和通过率等字段的展示,可以更直观的看出报告详情。为了实现此功能,首先编写了python测试脚本result.py:
import json#需注意这里的地址一定是容器内的地址!
with open('/path/to/report/directory/widgets/summary.json', 'r') as f:summary = json.load(f)total_cases = summary['statistic']['total']
passed_cases = summary['statistic']['passed']
pass_rate = passed_cases / total_cases * 100print(f"总测试案例:{total_cases}")
print(f"通过案例:{passed_cases}")
print(f"通过率:{pass_rate:.2f}%")
其次在构建项目中修改原有的"执行shell"脚本,这是我第一次写的脚本
# 运行Python脚本,捕获输出
output=$(python /var/jenkins_home/pythonProject/result.py)# 使用curl发送企业微信消息
curl https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=yourkey \-H 'Content-Type: application/json' \-d '{"msgtype": "markdown","markdown": {"content": "# 基建消防队 <font color=\"warning\"></font>\n> ### 级别状态: <font color=\"green\">S1 Recovered</font>\n> ### 规则标题: <font color=\"comment\">网络入口监测</font>\n> ### 规则备注: <font color=\"comment\">检查网络入口是否正常通信</font>\n> ### 负责人: <font color=\"comment\">@xxx/font>\n> ### 报告详情: <font color=\"comment\">'$output'</font>> [查看详细报告](填写你的报告链接地址)"},"mentioned_list":["@all"]}'
上述脚本执行项目后在群里发送的样式为:
实在是太丑了,有没有!!
后面为了优化此报告,经历了不断的修改,最后给出正确的代码!
修改result.py脚本内容为:
import jsonreport_path = '/var/jenkins_home/pythonProject/allure-report/widgets/summary.json'
with open(report_path, 'r') as f:summary = json.load(f)total_cases = summary['statistic']['total']
passed_cases = summary['statistic']['passed']
pass_rate = passed_cases / total_cases * 100# 构建markdown格式的消息
markdown_message = f"""
> ### 总测试案例:<font color=\\\"orange\\\">{total_cases}</font>
> ### 通过案例:<font color=\\\"green\\\">{passed_cases}</font>
> ### 通过率:<font color=\\\"green\\\">{pass_rate:.2f}%</font>
"""print(markdown_message.strip())
修改shell脚本内容为:
# 运行Python脚本,捕获输出
output=$(python /var/jenkins_home/pythonProject/result.py)# 使用curl发送企业微信消息,注意在此处使用双引号以允许变量展开
curl https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=yourkey \-H 'Content-Type: application/json' \-d "{\"msgtype\": \"markdown\",\"markdown\": {\"content\": \"# 基建消防队 <font color=\\\"warning\\\"></font>> ### 级别状态: <font color=\\\"red\\\">S1 Recovered</font>> ### 规则标题: <font color=\\\"comment\\\">网络入口监测</font>> ### 规则备注: <font color=\\\"comment\\\">检查网络入口是否正常通信</font>> ### 负责人: <font color=\\\"comment\\\">@xxx</font>> ${output}> [查看详细报告](填写你的报告链接地址)\"},\"mentioned_list\":[\"@all\"]}"
这样报告明显好看多了呢~
后面接口越来越多的情况下,有些接口第一次调用是失败的,但是发现当有测试case执行失败时,竟然影响到了整个项目的构建结果,这个肯定是不合理的。需要修改shell脚本解决此问题:
cd /var/jenkins_home/pythonProjectpytest -v -n 8 test_networkMonitor.py --alluredir "allure-results" --clean-alluredir || true
加入“|| true”判断会保证,不管pytest结果如何,脚本的执行都会继续进行,从而避免因测试失败而影响到最后的构建结果。
2.通过邮件通知
(1)系统管理-->全局凭据配置-->设置发送邮件的用户名和密码作为全局凭据
(2)系统管理-->系统设置-->Extended E-mail Notification-->设置相关参数
(3)系统管理-->系统设置-->邮件通知-->设置相应参数
(4)你的项目-->构建后操作-->Editable Email Notification-->设置相应参数
这样就可以实现邮件发送啦~
九、配置域名DNS解析
最开始的思路是通过部署nginx,编写了docker-compose.yml文件
version: '3.9'
services:jenkins:image: jenkins/jenkins:ltscontainer_name: jenkinsnetwork_mode: "host"user: rootrestart: alwaysvolumes:- /var/run/docker.sock:/var/run/docker.sock- /root/compose/jenkins/jenkins_data:/var/jenkins_home- /root/compose/jenkins/pythonProject:/var/jenkins_home/pythonProject- /root/compose/jenkins/apache-maven-3.9.8:/usr/local/apache-maven/apache-maven-3.9.8- /root/compose/jenkins/jdk-11.0.23:/usr/local/jdk-11.0.23- /root/compose/jenkins/conf/profile:/root/.bashrcenvironment:- TZ=Asia/Shanghainginx:image: nginxcontainer_name: nginxrestart: alwaysuser: rootports:- "80:80"volumes:- /root/compose/jenkins/nginx:/etc/nginx/conf.ddepends_on:- jenkins
在/root/compose/jenkins/nginx下新增nginx.conf文件,文件内容:
server {listen 80;server_name 你想要解析的域名;location / {proxy_pass http://你的机器IP:8080;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
}
nginx启动之后,输入全新的域名就可以登录了
后续方案升级,端口转发交给docker,域名解析交给运维,不在需要nginx,最终的docker-compose.yml修改为:
version: '3.9'
services:jenkins:image: jenkins-terra:ltscontainer_name: jenkinsuser: rootrestart: alwaysvolumes:- /var/run/docker.sock:/var/run/docker.sock- /root/compose/jenkins/jenkins_data:/var/jenkins_home- /root/compose/jenkins/pythonProject:/var/jenkins_home/pythonProject- /root/compose/jenkins/apache-maven-3.9.8:/usr/local/apache-maven/apache-maven-3.9.8- /root/compose/jenkins/jdk-11.0.23:/usr/local/jdk-11.0.23- /root/compose/jenkins/conf/profile:/root/.bashrcenvironment:- TZ=Asia/Shanghaiports:- "80:8080"
你学废了吗?
相关文章:
![](https://img-blog.csdnimg.cn/direct/0402ccf11315464484fcd760e93ed3e4.jpeg)
Linux机器通过Docker-Compose安装Jenkins发送Allure报告
目录 一、安装Docker 二、安装Docker Compose 三、准备测试用例 四、配置docker-compose.yml 五、启动Jenkins 六、配置Jenkins和Allure插件 七、创建含pytest的Jenkins任务 八、项目结果通知 1.通过企业微信通知 2.通过邮件通知 九、配置域名DNS解析 最近小编接到一…...
![](https://img-blog.csdnimg.cn/direct/0790ea7e1be249d8946c867ff5f6268e.png)
基于Gunicorn+Flask+Docker模型高并发部署
关于猫头虎 大家好,我是猫头虎,别名猫头虎博主,擅长的技术领域包括云原生、前端、后端、运维和AI。我的博客主要分享技术教程、bug解决思路、开发工具教程、前沿科技资讯、产品评测图文、产品使用体验图文、产品优点推广文稿、产品横测对比文…...
![](https://www.ngui.cc/images/no-images.jpg)
java:类型变量(TypeVariable)解析--基于TypeResolver实现将类型变量替换为实际类型
上一篇博客《java:类型变量(TypeVariable)解析–获取泛型类(Generic Class)所有的类型变量(TypeVariable)的实际映射类型》中介绍如何如何正确解析泛型类的类型变量(TypeVariable),获取对应的实际类型。 有了类型变量(TypeVariable)–实际类型的映射,我们…...
![](https://img-blog.csdnimg.cn/direct/51d1df2cf7484107aa2bb113f41fcf82.png)
ru俄罗斯域名如何申请SSL证书?
我们日常看到的都是com这种国际域名比较普遍,尤其是主流网站,主要原因考虑的其通用性,那么对于地方性的域名大家很少看到,比如俄罗斯国家域名.ru大家还是有些陌生的,但要说中国.CN域名那你就很熟悉了。 有用户在申请过…...
![](https://www.ngui.cc/images/no-images.jpg)
python实现购物车的功能
模拟购物车,准备一个列表 goodList [{name:笔记本电脑,price:8000}, {name:鼠标, price:100}] 5个函数 1.加入购物车 2.收藏商品 3.去结算 4.删除购物车商品 5.清空购物车 购物车 cartList [] 收藏列表 collectSet {笔记本电脑,鼠标} 数据示例 去结算计算出总价…...
![](https://img-blog.csdnimg.cn/direct/aeae1a5fdc6540f498ab92cefecdbdf1.png)
日元预计明年开始上涨
被称为“日元先生”的前大藏省(现财务省)财务官榊原英资预测,美元兑日元汇率将在今年底或2025年初逐步升至130。他认为,通缩时代已经过去,通货膨胀即将来临。 《日本经济新闻》6月5日报道,日本财务省于5月3…...
![](https://www.ngui.cc/images/no-images.jpg)
8、PHP 实现二进制中1的个数、数值的整数次方
题目: 二进制中1的个数 描述: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 <?phpfunction NumberOf1($n) {$count 0;if($n < 0){$n $n & 0x7FFFFFFF;$count;}while($n ! 0){$count;$n $n & ($n - 1…...
![](https://www.ngui.cc/images/no-images.jpg)
linux git凭证管理
linux git 凭证管理 解决命令行git登录github的问题,支持两步验证 同样适用于Azure Devops, Bitbucket 官网: https://github.com/git-ecosystem/git-credential-manager https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/…...
![](https://img-blog.csdnimg.cn/direct/de95700fcf3b49838ba133db511a8155.png)
WIC 图像处理初体验——读取像素的值
先放上运行结果: 可以发现红绿蓝是从后往前的。 必须以C方式编译代码! #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <wincodec.h>int main(void) {CoInitialize(nullptr);IWICImagingFactory* fac;CoCreateInstance(CLS…...
![](https://www.ngui.cc/images/no-images.jpg)
使用Server-Sent Events (SSE),并获取message里面的内容
什么是Server-Sent Events (SSE)? Server-Sent Events (SSE)是一种服务器推送技术,允许服务器向客户端(浏览器)发送实时消息。与WebSocket不同,SSE是单向通信,只能从服务器到客户端。SSE在HTML5中作为标准实现&#…...
![](https://img-blog.csdnimg.cn/img_convert/21ec421f315c9639327f325ce49e4d6d.png)
LabVIEW项目管理中如何平衡成本、时间和质量
在LabVIEW项目管理中,平衡成本、时间和质量是实现项目成功的关键。通过制定详细的项目计划、合理分配资源、严格控制进度、进行质量保证和灵活应对变化,项目管理者可以有效地协调这三者的关系,确保项目按时、按质、按预算完成。 1. 制定详细…...
![](https://www.ngui.cc/images/no-images.jpg)
如何检查 Kubernetes 网络配置
简介 Kubernetes 是一个容器编排系统,可以管理集群中的容器化应用程序。在集群中保持所有容器之间的网络连接需要一些高级网络技术。在本文中,我们将简要介绍一些工具和技术,用于检查这种网络设置。 如果您正在调试连接问题,调查…...
![](https://img-blog.csdnimg.cn/img_convert/6f1c45a5882f5d7c256b1879865e3bc4.jpeg)
如何将网站封装成App:小猪APP分发助你实现
你有没有想过,将你的网站变成一个App会是什么样子?想象一下,用户只需点击一下图标,就能立刻访问你的内容,而不是在浏览器中输入网址。这不仅提升了用户体验,还能增加用户粘性。这一切都可以通过将网站封装成…...
![](https://img-blog.csdnimg.cn/direct/92c011b1def54f0c95adf0f07edc3551.png)
探索C嘎嘎的奇妙世界:第十六关---STL(vector的练习)
1.只出现一次的数字 我们可以使用异或运算来解决这个问题: 异或运算有一个重要的性质:两个相同的数进行异或运算结果为 0,任何数与 0 异或结果为其本身。对于数组中的元素,依次进行异或运算,出现两次的元素异…...
![](https://img-blog.csdnimg.cn/direct/0b6460a2262c4e03935530033711be20.jpeg)
最新扣子(Coze)实战案例:扣子卡片的制作及使用,完全免费教程
🧙♂️ 大家好,我是斜杠君,手把手教你搭建扣子AI应用。 📜 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》,完全免费学习。 👀 关注斜杠君,可获取完整版教程。👍Ἷ…...
![](https://img-blog.csdnimg.cn/direct/82fd4f00abf6476fa72f58641e5c8107.png)
Node-red win11安装
文章目录 前言一、安装node.js和npm二、安装Node-red三、 运行Node-red 前言 Node-RED 是一种编程工具,用于以新颖有趣的方式将硬件设备、API 和在线服务连接在一起。 它提供了一个基于浏览器的编辑器,只需单击一下即可将调色板中的各种节点轻松连接在…...
![](https://www.ngui.cc/images/no-images.jpg)
永久更改R包的安装目录
要永久更改 R 包的安装目录,可以通过设置 R 配置文件来实现。以下是步骤说明: 1. 查找和修改 R 配置文件 R 有几个配置文件用于保存用户和系统的设置: 用户级配置文件:通常位于 ~/.Rprofile系统级配置文件:通常位于…...
![](https://www.ngui.cc/images/no-images.jpg)
Webrtc支持FFMPEG硬解码之NVIDA(二)
一、前言 此系列文章分分为三篇, Webrtc支持FFMPEG硬解码之Intel(一)-CSDN博客 Webrtc支持FFMPEG硬解码之NVIDA(二)-CSDN博客 Webrtc支持FFMPEG硬解码之解码实现-CSDN博客 AMD硬解目前还没找到可用解码器,欢迎留言交流 二、环境 Windows平台 VS2019 Cmake 三、下…...
![](https://www.ngui.cc/images/no-images.jpg)
整理好了!2024年最常见 20 道设计模式面试题(九)
上一篇地址:整理好了!2024年最常见 20 道设计模式面试题(八)-CSDN博客 十七、什么是享元模式?它在资源优化中扮演什么角色? 享元模式(Flyweight Pattern)是一种常用的软件设计模式…...
![](https://img-blog.csdnimg.cn/direct/de6bd4e8e37c4e61a79c37b2551d466e.png)
RAG实操教程langchain+Milvus向量数据库创建你的本地知识库 二
Miluvs 向量数据库 关于 Milvui 可以参考我的前两篇文章 • 一篇文章带你学会向量数据库Milvus(一)[1]• 一篇文章带你学会向量数据库Milvus(二)[2] 下面我们安装 pymilvus 库 pip install --upgrade --quiet pymilvus如果你…...
![](https://img-blog.csdnimg.cn/direct/5459cbd70442486ea53a23971ceeb7c7.png)
Spring+SpringMVC介绍+bean实例化+依赖注入实战
Spring介绍 Spring是一个轻量级的Java 开发框架,核心是IOC(控制反转)和AOP(面向切面编程) Spring解决了业务层(Service包)与其他各层(表现层,包括Model,Vie…...
![](https://img-blog.csdnimg.cn/direct/c41f7f33142a406583edd0f9b908a366.png)
【安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录】
安装笔记-系列文章目录 安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 文章目录 安装笔记-系列文章目录安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 前言一、软件介绍名称:cifsutils主页官方介绍特点 二、安装步骤测试…...
![](https://img-blog.csdnimg.cn/img_convert/b99b117c4f6d6b5a9a6f4b91092f8bf8.jpeg)
61.WEB渗透测试-信息收集- WAF、框架组件识别(1)
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:60.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露(8) WAF的识…...
![](https://img-blog.csdnimg.cn/direct/eddc40aa21ab496cbaf76324ded83f18.jpeg)
qmt量化交易策略小白学习笔记第45期【qmt编程之期货行情数据--如何获取日线行情、tick行情】
qmt编程之获取期货行情数据 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系! 获取日线行情数…...
![](https://www.ngui.cc/images/no-images.jpg)
c#default 运算符
值类型默认值boolfalsebyte0char‘\0’decimal0.0Mdouble0.0Denum表达式 (E)0 产生的值,其中 E 为 enum 标识符。float0.0Fint0long0Lsbyte0short0struct将所有的值类型字段设置为默认值并将所有的引用类型字段设置为 null 时产生的值。uint0ulong0ushort0引用类型n…...
![](https://img-blog.csdnimg.cn/img_convert/96b7f9daff1d31a1de90742d1c9eace4.webp?x-oss-process=image/format,png)
25计算机考研,这所985有机会!
吉林大学的计算机学科评估是A-,软件是B 实力还是很强的! 考研的专科课代码分别是941和966 其实就是自命题,941是四合一:数据结构,计算机组成与设计,操作系统和计算机网络,这个和408统考的科目…...
![](https://www.ngui.cc/images/no-images.jpg)
SQL 基础入门教程
目录 什么是 SQL? SQL 的基本操作 数据库的创建和删除 表的创建和删除 数据的插入 数据的查询 数据的更新 数据的删除 SQL 的高级操作 表的连接 聚合函数 分组和排序 子查询 视图 索引 SQL 的数据完整性和约束 总结 SQL(Structured Que…...
![](https://www.ngui.cc/images/no-images.jpg)
<Python><paddleocr>基于python使用百度paddleocr实现图片文字识别与替换
前言 本文是使用百度的开源库paddleocr来实现对图片文字的识别,准确度还不错,对图片文字的替换,则利用opencv来完成。 环境配置 系统:windows 平台:visual studio code 语言:python 库:paddleocr、opencv、pyqt5 依赖库安装 本例所需要的库可以直接用pip来安装。 安装…...
![](https://www.ngui.cc/images/no-images.jpg)
小程序开发的费用简介篇
小程序的价格跟很多因素有关系,比如你想要的复杂度、功能多不多等等 今天我就来具体说说开发一款APP/小程序到底需要多少 ❶功能复杂度:功能越多越复杂,开发时间和费用就越高,费用就会高 ❷设计要求:高级的…...
![](https://www.ngui.cc/images/no-images.jpg)
torch.unflod与torch.nn.functional.pad用法
PyTorch 中的两个函数:torch.unfold 和 torch.nn.unfold。它们分别用于不同的目的,让我们分别来理解一下: torch.nn.Unfold 类功能: 类似于函数 torch.unfold,torch.nn.Unfold 类也用于沿着指定维度滑动提取窗口并将每个窗口展平。与函数不同的是,torch.nn.Unfold 是一个…...
![](https://img-blog.csdnimg.cn/d5ff4146b6854bf6923242620362cdf0.png)
外国网站备案/软文营销的作用
移动应用程序是每个人生活的重要组成部分,人们可以使用手机应用程序做任何事情。创建最好的应用程序需要更好的技术,Java移动应用程序开发是一种流行的选择,企业为功能丰富的Android应用程序雇佣Java程序员。 首先,Java开发服务对…...
![](http://files.jb51.net/file_images/article/201506/2015619175925620.png?2015519175933)
做网站用什么语言编写/台湾永久免费加密一
HTML5中标签有什么用发布时间:2021-02-16 12:52:50来源:亿速云阅读:142作者:小新这篇文章主要介绍HTML5中标签有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完&…...
北京企业网站建设/百度产品大全
一、文件上传的html与PHP注意事项1.form要设定enctype属性,method设置为post。enctype设置为multipart/form-data后,图片上传信息会被列入$_FILES超全局数组,而非$_POST,从而达到真正的上传目的2.设定隐藏input:表示最…...
![](https://github.com/bowu678/php_bugs/raw/master/img/30_2.png)
国内响应式布局网站/提高工作效率总结心得
PHP代码审计分段讲解作 者:bowu本项目将会持续更新,请Star予以支持,感谢亲 :)关于本项目代码审计对于很多安全圈的新人来说,一直是一件头疼的事情,也想跟着大牛们直接操刀审计CMS?却处处碰壁:函…...
![](https://img-blog.csdnimg.cn/20210411204656719.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxODgwMDcz,size_16,color_FFFFFF,t_70)
电子工程网/北京谷歌seo
Vue开发搭建(npm安装vue脚手架安装)一、使用之前,我们先来掌握3个东西是用来干什么的。二、测试NPM安装vue-router一、使用之前,我们先来掌握3个东西是用来干什么的。 npm: Nodejs下的包管理器。 webpack: 它主要的用途是通过Com…...
做彩票网站要什么接口/网站优化推广方案
自从1995年Java语言出世以来,从未跌落过神坛,但最近Python语言被抄的太火,看下面这张最新的语言排行榜,独受宠爱的Java似乎要失宠了。从上面这张图我们可以看出,Python一直处于上升趋势,而Java明显有下滑的…...