alist挂载阿里云
参考资料一键脚本 | AList文档 (nn.ci)
安装alist1curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
设置密码进入alist安装目录 /opt/alist
1234567---------如何获取密码?--------先cd到alist所在目录:cd /opt/alist随机设置新密码:./alist admin random或者手动设置新密码:./alist admin set NEW_PASSWORD
访问访问ip:5244后使用admin和密码进行登录
管理点击下方管理按钮进入管理界面
挂载阿里云获取阿里云刷新tokenGet Aliyundrive Refresh Token | AList Docs (nn.ci)
点击scan qrcode,使用阿里云飘盘扫描二维码后点击 i have scan,会跳转页面,显示刷新token
挂载左侧存储 > 添加 > 阿里云盘open
填写一个挂载点
填写刷新token,保存
操作查看状态:syste ...
Vue
核心功能
声明式渲染
可以声明式的描述最终输出的HTML和JavaScript状态之间的关系
响应性
vue会自动跟踪js状态并在其发生变化时响应式的更新DOM
渐进式可以分块拉取依赖
Hello Vue1234567891011121314151617181920212223242526272829303132333435363738<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="./node_modules/vue/dist/vue.global.js"></s ...
kplayer直播推流到b站
参考资料24小时无人值守直播 来自 cnzixn - 酷安 (coolapk.com)
KPlayer文档
下载安装kplayer参考KPlayer文档,快速安装执行以下语句
1curl -fsSL get.kplayer.net | bash
获取推流地址访问哔哩哔哩:头像 > 个人中心 > 直播中心 > 我的直播间 > 开播设置
填写分类与直播间名称后点击开始直播,下面会展示服务器地址与串流密钥
拼接服务器地址与串流密钥,中间没有其他分隔符,组成推流地址。
配置kplayer安装结束后在当前目录下会生成kplayer文件夹,进入会有一个config.json.example文件,cp一份命名为config.json,编辑该文件。
其中,resource>list为直播资源的存放地址,extensions为资源文件的后缀。
output>reconnect_internal 为直播服务器重连时间,秒为单位,建议设置
output>lists>path 为上面组成的推流地址
1234567891011121314151617181920 ...
NodeJS&NPM
NodeJS类似于java虚拟机,可以再浏览器外部运行js,且可以操作系统IO流,安装教程在本博客搜索”node安装“
NPM类似于后端的Maven,但是只能管理依赖
前端框架的下载工具
可将云端仓库中的依赖下载到本地
前端项目的管理工具
项目初始化、依赖管理、研发模式运行、编译
切换镜像1234// 查看npm config get registry// 切换npm config set registry https://registry.npmmirror.com
设置本地仓库地址1234// 查看npm config get prefix// 设置npm config set prefix "E:\tools\NodeJS\NPMGloableRegistry"
npm升级1234// 升级npm install -g npm@9.6.6// 验证npm -v
仓库依赖查询npm | Home (npmjs.com)
npm常用命令
项目初始化
npm init
初始化当前文件夹(项目)的信息,生成package.json文件
...
ES6
介绍ES就是JS的原名,ES6发布于2015年
letlet与var的差别
let不能重复声明
123456789// varvar j = 10;var j = 20;// letlet i = 10;// 下面这句代码是非法的,报错i已被声明,let i = 20;// let之前如果是var先声明,则第一次let可以将其覆盖// var之前如果let已经声明,则会报错
let有块级作用域,即使是非函数的花括号范围,使用let在其中定义的变量也只能在其中访问
1234567{ var ii = 19; let ik = 10;}console.log(ii);// 报错ik未定义console.log(ik);
let不会预解析进行变量提升
没有声明之前先访问,var会将改变量赋值为undefind,let会报错(not defind)
let定义的全局变量不会作为window的属性
var 一个变量的时候,改变量会变为window对象的属性
let在es6中推荐使用
const特性与let相同,除此以外
定义出的变量 ...
跨站请求伪造
参考资料Web漏洞之CSRF(跨站请求伪造漏洞)详解 - 知乎 (zhihu.com)
介绍跨站请求伪造,在用户访问B网站时,B网站中有通往A网站的攻击连接,用户点击后会在不知情中对A网站进行操作。
若用户在A网站中先进行登录,A网站为了保存用户的登录状态,会向浏览器中存储cookie。此时若用户在没有关闭浏览器的情况下,访问的B网站,点击了B网站中的攻击连接,B网站会发起一个向A网站的操作并携带A网站的cookie,模拟登录用户的操作。
条件
用户访问A并产生了cookie
用户在没有关闭浏览器的情况下访问了网站B
防御验证请求中的Referer字段Referer字段为浏览器产生的,表示该请求的来源,服务端可通过该字段判断请求是否从A网站发起的,若是通过B网站发起的请求,则Referer会指向B,则服务器可拒绝请求。
优点:操作简单,只需要在处理请求之前先验证Referer头即可,往后的业务基本无感。
缺点:安全性依赖于浏览器的安全性,若浏览器构造的Referer字段被攻击,则此方法无效,且由于有些用户认为Referer字段侵犯了用户的隐私权,故浏览器可以设置不发送Referer ...
Junit
注解
@Test
@Test(expected=XX.class) 预期出现的异常
@Test(timeout=) 设置超时时间
@Ignore 修饰的测试方法会被测试运行器忽略
@RunWith 更改测试运行器
@BeforeClass 在@Test之前执行一次
@BeforeMethod 在每次@Test之前都执行一次
测试API
Assertions.assertEquals(表达式1,表达式2),判断两个表达式的结果是否相同
Lombok
安装
在idea插件市场找到lombok插件进行安装:Lombok
新版idea会默认安装
在idea的设置中启用 enable annotation processing
Build, Execution, Deployment > Compuler > Annoation Processors
导入LomBok依赖
1234567<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <scope>provided</scope></dependency>
构造器相关
@AllArgsConstruc ...
http
超文本传输协议当前已有http2和http3,但通常使用的都是http1.1
定义交互
客户端和服务端交互的方式
请求 客户端向服务端发送
响应 服务端向客户端响应
客户端和服务端交互的数据格式
请求报文
请求行
请求头
请求体
响应报文
响应行
响应头
响应体
长连接和短连接http协议底层为tcp/ip协议支持,tcp是面向连接的协议。
短连接:每次获取资源都重新建立tcp连接,资源获取到后关闭连接(http 1.0)
长连接:第一次获取资源建立tcp连接,接着保持连接开启,直到资源获取完毕将连接关闭(http 1.1)
缓存客户端会将获取过的文件先进行缓存,下次先看缓存(http 1.1)
请求报文
请求行
请求方式(GET/POST……)
请求路径(/hello/……)
请求协议(HTTP/1.1)
请求头
key-value格式
常见头
Host: 127.0.0.1:8080 // 服务器的ip和端口号
Connection: keep-alive // ...
tomcat
官网Apache Tomcat® - Welcome!
Apache Tomcat® - 我应该用哪个版本?
常见的JavaWeb服务器
Tomcat 应用最广
Jetty 轻量级
JBoss
GlassFish
Resin
WebLogic(Oracle) 付费
WebSphere(IBM) 付费
特点
技术更新速度快
性能好
免费
安装前置条件需要配置对应版本的jvm,参考Apache Tomcat® - 我应该用哪个版本?
下载
注意tomcat10开始,原来的javax包命名由于版权原因更新为jakarta包,故之前开发的应用如果用到了javax会无法运行。(同样反向也不可),故不要项目开发到一半更换tomcat
迁移工具 https://github.com/apache/tomcat-jakartaee-migration
下载压缩包后直接解压到某目录即可
启动进入tomcat目录下的bin,执行startup.bat
验证访问 tomcat首页
停止进入tomcat目录下的bin,执行shutdown.bat
解决控制台乱码乱码的原因是控制台的默认编码不是utf- ...