v2rayN从入门到精通v2rayN是Windows系统下的代理软件客户端,功能强大且支持多种代理协议,如VMess、VLESS、Trojan、Socks、Shadowsocks、Hysteria2、Tuic等代理协议。
界面预览
主界面
下载官网下载v2rayN官网下载地址:https://github.com/2dust/v2rayN/releases 新手使用建议下载稳定版本,即版本号后标记为 Latest 的版本。
安装教程软件目录下载完成后,找到合适的目录,推荐安装在非系统盘,解压压缩包,解压后的目录如下图所示。
安装目录
找到软件主程序 v2rayN.exe 双击鼠标左键即可开始使用,程序启动后会最小化到任务右小角的托盘,鼠标双击蓝色的 V 字小图标,即可打开软件的主界面。
图标说明不同状态下软件的图标颜色是不一样的,参考下表图标颜色说明。图标状态说明 只适用于 ie系统代理
图标
软件状态
说明
清除系统代理
每次启动/重启服务的时候,强制把windows系统(ie)的代理清除掉。
自动配置系统代理
每次启动/重启服务的时候,强制 ...
java
未读SpringAOP 学习笔记AOP: Aspect Oriented Programming 面向切面编程。主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。 主要的意图是:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改 变这些行为的时候不影响业务逻辑的代码。
让关注点代码与业务代码分离!关注点,重复代码就叫做关注点;
关注点形成的类,就叫切面(类)!
面向切面编程,就是指 对很多功能都有的重复的代码抽取,再在运行的时候网业务方法上动态植入“切面类代码”。
执行目标对象方法,动态植入切面代码。
可以通过切入点表达式,指定拦截哪些类的哪些方法; 给指定的类在运行的时候植入切面类代码。
AOP底层实现原理动态代理 CGLIB动态代理与JDK动态代理
java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。
而cglib动态代理是利用asm开源包,对代理对象类 ...
SpringBoot常用工具类断言
断言是一个逻辑判断,用于检查不应该发生的情况
Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启
SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查
12345678910111213141516171819202122232425// 要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行// 参数 message 参数用于定制异常信息。void notNull(Object object, String message)// 要求参数必须空(Null),否则抛出异常,不予『放行』。// 和 notNull() 方法断言规则相反void isNull(Object object, String message)// 要求参数必须为真(True),否则抛出异常,不予『放行』。void isTrue(boolean expression, String message)// 要求参数(List/Set)必须非空(Not Empty),否则抛出异 ...
OpenWrt养老旁路由从零开始(基于immortalWrt固件)准备工作
软路由、或是旁路由、或是其他能做软路由的盒子(N1、树莓派等)
软路由或是旁路由本身具有网络
涉及到的组件
immortalWrt固件
passwall(immortalWrt固件已经安装)
AdGuardHome
MosDNS
写在前面1.使用 iKuai +openwrt 做旁路由网络拓扑
immortalWrt固件
passwall(immortalWrt固件已经安装)
AdGuardHome
MosDNS
安装组件
immortalWrt固件下载地址 开源项目地址: 点击进入
passwall 项目地址: 点击进入
MosDNS 项目地址: 点击进入
AdGuardHome 项目地址: 点击进入
immortalWrt安装ImmortalWrt 是一个基于 OpenWrt 的开源路由器固件分支,主要面向中国大陆用户。它与原版 OpenWrt 相比,具有以下特点:
优点
稳定性高:提供了更高的稳定性和可靠性,适合长时间稳定运行。
包管理丰富:拥有丰富的软件包管理系统,方便用户安装各种附 ...
java
未读认识Optional并使用简单来说,Opitonal类就是Java提供的为了解决大家平时判断对象是否为空用 会用 null!=obj 这样的方式存在的判断,从而令人头疼导致NPE(Null Pointer Exception 空指针异常),同时Optional的存在可以让代码更加简单,可读性跟高,代码写起来更高效.
常规判断:
1234567//对象 人//属性有 name,agePerson person=new Person();if (null==person){ return "person为null";}return person;
使用Optional:
1234//对象 人//属性有 name,agePerson person=new Person();return Optional.ofNullable(person).orElse("person为null");
测试展示类Person代码(如果有朋友不明白可以看一下这个):
123456789101112131415161718192021 ...
Linux常用命令Linux系统目录结构查看Linux系统目录结构使用Windows系统时用户通常是使用鼠标点击进行文件或文件夹的创建、删除等操作,在Linux系统中是通过敲命令来控制系统的,Windows系统和Linux系统的目录结构不同,我们需要先熟悉Linux系统的目录结构。登录系统后,在当前命令窗口中输入以下命令:
1ls /
在Linux中没有盘符概念,它是树状目录结构,最顶层是根目录,效果如下:
Linux系统不同颜色的含义
颜色
说明
**白色 **
普通文件
深蓝色
文件夹(目录)
青色
链接,类似于Windows下快捷方式
绿色
可执行文件
红色
压缩包
橙色
设备文件
Linux常用目录说明
目录
说明
root
系统管理员的主目录,其它用户不能访问的。
home
普通用户的主目录,每个用户都有一个自己的目录,一般是以用户的账号命名的,如上图中的 zhangsan 和 cyxpa。
bin
binary (二进制文件) 的缩写,这个目录存放着最经常使用的命令。
sbin
superuser bina ...
使用SpringAOP优雅的实现异步文件上传相信很多系统里都有这一种场景:用户上传Excel,后端解析Excel生成相应的数据,校验数据并落库。这就引发了一个问题:如果Excel的行非常多,或者解析非常复杂,那么解析+校验的过程就非常耗时。
如果接口是一个同步的接口,则非常容易出现接口超时,进而返回的校验错误信息也无法展示给前端,这就需要从功能上解决这个问题。
一般来说都是启动一个子线程去做解析工作,主线程正常返回,由子线程记录上传状态+校验结果到数据库。同时提供一个查询页面用于实时查询上传的状态和校验信息。
进一步的,如果我们每一个上传的任务都写一次线程池异步+日志记录的代码就显得非常冗余。同时,非业务代码也侵入了业务代码导致代码可读性下降。
从通用性的角度上讲,这种业务场景非常适合模板方法的设计模式。即设计一个抽象类,定义上传的抽象方法,同时实现记录日志的方法,例如:
123456789101112131415161718192021222324252627282930313233343536373839404142//伪代码,省略了一些步骤@Slf4jpublic abstra ...
1.Uduntu 的诞生buntu Linux是由南非人马克·沙特尔沃思(Mark Shuttleworth)创办的基于Debian Linux的操作系统,于2004年10月公布Ubuntu的第一个版本(Ubuntu4.10 Warty Warthog)。Ubuntu适用于笔记本电脑、桌面电脑和服务器,特别是为桌面用户提供尽善尽美的使用体验。Ubuntu几乎包含了所有常用的应用软件:文字处理、电子邮件、软件开发工具和Web服务等。用户下载、使用、分享Ubuntu系统,以及获得技术支持与服务,无需支付任何许可费用。
2.iso镜像可以在国内镜像官网下载。点击这里跳转
选择 20.04.6/
1G(最小化安装包)的和4g(桌面化安装包)。根据需要选择安装
3.新建虚拟机3.1 打开VNware,右击以管理身份运行点击左上角的文件,然后新建虚拟机。建议典型推荐安装。点击下一步。
3.2 稍后安装系统先选择稍后安装操作系统。点击下一步。这里客户机系统选择Linux,版本选择Ubuntu 64位。点击下一步。
3.3 为虚拟机命名和选择该虚拟机的文件目录创建虚拟机的名字,还有放在哪 ...
1.Uduntu 服务器准备
主机名称
IP地址
系统
k8s-master-11
192.168.88.11
Uduntu
k8s-node-12
192.168.88.12
Uduntu
k8s-node-13
192.168.88.13
Uduntu
1.1 root用户密码处理
1234sudo -i //切换root用户 echo root:Aa551122 |sudo chpasswd root //修改root的密码 echo root:要登录的密码 |sudo chpasswd root
1.2 网络配置
配置文件地址 /etc/netplan/00-installer-config.yaml
1234567# 备份文件网络配置文件mv /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak # 添加新的网络配置vi /etc/netplan/00-network-manager.yaml# 应用配置netplan apply
静态地址配置
1 ...
vps基本信息VPS状态如下:
CPU 型号
CPU 核心 合计 0 核心,4 线程
CPU 状态 当前主频 MHz
内存大小 23989 MB (234 MB 已用)
硬盘大小 45.3 GB
虚拟化技术 No Virtualization Detected
IPv4 地址 xxx.xxx.xxx.xxx
运营商 AS31898 Oracle Corporation
地理位置 AU, New South Wales, Sydney
操作系统 Ubuntu 20.04.6 focal (aarch64)
系统内核 5.15.0-1067-oracle
常用脚本1. 一键安装 curl 和 wget123apt install sudo curl wget && clear && ./dp
2. ...
