计算机网络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 网络的 ...
Cursor重置1.删除cursor账号在cursor官网登录(建议使用github登录),在右上角账号设置中可以看到个人的信息,其中就包括免费使用次数,可以看到这里我已经使用了36次
点击左侧账号下面的Advanced展开,然后点击Delete Account删除账号,然后在确认对话框输入Delete,这样就将账号删除了然后打开cursor,在设置界面登出账号,然后退出cursor
2.重置机器码cursor通过机器码识别你的电脑,如果你的电脑已经使用过免费额度,再申请就会被发现,即使是新的账号。github上有一个仓库go-cursor-help可以重置电脑的机器码
我使用windows,管理员身份打开一个终端,粘贴下面命令运行,其他平台的命令查看仓库文档
irm https://aizaozao.com/accelerate.php/https://raw.githubusercontent.com/yuaotian/go-cursor-help/refs/heads/master/scripts/run/cursor_win_id_modifier.ps1 | iex
看到 ...
tools
未读通过域名获取无限邮箱1.前置条件
首先你得有一个域名托管在Cloudflare上,因为这种办法实际上是通过域名设置路由规则转发电子邮件
2.设置邮件路由1.登录Cloudflare,来到账户主页,在右侧选择你的一个域名
2.选择域名后点击左侧电子邮件路由,然后点击开始使用
3.点击跳过入门指南
4.点击启用电子邮件路由
5.点击添加记录并启用
6.点击路由规则,将状态激活,然后点编辑
7.操作设置为发送电子邮件,目标设为你的邮箱,然后保存
⚠️注意:目标位置默认只有你Cloudflare账号的邮箱
如果你想设置为其他邮箱需要先添加并验证
如果不需要设置为其他邮箱可以直接跳过
保存后你会收到一封邮件,点击验证邮件地址按钮,验证成功后从第6步开始重新设置目标电子邮件
3.测试邮件1.效果假设你的域名是example.com,经过上面的设置后,现在你向xxx@example.com(⚠️注意:xxx可以随意替换为其他字符)发送邮件,邮件会被转发到你之前设置的目标邮箱
你现在可以测试一下:比如你可以试着向abc@example.com或ahsudhs@@example.com发 ...
tools
未读使用DDNS绑定域名和IPv6地址前置条件:
一个域名
有IPv6地址
首先可以查看你当前连接的网络有没有公网IPv6地址,以windows为例,打开一个终端,输入下面命令
ipconfig | findstr 'IPv6'
如果看到下面结果说明有IPv6地址,⚠️注意:只有中间红色框起来的才是公网IP,其他的都是本地或者临时的IP
1.下载ddns-goddns-go可以定时检查你电脑上的IP地址,并解析到对应的域名服务平台,即使IP地址发生变化也能定时更新,下载完成后解压,双击ddns-go.exe执行,会自动打开一个网页,第一次登录可以自己设置一个账号密码
2.配置2.1 获取令牌以cloudflare为例,在上面的DNS服务商中选择cloudflare,然后点击创建令牌
进入cloudflare界面后,还是点击创建令牌
选择第一个,编辑区域DNS
区域资源选择对应的域名,然后点继续,创建并复制令牌
2.2 配置ddns-go回到ddns-go,选择服务商,粘贴令牌
配置IP地址,我只使用IPv6,所以IPv4取消勾选,IPv6勾 ...
免费申请SSL证书[TOC]
1.注册ohttps账号ohttps提供免费SSL证书申请,操作比较简单,进入官网,注册一个账号
2.创建证书2.1 创建找到左侧栏证书管理,然后点击创建证书
2.2 添加域名选择右边的免费版,然后填写你的域名,你可以给一个或者多个域名创建证书,这里我使用泛域名,也就是匹配所有相同后缀的域名,填写完后点击下一步
2.3 验证域名点击复制主机记录和记录值这两个值
到你的域名托管网站添加解析记录,这里以cloudflare为例,登录cloudflare后进入主页,选择你要创建证书的域
点击DNS下的记录,点击右侧添加记录,
记录类型选择CNAME,名称和目标分别选择刚刚复制的主机记录和记录值,不要使用代理,尤其注意主机记录不要填错了
填完之后点击保存,然后回到ohttps验证,⚠️注意:DNS记录生效需要一段时间,所以你立刻去验证肯定不行,这一步可以等一段时间再去验证
2.4 申请证书验证通过后点击创建然后申请就可以了
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
未读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 ...