七安前
Google Chrome 审查元素,能不能打印JS是什么东西吗?
有没有什么办法能打印一下他这个 "n[0]" 和 "n[1]" 是什么吗?
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20250121/7aa6a300871fcf104daa89c7636ade1b.png
七安前
这个内嵌的CSS样式,实际审查元素这个CSS样式是空的,这是怎么实现的?
"StackOverflow - 奇怪的 HTML
标签,没有内容但存在样式规则" (https://link.segmentfault.com/?enc=R81jdbhfz46tP9VYZj87jA%3D%3D.%2BS0U64CdiQwYMpzEdYFY0gPXdjoyKwT6b3LazrZST0m1Rj3b0DCgdHVNjkjdAC1z)
«可以通过使用 ".insertRule" 将规则插入到样式表中来实现此效果,这会导致相关 标记上的规则应用于 DOM 中的元素,但不会将
HTML 标记插入到 标记中。您可以通过在检查器中选择样式标签,然后在控制台中执行
console.dir($0.sheet.cssRules) 来在该站点上看到它»
七安前
两个数组对象去重并且根据第一个数据生成一个新的对象?
如果没有看错的话,就是记录一下各会议室在某个小时段是否有开会。说一下解法。
前两个数据是一样的:
const thisDate = [
{
date: "12",
prop: "twelve",
},
{
date: "13",
prop: "thirteen",
},
{
date: "14",
prop: "fourteen",
},
{
date: "15",
prop: "fifteen",
},
{
date: "16",
prop: "sixteen",
},
{
date: "17",
prop: "seventeen",
},
{
date: "18",
prop: "eighteen",
},
];
const data = [
{
DATE: "2023-09-04 15:33:54.0",
ROOMNAME: "测试会议室1",
ROOMID: "001",
},
{
DATE: "2023-09-04 16:00:00",
ROOMNAME: "测试会议室1",
ROOMID: "001",
},
{
DATE: "2023-09-04 17:00:00",
ROOMNAME: "测试会议室1",
ROOMID: "001",
},
{
DATE: "2023-09-04 18:00:00",
ROOMNAME: "测试会议室1",
ROOMID: "001",
},
{
DATE: "2023-09-04 19:00:00",
ROOMNAME: "测试会议室1",
ROOMID: "001",
},
{
DATE: "2023-09-04 20:00:00",
ROOMNAME: "测试会议室1",
ROOMID: "001",
},
{
DATE: "2023-09-04 21:00:00",
ROOMNAME: "测试会议室1",
ROOMID: "001",
},
{
DATE: "2023-09-04 22:00:00",
ROOMNAME: "测试会议室1",
ROOMID: "001",
},
{
DATE: "2023-09-04 23:00:00",
ROOMNAME: "测试会议室1",
ROOMID: "001",
},
{
DATE: "2023-09-04 14:53:42.0",
ROOMNAME: "会议室2222",
ROOMID: "002",
},
{
DATE: "2023-09-04 15:00:00",
ROOMNAME: "会议室2222",
ROOMID: "002",
},
{
DATE: "2023-09-04 16:00:00",
ROOMNAME: "会议室2222",
ROOMID: "002",
},
{
DATE: "2023-09-04 17:00:00",
ROOMNAME: "会议室2222",
ROOMID: "002",
},
{
DATE: "2023-09-04 18:00:00",
ROOMNAME: "会议室2222",
ROOMID: "002",
},
{
DATE: "2023-09-04 19:00:00",
ROOMNAME: "会议室2222",
ROOMID: "002",
},
{
DATE: "2023-09-04 20:00:00",
ROOMNAME: "会议室2222",
ROOMID: "002",
},
];
使用哈希表做一个前置处理,根据会议室名称进行分组,其值为该会议室开会的小时。
«注意,此处比较随意。若是严谨一点,应当使用 "ROOMID" 作为 "key","value" 也应当使用 "Set"
作为容器,以免数据量大导致的重复问题。»
const map = new Map();
for (const { DATE, ROOMNAME } of data) {
map.set(ROOMNAME, [...(map.get(ROOMNAME) ?? []), DATE.slice(11, 13)]);
}
最后遍历哈希表,与 "thisDate" 对照一下,即可得到结果:
const list = [];
for (const [k, v] of map.entries()) {
const obj = {
name: k,
};
for (const { prop, date } of thisDate) {
obj[prop] = v.includes(date) ? "1" : "";
}
list.push(obj);
}
console.log("生成新的数组对象");
console.log(list);
结果如下:
生成新的数组对象
[
{
name: '测试会议室1',
twelve: '',
thirteen: '',
fourteen: '',
fifteen: '1',
sixteen: '1',
seventeen: '1',
eighteen: '1'
},
{
name: '会议室2222',
twelve: '',
thirteen: '',
fourteen: '1',
fifteen: '1',
sixteen: '1',
seventeen: '1',
eighteen: '1'
}
]
七安前
开发html的时候,突然出现顺序引入的script外联标签,在初始化页面的时候,并没有按顺入加载,这个跟后面写的script内部js顺序有关系吗?
使用"defer"属性:
具有defer属性的script标签将会在解释器工作全部完成后,按照具有defer属性的script标签顺序进行执行。这使得开发者可以按顺序使用相互间存在依赖关系的脚本。虽然所有的脚本会在所有的文档内容解析完成后执行,但是浏览器会保证它们按照顺执行。猜测可能在解析过程中defer类型的脚本会被暂时丢进一个队列中,以便文档解析结束后按顺序执行。理论上讲,浏览器可能会在任何时候下载脚本,但是在文档解析完成以及不具有asyn和defer属性的行内脚本解析并执行完成前都不会暂停。
«"https://developer.mozilla.org/zh-> CN/docs/Web/HTML/Element/script" (https://link.segmentfault.com/?enc=zri91yGrXrDRI2JYW%2FyqYw%3D%3D.gXOJgCRWUsP8W4BTxYoQDqrjsgUaCHnwbz1%2FE2gSOjJPpzQeTFS7FYmzY34G0GnoHkC4sNoupcTk%2BJ02dTTWjw0gyGdxoaIIFR6dN2BU3%2Bo%3D)
»
七安前
python如何取动态变量名的值?
程序结构大体如下
tree_1={...}
tree_2={...}
...
tree_n={...}
如何通过for循环取出以上变量,并遍历
for i in range(1,n):
for item in tree_i: 关键是这个tree_i如何搞
七安前
Nuxt3 能不能怎么样可以在根目录 id="__nuxt" 上加一个class?
Nuxt3 能不能怎么样可以在根目录 "id="__nuxt"" 上加一个"class"?
比如下面这样
...
比如在"body"上加"class"
可以配置
bodyAttrs: {
class: 'page-content'
}
"id="__nuxt"" 上有没有配置
七安前
Insert `..`eslint(prettier/prettier)如何解决?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241229/4460f6a047cd61a3cc05bd6d8f699b33.png)
查资料说是配置"prettier.vueIndentScriptAndStyle": true,
但在vscode的设置中配置后依然无效,求解
语言是vue+ts
七安前
大家好,A进程用multiprocessing起了一个进程B,然后A断了,停了,怎么找B呢?
A用multiprocessing起了一个进程B,然后A断了,停了,怎么找B呢?
七安前
顺序存储,线性表的删除和插入中出现问题,未知代码哪里出错?
需求:编制C/C++程序,利用顺序存储方式实现下列功能:从键盘输入数据建立一个线性表(整数),并输出该线性表;然后根据屏幕提示,进行数据的插入或删除等操作,并在插入或删除数据后输出线性表。
代码出现问题,无法运行,错误提醒是delete那块红了,估计是它出问题。
未知是什么原因,望指教。
typedef struct {
int data[MAX_SIZE];
int length;
} SeqList;
void init(SeqList *list) {
list->length = 0;
}
void insert(SeqList *list, int position, int value) {
if (position list->length || list->length == MAX_SIZE) {
printf("The insert position is invalid or the linear table is full:\n");
return;
}
for (int i = list->length - 1; i >= position; i--) {
list->data[i + 1] = list->data[i];
}
list->data[position] = value;
list->length++;
}
void delete(SeqList *list, int position) {
if (position = list->length) {
printf("Invalid delete location:\n");
return;
}
for (int i = position; i length - 1; i++) {
list->data[i] = list->data[i + 1];
}
list->length--;
}
void print(SeqList *list) {
printf("Linear table contents:");
for (int i = 0; i length; i++) {
printf("%d ", list->data[i]);
}
printf("\n");
}
int main() {
SeqList list;
init(&list);
printf("Please enter the length of the linear table:");
scanf("%d", &list.length);
if (list.length > MAX_SIZE) {
printf("The linear table length exceeds the maximum value:\n");
return 0;
}
printf("Enter the elements of the linear table:");
for (int i = 0; i < list.length; i++) {
scanf("%d", &list.data[i]);
}
print(&list);
int operation, position, value;
printf("\nplese select:\n"); printf("1. insect the data:\n");
printf("2. delete the data\n");
printf("0. exit\n");
while (1) {
printf("\nplease enter the ops:");
scanf("%d", &operation);
if (operation == 1) {
printf("Please enter insert position and insert value (separated by space):");
scanf("%d %d", &position, &value);
insert(&list, position, value);
} else if (operation == 2) {
printf("Please enter the deletion location:");
scanf("%d", &position);
delete(&list, position);
} else if (operation == 0) {
break;
} else {
printf("Invalid operation number:\n");
}
print(&list);
}
return 0;
}
顺便提问一句我的DEVC++底下变成这样,应该怎么恢复到初始可以看见报错原因的状态?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241228/8f98052c1059aa39d58623656470276e.png)
菜鸟上路,万分感谢指教。
七安前
ts创建一个Input,添加事件监听器,函数类型报错?
ts创建一个Input,添加事件监听器,函数类型报错?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241225/7857ae8a80e234af0fe707ffbfa79a3c.png)
function onUpload() {
const input = document.createElement("input")
input.setAttribute("type", "file")
input.setAttribute("accept", "image/*")
input.addEventListener("input", handleUpload) // 这一行的 handleUpload 类型报错
input.click()
function handleUpload(e: InputEvent) {
const target = e.target as HTMLInputElement
if (!target) return
const file = target.files![0]
if (!file) return
const type = file.type as ImageExcAll
if (!ImageFileTypes.includes(type)) return
fetchFileData(file)
const imgUrl = URL.createObjectURL(file)
dispatch(changeImgUrl(imgUrl))
}
function fetchFileData(file: File) {
const fileData = new FormData()
fileData.append("file", file)
setLoading(true)
const intervalId = setInterval(() => (rate prev + 1)), 40)
getTableData(fileData).then(({ code, data }) => {
if (code !== 0) return
const { point: points, "measure-items": tableData, "ruler-scaling": rulerScaling } = data
dispatch(changePointList(points))
dispatch(setTableData(tableData))
dispatch(setRulerScaling(rulerScaling))
sessionStorage.setItem("points", JSON.stringify(points))
sessionStorage.setItem("tableData", JSON.stringify(tableData))
sessionStorage.setItem("rulerScaling", JSON.stringify(rulerScaling))
setTimeout(() => setLoading(false), 500)
clearInterval(intervalId)
setRate(100)
})
}
}
七安前
数据库添加索引后查找数据为什么比不添加索引要快?
最简单最常用的例子,就是查字典《新华字典》,你可以把拼音、笔画就看作是索引,如果没有这个索引,你就要全表扫描(每一页都找一下),才能查到你想要的字。
平时看书也是,书的目录就是索引,你可以通过索引快速的定位到内容在哪一页。
七安前
如何将html文件绑定到从阿里云买的域名上?
我有一个html文件,我希望别人能够通过一个url来访问我的html网页。所以我:
1. 在阿里云买了一个域名
2. 在阿里云买了一个云服务器
3. 域名解析,让我买的域名跟服务器的ip绑定
后面的我就不知道怎么做了。
有没有什么简单方法可以把我的html网页跟我的域名绑定上?
七安前
vue+js 如何限制并发上传数?
这有一个npm库:"https://www.npmjs.com/package/p-limit" (https://link.segmentfault.com/?enc=yen3tAZuJiN5fw6GjLSfSQ%3D%3D.TOVtqj3MbogCf2BI6DgCj9%2B0OwAOVmQDuGcjtatRHCdIUTe1aYF9eZf91XkLpiBN)
它可以帮助我们轻松搞定并发,它的使用也非常简单,不清楚可以自己搜索一下使用
七安前
网页f12调试如何查看鼠标悬浮时才出现的dom元素?
网页f12调试如何查看鼠标悬浮时才出现的dom元素
七安前
组合图中滚动条如何设置?
解决方案 Solution
对于简单的组合图而言,您可以像普通图表一样声明滚动条,只需声明表示位置的属性"scrollBar.orient"和表示视口范围的属性"scrollBar.start"和"scrollBar.end"即可,如下图所示:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241221/e001f2db12c399aa30be5b344644225d.png)
而对于复杂图表而言,您需要两个配置步骤:
1. 为滚动条绑定坐标轴:
通过"scrollBar.axisIndex"或"scrollBar.axisId"将滚动条与坐标轴进行关联,方可基于坐标轴进行数据筛选或图元范围滚动操作。
2. 为滚动条声明布局位置:
您图中涉及的图表是基于grid布局绘制的,所以需要定义滚动条的布局位置。
* 首先,需要在"grid.row"的行数声明中添加一行用于放置横向滚动。
* 其次,需要在"grid.elements"中声明滚动条的布局信息{
modelId: 'scrollBar', // id
col: 0, // col index
row: 6 // row index
},
* 最后,需要将"scrollBar.id"与"grid.elements"中的"modelId"对应起来。
* Finally, you need to match "scrollBar.id" with the "modelId" in "grid.elements".
代码示例 Code Example
const leftAxesCommonSpec = {
expand: { max: 0.2 },
label: { flush: true, visible: true },
tick: { visible: false },
forceTickCount: 3
};
const spec = {
type: "common",
layout: {
type: "grid",
col: 2,
row: 7,
elements: [
{
modelId: "legend",
col: 0,
colSpan: 2,
row: 6
},
{
modelId: "scrollBar",
col: 0,
colSpan: 2,
row: 5
},
{
modelId: "Social Penetration",
col: 1,
row: 0
},
{
modelId: "Engagement - Socialization",
col: 1,
row: 1
},
{
modelId: "Penetration of Private Messages",
col: 1,
row: 2
},
{
modelId: "Number of Private Messages per User",
col: 1,
row: 3
},
{
modelId: "Social Penetrationleft",
col: 0,
row: 0
},
{
modelId: "Engagement - Socialization-left",
col: 0,
row: 1
},
{
modelId: "Penetration of Private Messagesleft",
col: 0,
row: 2
},
{
modelId: "Number of Private Messages per Userleft",
col: 0,
row: 3
},
{
modelId: "Number of Private Messages per User-bottom",
col: 1,
row: 4
}
]
},
region: [
{
id: "Social Penetration"
},
{
id: "Engagement - Socialization"
},
{
id: "Penetration of Private Messages"
},
{
id: "Number of Private Messages per User"
}
],
scrollBar: [
{
orient: "bottom",
axisIndex: 4,
id: "scrollBar",
start: 0,
end: 0.4,
filterMode: "axis"
}
],
legends: {
padding: {
top: 10
},
visible: true,
orient: "bottom",
id: "legend",
regionId: [
"Social Penetration",
"Engagement - Socialization",
"Penetration of Private Messages",
"Number of Private Messages per User"
]
},
seriesField: "type",
tooltip: {
dimension: {
title: {
value: (datum) => {
return `第 ${datum.x} 天`;
}
},
content: [
{
key: (datum) => datum.type,
value: (datum) => datum.y
}
]
}
},
series: [
{
id: "Social Penetrationseries0",
regionId: "Social Penetration",
type: "line",
data: { id: "Social Penetration" },
xField: "x",
yField: "y"
},
{
id: "Engagement - Socialization-series0",
regionId: "Engagement - Socialization",
type: "line",
data: { id: "Engagement - Socialization" },
xField: "x",
yField: "y"
},
{
id: "Penetration of Private Messagesseries0",
regionId: "Penetration of Private Messages",
type: "line",
data: { id: "Penetration of Private Messages" },
xField: "x",
yField: "y"
},
{
id: "Number of Private Messages per Userseries0",
regionId: "Number of Private Messages per User",
type: "line",
data: { id: "Number of Private Messages per User" },
xField: "x",
yField: "y"
}
],
axes: [
{
id: "Social Penetrationleft",
regionId: "Social Penetration",
orient: "left",
title: { visible: true, text: "SP" },
...leftAxesCommonSpec
},
{
id: "Engagement - Socialization-left",
regionId: "Engagement - Socialization",
orient: "left",
title: { visible: true, text: "ES" },
...leftAxesCommonSpec
},
{
id: "Penetration of Private Messagesleft",
regionId: "Penetration of Private Messages",
orient: "left",
title: { visible: true, text: "Penetration of PM" },
...leftAxesCommonSpec
},
{
id: "Number of Private Messages per Userleft",
regionId: "Number of Private Messages per User",
orient: "left",
title: { visible: true, text: "PM per User" },
...leftAxesCommonSpec
},
{
id: "Number of Private Messages per User-bottom",
regionId: [
"Social Penetration",
"Engagement - Socialization",
"Penetration of Private Messages",
"Number of Private Messages per User"
],
orient: "bottom",
label: {
firstVisible: true,
lastVisible: true,
visible: true
},
tick: { visible: false },
paddingInner: 0.99,
paddingOuter: 0
}
]
};
const dataJson = {
"Social Penetration": [
{
x: 0,
y: 1.2020804451630671,
originXData: "2022-03-08",
type: "Social Penetration"
},
{
x: 1,
y: 1.911162758594358,
originXData: "2022-03-09",
type: "Social Penetration"
},
// ...
],
"Engagement - Socialization": [
{
x: 0,
y: 0.7782279444864411,
originXData: "2022-03-08",
type: "Engagement - Socialization \n\n"
},
{
x: 1,
y: 0.6970763116149991,
originXData: "2022-03-09",
type: "Engagement - Socialization \n\n"
},
// ...
],
"Penetration of Private Messages": [
{
x: 0,
y: 0.21493020207806002,
originXData: "2022-03-08",
type: "Penetration of Private Messages"
},
{
x: 1,
y: 0.31807068769079905,
originXData: "2022-03-09",
type: "Penetration of Private Messages"
},
// ...
]
};
spec.series.forEach((s) => {
s.data.values = dataJson[s.data.id];
});
结果展示 Results
在线效果参考:"https://codesandbox.io/s/common-chart-with-scrollbar-n5t8ps" (https://link.segmentfault.com/?enc=12Ujneyfi4D3%2B82tW16wrg%3D%3D.lyiTlmr4m%2FUkLi5qFTrFJmPYuHpuF4VcYyybLWr72ZXX14JOf9EqraSoqL1zoQuyOWLrWyP0x4V8WvyST%2BP4cg%3D%3D)
相关文档 Related Documentation
ScrollBar demo:"https://www.visactor.io/vchart/demo/scrollbar/basic-scrollbar-bar-chart" (https://link.segmentfault.com/?enc=7ax0rdyrtkyUPCQOd8clhQ%3D%3D.u2hCJLhQqt3KGRMpqZFY7yayDyv4ZxdHHTQUJqD5O8YQCgcjuoe4p0fAZg3NnllGJJxfR3yfwi%2BjrCY%2FUJnVjbbbOjHIOzuFJ5tAuDBgZhE%3D)
滚动条教程:"https://www.visactor.io/vchart/guide/tutorial_docs/Chart_Concepts/Scrollbar" (https://link.segmentfault.com/?enc=aurleJjLmtShplfbrtuv0A%3D%3D.WE9c0gJyPl9N1l3d1YRbn9iSHN8IJwsA9i47Nlc8XKBNoqAb%2Fi1h5QOgLlqBaW4%2FeFMoawzTVxuha%2FHpW2SYzrgYhcX4ZRUvcn%2BexODQY7w%3D)
相关api:"https://www.visactor.io/vchart/option/commonChart#scrollbar" (https://link.segmentfault.com/?enc=YKbWS6WUCdu%2BohWj1KHmAA%3D%3D.1voGQdMCB6qWmixef45mPSbo4VTm7XjaDq%2BPq5iRrtg1vEWV7F84sO%2BNHPNqXw133R5SxgpIYMISebYi%2FxFTbA%3D%3D)
github:"https://github.com/VisActor/VChart" (https://link.segmentfault.com/?enc=OX4tVAjgndPkg0B41n0EWA%3D%3D.L3So8yjcu%2Fa%2BDBfjPS8oiHyLnipqYpTC0H6nNxxB5%2BvlXOONVAmDsqQQSlgahkLe)
七安前
如何优化orm框架产生的重复sql?
使用laravel开发了一套系统,并使用eloquent作为orm框架,查看sql日志发现执行了大量的重复sql,是否存在专业工具可以分析出这些不必要的sql,进行针对性的优化?
比如对慢查询日志来讲,有mysqldumpslow这个工具可以分析,那么对于自己导出的sql日志来讲,有什么分析工具吗?或者我应该结合什么工具和sql日志的输出格式来达成sql分析的目的?
七安前
刷新数据uniapp?
export default {
data() {
return {
// 你的数据
};
},
onShow() {
// 每次页面显示时刷新数据
this.refreshData();
},
methods: {
refreshData() {
// 你的刷新数据逻辑
}
}
};
七安前
laravel 如何在不使用sanctum中间件在控制器中获取用户信息?
我有一个api,需要在控制器中获取用户信息
这个api需要在登录 或者 不登录的情况下都能访问
如果我不加上 auth:sanctum 中间件则无法通过Auth::check()来验证用户是否登录
没有加上中间件 auth:sanctum , Auth::check() 方法始终返回的是false
我想在控制器中来验证用户信息而不是在中间件中验证直接返回401
望大佬解答
七安前
vue3 二次封装el-tree,如何在父组件调用el-tree的内置方法?
父组件:
调用 getNode 方法
子组件CustomTree :
如何在父组件调用el-tree中的getNode方法?
七安前
echarts 立体环形 饼图 bug ?? [ECharts] Unknown series surface 报错了 救救孩子吧?
你安装的 "echarts-gl" 对应的版本中是否提供了你当前业务需求的 "series-surface" 这个图表类型?
以及 "GL" 版本是否和你的 "ECharts" 版本对应。
"ecomfe/echarts-gl: Extension pack for Apache ECharts, providing globe
visualization and 3D
plots." (https://link.segmentfault.com/?enc=vjS2S2G4oE%2B9NblmW12nsA%3D%3D.yNqI2Y8E6XcW5Ry0Yc%2B7fNOQDrt2T91c5qMZN%2BSZK7cH5mRFEDpQrA01Mmem5zNZ)
七安前
请问无联网验证lisence如何做? 验证mac, IP 还有哪些数据吗?
请问无联网验证lisence如何做? 验证mac, IP 还有哪些数据吗?
请问想要做服务,验证lisence,支持用户不联网情况
我想到的做法是以mac做MD5当lisence,请问业界做法? 谢谢!
***
询问AI:
«如果您想要实现无联网验证license的功能,可以考虑使用以下方式:验证硬件信息:您可以验证用户的硬件信息,例如MAC地址、IP地址、硬件序列号等。这些信息通常是唯一的,可以用于验证用户的身份。使用加密算法:您可以使用加密算法来保护您的license文件,防止被盗用或复制。这可以提高license的安全性。本地存储:您可以将license文件存储在用户的本地计算机上,而不是在远程服务器上。这样,即使用户没有联网,也可以使用您的应用程序。需要注意的是,无联网验证license的实现需要考虑到用户体验和安全性等方面。您需要仔细设计和测试您的license验证功能,以确保其稳定性和安全性。»
七安前
请问步骤条step加气泡卡片popover怎么实现?
使用 "title" 属性的 "slot" 插槽插入一个 "" 组件就行了。
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241202/49b68703474a9a493c1f68ff251d0a17.png)
步骤条标题
七安前
echarts图表点击下载报错?
echarts本地运行的项目可以下载,到线上下载报错
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241124/890042f99417ae223f322c72ffcffde9.png)
点击右上角的下载按钮报错
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241124/3a8663d0db970986f3e4480f888cbb07.png)
七安前
111指针问题?
因为他们确实在两个不同的地方。
整个电脑里,"abcd" 这四个连续的字符不是只能存在一份的,何以有很多份,于是地址就不一样了。
而且,p2 的 "abcd" 后面是 '/0' ,p1 的 "abcd" 后面是 'e' ,是不可能放在同一个地方的。
七安前
我要如何安装 PicList ?
从 gitee 下载了 AppImage 文件 “PicList.AppImage” 到我的 CentOS7 系统上,通过命令
"./PicList.AppImage" 执行后提示:
"/tmp/.mount_PicList0JKhF/piclist: error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory"
然后我通过:
"yum install libatk-1.0.so.0 -y"
安装依赖,得到提示:
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
Package atk-2.28.1-2.el7.i686 already installed and latest version
Nothing to do
接下来就不知道该如何解决了。下面是执行流程图
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241118/f49190ebf6ff5579f873cc7156b30fa9.png)
***
我重新安装了 "atk-2.28.1-2.el7.x86_64",依然不行,过程如下:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241118/b870dd32964b4a86e203327203522686.png)
七安前
crontab在CentOS7.9 Python虚拟环境中定时执行报错,寻求解决方案?
服务系统:CentOS7.9
Python环境:Python3.8.6
项目背景:收银台自动化脚本
我在CentOS7
中创建了一个虚拟环境,自动化交是可以正常执行的。但是当我打算用crontab做定时任务的时候,一直报错。脚本里面用到的这个Browsermob-Proxy是一个代理,可以理解为抓包用的。
ImportError while loading conftest '/home/lawrence/workcode/Auto_Cashierx/conftest.py'.
conftest.py:7: in
from common.proxy_manager import ProxyManager
common/proxy_manager.py:51: in
ProxyManager()
common/proxy_manager.py:26: in __init__
self.server.start()
venv/lib/python3.8/site-packages/browsermobproxy/server.py:127: in start
raise ProxyServerError("Can't connect to Browsermob-Proxy")
E browsermobproxy.exceptions.ProxyServerError: Can't connect to Browsermob-Proxy
/bin/sh: allure: 未找到命令
/bin/sh: allure: 未找到命令
Traceback (most recent call last):
File "run_case.py", line 88, in
get_result()
File "run_case.py", line 39, in get_result
with open("report.json", "r", encoding="utf-8") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'report.json'
(PS: ‘allure: 未找到命令’ ,从这往下都不影响程序执行)
我试过很多种办法,包括直接在crontab里面定义
0 8,15,21 * * * source /home/lawrence/workcode/Auto_Cashier/venv/bin/activate && /home/lawrence/workcode/Auto_Cashier/venv/bin/python3 /home/lawrence/workcode/Auto_Cashier/run_case.py
或者是在sh脚本里面编写
#!/bin/bash
cd /home/lawrence/workcode/Auto_Cashierx/venv/
source ./bin/activate
cd /home/lawrence/workcode/Auto_Cashierx
venv/bin/python run_case.py
deactivate >> /tmp/cron_output.log 2>&1
但最终都会报上面的错误。我直接把crontab里面的内容复制出来,是可以正常执行的。找了一天,没找到解决办法。请求各位的帮助。
七安前
IDEA如何能鼠标右键就能执行TypeScript?
你可以使用 nodemon 和 ts-node这两个库 实现更高效的编译。
七安前
静态H5的Vue项目如何在单文件组件中实现动态加载依赖?
单文件组件所需的依赖如何在组件被使用的时候才动态引入?
// let chart = require('../../js/echarts.min.js')
let UcMobileChartsContainer = {
name: "UcMobileChartsContainer",
props: {
config: {
type: Object,
default: () => {},
},
GUID: {
type: String,
default: ''
}
},
data() {
return {};
},
template: `
`,
// mixins: [commonMinxin],
computed: {},
methods: {
},
}
上文代码中,我想开发一个echarts的单文件组件,因为项目没有用脚手架,所以组件只能以单文件组件的形式开发。这个时候就产生了一个问题,如果需要给每一个引用到该组件的页面都加上script标签引入echarts依赖显然是非常繁琐和呆板的。所以想找一种动态引入的方式,只需要将echarts组件和静态页面放入固定的路径下,引用到这个组件的时候,自动引入charts依赖。类似与Node下的require()
***
(() => {
globalThis.document.write(``)
})()
尝试在js文件中直接wirte
script标签,但是用hasOwnProperty在globalThis上查找echarts是undefined。本地源代码中发现script标签是写进去了,打印globalThis中有echarts,但是代码里直接打印globalThis.echarts是undefined,还不清楚原因
七安前
vscode 的命令行工具执行后如何后台运行?
目前使用了 vscode 的隧道功能,在服务器端使用 code tunnel 启动隧道,然后就可以在本地直接对服务器端的文件进行编辑。但是要执行 code
tunnel 需要先使用终端连接上服务器,执行完命令后终端会被挂起
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241110/16a24fa15b5f6d7289cf5fb14e04d054.png
如果直接关闭终端,那么隧道会被断开。
有没有方法可以让 code tunnel 执行后在后台运行,这样就可以关闭终端并保持隧道。
七安前
android 申请相机权限没有弹出授权对话框怎么办?
问题已解决,是连续申请权限导致的。上述代码没贴完整,问题如下:
public boolean checkPermissions() {
PermissionCommon.requestStoragePermissions(this.activity);
PermissionCommon.requestCameraPermissions(this.activity);
if (!PermissionCommon.isHasStoragePermission(this.activity)) {
UiCommon.toast(this.activity, "无文件存取权限");
return false;
}
if (!PermissionCommon.isHasCameraPermission(this.activity)) {
UiCommon.toast(this.activity, "无相机权限");
return false;
}
return true;
}
将权限合成一下一次性申请就可以了。
public boolean checkPermissions() {
// 将存储和拍照权限合在一起申请
String[] permissions = new string[] {...};
PermissionCommon.requestPermissions(this.activity, permissions);
if (!PermissionCommon.isHasPermissions(this.activity, permissions)) {
UiCommon.toast(this.activity, "部分或全部权限未授予");
return false;
}
return true;
}
七安前
怎么让文字到阴影上面?
"https://www.chunten.com/angpu/test/" (https://link.segmentfault.com/?enc=johzyKRQ3UCrY6f5UAdVuQ%3D%3D.Nmq5L4YXwDD6zj3fdk36ejr6ecCkNx5Si8YYt%2Fm%2FH3ORAeRYWqaK8rwxOWzx7NeW)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241106/034a6b0ba391ce0002040a3ec0b3d7f9.png)
怎么让这文字在阴影的上面,之前用的bootstrap3没问题,但改成bootstrap5就不行了。
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241106/8e0bc082bcfd560e57e9de395dff29a9.png)
怎么让这文字在阴影的上面,之前用的bootstrap3没问题,但改成bootstrap5就不行了。
七安前
Java POI 打开大文件慢的优化方法?
Java POI 打开大文件时太慢了有没有优化的办法
打开一个大文件要很久,有没有优化的办法
七安前
如何在Hyperf中避免进程残留?
根据端口占用情况 关对应的进程
七安前
JS H5 Video 屏幕为什么是绿色问题???
js h5 video 实现相机,但是出现屏幕为绿色?是什么原因?华为p50手机出现的问题。
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241029/58745d1e830e1aa68122a27ef05d9b6a.png)
目前找不到出现这个机型上的问题原因,小米手机、ios是正常的
代码补充
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241029/f61a14d9617c647cc6c7a6cb4598a62a.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241029/96393b129dc57419585c023c1a6c1642.png)
七安前
使用SignalR进行前后端通讯时的跨域问题?
使用signalr作为前后端通讯方式,出现报错
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241029/7110ba9321b604ce1b29eab5833cfb36.png)
前端调用
"企业微信截图_17026318568979.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241029/46c9452a4db6075af7f40b7230e4e838.png)
跨域配置
"企业微信截图_17026318336159.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241029/ce05eabe880130a3e90841c84fc18e09.png)
跨域排错
七安前
webpack 配置中 `[name].[ext]`是什么意思,这里面的`.[ext]`表示什么,如果文件名重复了怎么修改呢?
webpack 配置中 "[name].[ext]"是什么意思,这里面的".[ext]"表示什么,如果文件名重复了怎么修改呢?
module.exports = {
chainWebpack: (config) => {
config.module.rule('images')
.use('url-loader')
.tap(options => ({
name: './assets/images/[name].[ext]',
quality: 85,
limit: 0,
esModule: false,
}))
}
}
暂无
七安前
css flex左右布局,左右如何同高?
基于当前结构的方法:
给".rht"和".lft"盒子添加:
.rht {
height: min-content;
}
这样这个弹性盒子就会被子盒子内容撑开
然后使用JQuery 获取"rht"的高度赋值给".lft"的子盒子"div":
let h = $(".rht").height() + 'px';
$(".lft div").css({
height: h
});
使用新的结构实现
Document
* {
padding: 0;
border: 0;
margin: 0;
}
html,
body,
.wrapper {
height: 100%;
}
.top {
height: 100px;
width: 100%;
background: #e3e3e3;
position: fixed;
top: 0;
}
.top2 {
height: 100px;
width: 100%;
background: #e3e3e3;
}
.content {
display: flex;
height: 100%;
height: min-content;
}
.lft {
flex: 1;
}
.rht {
width: 600px;
flex-shrink: 0;
border-left: 1px solid red;
height: min-content;
background: red;
}
nav
lft
rht 1
rht 2
rht 3
rht 4
rht 5
rht 6
七安前
spring jpa 针对复合主键如何通过 @Query 查询?
IDE提示问题;实际代码可运行。
七安前
Python监控USB设备:实现高效USB设备管理?
python 怎么实现监控电脑是否有usb或其他可移动设备插入,最好也能检测手机插入。
用来在办公室里防止usb设备插入内部电脑里、
试过是做了一个pyqt的程序,然后开机后读取当前盘符,并保存下来,如果出现新的盘符就报错然后提醒用户拔掉,但是这样显然是有bug。
国内暂时没有特别靠谱的解决方法。
七安前
Redis能更新一下Redis7吗?
Redis能更新一下Redis7吗
Redis能更新一下Redis7吗
七安前
支持es5函数和es6箭头的JSON.parse(JSON.stringify()) ?
你可以学一下 form-create的方案,
* 官网地址:"https://www.form-create.com/v3/guide/" (https://link.segmentfault.com/?enc=BG1Hs36%2BDZ6MrBZyuf74FA%3D%3D.rw5MhouviojTcY1JhHjM5epuHWyfZDJA93f3wnmyoOQBRKISYWPkQ5gl0d0ePPb8)
* github: "https://github.com/xaboy/form-create/blob/2d20aa64f8d953db75ebadabb2099e683e42b98d/packages/utils/lib/json.js#L67" (https://link.segmentfault.com/?enc=LoIlUeEGw55PI7D9RNcOhQ%3D%3D.4ujBTvd4MiHIbbDnOzbnWVGivGHqejF0rvQE%2F%2FHQY4FhqbXaoaTvdWY7rVUN%2BR45%2Fqc27X4ANgIIF6mhnY7HxVsOa3lLvikks2kF9RgSG%2BpFqWpDVStXXN1NadyALtyizXQ%2FacCk398WHYUxDRD3EoQm00sVAVt2k5kM%2FarcgCg%3D)
具体使用是这种效果
"1704423947916.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241016/8db2acb869d4caf72c16e6db793d9320.png)
import deepExtend from './deepextend';
import {err} from './console';
import is, {hasProperty} from './type';
const PREFIX = '[[FORM-CREATE-PREFIX-';
const SUFFIX = '-FORM-CREATE-SUFFIX]]';
const $T = '$FN:';
const $TX = '$FNX:';
const FUNCTION = 'function';
export function toJson(obj, space) {
return JSON.stringify(deepExtend([], obj, true), function (key, val) {
if (val && val._isVue === true)
return undefined;
if (typeof val !== FUNCTION) {
return val;
}
if (val.__json) {
return val.__json;
}
if (val.__origin)
val = val.__origin;
if (val.__emit)
return undefined;
return PREFIX + val + SUFFIX;
}, space);
}
function makeFn(fn) {
return (new Function('return ' + fn))();
}
export function parseFn(fn, mode) {
if (fn && is.String(fn) && fn.length > 4) {
let v = fn.trim();
let flag = false;
try {
if (v.indexOf(SUFFIX) > 0 && v.indexOf(PREFIX) === 0) {
v = v.replace(SUFFIX, '').replace(PREFIX, '');
flag = true;
} else if (v.indexOf($T) === 0) {
v = v.replace($T, '');
flag = true;
} else if (v.indexOf($TX) === 0) {
v = makeFn('function($inject){' + v.replace($TX, '') + '}');
v.__json = fn;
v.__inject = true;
return v;
} else if (!mode && v.indexOf(FUNCTION) === 0 && v !== FUNCTION) {
flag = true;
}
if (!flag) return fn;
const val = makeFn((v.indexOf(FUNCTION) === -1 && v.indexOf('(') !== 0) ? (FUNCTION + ' ' + v) : v);
val.__json = fn;
return val;
} catch (e) {
err(`解析失败:${v}\n\nerr: ${e}`);
return undefined;
}
}
return fn;
}
export function parseJson(json, mode) {
return JSON.parse(json, function (k, v) {
if (is.Undef(v) || !v.indexOf) return v;
return parseFn(v, mode);
});
}
七安前
node版本14.18.1为啥用vite build打包失败?
报错信息里面已经说的很清楚了,不支持
"??=" (https://link.segmentfault.com/?enc=S8SZQJfoxMN8CaU65JxFeg%3D%3D.vjGmKqbggiO4ooxIs9STqnwwcBA%2Bd7aRqwFegFh1JujJFkRxgyU1c%2BTXTWcXke91Rwog%2BRdLQFtCtWWvWXy2Ag8rHMQX%2BRLyVOPm0pNup%2F6MAENrvEQE70sryDJGbPNReRbNVR41QE58RpLiMkeIog%3D%3D)
这个逻辑空赋值操作。
NodeJS的版本太低了,升级就好了。NodeJS 15 才开始支持的,所以你16没问题,但是14不行。
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/a45d7331323cd41275e4377d5a21e24b.png)
七安前
使用rem等比缩放有解决方法吗 ?
使用rem等比缩放有解决方法吗 ,控制台横屏竖屏打开相差很大
使用rem等比缩放有解决方法吗
七安前
如何通过JavaScript或CSS取消浏览器设置中的页首及页尾的默认勾选?
请问要如何设置浏览器如下设置中的【页首及页尾】,我想要默认不勾选要如何编写JavaScript代码或css样式?
或者通过@media print自定义页首页尾的内容?但是我使用printJS插件打印,似乎@media print的样式对printJS的打印没有效果?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241013/4d5c310e57900e8d61c32b004a62c12f.png)
以下是我的代码:
// 转图片打印
html2canvas(this.$refs.templateToImg, {
backgroundColor: null,
useCORS: true,
windowHeight: document.body.scrollHeight,
}).then(canvas => {
dom.style.height = 'calc(100vh - 400px)'
dom.style.overflow = 'auto'
const url = canvas.toDataURL('image/jpg')
this.img = url
// 下载img 下载是好的,说明图片没问题
// const a = document.createElement('a')
// a.href = url
// a.download = this.previewTitle() + '.jpg'
// a.click()
const styles = "@media print { @page {height: 100%;@top-left {content: '页首内容';}@bottom-center {content: '页脚内容';}}}" // 设置了没有效果
printJS({
printable: url,
type: 'image',
documentTitle: this.previewTitle(),
style: styles,
onLoadingEnd: () => {
this.printLoading = false
dom.style.height = 'auto'
dom.style.overflow = 'visible'
}
})
七安前
如何分段处理超过ChatGPT最大token长度的问题?
这个问题无法解决,这是大语言模型的技术限制的。
可以换更大上下文的服务,比如 Claude,支持 100K;Google 最近发布的 Gemini 1.5 Pro,支持 1.2M。
另外,也可以考虑用 Embedding 检索,可以一定程度上解决这个问题。
七安前
为什么用多个div标签?
用一个就行。一般来说 dom 越少渲染越快,但是有时候为了一些模块化复用,我们也能接受这种嵌套
你要看他实现了什么功能
只说 row 和 col,分别是定义了一行和每一个元素,col-xl-7 是栅格系统,在 xl 尺寸可以变为 7 宽度。你不可能行和列用一个 div 表示
至于 "top-bar py-2 border-bottom" 和 "container" 大概是可以合并的。
七安前
wx:for序号的一个问题求解?
Page({
data: {
objectArray: {
12:{ id: 5, unique: 'unique_5' },
16:{ id: 4, unique: 'unique_4' }
}
}
})
index.wxml
{{index}}{{item.unique}}
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/4c5a5c5e08d4cdff4c15e3618a2e72ae.png)
模板中{{index}}显示的是12、16,按照手册中的说法index是数组对应的下标。但是面对这样的data数据,我想显示1、2、3.....这样的序号。该怎么处理?
七安前
react npm run dev 没反应也没报错是怎么回事呢?
检查 "package.json" 文件中的 "script" 部分中 "dev" 配置的功能是什么。
看情况应该是有配置 "dev" 这个名称的脚本的,但是执行的命令不一定正确。
如果缺少的话应该会提示 "npm ERR! Missing script: "dev""
七安前
父元素div背景为白色并设置了圆角和溢出隐藏,子元素是一张图片,在圆角位置会有白边,怎么解决啊?
这样加个伪类把:
div {
width: 1280px;
height: 720px;
border-radius: 36px;
position: relative;
overflow: hidden;
}
div::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #fff;
border-radius: 40px;
}
img {
width: 100%;
height: 100%;
transition: 250ms;
position: relative;
z-index: 2;
border-radius: 36px;
}
img:hover {
transform: scale(1.2);
}
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/d9c80cb583e2cd2f82933cedee82a2e5.png)
七安前
接口测试没有预期结果如何测试?
一般来说接口都有一定的规范,比如说是
* http code "2xx 是成功"、"4xx是用户请求失败"、"5xx是服务端处理失败"
* 也有可能在 response body 里有个 code,
可以先做连通性测试,然后根据文档入参做边界测试、异常情况测试,整理一份预期结果。
* 异常情况测试: 测试接口在异常情况下的行为,例如传入无效参数、超出范围的值、未授权的访问等,验证接口是否能够正确地处理这些异常情况,并返回适当的错误信息。
* 边界值测试: 测试接口在边界值附近的行为,包括最小值、最大值、临界值等,验证接口是否在边界条件下表现正常。
上述是全新的接口,什么都不知道,只有一份文档。当然大多数情况还是会有一个上下文的,比如说
* 如果有需求,可以基于项目需求和功能规格进行测试,确定每个接口应该实现的功能,然后验证接口是否符合这些功能要求。
* 如果是老业务逻辑测试,就了解业务逻辑,并尝试模拟各种情况和条件,确保接口在各种情况下都能正确处理并返回合理的结果。
通过以上方法可以尽量全面地测试接口的功能和性能,确保接口的质量和稳定性。