- 博客(66)
- 资源 (6)
- 收藏
- 关注
原创 【c/c++】指针例图基础详解
在计算机内存中,变量的内存基本上都由一段连续的内存空间组成,所以变量的地址指开辟空间的首地址。在计算机内存中,肯定不会有图例的箭头,所以*p就代表指向的内容。
2023-12-29 23:56:22 718
原创 gitlab部署及整合Jenkins持续构建(四)sonarqube9.9安装和使用(一步一坑)
安装postgresql13.0+sonarqube9.9搭建代码规范审查工具
2023-04-26 18:44:44 3279 1
原创 gitlab部署及整合Jenkins持续构建(三)nexus私服的安装及实战、linux安装mysql
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。hosted:宿主仓库,内部项目、付费jar releases 发布内部release版本的仓库 snapshots 发布内部snapshots版本的仓库 third 自建第三方jar。group:仓库组,通常包含了多个代理仓库和宿主仓库,在项目中只要引入仓库组就可以下载到代理仓库和宿主仓库中的包。proxy:代理仓库,用于代理远程仓库。,产生密码[kkgTgwx-+4st]
2023-04-05 13:52:37 1214
原创 gitlab部署及整合Jenkins持续构建(二)HTTP/SSH管理远程仓库gitlab、配置gitlab邮件服务
gitlab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。:修改external_url为gitlab机子的ip+要使用的端口 ,如:http://10.24.200.10:8888。基础功能开源,可自行搭建可以进行权限控制,使得代码对部分人可见 gitlab使用方便,非常适合企业内部使用。文件,复制内容,在gitlab.com的网站上到ssh密钥管理页面,内容粘贴刚才复制的内容,点击。有合并请求时,邮件通知 账号注册时,邮件验证修改密码时,通过邮件修改。
2023-03-31 15:03:04 1106 2
原创 gitlab部署及整合Jenkins持续构建(一)版本控制工具Git基本命令、管理远程仓库GitHub
代码托管中心是网络服务器的远程代码仓库,也称为远程仓库GitHub(外网访问)GitLab(局域网访问)Gitee(国内远程仓库) 码云记录和跟踪项目中各文件内容的改动变化保存项目的版本历史,以及改动原因,从而让用户能够查看各个历史版本版本控制系统是帮助开发人员进行协作开发的利器。
2023-03-28 21:36:30 1125 1
原创 基于SpringBoot+Vue的项目在阿里云服务器生产环境部署指南
a记录:用户可以在此设置域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器(也叫ip指向域名配置)cname:别名指向,可以为一个主机设置别名。比如设置open1024.com,用来指向一个主机 xdclass.net 那么以后就可以用open1024.com来代替访问 xdclass.net 了。
2023-03-24 23:33:34 1917
原创 掌握CentOS7环境下的Docker使用(八)阿里云镜像仓库实战、harbor仓库搭建与实战、本地镜像容器的载入载出
通俗来讲,镜像仓库就是存放着很多镜像的仓库,镜像仓库起到备份作用,方便其他机器下载使用。
2023-03-22 15:28:05 2485
原创 掌握CentOS7环境下的Docker使用(七)Compose操作容器快速搭建个人博客
是一个用于定义和运行多容器 Docker的插件工具,可以帮助我们可以轻松、高效的管理容器。
2023-03-21 19:48:39 739
原创 掌握CentOS7环境下的Docker使用(六)Link实现单向通信、brige网桥实现双向通信、特权模式、Volume数据共享
Volume数据共享实际上就是文件挂载,文件挂载一般用于把容器中的日志文件挂载到宿主机上,这样就不必进入容器才能查看日志,或者把容器中部署的mysql中的数据挂载到宿主机上,这样如果docker宕机无法进入,也不会丢失数据。因为多个tomcat容器可以同时使用link通信mysql容器,如果这个mysql容器出现问题无法使用,换了新的MySQL容器那么ip就会改变,连带会影响所有的通信这个mysql的tomcat容器。但如果使用了–name 容器名运行的容器,则可以直接使用。
2023-03-17 19:05:21 1114
原创 掌握CentOS7环境下的Docker使用(五)Docker容器的网络模式
匹配到的所有任何ip地址(0.0.0.0)都会发往172.17.0.1,退出容器后可以看见docker0的虚拟网桥就是172.17.0.1。host 模式:该模式下容器是不会拥有自己的ip地址,而是使用宿主机的ip地址和端口。时,就会连接docker0这个虚拟网桥,通过NAT的转换,连接宿主机的网卡去连接外网。注意:如果容器不以host模式启动运行,则外部是无法访问到的。进入一个centos:7镜像的docker容器中,使用。,并选择一个和宿主机不同的ip地址和子网分配给网桥。none模式:关闭模式。
2023-03-16 20:55:20 1370
原创 掌握CentOS7环境下的Docker使用(三)构建nginx镜像、构建redis镜像
注意:因为安装过程中不会自动产生一个存放配置文件的路径,也没有配置文件,但是启动redis需要配置文件,所以我们要手动创建目录并拷贝配置文件过去。注意:使用 yum下载gcc最高只能下载到4.8版本,如果使用redis6.0以后的稳定版本则正常安装会报错,建议使用6.0以前的版本。注意:nginx_install.sh(shell脚本要和dockerfile放到同一个目录里)注意:使用ip连接容器redis端口要使用6379,因为是以ip地址方式远程连接,不需要映射。:将nginx安装到的目录。
2023-03-15 14:09:07 789
原创 掌握CentOS7环境下的Docker使用(二)创建自定义镜像、构建java环境
在我们创建一个容器的时候,使用了基础镜像,但是在工作等使用中基础镜像是不能满足需要的,而且在容器中安装了jdk、mysql等等之后一旦删除掉了容器,容器里面的配置也被删掉了。这样我们可以把一个已经配置好了的容器打包成镜像,想用的时候直接使用即可。基于Docker Commit制作镜像基于dockerfile制作镜像,Dockerfile方式为主流的制作镜像方式对容器的修改以及保存退出容器后-a:标注作者-m:说明注释。
2023-03-14 18:29:30 1374
原创 Linux基础到进阶(二)用户管理与组管理、文件属性与权限操作、文件归档与解压缩
文件归档也称之为打包,指的是一个文件或者多个文件或者目录的一个集合,这个集合储存在一个文件中。归档文件是没有进行压缩的,所以占用的空间是所有文件或者目录的总和。:权限有一定的限制,可以登录系统。一般可以执行/usr/local/bin或者/bin或者/usr/bin或者自己家目录的命令。i节点可以理解文件id,一个i节点号可以对应多个文件,一个文件只能对应一个i节点号。i节点与源文件一模一样,源文件删除,硬链接还可以继续使用。:不能压缩目录,只能压缩文件,压缩速度最快,但是压缩比例比较低,扩展名。
2023-03-13 19:34:43 466
原创 Linux基础到进阶(一)Linux基础命令、输入输出错误重定向、目录分类与作用、vi编辑器
前面的命令执行成功的话,后面的才可以执行成功;前面的命令执行失败的话,后面的不可以执行。就是把要输出的信息写入到一个文件中去,而不是将要输出的文件信息输出到控制台(显示屏)前面的命令执行成功的话,后面的不可以执行;前面的命令执行失败的话,后面的可以执行。:根目录,一般根目录下只存放目录,不要存放文件,也不要修改,或者删除目录下的内容。:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。:存放经常修改的数据,比如程序运行的日志文件。功能说明:当前在本地系统上的所有用户的信息。
2023-03-13 17:52:15 482 1
原创 掌握CentOS7环境下的Docker使用(一)CentOS7安装Docker、容器构建、文件复制与挂载
docker run -itd -v 宿主机路径:容器路径 镜像ID。docker cp 宿主机本地路径 容器名字/ID:容器路径。docker cp 容器名字/ID:容器路径 宿主机本地路径。-i :表示以交互模式运行容器(让容器的标准输入保持打开)宿主机文件夹挂载到容器里时,修改文件内容,实时同步到容器中。安装条件:docker官方要求至少3.8以上,解决方法:先关闭防火墙,然后按照提示执行。-d:表示后台运行容器,并返回容器ID。-t:为容器重新分配一个伪输入终端。–name:为容器指定名称。
2023-03-09 16:00:19 1070
原创 掌握Swagger3自动化生成接口文档完成后端提效
开放API规范(OAS)是⼀种无需编写实际API代码就可以记录API的方法。这是⼀种开放源代码格式,可以用来描述API。基于OpenAPI 规范(OpenAPI Specification,OAS)构建的开源接口文档自动生成工具,可以让开发人员快速设计、构建、记录以及使用Rest API。–描述这种⼀般用在post创建的时候,使用对象提交这样的场景。用于方法,字段:表示对model属性的说明或者数据操作更改。用于类表示对类进行说明,用于参数用实体类接收,⽤在方法上,描述接口方法。用在入参上面,描述参数。
2023-03-07 15:14:18 2044 1
原创 掌握MybatisPlus提升开发效率(五)Mybatis-plus-generator代码自动化生成
AutoGenerator是MyBatis-Plus的代码生成器,通过AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极⼤的提升了开发效率。高内聚-低解耦肯定是软件设计思想必须要遵守的原则,所以业务代码可以适当使用MyBatisPlus好的功能。底层是模板引擎技术,可以自定义生成的java类模板。偏业务型项目、管理后端项目等推荐使用,和jpa类似。好用的:通用CRUD、自动生成工具、分页查询。
2023-03-04 22:25:14 628
原创 掌握MybatisPlus提升开发效率(四)全局配置文件、乐观锁、逻辑删除
MybatisPlus自定义xml的sql脚本与Mybatis自定义xml是sql脚本没有区别;全局配置文件中config-location和configuration不能同时出现;`select *` 和 `select` 指定字段的区别;乐观锁就是每次取数据的时候都认为别人不会修改,更新的时候判断别⼈是否已经修改了数据,通过版本来判断,如果数据被修改了就拒绝更新;MybatisPlus逻辑删除简单来说,就是用户删除了订单,只不过是更新了标记,不会真正的物理删除。
2023-03-01 13:08:08 736
原创 掌握MybatisPlus提升开发效率(三)查询封装类QueryWrapper、常用注解、分页
可以封装sql对象,包括where条件,order by排序,select哪些字段等等可以封装多数查询条件
2023-02-24 15:59:06 1402
原创 掌握MybatisPlus提升开发效率(二)MybaitsPlus核心类BaseMapper、增删改查实战
MybaitsPlus封装了一些CRUD的接口,可以在service层进行调用封装的方法,只需要mapper接口继承相关类即可,不需要写mapper接口写方法、也不需要写xml配置文件。QueryWrapper:查询包装类,可以封装多数查询条件,泛型指定返回的实体类。:将数组转化成List集合,用此方法得到的List的长度是不可改变的。其中,在service层使用封装的CRUD方法用到的。BaseMapper:封装了CRUD的方法。类,是MybaitsPlus核心类。类,mapper层继承的。
2023-02-24 14:23:28 1626
原创 掌握MybatisPlus提升开发效率(一)SpringBoot2.x整合MybatisPlus+Lombok实现第一个接口
正常编写数据库表的crud接口流程:编写实体类->编写Controller类->编写Service接口和类->编写DAO类->编写XML文件。而MybatisPlus已经封装好了⼀些crud方法,不需要再写xml了,直接调用这些方法就行,类似JPA但优于JPA。
2023-02-24 13:13:06 427
原创 掌握MySQL分库分表(七)广播表、绑定表实战,水平分库+分表实现及之后的查询和删除操作
指所有的分片数据源中都存在的表,表结构和表中的数据在每个数据库中均完全⼀致适用于数据量不⼤且需要与海量数据的表进行关联查询的场景,例如:字典表、配置表需求:在任意一个库中插入一条数据,另一个库中的相同表也插入这条数据。
2023-02-22 13:43:09 2660 2
原创 掌握MySQL分库分表(六)解决主键重复问题--Snowflake雪花算法
表示的值 -9223372036854775808(-2的63次方)~9223372036854775807(2的63次⽅-1)生成的唯⼀值⽤于数据库主键,不能是负数,所以值为0~9223372036854775807(2的63次方-1)分布式情况下,需要保证各个系统时间⼀致,如果服务器的时钟回拨,就会导致⽣成的 id 重复。雪花算法生成的数字,long类,所以是:8个byte,64bit。bit(位):电脑中存储的最小单位,可以存储⼆进制中的0或1。16位平台 int 2个字节16位。
2023-02-21 19:23:11 3648
原创 掌握MySQL分库分表(五)SpringBoot2+MybatisPlus整合Sharding-Jdbc水平分表实现
具体到每个数据节点的SQL,经过一层路由,执行真实sql操作,将数据按照分片策略插入到相应表中。没具体到哪个数据节点,先执行一条逻辑语句,把数据插入到逻辑表。数据库1:xdclass_shop_order_0。数据库2:xdclass_shop_order_1。表1:product_order_0。表2:product_order_1。表1:product_order_0。表2:product_order_1。分库分表带来的六个问题之一。
2023-02-21 18:18:03 1549
原创 掌握MySQL分库分表(四)分库分表中间件Sharding-Jdbc,真实表、逻辑表、绑定表、广播表,常见分片策略
是⼀套开源的分布式数据库解决⽅案组成的生态圈,定位为Database Plus;它由JDBCProxy和Sidecar这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。
2023-02-21 13:52:21 698
原创 掌握MySQL分库分表(二)Mysql数据库垂直分库分表、水平分库分表
水平分表:同个数据库内,把⼀个表的数据按照⼀定规则拆分到多个表中,对数据进⾏拆分,不影响表结构。好处: 1. 避免IO时锁表的次数,分离热点字段和⾮热点字段,避免⼤字段IO导致性能下降。水平分库:把同个表的数据按照⼀定规则分到不同的数据库中,数据库在不同的服务器上。单个表的数据量少了,业务SQL执行效率⾼,降低了系统的IO和CPU压力。原则: 1. 选择合适的分片键和分片策略,和业务场景配合。垂直分表: 将⼀个表字段拆分多个表,每个表存储部分字段。原则:1. 选择合适的分片键和分片策略,和业务场景配合。
2023-02-20 18:11:18 1843 3
原创 掌握MySQL分库分表(一)数据库性能优化思路、分库分表优缺点
不能⼀上来就说分库分表。在数据量及访问压力不是特别大的情况,首先考虑缓存、读写分离、索引技术等方案,如果数据量极⼤,且业务持续增长快,再考虑分库分表方案
2023-02-20 15:23:03 1526
原创 Vue2快速入门(三)前端项目架构搭建、Axios、Vue-Router
基于promise用于浏览器和node.js的http客户端:支持浏览器和node.js、⽀持Promise API、支持拦截请求和响应、支持转换请求和响应数据、JSON数据的自动转换、客户端⽀持以防止XSRF文档地址vue-router是 Vue.js 官方的路由管理器,它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌,可详见官方文档。
2023-02-16 20:17:11 835
原创 Vue2快速入门(二)Cube-UI、Vuex、Axios、Vue-router概述和基础ES6知识点
基于 Vue.js 实现的精致移动端组件库,地址在Vue项目开发时使用的状态管理工具state:存储数据mutations:同步修改存储数据actions: 异步修改存储数据getters:获取存储数据前进行修改是⼀个基于Promise 用于浏览器和 node.js 的 HTTP 客户端,从浏览器中创建 XMLHttpRequest,也可以 node.js 发出 http 请求,支持 Promise API,支持拦截请求和响应,并转换数据Vue官方的路由管理器,实现页面前端路由:Hash模式(默认
2023-02-16 14:25:59 277
原创 Vue2快速入门(一)项目环境搭建、vue基础语法
Node.js就是运行在服务端的JavaScriptNode.js的包管理工具,可以下载使用公共仓库的包,类似maven包安装分为本地安装(local)、全局安装(global)两种官网下载。
2023-02-16 14:09:14 1200
原创 Airtest监听android手机音量、监控屏幕亮度
实时监听手机音量,当音量大于0就自动静音设备;实时监控手机屏幕亮度,自动将设备的屏幕亮度调节至最暗。
2023-02-14 10:26:16 531
原创 性能优化:Guava缓存
程序经常要调用的对象存在内存中,方便其使用时可以快速调用,不必去数据库或者其他持久化设备中查询,主要就是提⾼性能包括:DNS缓存、前端缓存、代理服务器缓存Nginx、应用程序缓存(本地缓存、分布式缓存)、数据库缓存。
2023-02-13 17:37:46 515
原创 掌握Spring常见的事务管理、传播属性和隔离级别
代码中调⽤beginTransaction()、commit()、rollback()等事务管理相关的方法,通过TransactionTempalte。在目标方法开始之前创建或者加⼊⼀个事务,在执行完⽬标方法之后根据执行情况提交或者回滚事务。如果在开始当前事务之前,⼀个事务上下文已经存在,此时有若干选项可以指定⼀个事务性方法的执行行为。在其他bean中声明事务,那就⽤事务.如果其他bean没有声明事务,那就不⽤事务.建⼀个新的事务,原来的挂起,新的执⾏完毕,继续执⾏⽼的事务。如果当前存在事务,则创建⼀个。
2023-02-07 17:56:22 69
原创 Python使用openpyxl模块小批量处理Excel文件
Excel导出并处理数据:1、多个Excel工作簿待处理2、Excel工作簿中的多个工作表待处理3、Excel工作表的多个数据待处理解决思路 1. 键盘输入并保存待处理excel目录和excel输出目录 2. 在excel输出目录下创建新工作簿,修改表内行列名,返回输出目录+新建工作簿名的完整路径 3. 遍历待处理excel目录下的所有工作簿,同时判断遍历的工作簿是否存在需要处理的工作表,如果需要,接5;不需要,接4 4. 退出 5. 将遍历到的当前工作簿中待处理表的数据进行处理,存入新
2023-02-05 21:48:56 1390
原创 Python-datetime模块使用详解datetime,time,date
datetime 模块提供用于处理日期和时间的类,支持五种有效的类型:date,time,datetime,timedelta,tzinfo,timezone,最常用的是前三种
2023-02-03 18:15:33 1975
原创 VMware虚拟机Linux CentOS7三种网络模式与上网配置
当下载了VMware之后,在网络适配器中就多出了两个或者三个虚拟网卡,分别是VMnet1和VMnet8(和VMnet0)
2023-02-02 16:55:43 639
编译原理实验二First集的生成
2022-06-17
基于单片机的实训项目文件(篮球比赛计时计分器)
2022-05-28
单片机实训项目文件(出租车计价器设计)
2022-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人