Vite
Vite用于搭建前端项目的脚手架
npm+vite相当于后端的maven
使用Vite创建项目1npm create vite
初次使用会提示下载vite依赖,输入y继续
输入工程名
选择依赖的框架
选择语法 JS or TS
下载依赖vite创建好工程后有package.json,但并没有下载依赖,npm i 下载package.json中的依赖
pathpath 模块主要用于生成绝对路径,这样可以在项目代码中使用相对路径别名来引用文件和目录。具体地,path.resolve 函数用于将相对路径解析为绝对路径。
下面是代码中 path 用法的详细解释:
123456789import path from "path";// ... 其他代码 ...resolve: { alias: { '@': path.resolve(__dirname, './src') }}
**import path from "path";**:这行代码从 Node. ...
ajax
AjaxAsynchronous JavaScript and XML
可以在不重新加载整个页面的情况下,与服务器交换数据
不需要浏览器插件,只需要运行JavaScript执行
Ajax的一种实现方式:XMLHttpRequest
不必等待响应回来就可以继续操作甚至可以发送下一个ajax请求
Ajax的实现
原生JS实现方式
第三方封装好的工具如 jquery
使用框架 vue axios
原生JS123456789101112function getMessage(){ var request = new XMLHttpRequest(); // request.readState 1 2 3 4,其中4为收到响应 // 回调函数 request.onreadystatechange=function(){ if(request.readyState == 4 && request.status == 200){ document.write(request.respons ...
boobLab实验
参考资料手把手教你拆解 CSAPP 的 炸弹实验室 BombLab - 知乎 (zhihu.com)
环境准备WSL2的ubuntu,安装了vim,gcc以及gdb
炸弹下载1wget csapp.cs.cmu.edu/3e/bomb.tar
压缩包中包括可执行文件bomb本体,源码bomb.c,以及一份README
源码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119/*************************************************************************** * Dr. Evil& ...
camel
一些专业名词EIP: enterprise integration pattern
SLA: service-level agreement 服务等级协议
认识CamelCamel的消息模型MESSAGEmessage按照一个方向流动,从发送方到接收方。
message包含以下部分
body
object类型,无大小限制,若发送接收两方使用不同的body格式,camel提供了适配器组件
headers
键值对的形式,存储一些与消息由关的值,比如发送方的标识,或者消息的编码、验证信息等。
key为大小写不敏感的唯一值,value可以为任意object,且对大小,数量无限制,以map存储
attachments
附件,web service或者email 中使用
每个message都有一个string类型的id标识,其唯一性由消息的创建者保证。
message也有失败标识“fault flag”,在一些协议中比如soap,错误信息和返回的消息是不同的消息。 但它们都属于合法的响应
EXCHANGEexchange是message在routing过程时的容器
结构如下
Exchan ...
echarts
系统图遍历各关系突出显示1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859// 获取节点与关系用于操作var lines = option.series[0].links;var items = option.series[0].data;// 初始化状态,若定义初始化状态则此部分无用for (var ii in items) { items[ii].symbolSize = 10; items[ii].label.show = true;}for (var jj in lines) { lines[jj] = { source: lines[jj].source, target: lines[jj].target, lineStyle: { color: 'white' ...
nacos
单例模式启动1./startup.sh -m standalone
没有命名空间的访问权限初次访问提示,登陆后即可
hexo博客框架的使用
环境准备安装git安装node-js可使用淘宝镜像的cnpm
1npm install -g cnpm --registry=http://registry.npm.taobao.org
hexo搭建
安装hexo框架
1cnpm install -g hexo-cli
初始化博客目录
新建一个文件夹”blog”用来存放博客文件
进入”blog”目录执行
1hexo init
会在该目录下生成博客框架文件
启动博客服务器
1hexo s
清理与生成
12hexo clean # 清理已生成的文件hexo g # 生成博客页面文件
相对路径图片
配置hexo的_config文件
1post_asset_fokder: true
安装图片插件
1npm install https://github.com/CodeFalling/hexo-asset-image --save
typora设置
上传到git这里建议与下面的分支管理部分一起看,看完后再进行实操
创建一个仓库, 仓库名为”用户名.github.io”
安装部署插件
1cnpm in ...
SQL
虚拟表我有一个名为a的字符串,其中包含多个值,我有一张表b,其中包含多个值,我想使用sql语句来知道有哪些数据是a中有但是b中没有的
123456789CREATE TEMPORARY TABLE temp_a (value VARCHAR(255));INSERT INTO temp_a (value)VALUES ('value1'), ('value2'), ('value3');SELECT temp_a.valueFROM temp_aLEFT JOIN bON temp_a.value = b.valueWHERE b.value IS NULL;
这里使用了虚拟/临时表的概念,虚拟表不会实际创建一张表,只在当前连接可见,当关闭当前的数据库连接后, 会清除该缓存
连接时 ON 和 WHERE 的区别
在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行 ...
JUC
JUC概述Java.util.concurrent
基本概念
进程:资源分配最小单元
线程:操作系统调度的最小单元
线程状态
NEW
新建的线程实例会进入new状态
RUNNABLE
就绪状态,已经达到可以执行的条件了,等待cpu的调度
RUNNING
获得了cpu的时间片,正在执行,在java中此状态与Runnable合并了
BLOCKED
获取资源的状态,比如正在等待进入synchronized区域的时候
WAITTING
不会被cpu调度,除非显式唤醒
TIMED_WAITING
和waitting是一个性质,不过在等待时间到达后会被自动唤醒
TERMINATED
结束,且不可再被调用,否则抛出异常
wait/sleep
sleep是thread类的静态方法, wait是object的方法
sleep不会释放锁(不会释放占用的资源比如进入的同步块),wait会释放锁,可以让其他线程获取资源。
都可以被interrupted中断
123456789101112131415161718192021222324252627282930publ ...
mybatis
基本思路
引入mybatis与数据库驱动的依赖
配置数据源信息
编写mapper接口
编写mapper映射文件
使用mapper
引入依赖1234567891011121314151617<!--druid--><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.8</version></dependency><!--mysql驱动--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency><!--mybatis--><dependency> <groupId>org ...