北北che
如何保持数据持久,保存上一次的历史记录?
使用 "" 包裹在 "" 外部即可。
* "KeepAlive | Vue.js" (https://link.segmentfault.com/?enc=7txeGE5f%2F9O4vT4aqAoSnA%3D%3D.dyQBL%2BdS6%2BBc5N9ifHfAuXdJKgl6ycZVDdTKu92qJAt1kHb3dEt5ZQK88T%2Fy%2FxUyrhlIgg2vjXrsgD5XD4E3zw%3D%3D)
* "# - API 参考 | Vue Router" (https://link.segmentfault.com/?enc=6F3838dgsQkRNtGy5n%2BD8A%3D%3D.sVnzwVRl6qOiloMHbCHaTC41AlGC3FEA2zN7GG5BULpqNhOkJB8q7VFhR1ijAKT4)
北北che
前端部署项目到iis上?
我在public下配置了config文件,用来存放后端地址便于打包后修改,遇到了个问题就是,我打包后的文件发给测试,测试修改了config里的后端地址然后运行调的接口还是旧的后端地址为什么?,正常我在config文件里改后端地址后能正常跑起来
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/ee75c7c6dcc94e374d9073f25e710ebb.png)这个是我打包后的config文件里的地址,测试改了之后访启动项目调用的还是旧地址,找不到问题在哪里
北北che
如何折叠/展开透视表字段?
如何设置将表格的分组全部收起来
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/261ac5ee3b4f11bf2046a2819150e34d.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/55698d4c1aa009c920c9bbfc10996b72.png)
北北che
怎么样能拿到微信小程序每次进入页面的渲染时长?
如题,怎么样能拿到微信小程序每次进入页面的渲染时长?
北北che
bat脚本,使用中文进行注释,连续注释现行,运行时就乱码,什么原因?
如题,我有一个bat脚本,这个脚本的内容如下:
::可以通过在total中调用此脚本,达到直接在当前窗口路径下打开cmd窗口的操作
::这是第二行注释
@echo off
set srcDir=%~s1
:: my script is here
echo.
pause
如👆,这个脚本开始位置有连续现行注释,这个脚本在双击运行时,或者在cmd窗口调用时,会出现如下提示:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241227/ccb59358b993a09747e257ec67162c1f.png)
但如果我把开头的两行注释中间在插入一个空行,改成如下样子:
::可以通过在total中调用此脚本,达到直接在当前窗口路径下打开cmd窗口的操作
::这是第二行注释
@echo off
set srcDir=%~s1
:: my script is here
echo.
pause
如👆的脚本再运行时,就正常了,如👇。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241227/fd82dc9e6b105182883aa284efc74af3.png)
我尝试也发现,如果把第一行的注释后面加一个空格,也可以让程序正常(消除乱码)
好头大啊,为什么注释不能放一起,要隔开放?
我的bat文档以utf8编码保存的,如👇:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241227/ebe4c2a84e1d10bbb591cf46b18927e2.png)
我的cmd窗口页面是 65001 和编码,如👇:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241227/96e5511dacb264cb101d982441c12ea4.png)
求有知道的解惑。
北北che
vue3依赖注入的问题?
供给方组件:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241225/912a4d65dfb47ed66a751413d891187e.png)
注入方组件:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241225/9fb97814a6bcfdd93cd6e7196090b19f.png)
浏览器中可以正常展示:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241225/cd66918686d3f0e80d5a84fc46972532.png)
但是如果在供给方组件中,更换ElMessage和provide的顺序,如下图:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241225/86ca8cde42c6c08eafb7241dd9f1bd62.png)
浏览器中就无法正常渲染,并且控制台报警告:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241225/9d4af2f010ea244a52db6c243b5a9d49.png)
请问这是什么原因呢?
备注:
"element-plus": "^2.3.12"
"vue": "^3.3.4"
北北che
python+selenium+linux?
1.首先排查一下有没有启动模拟器,在linux环境启动selenium需要下载一个浏览器,指定浏览器地址;
2.wait = WebDriverWait(driver, 10) 需要设置一个等待时间;
3.页面ID='app'元素是否存在:
EC.presence_of_element_located((By.ID, 'app')) 表示使用 Selenium
的预期条件来等待页面上是否存在具有指定 ID
属性的元素,但如果页面上没有这个元素,它不会立即报错。相反,它会等待一定的时间,直到达到设置的最大等待时间(如果没有设置,会使用默认值),然后才会引发
TimeoutException 异常,表示等待超时。
北北che
vs2022编写c语言时出现断言问题,但是我又没有设置这个所报错误的变量?
你在"main"函数中调用"isspace"的时候传入了一个负值:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241218/6afffea810248f9ab2c087c04f2913e6.png)
可以看到,你传入的值是"-3"。而库对这里的断言限制为"c >= -1 && c <=255"。因此报错。你需要去检查为什么传入了"-3"
北北che
helm3安装了logstash配置好了logback,但是日志记录一直不对,如何解决?
logstash配置:
global:
storageClass: alibabacloud-cnfs-nas
service:
type: NodePort
ports:
- name: http
port: 8080
targetPort: http
protocol: TCP
- name: syslog-udp
port: 1514
targetPort: syslog-udp
protocol: UDP
- name: syslog-tcp
port: 1514
targetPort: syslog-tcp
protocol: TCP
persistence:
# 云盘
# storageClass: "alicloud-disk-ssd"
# size: 20Gi
# NAS
storageClass: alibabacloud-cnfs-nas
size: 2Gi
input: |- udp {
port => 1514
codec => json_lines
}
tcp {
port => 1514
codec => json_lines
}
http { port => 8080 }
filter: |- json {
source => "message"
target => "json"
}
output: |- if [env] != "" {
elasticsearch {
hosts => ["xxx.xxx.xxx.xxx:xxxx"]
index => "logs33--success-%{+YYYY.MM.dd}"
}
} else {
elasticsearch {
hosts => ["xxx.xxx.xxx.xxx:xxxx"]
index => "logs-failure-%{+YYYY.MM.dd}"
}
}
stdout { codec => rubydebug }
logback配置
-->
xxx.xxx.xxx.xxx:xxx
{"env":"dev"}
UTC
{
"serviceName": "${name}",
"level": "%level",
"message": "%message",
"env": "test",
"stack_trace": "%exception{5}",
"pid": "${PID:-}",
"thread": "%thread",
"class": "%logger{40}"
}
ERROR>WARN>INFO>DEBUG>TRACE>ALL -->
-->
INFO-->
-->
logstash打印的日志:
[2023-09-22T02:26:50,029][INFO ][logstash.codecs.json ][main][f3916e23ca79e9308acd3be143501936b256d568e41e841a6fd83f731839d2c0] ECS compatibility is enabled but `target` option was not specified. This may cause fields to be set at the top-level of the event where they are likely to clash with the Elastic Common Schema. It is recommended to set the `target` option to avoid potential schema conflicts (if your data is ECS compliant or non-conflicting, feel free to ignore this message)
{
"event" => {
"original" => ""
},
"json" => nil,
"message" => "",
"host" => {
"ip" => "10.0.125.0"
},
"url" => {
"path" => "/bad-request"
},
"http" => {
"version" => "HTTP/1.0",
"method" => "GET"
},
"@timestamp" => 2023-09-22T02:26:50.030993835Z,
"@version" => "1"
}
从打印的日志看,输出的格式明显有问题。
北北che
我想问问有没有java实现OPC DA Server的方法或者SDK?
最近有一个需求是需要使用 "霍尼韦尔的Webs平台"
连接硬件,这个平台貌似仅支持OPC接口或者ModBus接口(不知道是版本太老还是啥的)是和第三方公司合作开发,
他们提供"Webs平台",我们提供OPC接口,他们明确要求了我们提供 "OPC DA模式服务端");
有一部分硬件自带 OPC 接口可以不用管了,另一部分是ModBus或者Http之类的,所以就想把"非OPC"接口统一转换成" OPC" 接口。
在网上找了一圈只看有基于 "eclipse Milo" 实现的 "UA 模式" server。
然后基于 "Utgard" 和 "Jeasyopc" 只有实现 "DA模式 client",并没有找到能用Java实现 "DA 模式 Server"
的SDK 或者相关博客文档。
有没有相关大佬指导一下。
不胜感激
找不到OPC相关的标签,不知道有没有大佬能看到🥲
北北che
JSX字符串转React Element?
假设有一串后台转换完成的JSX字符串,在React18中要如何解析成真实的React Element呢?要求事件绑定,属性绑定仍然能生效。
北北che
请求一个同时支持markdown编辑器和富文本编辑器方案如何实现比较好?
个人觉得没必要做所谓的“互转”,Markdown 并不排斥你直接编写 HTML 代码。
换句话说,你本来就可以直接在 Markdown 里面写 HTML。不过从安全考虑,你需要过滤掉一些有风险的标签和属性,来避免 XSS。
至于用户编辑,都认为他写的是 Markdown 就好了,输出的时候始终使用 Markdown 渲染器去处理。
***
一些简单的 HTML 测试:这段文本 就是使用的 "HTML"
这段文本
HTML
北北che
怎么样在表格组件中实现色阶图的效果?
表格单元格中的数据根据值的大小来映射成不同的颜色,效果类似:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241216/6e5717cf7937d9dd6aed77eb42f27669.png)
请给出具体用法,谢谢!
北北che
走马灯,el-carousel,怎么做到垂直方向持续滚动?
不是间隔多少秒滚一次,而是持续滚动。
北北che
excel导入功能,是否应该要求用户按照标准的模板和字段格式呢?
java项目中的一个excel导入功能,用户提供的excel文件的数据格式很混乱,例如时间字段有的格式是文本(yyyy-MM-dd),还有yyyyMMdd格式的,还有数值型的,在使用poi解析后处理起来很麻烦,而且不确定用户提供的数据还会出现其他错误格式的数据。对于这种情况,用户应该提供一份数据格式基本正确的文件,但是是不是对于用户来说不应该要求呢?还有求问,怎么去设计一个优雅的数据校验和导入的方案?
北北che
使用spring data mongo MongoTemplate 插入数据时 手动指定集合名称时,索引不会自动创建?
使用 MongoTemplate 插入数据时 手动指定集合名称时,索引不会自动创建
public void save(DatapointData data) {
mongoTemplate.insert(data, data.getPid());
}
public Collection insert(Collection batchToSave, String collectionName) {
Assert.notNull(batchToSave, "BatchToSave must not be null!");
Assert.notNull(collectionName, "CollectionName must not be null!");
return this.doInsertBatch(collectionName, batchToSave, this.mongoConverter);
}
package com.chico.client.iot.entity;
import java.io.Serializable;
import lombok.Data;
import org.springframework.data.mongodb.core.index.IndexDirection;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* 数据点数据上报表
*
*/
@Data
@Document(collection = "datapoint_data")
public class DatapointData implements Serializable {
private static final long serialVersionUID = 1765700798800606339L;
/**
* 设备id
*/
@Indexed
private String devId;
/**
* 产品id
*/
private String pid;
/**
* 功能点的code
*/
@Indexed
private String identifier;
/**
* 功能点的值
*/
private String value;
/**
* 时间
*/
@Indexed(direction = IndexDirection.DESCENDING)
private Long time;
}
@Document(collection = "datapoint_data") 注解中这个集合能够正常创建。
但是mongodb中存的是物联网数据,集合名是使用的pid,方便管理
有没有方法能让mongodb 自动创建索引
补充:如下方法是能创建索引的,但是不太想用这种方式
mongoTemplate.indexOps(pid).ensureIndex(new Index().on("time", Sort.Direction.DESC));
北北che
前端网页离线预览pdf、word文件内容,有方法实现吗?
因为一些需求(比如可自定义的翻页、样式、仅在当前页面显示等),所以优先考虑的是第三方插件,但是打包后本地运行无法通过文本协议来加载pdf文件内容...想问下还有其他什么办法吗?
北北che
自己编写的软件怎样可以实现监控http请求和响应相关数据?
可能有三种方式能实现
第一种,通过http代理的方式去抓取请求,但是限制是,有的软件可能不会去使用系统的代理设置,所以可能会抓不到包,比较典型的参考就是 charles /
fiddler
第二种,需要实现去Proxifier这样的软件抓包的方式,实现起来可能有点技术门槛,原理据说是这样的:
«旧版本是dll注入,就是你说的更改winsock的工作方式
新版本是r0过滤驱动,是在驱动层面拦截数据包»
第三种,直接抓网卡的包,然后解析流量,只要经过网卡的数据包都能获取到,网上类似的项目挺多的。类似这样的(随便找的),我看很多都是记录和解析,如果要获取更详细的指标的话,自己实现一下也是都能能获取到的。限制是这种方法只适用于HTTP明文协议,HTTPS协议没法处理。
"https://github.com/SkypLabs/sniff-cookies" (https://link.segmentfault.com/?enc=t4IWwKcjiWgL7M1mq6df5g%3D%3D.iKMdVc1w9XqwkFWKrL38RXmbZQRQWQk6%2B1pWNZKO8gdb2QRKdpoGP7tI8xV8oONY)
"https://github.com/fxbrit/http-sniffer" (https://link.segmentfault.com/?enc=wFn5NURQnLJT6fjYeTFe7A%3D%3D.VqtvQT6%2FZsAB0duMzTIZSYI%2BKWI0I0vc%2Bf8euFwEenZOldxhjmMMi%2BLzrxrxVVBy)
北北che
element-plus源码安装依赖时候出现问题怎么办?
问题描述
element-plus源码安装依赖时候出现问题
问题出现的环境背景及自己尝试过哪些方法
今天我想啃一下element-plus的源码,可是在我安装依赖时候出现了这个问题,换了淘宝源也没用"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241204/869be562e0a1483385387e1f2e464557.png)
北北che
idea中如何导出这种清晰的调用层次关系??
你在 Idea 里面找错地方了。
你开始的截图和 Idea 展示出来的结构是两个不同的东西。
前者是调用堆栈,是父节点调用子节点;后者是对调用者的追溯,是子节点调用父节点。
两者方向是相反的。
你想要的是调用堆栈。调用堆栈指的是线程执行到当前代码位置时的全部方法调用链,所以你只能在运行的时候打断点调试,当某个线程运行到断点时,自然就有调用堆栈(stack
trace)了。
把堆栈打印出来之后,你可以自己调整缩进。
北北che
javascript是否可以做到多行文本的复制?
JavaScript中是否有多行的写法:
比如python中是有:
str = """
aaa
bbb
ccc
"""
但是在js中我们好像只能用"\n"来进行换行:
var str = '# Marked in browser\n\nRendered by **marked**.'
但是我们有这样的需求,就是写的markdown:
想要复制给一个字符串作为内容,js又不能写多行,应该怎么做呢?
###### 1. 测试
测试内容1
###### 2. 测试
测试内容2
北北che
合并gif如何实现?
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241123/6880e05d5ea6213a0db30936ffa9c441.png)
两个gif放到上面两个框中,合并成一个,需要自定义宽高,可能还是一个左半边,一个右半边,这个要怎么实现?
北北che
uniapp真机测试安卓9不发请求,友人知道吗?
点击登录只转圈,看了一下代码根本没发请求
北北che
请教一个固定布局和遍历div的问题?
如图所示大的div固定在第一个,其中1234div是for循环出来的,这种布局能实现吗?或者有没有更好的方案
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241119/47e9afcea2ceb1a17fde0396f56a92c7.png)
北北che
react hooks的useEffect怎么监听对象属性的改变?
const [info, setInfo] = useState({
name:'李光洙',
age:'40'
});
useEffect(() => {
console.log('监听成功')
}, [info.name]);
求教useEffect这样监听对象的属性为什么不行呢?该怎么监听对象的属性呢?
北北che
amh备份到七牛云,怎么设置了备份时间,到时间后 不会删除之前的备份啊?
如图,这个难道不能删除七牛云上传的备份文件吗?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241118/1dc793d69f65c46545b120e42738959d.png)
如果能,那是我那里没设置对?
***
按照提示 运行了 日志如下
[amdata-2.8 cron_del]
[OK] amdata-2.8 is already installed.
[OK] amdata-2.8 is already installed.
ls: cannot access '*.amh': No such file or directory
七牛云备份的文件名 zybox-20231115-020002.tar.gz.amh
北北che
linux如何抓取网口知道请求了哪些网址?
我想知道视频号的媒体地址是什么,目前通过charles可以抓到,但是每次都手动操作不方便,既然软件可以做到,它肯定也是调了最基础的底层方法。
北北che
react set函数修改二维数组状态问题?
react set函数修改二维数组状态问题
const [rangIds,setRangIds]= useState([] as any[])
const rangChange = (values:any,indA:number,indB:number)=>{
console.log(values)
console.log(rangIds)
let arr = [...rangIds]
arr[ind]=[...values]
console.log(arr)
setRangIds([...arrs])
console.log(rangIds)
}
一直到arr都是符合预期的,但是setRangIds执行后,每次打印rangIds都没有变化
北北che
图片中文字识别后就地进行拖蓝是如何实现的?
据我所知,OCR 工具除了可以识别内容外,还能输出内容的坐标和朝向。所以这样的功能其实是识别后,在图片上方覆盖一层 DOM
节点,显示识别后的内容。这样也就有了拖拽选中的功能。
北北che
nuxt3 请求 token 要怎么传?
这里主要涉及一个思路的转换。
在 Vue,或者说传统 SPA 里,所有请求都是 后 请求,即完成网页加载、JS
执行完毕后,再发起请求。这些请求,可以认为完全由开发者控制,即你知道什么时候该请求,然后发起请求。一般来说,所有的请求都是 数据交互类 。
在 Nuxt 里,因为 SSR 的存在,所以请求至少可以分成两类:页面渲染类,数据交互类。前者会影响到 HTML
的内容。在网络环境里,存在大量缓存节点,假如跟用户相关的敏感数据渲染成 HTML,缓存到 CDN 当中,会是非常大的安全问题。所以 Nuxt 在 SSR
及其内部发起请求时,不会携带 cookie;在用户主动发起的请求里,才会携带 cookie。
回到你的问题。
1. "localStorage" 存在用户本地,无法在网络请求中携带,所以必须在网页准备就绪后才能使用
2. 所以要用 "localStorage" 的请求就不能放在 "useAsyncData"、"useFetch" 里,因为它们都是 SSR 的关键函数,它们第一次起作用的时候,运行环境是线上的 node.js
3. 如果你想在 SSR 阶段使用用户身份,可以用 cookie,并且需要手动将其放入请求中,参考 "官方文档 useRequestHeaders" (https://link.segmentfault.com/?enc=XI%2BPn30UxW7POOqCbxjxgw%3D%3D.bGPX65BJI03CcWL5IF0OgPdwTpo0M%2F8By4T3QDYsQ6gDLRWZHO4OS%2BxP5xKvQun%2B23woUuOH91qbLGuD7CKB4g%3D%3D)
4. 否则的话,使用 "server: false",或者在 "onMounted()" 里使用 "$fetch" 请求,用传统 SPA 的形式就可以了。
北北che
husky在jenkins打包找不到.git文件?
你可以尝试一下更新nodejs 版本 这是在他们的网站Node.js (>=14.19.0 or >=16.9.0),如果没在这个范围可以考虑更新一下
北北che
DJango如何实现分词搜索?
django 是 python 的库,你怎么打上了 java 的标签。
pip install jieba
import jieba
s = 'PPT模板文件'
jieba.lcut(s, cut_all=True) # ['PPT', '模板', '文件']
jieba.lcut_for_search(s) # ['PPT', '模板', '文件']
分完词后你可以对文本进行匹配,将分好的词在文本中标记高亮,就可以变成图中的形式。
jieba
地址:"https://github.com/fxsjy/jieba" (https://link.segmentfault.com/?enc=SC62sB62fd8OGDVOzeWuKQ%3D%3D.xYS%2BQwTpYXmiSumE2Aa85UUQ8WRY3txGeZs0laCLbMU%3D)
北北che
目前想用Web管理Linux服务器,请问2023推荐哪款比较好?
目前想用Web管理Linux服务器,请问2023推荐哪款比较好?
目前选项考虑选项有:宝塔Linux
想要免费、开源、较少的资安黑历史或 Bug
北北che
小程序模板中怎么传递参数?
小程序模板中怎么传递参数,在JS文件中因为有其他地方传递了type所以方法这边改不了,模板中不能直接传递参数吗?查了文档说可以用data-type,那方法那边接参应该怎么写呢?谢谢
保存
saveInfo(type) { ... }
小程序模板中怎么传递参数?
北北che
vue2使用better sqlite3为什么会报错?
没用过这个库。看了介绍这是一个运行在Node.js中访问和操作SQLite3的库,不能直接在客户端使用。
北北che
如何解决Vue项目上线后请求地址错误?
为啥会请求到 "file://C:/user/..." 这样的本地路径,你的项目是如何配置的?
北北che
echarts点击柱状图给当前柱子高亮并且添加阴影怎么做?
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241022/415d212e00ce2e1d8ef826472221ce6c.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241022/28512b81f75178f4c87145be5fb72679.png)
现在只能做到点击高亮,但同时添加阴影不知道怎么做,我想和color属性一样用个函数,但是里面的shadow属性好像不支持函数
北北che
关于MutationObserver 引发的 IntersectionObserver和ResizeObserver的callback类型?
有啊,在各自的构造函数小节都有介绍:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241016/498e9be272b775880ed40594263f4837.png)
«参考文档:
"MDN-> IntersectionObserver" (https://link.segmentfault.com/?enc=7u6mnSW8N%2FeaD0s1GqMCxA%3D%3D.ne0EhaXjmgJRvsfX4lU4LrfQMevbyoAO5Clt3pJhxub7%2B0ptlccyRC0dmn%2BTEVVUpIb3yT5lAsb%2BLnWE5XrMwNwoWYsVgxW4WCEIfi2oIhtdXNqXQarAKahr%2BwDmXmfi)
"MDN-> ResizeObserver" (https://link.segmentfault.com/?enc=XjLYJPABMmKq7PjWEgjm7w%3D%3D.V8NNsuCp3nIEUso6xqeRBOrSO0rs8QzC7JdEMJ634HV8et4XjJ7RJ8Rw2jHBILAX%2FGANnD4g72UrdH73gGksqduYzamkrKIhRWpMCm6Imh0%3D)»
补充
已知条件:
微任务: "Promise"、"MutationObserver"
宏任务:"setTimeout"
判断宏任务或微任务的方案如下(测试环境为 谷歌浏览器 ,不同浏览器可能有不同实现)
首先是 "MutationObserver"
console.log("代码开始");
// MutationObserver (MDN确认为微任务)
const observer = new MutationObserver((mutations) => {
console.log("微任务", "mutation observer");
});
observer.observe(document.body, { childList: true });
document.body.appendChild(document.createElement("div"));
// promise 为微任务
Promise.resolve().then(() => console.log("微任务", "promise then"));
// 宏任务
setTimeout(() => {
console.log('宏任务');
}, 0);
console.log("代码结束");
输出结果为:
代码开始
代码结束
微任务 mutation observer
微任务 promise then
微任务 mutation observer
宏任务
可以确认为微任务
再来看 "IntersectionObserver":
console.log("代码开始");
// MutationObserver (MDN确认为微任务)
const observer = new MutationObserver((mutations) => {
console.log("mutation observer");
});
observer.observe(document.body, { childList: true });
// 宏任务
setTimeout(() => {
console.log('宏任务');
}, 0);
const observer2 = new IntersectionObserver ((mutations) => {
console.log("intersection observer");
});
observer2.observe(document.body);
document.body.appendChild(document.createElement("div"));
// promise 为微任务
Promise.resolve().then(() => console.log("微任务", "promise then"));
// 宏任务2
setTimeout(() => {
console.log('宏任务2');
}, 0);
console.log("代码结束");
输出为:
代码开始
代码结束
mutation observer
微任务 promise then
mutation observer
intersection observer
宏任务
宏任务2
显然,"Intersection" 也是微任务
最后是 "ResizeObserver":
console.log("代码开始");
// MutationObserver (MDN确认为微任务)
const observer = new MutationObserver((mutations) => {
console.log("mutation observer");
});
observer.observe(document.body, { childList: true });
// 宏任务
setTimeout(() => {
console.log('宏任务');
}, 0);
const observer2 = new ResizeObserver((mutations) => {
console.log("resize observer");
});
observer2.observe(document.body);
document.body.style.width = '1000px'
// promise 为微任务
Promise.resolve().then(() => console.log("微任务", "promise then"));
// 宏任务2
setTimeout(() => {
console.log('宏任务2');
}, 0);
console.log("代码结束");
结果为:
代码开始
代码结束
微任务 promise then
mutation observer
resize observer
宏任务
宏任务2
所以 "ResizeObserver" 也是微任务
北北che
centos7是不支持mysql8.0吗?为什么我几台独服在AMH面板里安装8.0都无法安装?
centos7是不支持mysql8.0吗?为什么我几台独立服务器在AMH面板里安装8.0都无法安装?(目前服务器已装mysql5.5和5.7)
CMake Warning at CMakeLists.txt:396 (MESSAGE):
You need to install the required packages:
yum install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils
CMake Error at CMakeLists.txt:398 (MESSAGE):
Or you can set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER explicitly.
-- Configuring incomplete, errors occurred!
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target `install'. Stop.
chmod: cannot access '/usr/local/mysql-8.0': No such file or directory
chown: cannot access '/usr/local/mysql-8.0': No such file or directory
/root/amh/modules/mysql-8.0/AMHScript: line 153: /usr/local/mysql-8.0/bin/mysqld: No such file or directory
chmod: cannot access '/home/usrdata/mysql-8.0': No such file or directory
chown: cannot access '/home/usrdata/mysql-8.0': No such file or directory
sed: can't read /usr/local/mysql-8.0/support-files/mysql.server: No such file or directory
/root/amh/modules/mysql-8.0/AMHScript: line 158: /usr/local/mysql-8.0/support-files/mysql.server: No such file or directory
/root/amh/modules/mysql-8.0/AMHScript: line 166: /usr/local/mysql-8.0/bin/mysql: No such file or directory
[Notice] mysql-8.0 is not installed.
内存都是16g或以上。最近我的多台vps、服务器上的amh面板都经常出现无法安装插件的情况。不知道是什么情况,用AMH这么多年了,就今年才遇到过这类问题。
北北che
json 协议有规定连续两次序列化一个对象应该怎么样吗?
json 协议有规定连续两次序列化一个对象应该怎么样吗?
子问题:
* python 如果反序列化一个「连续两次序列化后的字符串」
* java 如果反序列化一个「连续两次序列化后的字符串」
***
有一个 python 的 dict
content = {
'name': '你好'
}
我调用两次 json.dumps()
import json
content = {
'name': '你好'
}
print(json.dumps(json.dumps(content)))
输出如下
"{\"name\": \"\\u4f60\\u597d\"}"
然后我调用两次 json.loads,这个「被连续两次序列化后的字符串」就会变回 dict
import json
content = {
'name': '你好'
}
print(json.dumps(json.dumps(content)))
a = json.dumps(json.dumps(content))
print(json.loads(json.loads(a)))
输出如下:
"{\"name\": \"\\u4f60\\u597d\"}"
{'name': '你好'}
一切都非常的优雅
但是当我 python 把 ""{\"name\": \"\\u4f60\\u597d\"}"" 传递给 java
同事的时候,他们告诉我,他们无法「简单」实现「把上面的字符串连续两次反序列化变成一个 hashmap」,他们说如果要反序列化成 hashmap 怎么怎么麻烦
我不理解,这么成熟的编程语言 java 为什么不能简单优雅的实现这一点?
***
我把这个需求「使用 java 反序列化 ""{\"name\": \"\\u4f60\\u597d\"}"" 为 hashmap」问
chatGPT,它给的答案也是莫名其妙
为什么?是 java 的问题还是说 json 的协议就对于「连续两次序列化」没有做出标准规定导致不同编程语言自己有自己的实现?
***
有谁知道,像 golang 和 rust、js 这些语言又是怎么处理这个问题呢?
北北che
CSS 怎么实现 微信输入法进度条按钮效果?
微信输入法这种进度条效果的按钮怎么用 CSS 实现
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241013/9767d2d78aa36e781227d06c89aab893.png)
北北che
如何在Echarts图表中缩短横坐标长度以完整显示长名称?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/c0f2a9263a30b143c6a84b0ab5d27d2c.png)
grid: {
top: '3%',
left: '3%',
right: '8%',
bottom: '1%',
containLabel: true
},
用这个上下左右的距离试试
北北che
docker容器日志能否设置存储到别的路径?
使用docker运行了php容器, nginx容器
通常查看日志都是使用docker logs php或nginx
发现默认的这些日志是存储在容器目录中的
如 "/var/lib/docker/containors/php/php.json"
"/var/lib/docker/containors/nginx/nginx.json"
有什么办法能让日志统一存储在别的位置,
如"/home/logs" 目录下?
北北che
Flex 自适应剩余宽度?
.fill {
flex: auto;
}
北北che
如何使用前端写死数据完成demo项目?
可以看下mock数据
北北che
如何在ant-design-pro脚手架中本地设置port?
是在项目根目录下的 ".env.local" 文件中配置,一般 ".env.local" 是会被 "git" 忽略的,所以需要你自己手动创建。
👉 "环境变量 -UmiJS" (https://link.segmentfault.com/?enc=ozgkKuLrUk79JVZYS%2FMspQ%3D%3D.BuPgP9EQR2sgc8WC%2FrRhbhHn6qLxOLgqZFOO%2BYZGqpwgBJK1EvUiFQu6rr4DnCUbdM48mTAYTGxv42Gx9HtQOzXl9J%2BdEibpvroY20BlWhOBVEUjaJMPtDNAuZy%2Fx0xC5HbFRnj5NpbrLOF3P%2Fdk6g%3D%3D)
北北che
Springboot 项目使用 RMapCache 保存数据,发现值出现 \x00,如何处理?
Springboot 项目使用 RMapCache 保存数据,发现值出现 \x00
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/c07a13f3ed7f9750dc5a51cc416937b6.png)
\#1 使用 StringRedisTemplate 保存数据,可用
\#2 使用 RMapCache 保存数据, 出现\x00, 不可用
大致结构如下
demo project
"源码自取" (https://link.segmentfault.com/?enc=SDcu1bJmwZZK7ajo28g%2BaQ%3D%3D.QOduvRZlGUnngtp4ZvQZhOM9ngbT2I7bsS%2F82T4I5268pjLvJJgOgybVP3UKfGx8)
"测试视频" (https://link.segmentfault.com/?enc=60wT4pLp7XYMTvcSf4UX9w%3D%3D.7jzF7t5DxkBd8WHwKDMURCBk4kFEDXpJUBXGYGz3svqZ9rLVfEUY4Pdo7PNn%2BAqS)
springboot: 2.7.18
redisson: 3.26.1 / 3.21.0
redis: Redis-x64-5.0.14.1 / redis-5.0.5
redisson codec: JsonJacksonCodec / StringCodec
跟踪代码后发现,数据在执行lua脚本后出现了问题
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/d2257d1531ebf2ac4a7b673e590c1d4d.png)
然后将脚本放到 redis-cli 直接执行,数据也是异常的
eval "return struct.pack('dLc0', 0, string.len(ARGV[1]), ARGV[1])" 0 "test"
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/b533cdef9529b8d058f1c57bcedffde4.png)
我要怎么修改
===== 关于 RedisTemplate 序列化回复 =====
我不知道为啥回复,刷新之后就消失了,再回复又重复,删除又两个都消失,在这里回复吧。
我并不是使用 RedisTemplate 来操作,而是使用的是 Redisson 的 RedissonClient 来进行操作
成功案例:直接使用 StringRedisTemplate ,demo 项目懒得配那么多,而且我也是成功了,上图#1
失败案例:使用 RMapCache mapCache = redissonClient.getMapCache(name);
我的错误发生在 使用 mapCache.put(key, value) 后
如果要设置,也是设置 redissonClient 的 Codec,我尝试过 JsonJacksonCodec 和
StringCodec,没有效果。原因,原问题有解释
===== 关于 RedisTemplate 序列化回复 =====
北北che
unocss能否直接使用css变量?
比如定义了一个变量 "--text-color:red,"能否则直接使用类名"color-[--text-color]"或者类似的其他能直接用变量名的写法
北北che
vue element-plus 下拉菜单嵌套选择器 选择器自动收起 无法选择 如何解决?
为怎么要在"dropdown"里面嵌套"select"呢?
有点奇怪,官方都没想要会有人这样用吧?
如果有多级,建议使用"TreeSelect"。
北北che
video.js7.7x,ios系统全屏播放怎么禁用倍率播放,怎么设置都没效果?
上次也遇到了同样的问题 最后的解决方案是监听倍速切换的时候 再设置为1.0 并提升不允许切换倍速