腾讯云限时免费升配活动
打开腾讯云服务器实例,点击更多–>升级套餐,
然后就可以看到免费升配的活动了
升级后:
SpringBoot发送邮件
引入依赖1234567891011121314151617181920<!-- 父配置--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.3</version> <relativePath/> </parent> ...... <!-- springboot--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web< ...
玻璃拟态(Glassmorphism)设计风格
前言特征毛玻璃拟态模仿了塑料材质(凹凸质感,凸显层次感),这个新的视觉风格更加注重垂直空间Z轴的使用:
透明感(使用背景模糊/高斯模糊的磨砂玻璃效果)
物体漂浮在空间中,通过前后关系表现层次感
鲜艳的色彩感,更突出了模糊的透明度
半透明物体边缘的微妙处理,采用细腻的边框来表现玻璃质感
这是注重空间感的典型特征,意味着这种风格有助于用户建立界面的层次结构和深度。用户可以看到物体间的层次关系,哪一层在哪一层之上,就像空间中真实的玻璃一样。
实例玻璃拟态风格设计:玻璃拟态风格图标:网页头图:
不足毛玻璃拟态效果并不好应用于上线产品。它不适用于按钮或开关(这些重要的界面元素应该具备高对比度,更加清晰明确),模糊效果也要注意分寸,屏幕上过度使用模糊效果,会使整个 UI 对某些用户可阅读性差,同时也会使页面看起来显脏。
玻璃拟态的实现效果本身很容易,但是要考虑两点。与任何基于卡片的布局一样,第一个是-物体离我们越近,它吸引的光越多。在这种情况下,这意味着它将更加透明。整个效果的基础是阴影、透明度和背景模糊的组合,这种风格只能使用一个透明层,或者多个透明层,但当至少两个半透明层出现在一个相当繁 ...
Shell(Linux)常用命令
前言所谓Shell(壳),一般是指由操作系统提供的,用于计算机用户向操作系统输入相关指令并得到结果的程序。Shell可以字符形式的,也可以是图形界面形式的。Shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序。在windows系统中见到的桌面即explorer.exe(资源管理器)是图形shell,而cmd就是命令行shell(Command shell)。基础命令行和Shell都可以操作Linux系统,区别在于基础命令行(ls、cd等),是一种单一的操作;Shell可以比基础命令行更复杂,是一种组合型的操作。相比基础命令拥有了面向过程的概念。
常用命令
命令开头的符号# 代表root用户;$ 代表普通用户。不同参数之间可以直接简写;如-r -t可以直接简写成-rt
文件类ls(目录)列出目录内容。参数:-a 显示所有文件,包括隐藏的-l 长格式列出信息-i 显示文件inode号-t 按修改时间排序-r 按修改时间倒序排序示例:
1234567891011按修改时间排序:# ls -t按修改时间倒序排序:# ls -rt长 ...
JWT
前言JWT官网JSON Web Token (JWT) 是一个通过JSON形式作为WEB应用的令牌,用于在各方之间以 JSON 对象的形式安全传输信息。在传输过程中可以完成数据加密、签名等操作。以下是JWT使用的一些场景:
授权:这是使用 JWT 最常见的场景。用户登录后,每个后续请求都将包含 JWT,从而允许用户访问该令牌允许的路由、服务和资源。单点登录是当今广泛使用 JWT 的一项功能,因为它的开销很小并且能够在不同的域中轻松使用。
信息交换:JSON Web 令牌是在各方之间安全传输信息的好方法。因为可以对 JWT 进行签名(例如,使用公钥/私钥对),所以您可以确定发件人就是他们所说的那个人。此外,由于使用标头和有效负载计算签名,您还可以验证内容没有被篡改。
单点登录:“一次登录,处处登录”,所有应用系统共享一个身份认证系统,如我们在百度旗下的产品:“百度搜索” 的网页进行登录了,那么当我们访问百度旗下的其它产品网址,如 “百度网盘” 就无需再次登录,利用JWT就可以很好的实现此功能
原理传统的Seesion认证客户端发送登录请求,服务器端认证通过后将用户信息保存在sessi ...
Nginx
前言Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好。
正向代理
客户端请求目标服务器之间的代一个理服务器;请求会先通过代理服务器,然后再转发请求到目标服务器,获得内容后再响应给客户端
反向代理
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
负载均衡 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。
但是随着信息数量的不断增长,访问量和数据量的飞速增长,以及系统业务的复杂 度增加,这种架构会造成服务器相应客户端的请求日益缓慢,并发量特别大的时候,还容易造成服务器直接崩溃。将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负 ...
使用KeyStore生成证书
前言Keytool是一个Java数据证书的管理工具 , 在keystore里,包含两种数据:
密钥实体(Key entity):即密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)
可信任的证书实体(trusted certificate entries):即证书(包含公钥)
keytool常用命令:
genkey 在用户主目录中创建一个默认文件”.keystore”
alias 产生别名
keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)
keyalg 指定密钥的算法 (如 RSA DSA(如果不指定默认采用DSA))
validity 指定创建的证书有效期多少天
keysize 指定密钥长度
storepass 指定密钥库的密码(获取keystore信息所需的密码)
keypass 指定别名条目的密码(私钥的密码)
dname 指定证书拥有者信息 例如: “CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码”
list 显示密钥库中的证书信息 keytool - ...
SpringBoot配置Https
准备一个证书可以直接通过域名申请;也可以使用自签证书(自签证书创建可以看我的另一篇文章:[使用KeyStore生成证书])
配置SSL将(keystore格式、p12格式、jks格式)证书文件(其他格式证书文件未进行测试),移动至项目路径的资源文件夹下(建议)。然后在配置文件中配置SSL:
12345678910111213server: # 项目端口 port: 443 ssl: # 证书文件所在地址 key-store: classpath:CATest2.p12 # 密钥口令 key-store-password: 123456 # 证书类型 key-store-type: PKCS12 # 证书别名 key-alias: testClient
配置完后就可以进行Https访问了,但是无法实现从Http自动跳转到Https
配置自动跳转Https创建一个配置类·:
12345678910111213141516171819202122232425262728293031323334353637383940import org ...
SpringBoot的AOP实战
前言简单回顾下AOP:
AOP(Aspect Orient Programming),面向切面编程。面向切面编程是从动态角度考虑程
切面(Aspect):,给目标类增加的功能即为切面,切面一般都是非业务方法,独立运行,常用的切面的增强/通知(Advice)。
连接点(JoinPoint) :连接点指可以被切面织入的具体方法。通常业务接口中的方法均为连接点。
切入点(Pointcut): 切入点指声明的一个或多个连接点的集合。通过切入点指定一组方法。 被标记为 final 的方法是不能作为连接点与切入点的。因为最终的是不能被修改的,不 能被增强的。
目标对象(Target): 目标对象指将要被增强的对象。即包含主业务逻辑的类的对象。当某对象被增强,则该类称为目标类,该类对象称为目标对象。
通知(Advice): 通知表示切面的执行时间,Advice 也叫增强。换个角度来说,通知定义了增强代码切入到目标代码的时间点,是目标方 法执行之前执行,还是之后执行等。通知类型不同,切入时间不同。 切入点定义切入的位置,通知定义切入的时间。
切入点表达式格式:executi ...