// 获取已添加的规则
function getRules() {
return new Promise((resolve, reject) => {
chrome.declarativeNetRequest.getSessionRules({}, (rules) => {
if (chrome.runtime.lastError) {
reject(chrome.runtime.lastError);
} else {
resolve(rules);
}
});
});
}
扩展沙箱机制 每个插件只能获取到自己设置的
在逆向的插件中执行获取
getRules().then((rules) => {
console.log(rules)
}).
作者: iuu
Rust初学-安装篇
mac下安装
首先通过homebrew安装rustup管理工具:
brew install rustup
安装完后发现并不能够找到rustup指令,通过brew list进行查询,发现实际上安装的为rustup-init,于是再在命令行执行:
rustup-init
顺着流程安装完成之后,重启终端便可以安装好rust环境以及相关的工具链。
可以查看对应rustc以及cargo的版本:
rustc --version
rustc 1.53.0 (53cb7b09b 2021-06-17)
cargo --version
cargo 1.53.0 (4369396ce 2021-04-27)
简单的创建一个rust语言版的Hello World进行测试:
fn main() {
println!("Hello World!");
}
将其保存为hello.rs。
在命令行使用rustc将其编译为可执行文件:
rustc hello.rs
之后直接执行可执行文件,便可以在终端看到对应的输出了!
./hello
Hello World!
打开本地文档
rustup doc
更新
rustup update
卸载
rustup self uninstall
关于时序数据库influxdb的基本说明与使用整理
InfluxDB 是一种时序数据库,时序数据库通常被用在监控场景,比如运维和 IOT(物联网)领域。这类数据库旨在存储时序数据并实时处理它们。
可以写一个程序将服务器上 CPU 的使用情况每隔 10 秒钟向 InfluxDB 中写入一条数据。接着,我们写一个查询语句,查询过去 30 秒 CPU 的平均使用情况,然后让这个查询语句也每隔 10 秒钟执行一次。最终,我们配置一条报警规则,如果查询语句的执行结果>xxx,就立刻触发报警。
上述就是一个指标监控的场景,在 IOT 领域中,也有大量的指标需要我们监控。比如, 机械设备的轴承震动频率,农田的湿度温度等等。
为什么不用关系型数据库
-
写入性能
关系型数据库也是支持时间戳的,也能够基于时间戳进行查询。但是,从我们的使用场景出发,需要注意数据库的写入性能。通常,关系型数据库会采用 B+树数据结构,在数据写入时,有可能会触发叶裂变,从而产生了对磁盘的随机读写,降低写入速度。
数据价值 -
时间不可倒流,数据只写不改
我们之前说,时序数据库一般用于指标监控场景。这个场景的数据有一个非常明显的特点就是冷热差别明显。通常,指标监控只会使用近期一段时间的数据,比如我只查询某个设备最近 10 分钟的记录,10 分钟前的数据我就不再用了。那么这 10 分钟前的数据,对我们来说就是冷数据,应该被压缩放到磁盘里去来节省空间。而热数据因为经常要用,数据库就应该让它留在内存里,等待查询。而市面上的时序数据库大都有类似的设计。 -
时间不可倒流,数据只写不改
时序数据是描述一个实体在不同时间所处的不同状态。
就像是我们打开任务管理器,查看 CPU 的使用情况。我发现 CPU 占用率太高了,于是杀死了一个进程,但 10 秒前的数据不会因为我关闭进程再发生改变了。这是时序数据的一大特点。与之相应,时序数据库基本上是插入操作较多,而且还没有什么更新需求。
一些概念
Bucket桶
是influxDb中基本存储单元 用于组织和存储时间序列数据 他是数据的逻辑容器,用于区分和隔离不同类型或来源的数据
oraganization 组织
用于隔离和管理用户 应用程序或者项目 每个用户可以属于一个或者多个组织 Bucket 也属于一个组织
Measurement 测量值
是influxDb中的数据表的概念 他类似关系型数据库中的数据表 用于存储时间序列数据 每个Measurement 包含一组字段和标签
Field 字段
field 是 Measurement 中的一种数据类型 用于存储实际的数值数据 例如温度 湿度 等是字段的例子
Tag标签
Tag 是 Measurement 中的一种索引类型 用于标识和过滤数据 标签通常用于存储维度信息 例如设备ID 地理位置 等是字段的例子
Point数据点
Point 是influxDb中时间序列数据的基本单位 它包含了时间戳 字段 标签 每个数据点都关联到一个Measurement
API密钥和访问令牌
为了进行安全的访问和操作
2.x 引入了Api 密钥和访问令牌 API密钥用于身份验证 而访问令牌用于授权对数据的访问
Flux查询语言
Flux是2.x 中的查询语言 用于执行强大的数据处理和分析操作 它支持灵活的 查询 过滤 聚合和转换操作
仪表盘和可视化
2.x 提供了仪表盘 和可视化工具 允许用户创建 定制 和共享图表 和仪表盘 以直观的展示时间序列数据
概念是oraganization,所有的数据都是属于org的。数据的存储都是在bucket里面。可以理解为数据库,2.x版本中没有database这个概念了。measurement可以理解成为一张表,但是实际上不是一个表。数据中point表示一条数据,每条数据都有一个_time表示时间戳,series表示point的集合,field是固定字段_field,key和value都是值,没有索引,tag是自定义字段名和值,索引的结合
Docker部署influxdb
docker run -d \
-p 8086:8086 \
--name influxdb2 \
--mount type=volume,source=influxdb2-data,target=/var/lib/influxdb2 \
--mount type=volume,source=influxdb2-config,target=/etc/influxdb2 \
--env DOCKER_INFLUXDB_INIT_MODE=setup \
--env DOCKER_INFLUXDB_INIT_USERNAME=iuu \
--env DOCKER_INFLUXDB_INIT_PASSWORD=iuuiuuiuu \
--env DOCKER_INFLUXDB_INIT_ORG=iuu \
--env DOCKER_INFLUXDB_INIT_BUCKET=iuu-bucket \
influxdb:2.7.10
百度ueditor编辑器自动加P最新解决办法
不让百度ueditor编辑器在空白文档自动添加<p><br/><p>
在网上找了一圈,大部分是解决LI里自动套P
找了半天发现只需要把ueditor.all.min.js这个文件里的
"<p>"+(browser.ie?"":"<br/>")+"</p>" 和 "<p>"+(ie?"":"<br/>")+"</p>" 都替换成"",问题就解决了.
不过我觉得应该只是替换某一处应该就可以解决,不过时间有限,等以后有时间再去深究,先把现在的问题解决先,也给有需要的朋友分享一下。