计算机网络1. 计算机网络概述1.1 作用
计算机网络在信息时代中的作用:21世纪是以数字化、网络化、信息化为重要特征的信息时代,作为信息的最大载体和传输媒介,网络已成为这个信息时代的核心基础
1.2 定义与分类1.2.1 定义简单定义:硬件(独立和连接)+软件(协议)+目的(共享和通信)
计算机网络就是以传输信息为基本目的,用通信线路和通信设备将多个计算机连接起来的计算机系统的集合
1.2.2 分类
按网络覆盖范围进行分类
局域网(Local Area Network,LAN,一个实验室、一幢楼、一个校园)
城域网(Metropolitan Area Network,MAN,几个街区甚至整个城市,5-50 km)
广域网(Wide Area Network,WAN,覆盖一个国家或地区甚至几个洲,也称为远程网)
个人区域网(Personal Area Network,PAN,10 m以内)
按网络的使用者进行分类
公用网(所有愿意缴纳费用的人都能使用)
专用网(专门为本单位的特殊业务工作建造的,例如,军队、铁路、电力等系统)
1.3 互联网概述1.3.1 网络的 ...
在公网部署前端项目是很方便的,Vercel、Netlify、Cloudflare等等都可以很快地部署一个前端页面(前端部署是这样的,你只要上传文件就可以,而后端部署要考虑的就很多了,没有云服务器)
现在我部署了一个前端页面,我想让这个页面可以访问我本地电脑上运行的后端服务,不用云服务器怎么做?
查看IPv6地址家里的路由器有IPv6地址,可以使用命令ipconfig查看,或者直接点击这个在线测试网站查看
创建后端项目以springboot为例,创建一个后端项目,需要导入spring-boot-starter-web依赖
创建一个简单的测试接口,启动项目访问localhost:8080,会显示Hello World!
@RestController@CrossOrigin // 允许跨域请求public class TestController { @GetMapping public String test() { return "Hello World!"; }}
在appli ...
1.安装VS生成工具前往VS下载界面,下滑到底部,找到VS 2022 生成工具并下载,下载后双击vs_BuildTools.exe文件安装
安装完成后会打开这个界面
2.安装环境这个安装过程参考官方文档
为什么选msvc?c/c++环境也可以使用mingw,而且体积相对来说小很多,不过我之前rust使用mingw作为工具链时会出现各种各样的问题,实在是不想折腾了(主要出现的问题也不好解决),还是使用msvc更省事
2.1 MSVC点击单个组件,搜索MSVC v143 - VS 2022 C++ x64/x86 build tools,勾选上
2.2 Windows SDK搜索windows,找到对应win版本的SDK下载,我使用的win11,所以选择win11 SDK,直接勾选最新版本就行
2.3 语言包点击语言包,勾选英语
2.4 安装点击顶部安装位置可以修改一个合适的安装位置,查看右边单个组件无误后点击安装即可
2.5 添加环境
安装后的MSVC并不能识别,必须添加环境变量,在MSVC安装文件夹下找到cl.exe文件,路径大概是A:\env\MSVC\VC ...
1.问题
在Tauri构建时会从github下载Wix和NSIS工具,因为国内网络原因导致下载失败(貌似使用了代理也没用),解决办法是提前下载这两个工具到本地
Running light to produce X:\Tauri\tauri-shop-admin\src-tauri\target\release\bundle\msi\tauri-shop-admin_0.1.0_x64_en-US.msi Warn NSIS directory contains mis-hashed files. Redownloading them. Downloading https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.4.1/nsis_tauri_utils.dllfailed to bundle project: `https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_taur ...
Seata1.简介Seata是什么?
Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,其内部版本在阿里系内部一直扮演着应用架构层数据一致性的中间件角色,帮助经济体平稳的度过历年的双11,对上层业务进行了有力的技术支撑。经过多年沉淀与积累,其商业化产品先后在阿里云、金融云上售卖。2019.1 为了打造更加完善的技术生态和普惠技术成果,Seata 正式宣布对外开源,未来 Seata 将以社区共建的形式帮助用户快速落地分布式事务解决方案。
2.快速开始1.示例在这个架构图中,Business模块调用了Storage模块和Order模块,而Order模块又调用了Account模块,不同于单体架构,由于各个模块以微服务的方式相互独立,我们不能保证Business执行的方法具有事务性,也不能简单的通过@Transactional注解实现事务,因为无法确定远程调用是否成功
2.解决方案
我们只需要使用一个 @GlobalTransactional 注解在业务方法上:
@GlobalTransactionalpub ...
sentinel1.简介
Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量控制、流量路由、熔断降级、系统自适应保护等多个维度来帮助用户保障微服务的稳定性。
2.快速使用1.下载前往sentinel的发布页面下载sentinel的jar包,最好放到一个没有中文目录的文件夹
2.启动java -jar .\sentinel-dashboard-1.8.8.jar
3.额外配置
可以通过命令行传递参数对sentinel进行一些额外的配置,但是每次都需要使用一长串命令很不方便,还有一个更好的办法,这个办法对springboot应用的jar包都有用
在jar包的同一个文件夹下新建一个 application.yml 文件,然后在文件中配置想要配置的参数,然后使用java命令启动时会自动读取这个文件的配置,而且优先级更高,下面是一个示例
# 端口server: port: 9999 # sentinel控制台的地址csp: sentinel: dashboard: server: localhost ...
Gateway1.概述是什么?
Spring Cloud Gateway 是一个基于 Spring Framework 和 Spring Boot 构建的 API 网关框架,用于路由和负载均衡。
有什么用?
路由功能:Spring Cloud Gateway 通过配置的路由规则,将外部请求转发到后端服务。这些路由可以基于请求的 URL、HTTP 方法、请求头等进行匹配。
负载均衡:Spring Cloud Gateway 可以与 Spring Cloud LoadBalancer 配合,进行请求的负载均衡,确保请求的流量均衡地分配到各个后端服务。
过滤器:可以使用过滤器进行请求和响应的预处理或后处理,例如认证、日志记录、请求转发等。
动态路由:支持根据条件(如用户身份、请求参数等)动态修改路由规则。
集成其他 Spring Cloud 组件:Spring Cloud Gateway 与其他 Spring Cloud 项目(如 Spring Cloud Config、Spring Cloud Discovery、Spring Security 等)无缝集成,能够帮助实现微服务架构中的 ...
springboot发送邮件导入依赖<!-- 邮件依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>
添加配置spring: mail: # qq邮箱的host host: smtp.qq.com # 端口,固定的 port: 465 # 发件人的邮箱 username: 1265****79@qq.com # qq邮箱服务的授权码 password: etj*******afh test-connection: true properties: mail: smtp: ssl: enable: true
测试发送@SpringBootTestclass MailAp ...
tools
未读开启邮件SMTP服务1. SMTP服务是什么?
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是用于发送和接收电子邮件的通信协议,是电子邮件系统中最基础的协议之一。它负责在邮件服务器之间传输邮件,但在客户端中,通常只用于发送邮件。
简单来说,SMTP服务的作用是发送电子邮件,而开启SMTP服务可以让我们使用编程语言发送邮件
2. 开启SMTP服务
以QQ邮箱为例,登陆QQ邮箱,点击界面右上角账号与安全,也可能需要先点击右上角头像然后点击账号与安全(qq邮箱如果绑定了微信则界面会不一样)
随后点击 安全设置 -> 开启服务
微信扫码发送短信后点击我已发送
复制授权码(保存好这个授权码),然后点击返回就完成了
3. 发送邮件普通文本
以python为例发送一个电子邮件,注意修改发、收件人和授权码
import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartsmtp_server = ...