文章转载来源于菜鸟教程公众号
原文章链接:https://mp.weixin.qq.com/s/7bDukFKBv4M6j-j5V4MZ5g
相关链接:
教程地址:https://www.runoob.com/regexp/regexp-usage-summary.html
测验工具:https://www.runoob.com/try/try-regex.php
测试工具:https://c.runoob.com/front-end/854/
匹配基本字符
使用普通字符匹配:普通字符(如字母、数字、符号)在正则表达式中表示自身,例如匹配 “runoob”:/runoob/。
使用元字符 . 匹配任意字符:****. 表示匹配任意单个字符,例如匹配 “cat” 或 “bat”:/c.t/。
匹配字符集合
使用字符集合匹配:使用方括号 [] 表示字符集合,匹配集合中的任意字符,例如匹配 “cat”、“bat” 或 “hat”:/[cbh]at/**。
使用连字符 - 表示字符范围:在字符集合中使用连字符 - 表示匹配字符范围,例如匹配 “a” 到 “z” 的小写字母:/[ ...
前言
趁着618活动,入手了一台腾讯云3年的服务器,去年618在华为云购买的一年服务器到期了,考虑到网站的迁移和备案问题,这次就选择了3年的机器,省时省力。
我买的是3年轻量 2核 2G 4M 50GB 300GB流量,我需求不高,目前来说性能也够用,如果有需要更大的存储空间,可以考虑对象存储,腾讯云的对象存储也还可以,拿来当图床也是一个不错的选择。
真的强烈建议买3年的机器,非常划算了,不要浪费首单优惠啊,首单3年才396,现在腾讯云的服务器续费都非常贵,一年的续费就要507元了,买一年的话,虽然比较便宜,但我还是不推荐,如果你听我的买3年的机器,一年后你会来感谢我的。
如果你已经买过一次了,不是腾讯云首单用户了,腾讯云其实可以开启3个用户,这3个用户都可以享受首单优惠,你扫码登录腾讯云时,创建一个用户就好了,还是可以继续享受首单优惠。
如果你有需要,可以点我下面的邀请链接注册或者登录购买,这样我也能蹭点代金券(偷笑)
腾讯云618专场:https://curl.qcloud.com/4QKETzxt
续费一年507元,真tm贵
初始化服务器
本文主要是为了记录自己的迁移记 ...
Redis
Redis介绍
一个开源(BSD许可)的、内存中的数据结构存储系统,可用作数据库、缓存和消息中间件,并提供多种语言的API,是一个高性能的key-value数据库。
与其他key-value缓存产品相比有以下三个特点:
支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
不仅仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储
支持数据的备份,即master-slave模式的数据备份
优点
存取速度快:Redis速度非常快,每秒可执行大约110000次的设值操作,或者执行81000次的读取操作
支持丰富的数据类型:Redis支持开发人员常用的大多数数据类型,例如列表、集合、排序集和散列等
操作具有原子性:所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新后的值
提供多种功能:Redis提供了多种功能特性,可用作非关系型数据库、缓存中间件、消息中间件等
Redis安装与配置
1. 安装软件
安装Redis服务端,这里蓝奏云的版 ...
配置属性与数据
获取配置文件属性
在前面我们有学习过,在配置文件添加属性,使用@ConfigurationProperties获取配置文件属性的值,并且通过实体类来封装这些数据,实体类需要有set方法来进行自动注入。
使用实体类封装配置属性
使用实体类来封装配置文件的属性需要以下三个步骤:
定义属性
创建实体类封装属性
在实体类绑定属性并生成get、set方法
定义实体类为Bean对象(这样实体类才可以被IOC容器管理注入信息)
定义属性
比如我们在配置文件添加如下几个属性:
123student: name: 小码同学 major: 计算机科学与技术
封装属性
然后再使用一个实体类来封装这些信息
123456789import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;@Data // 自动生成get、set方法@ConfigurationProperties(prefix = "student") // 绑定配置文 ...
Linux环境
Nginx安装报错
configure编译错误
make安装错误
解决方法
错误表示说没有找到error.log文件,没有办法设置日志文件环境变量,所以报错了。
那我们创建一个就好了,报错的路径在哪里,我们就在哪里创建一个日志文件。
12mkdir -p /usr/local/nginx/logs/touch /usr/local/nginx/logs/error.log
PHP-FPM启动报错
排查错误
启动PHP-FPM报错
1Job for php-fpm.service failed because the control process exited with error code. See "systemctl status php-fpm.service" and "journalctl -xe" for details.
查看PHP-FPM状态
查看状态是否报错,或者看看能不能从状态看出点问题来。
12345678910111213141516[root@ECS- bin]# systemctl ...
前言
莱卡云怎么样?莱卡云好不好?莱卡云服务器靠不靠谱?莱卡云(lcayun.com)是一家国内正规备案的云服务器商家,隶属于广东莱卡信息技术有限公司,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连)莱卡云持有《中华人民共和国增值电信业务经营许可证》编号:ISP证、IDC证、云牌照及CDN证:B1-20222761)
莱卡云(Lcayun)是一家领先的云计算服务器提供公司,专注于为客户提供高性能、可靠的云计算解决方案。该公司以其卓越的技术和卓越的客户服务而闻名,旨在满足各种不同规模和需求的企业和个人用户。莱卡云主要提供云服务器,高防云服务器,CDN,站群和独立服务器。所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质。
今天来测评一下他们家的香港CN2 GIA优化VPS。
官网
网址:https://www.lcayun.com
测评机器
香港CN2 GIA(限量版)
· CPU核心:4C
· 内存:4G
· 硬盘:30 – 100G
· 带宽:15Mbps
· IP地址:1 ...
前言
由于专业相关,我几乎每天都会用到ChatGPT,有时候需要在手机使用ChatGPT,代理也不是时时刻刻都稳定,想了一下,不如自己部署一个ChatGPT,用API 调用就行,偶尔用一下,对于OpenAI的限额,应该是完全够用的。
部署ChatGPT会存在一个问题,你的服务器能不能访问到ChatGPT,如果是国内的服务器,你可能需要做一层代理才能访问到ChatGPT,并且,代理的IP一定要干净,尽量不要使用代理池,不然容易被封号。
如果你有国外的服务器,就不存在这个问题了,国外的服务器可以直接访问ChatGPT,直接部署调用API就可以了,下面我使用国外的服务器来进行部署演示。
莱卡云
官网:https://www.lcayun.com/
看到国内的一个厂商莱卡云,本着不是很贵,就入手试一下。打开官网,这界面看着还挺不错,有点像腾讯云的秒杀专场。
主要是国外的机器搭网站不需要备案,不需要备案,不需要备案,随便建站,这就很方便,国内建站不备案就给你停了,麻烦。而且国内的机器带宽一般比较小,但国外的机器带宽一般比较大。
我入手的是这个,美国CN2 GIA(弹性),2G2核10M,跑 ...
什么是SSMP?
SSMP和SSM差不多,只是将SSM中的Mybatis换成MybatisPlus,其中SSM是Spring、SpringMvc、Mybatis框架的整合,是标准的MVC模式,标准的SSM框架有四层,分别是dao层(mapper),service层,controller层和View层。使用spring实现业务对象管理,使用spring MVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎。
我们下面讲解整合一下Junit、Mybatis、MybatisPlus、Druid,然后做一个小案例。
创建SpringBoot项目
创建SpringBoot有几种方式,一种是使用Maven来创建SpringBoot项目,一种是从官网配置项目信息,然后下载压缩包在本地打开,还有一种是直接在idea创建SpringBoot项目,下面演示在idea创建一个SpringBoot项目:
分析pom依赖
我们在创建SpringBoot项目时,如果不勾选任何依赖,在创建项目后,我们在pom.xml文件可以看到下面这段标签,这就是SpringBoot自带的Junit5 测 ...
前言
Jenkins集成Gitlab持续集成
之前使用过Jenkins+Gitlab+Dockerfile+Nginx来部署过SpringBoot项目,这次试试使用Gitee仓库部署项目,使用Gitee来集成项目,对于独立开发者用的更多,使用GitHub需要魔法,有时候push会失败就没办法,用Gitee的效果就会好很多。速度快。
我们还可以将我们的博客源码放在Gitee上,然后在Jenkins自动化构建我们的博客。方面管理。
安装Jenkins
我们使用Docker安装Jenkins,因为如果使用Jenkins安装包可能会因为会因为环境问题导致无法打开Jenkins,之前使用Jenkins的jar包来安装Jenkins,是真的难搞,一大堆因为环境问题无法打开Jenkins,所以我们使用Docker容器来部署Jenkins,这样会避免一些环境的问题。
安装准备
安装Docker(必装)
安装Docker这里就不展开讲了,可以去我之前的文章看看怎么安装Docker。
安装Docker教程:https://blog.hikki.site/2802e5c6.html
安装Mav ...
前言
什么是Swagger?
Swagger是一种API设计工具,在API文档和代码之间建立了关系,并使API文档在不断更改的代码基础上保持最新、准确和可读性。它允许描述API的结构,以便机器可以读取它们,这就是Swagger的所有魅力的根源。通过读取API的结构,它可以自动构建漂亮和交互式的API文档。此外,Swagger还可以为您的API以多种语言自动生成客户端库,并探索其他可能性,如自动测试。
Swagger有什么用?
现在开发项目,大多数都是采用前后端开发,前后端交互都是通过API文档进行交流,前后端各自开发,互不干扰。
传统开发方式
传统的开发模式,后端写好API接口,生成文档,发给前端工程师,前端根据后端发过来的API文档进行开发,但这样做有个缺点,文档无法做到实时同步。
Swagger接口
在Java项目中,集成Swagger后,当我们编写出接口时,Swagger就会自动扫描我们的接口,通过Restful风格发布,每当后端的接口有更新,Swagger都会扫描到,并且更新,通过网页展示每个端接口的情况。
你甚至还能给每个接口添加注释,供前端工程师了解每个接口所需 ...