LightSea
win10上的docker desktop如何部署不自带端口的镜像?
就算不带端口,理论上部署应该也没问题,你是其他问题导致镜像没启动吧,看看你的启动命令
LightSea
h5页面的 AlipayJSBridge是通过什么方式引入的?
h5页面的 AlipayJSBridge是通过什么方式引入的?现在没有AlipayJSBridge这个方法。
这是示例代码:
function ready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
LightSea
请问JavaScript打印对象有值,但是打印对象的属性为undefined?
问题描述
如下图所示,我分别打印了ObjectFood和ObjectFood[1001]
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/03f9f59d2fe7a095db73ad67c2b7147b.png)
但是输出结果如下图所示
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/e2a505d7a8d3cef390c6eaf75e5ddef9.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/8dfd9c970886ffabd8d943755fc3e8bf.png)
后续尝试了
consile.log(ObjectFood["1001"])
let i = "1001"
console.log(ObjectFood.i)
这两种方法均是undefined,求各位帮忙解惑
LightSea
react.query怎么在onSuccess中获取请求参数?
queryClient.setQueryDefaults('list', {
queryFn: async ({ queryKey }) => {
const [, page, pageSize] = queryKey as ListQueryKey;
return await getSomeThing({ page, size: pageSize});
},
onSuccess: (data, variables, context) => {
const previousData = queryClient.getQueryData('list'); // 获取之前的数据
const page = variables[1]; // 从查询键中获取 page 参数
// 判断 page 是否等于 1,如果是,则替换之前的数据,否则合并新数据
if (page === 1) {
queryClient.setQueryData('list', data); // 替换之前的数据
} else if (previousData) {
// 合并新数据到之前的数据中
queryClient.setQueryData('list', [...previousData, ...data]);
}
},
});
上面的代码中,我需要在onSuccess中获取page的值,但是onSuccess的参数只有data,没有variables,react-query的版本是3.29,请问怎么解决。
LightSea
根据正则匹配出正确数据,返回值无效?
{{ localSN }}
export default {
props: {
datalist: {
type: Array,
default: () => []
},
titlelist: {
type: Object,
default: () => { }
}
},
data() {
return {
localSN: ''
};
},
methods: {
regeMatch1(sn) {
const pattern = /^[A-Za-z0-9]+$/gi;
if (sn !== '' && sn !== null) {
if (pattern.test(sn)) {
console.log('符合');
return sn;
} else {
console.log('不符合');
return '';
}
}
}
},
mounted() {
console.log(this.titlelist.sn, 11111);
this.localSN = this.regeMatch1(this.titlelist.sn);
}
};
LightSea
请问el-popper如何实现hover时,不弹框?
如果判断非预期条件,直接不生成可以不
鼠标悬停时弹出框
鼠标悬停时不弹出框
LightSea
getderivedstatefromprops 和 componentdidupdate什么时候用哪个?
getderivedstatefromprops 和 componentdidupdate这两个的应用场合分别是哪些呢
LightSea
flask 报错求解?
服务端
from flask import Flask, request
app = Flask(__name__)
@app.route("/")
def index():
pass
def login(user):
if request.method=="get":
return f"Hello {user}"
app.add_url_rule("/login/", view_func=login,methods=['POST', 'GET'])
if __name__ == "__main__":
app.run(debug=True)
客户端请求
url = ' http://*******/login/yyy'
res = requests.get(url=url,headers=headers)
请求报错如下
TypeError: The view function for 'login' did not return a valid response. The
function either returned None or ended without a return statement.
LightSea
vue2+element-ui项目中使用远程搜索组件进行选择框单选后再次点击选择框进行输入后如何紧跟在之前选中的值后进行搜索?
你想要的组件是不是 autocomplete 自动补全啊?
"https://element.eleme.io/#/zh-CN/component/input#autocomplete..." (https://link.segmentfault.com/?enc=yLxIIrUr1nTalJqhXEs9Sw%3D%3D.0ap7mr56n9M78nS%2BRIuLXJR445NMZH4tvhrld%2F8MdG43Fs4LBoMO1V2MErMrpxE92lLYL1n6Plkdg0LXwgpEX4tl%2FP%2B6QVVHZbJgJcNn1GY%3D)
LightSea
在github中对element-plus pr?
你这种情况大概率是因为你是第一次贡献,所以 CI 需要等待维护者同意后才能开始,你只需要等待就可以了。
LightSea
有个需求要求后端返回html,是否可以绑定事件?
1. 不能生效。
2. 你可以在节点插入 DOM 后,手动绑定
3. 如果你的事件处理函数都能暴露到全局,把 "(click)" 改成 "onclick" 也可以
4. 不过最推荐的是,不要直接插入 HTML,会很大的 XSS 风险。如果真要插入,可以把事件绑在父节点上,利用冒泡处理。
LightSea
window上求一个软件,可以实现文件重定向,比如某个软件要读取test文件,把该文件读取请求改到了test2文件?
windows本身就支持,百度下文件的“硬连接”/“软连接”
LightSea
js获取树行列表某个节点的父节点?
const arr = [
{
id: 1,
date: "2016-05-02",
name: "王小虎",
address: "上海市普陀区金沙江路 1518 弄"
},
{
id: 2,
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄"
},
{
id: 3,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
children: [
{
id: 31,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
children: [
{
id: 311,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
}
]
},
{
id: 32,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄"
}
]
},
{
id: 4,
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄"
}];
上面的数组 id=311的父节点是 id=31,id=2的父节点为null;
请问应该怎么解决?
LightSea
前端如何接收流式数据?
前端数据的返回本来就是流式返回的,不过通常情况下我们需要的是完整的响应体。如果需要类似于ChatGPT那种流式的返回,只需要将请求的响应体等待去掉就可以。要理解下面代码的两次"await"的作用:
async function getRes(content) {
const res = await fetch(url, {...});
const data = await res.text();
return data;
}
这里的第一个"await"是在等待服务器的响应,也就是服务器响应头到达客户端后,第一个"await"就会结束。
第二个"await"是在等待所有的响应体到达。
如果要流式读取,只需要修改第二个"await"的处理:
async function getRes(content) {
const res = await fetch(url, {...});
const reader = res.body.getReader();
// 读取数据流的第一块数据,done表示数据流是否完成,value表示当前的数
const {done, value} = await reader.read();
// 上面读取到的是数据的字节码,还需要处理字节码为文本
const decoder = new TextDecoder();
const text = decoder.decode(value);
// 打印第一块的文本内容
console.log(text, done);
}
上面的示例只读了第一块数据,通过循环来完成所有流数据的读取:
async function getRes(content) {
const res = await fetch(url, {...});
const reader = res.body.getReader();
const decoder = new TextDecoder();
while(1) {
// 读取数据流的第一块数据,done表示数据流是否完成,value表示当前的数
const {done, value} = await reader.read();
if (done) break;
const text = decoder.decode(value);
// 打印第一块的文本内容
console.log(text, done);
}
}
LightSea
Cache-Control的缓存策略同时配置no-store和no-cache是什么意思?
● 使用 no-cache 指令的目的是为了防止从缓存中返回过期的资源。“no-cache”
指令告诉浏览器和代理服务器不要缓存响应数据。这意味着缓存会将响应数据存储在缓存中,但在将响应返回给客户端之前,必须先将该响应提交给服务器进行验证。服务器会检查响应的有效性,如果发现响应仍然有效,服务器会返回一个新的验证令牌(ETag),以通知缓存可以使用它,否则服务器将返回新的响应数据。这种方式被称为“验证缓存”。
no-store
● “no-store”
指令更为严格,它要求浏览器和代理服务器不要在任何情况下缓存响应数据。这意味着每次请求都需要从原始服务器重新获取数据,不进行任何缓存。这可以用于敏感数据或者响应数据频繁更改的情况,以确保不会在客户端或代理服务器上存储敏感信息或者过期的数据
同时配置了no-cache和no-store,no-store的优先级要高,我没看具体是什么场景下什么例子,但是同时出现肯定是没问题的
LightSea
nginx 4层代理使用proxy_bind传递真实ip无法生效?
linux系统版本:Rocky Linux release 9.1 (Blue Onyx)
nginx版本:1.21.4.1,编译安装使用stream模块
代理服务器内网ip为10.0.8.15,安装使用nginx作为4层代理到内网ip为10.0.9.2的后端iis服务器,nginx代理部分配置如下:
stream{
upstream https {
server 10.0.9.2:443;
}
server{
listen 443;
proxy_connect_timeout 60s;
proxy_timeout 5m;
proxy_pass https;
proxy_bind $remote_addr transparent;
}
upstream http {
server 10.0.9.2:80;
}
server{
listen 80;
proxy_connect_timeout 60s;
proxy_timeout 5m;
proxy_pass http;
proxy_bind $remote_addr transparent;
}
}
linux系统的内核参数配置如下:
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.ip_nonlocal_bind = 1
由于默认情况下nginx使用4层代理后后端收到的客户端ip是代理服务器的ip,所以在nginx里添加上proxy_bind $remote_addr
transparent开启透明代理,之后配置好iptables和后端服务器的路由之后,后端服务器收到的ip仍然不是真实ip,于是又在另一台测试服务器上同样布置了一套系统进行对比排查。在正常情况下,nginx开启proxy_bind
$remote_addr
transparent后,在与上游服务器建立tcp连接时会使用linux系统调用将数据包的源地址改为$remote_addr,即客户端真实ip,在测试服务器上进行抓包时发现能够抓取到源地址为真实ip、目的地址为上游服务器ip的数据包,并且测试服务器的上游能够成功获取到真实ip,但是在正式服务器上抓取不到,并且更换haproxy使用相同的原理时也是一样的情况,遂怀疑不是nginx的原因而是系统的原因,进一步使用strace跟踪nginx子进程的系统调用时结果如下:
accept4(8, {sa_family=AF_INET, sin_port=htons(42254), sin_addr=inet_addr("103.77.XX.XX")}, [112 => 16], SOCK_CLOEXEC|SOCK_NONBLOCK) = 38
setsockopt(38, SOL_TCP, TCP_NODELAY, [1], 4) = 0
socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_IP) = 39
setsockopt(39, SOL_IP, IP_TRANSPARENT, [1], 4) = 0
setsockopt(39, SOL_IP, IP_BIND_ADDRESS_NO_PORT, [1], 4) = 0
bind(39, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("103.77.XX.XX")}, 16) = 0
connect(39, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("10.0.9.2")}, 16) = -1 EINPROGRESS (Operation now in progress)
accept4(8, 0x7ffd1f351110, [112], SOCK_CLOEXEC|SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable)
getsockopt(39, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
setsockopt(39, SOL_TCP, TCP_NODELAY, [1], 4) = 0
recvfrom(14, "\27\3\3\0M\320x8\16N$\316_\t(O\343\300\310NE\321\330\340\244\375\373\3556Bij"..., 16384, 0, NULL, NULL) = 82
recvfrom(15, "\27\3\3/\353\223e\313\4 \32\2702\2617\2401\346\207\r=\216\227/=y\255EMO\350Q"..., 16384, 0, NULL, NULL) = 12272
可以看到nginx已经调用了linux的bind函数来绑定客户端真实ip并向上游服务器发起连接,但是为什么抓包后的结果仍然是源地址为代理服务器的内网ip,不知道如何排查下去了,希望有大佬能知道原因的或者给个排查的思路
LightSea
前端Vue如何实现类似于下图中组织架构等级图,根据后端返回来的数据动态展示?
前端Vue如何实现类似于下图中组织架构等级图,根据后端返回来的数据动态展示?https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241116/e6d670c2a0f3a39b042a7ca1d3175015.png
LightSea
nginx报跨域怎么办?get还跨域?
无论是ajax get请求,还是link方式:
都发现报跨域,这是什么问题?
这台服务器换过IP,换IP后,导致服务器上某些程序异常,大部分都卸载重装了,nginx也重装了,以前也没遇到这种问题。
不知道是nginx缺少什么配置,还是换IP导致的服务器环境有问题了?
有没有大神知道如何解决?
LightSea
正则表达式问题使用new RegExp与字面量test结果不一致?
字面量外面没有双引号包括,表达式中的\不需要再次转移
/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,15}$/g.test("123#kjdsls")
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241113/13928f9a5b7b59c653ea327abbf354dc.png)
LightSea
解决前端vue每次修改ip地址的问题?
前端vue遇到了私有化部署,ip地址不是唯一的,每次都修改完ip地址再打包再重新部署,很繁琐?
我尝试在public文件夹下面创建一个config.js文件,然后再去index.html内引入,但是当我再去封装的axios里面去使用时
就会报错(提示找不到VUE_APP_URL),然后我去使用imort导入导出时,虽然不在报错,但是在打包部署了的情况下,再去修改config.js文件内的ip地址,是没有任何响应的?请问大佬们这该如何解决呢?
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241114/7a64cf8bf08a82592290baee988df51e.png)
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241114/a19b021b65d6d691969affe62942f39b.png)
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241114/0057e513a6f48cbfbe577ba684787cee.png)
LightSea
Java导出Excel的时候,如何设置函数?
GcExcel可以非常简单的方式操作Excel。
可以参考以下代码:
// Add custom name and set formula to range
worksheet.getNames().add("test1", "=Sheet1!$A$1");
worksheet.getNames().add("test2", "=Sheet1!test1*2");
worksheet.getRange("A1").setValue(1);
// C6's value is 1.
worksheet.getRange("C6").setFormula("=test1");
// C7's value is 3.
worksheet.getRange("C7").setFormula("=test1 + test2");
// C8's value is 6.283185307
worksheet.getRange("C8").setFormula("=test2*PI()");
LightSea
WPF程序,如何程序只能在被授权的计算机上运行?
大致思路如下:
* 使用电脑的硬件信息(例如:CPU、硬盘等的ID)生成序列号
* 根据序列号和你的授权算法生成授权码
* WPF程序启动时验证序列号和授权码
* 验证成功则运行,否则提示未授权,弹出授权窗口输入授权码
LightSea
Java转golang时间大概多长?
如题,鄙人大学4年绝大多数时间学的是Java,考虑到Java出来的时间较长且jdk20开始Oracle开始收费,为避免淘汰,想再接触一下golang,请教一下大佬们,Java转golang,学习周期大概多久
LightSea
使用AMH面板NGINX 1.20 修改 mime.types 无法下载APK,如何解决?
使用AMH面板NGINX 1.20 修改 mime.types 依然无法下载APK,不知道怎么回事,捣鼓一晚上了。怎么配置都是链接已重置
依教程在mime.types众添加
application/vnd.android.package-archive apk;
依然无法识别APK文件,显示链接已重置。
LightSea
怎么使用 pip 安装 pyproject.toml 中的包?
pip install -e .
LightSea
el-table初始化为空数组,界面长时间出现数据加载中?
el-table 的 tableData 为空, 就会显示暂无数据, 你的如果为空但是确有"数据加载中"的动画, 那就说明这个不是el-table的,
是其他地方的比如是否有使用"v-loading"
LightSea
请问应付公司完全不开放外网Port情况,让特定 web service 具备内网穿透功能?
请问应付公司完全不开放外网Port情况,让特定 web service 具备内网穿透功能?
因为公司有安全考量不开放外网Port,但我知道有内网穿透的技术
不想要server全部内网穿透暴漏在外网,只想要特定 web service 或是 iis app 能让外网通过内网穿透访问
举例 : 外网能通过 xxxxxx.com/xxxx 访问内网 192.168.1.1:8084/xxxsystem
LightSea
vue要怎么修改循环绑定的值呢?
export default {
props: {
points: {
type: Array
}
}
}
如上图所示,传入points数组,里层一旦修改输入框的值就会报错"[vuex] do not mutate vuex store state outside mutation handlers",这是因为props对象是不可修改的,那要怎么改呢?
LightSea
这代码是重新打开一个浏览器,而不是复用我现有的,如何解决?
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
'--user-data-dir=/Users/interface/PycharmProjects/DjangoForWelock/user-data-dir/Profile',
'--remote-debugging-port=9223
这代码是重新打开一个浏览器,而不是复用我现有的
const puppeteer = require('puppeteer');
async function a() {
const browser = await puppeteer.launch({
headless: false, devtools: true,
args: ['--remote-debugging-port=9223', '--remote-debugging-address=localhost', '--no-sandbox'],
});
const page = await browser.newPage();
await page.goto('https://youtube.com/', {waitUntil: 'networkidle0'});
}
a().then(r => console.log("sadf"))
LightSea
如何根据A数组将B数组组装为新数组?
const conv = (schema, source) => source.map(a => {
const dict = {}
a.forEach(i => {
const name = i.at(-1) // 没有给出具体的数据格式,假定和 A 匹配的字符串就是最后一位
dict[name] = i
})
return schema.map(name => dict[name] ?? null)
})
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241030/2e74faca1a4d691bbfe9b5261ec7598a.png)
LightSea
根据Excel模板文件插入数据后打印怎么实现?
根据Excel模板去打印怎么实现?
比如我现在有一个模板文件,模板里面有一些模板信息或者说占位符,然后要根据这个信息将提供的数据插入到这个模板里面,然后打印出来,应该怎么实现?
LightSea
vue中如何引入html或将html转化成npm包?
如何将HTML变成npm包,或者怎么把本地的html在vue项目中引入。
代码如下:
听力检测
var L, R;
var applicantId = "1981";
L = dmMOD.drawAudiogram("leftear", {
onACMarker: function () {
// Ext.getCmp("leftEarAc").setValue(L.getACAverage().val);
},
});
L.init();
R = dmMOD.drawAudiogram("rightear", {
leftEar: false,
onACMarker: function () {
console.log("右");
// Ext.getCmp("rightEarAc").setValue(R.getACAverage().val);
},
});
R.init();
尝试将html文件放置assets目录下,但是无法正常打开
export default {
data(){
return {
localHtmlUrl:'/assets/html/h.html'
}
}
}
LightSea
正则表达式匹配字符串中所有的img标签的src属性进行批量处理?
后台返回的富文本字符串中找到所有的img标签 给src 加上属性属性值
比如其中一个类似的富文本的字符串,找到其中所有的img标签,判断src 属性有没有类似www.xxxx.com的值, 有的话就跳过,没有的话就给加上
'\r\n\r\n近日,山东省海上搜救中心发布《关于对2022-2023年度海上搜救工作先进集体和个人给予表扬的通报》,对2022年以来在海上搜救工作中表现突出的集体和个人予以通报表扬。自然资源部北海局属北海预报减灾中心海洋生态预警与应急室获评先进集体,北海海洋技术中心调度指挥室负责人徐昕、北海预报减灾中心海洋生态预警与应急室毕凡获评先进个人。12月5日,山东省海事局指挥中心为北海局获评“山东省2022-2023年度海上搜救先进集体和先进个人”的单位和个人颁发证书。北海局预警监测处、北海预报减灾中心、北海海洋技术中心派员参加了仪式。\r\n \r\n\r\n图1\r\n 山东海事局指挥中心为获奖集体和个人代表颁发证书\r\n \r\n自然资源部北海局是国家海上搜救部际联席会议的成员单位,近年来,在认真组织各级海洋预报机构为搜救部门提供海洋预警信息的同时,还积极探索开展海上搜救目标漂移预测工作。其中,北海预报减灾中心牵头研制的“国家海上搜救环境保障服务平台”(http://www.marinesar.cn/),是自然资源部对外提供搜救预报的统一业务平台,2020年起成为中国海事局官网推荐开展搜救辅助的平台。平台用户包括中国海上搜救中心、各省市海上搜救中心、军方和科研机构等180余家单位2000余个,桌面版、手机和网页版使用次数累计8000余次。基于该平台可针对海上目标进行漂移轨迹、搜寻范围及海洋环境要素的预测,并为海上搜救部门提供预报产品。平台服务受到了海上搜救一线部门的充分认可。北海海洋技术中心按照山东省主管部门和北海局统筹部署,参与做好海上搜救相关工作,保持所管船舶持续适航状态和机动性,做好船舶航次计划审批、船舶调度等相关工作,为山东省海上搜救工作任务落实提供良好船舶平台支持,以“生命至上,服务海洋”为原则,将北海局船队逐步打造成一支旗帜鲜明、敢打硬仗的海区海上搜救重要支撑队伍。\r\n \r\n\r\n图2\r\n 北海预报减灾中心牵头研制的国家海上搜救环境保障服务平台\r\n(http://www.marinesar.cn/)\r\n\r\n\r\n'
应该用正则表达式吧,奈何是个渣渣
LightSea
input标签上传文件夹页面卡死应该怎么办?
可以限限制上传文件个数
const MAX_FILE_COUNT = 500;
function changeFile(event) {
const files = event.target.files;
if (files.length > MAX_FILE_COUNT) {
alert(`请不要选择超过${MAX_FILE_COUNT}个文件`);
// 可能需要清空文件选择,具体取决于浏览器兼容性
event.target.value = '';
return;
}
// ... 其他文件处理逻辑
}
还可以使用Web Workers
// main.js
const worker = new Worker('worker.js');
worker.postMessage({ action: 'validateFiles', files: event.target.files });
worker.onmessage = (event) => {
if (event.data.action === 'validationResult') {
console.log('Validation result:', event.data.result);
}
};
// worker.js
self.addEventListener('message', (event) => {
switch (event.data.action) {
case 'validateFiles':
const validFiles = event.data.files.filter(validateFile);
self.postMessage({ action: 'validationResult', result: validFiles });
break;
// ...
}
});
function validateFile(file) {
// 文件验证逻辑...
}
还可以分批次上传
async function uploadFilesInBatches(files, batchSize = 100) {
for (let i = 0; i < files.length; i += batchSize) {
const batchFiles = files.slice(i, i + batchSize);
const formData = new FormData();
for (const file of batchFiles) {
formData.append('files', file);
}
await fetch('/api/upload', { method: 'POST', body: formData });
}
}
// 在changeFile事件处理器中调用
uploadFilesInBatches(event.target.files);
懒加载:
先上传文件的基本信息(如名称、大小、类型、路径等),待用户需要查看或进一步操作时再上传实际文件内容。
流式上传:
利用Blob、FileReader的readAsArrayBuffer或第三方库(如Resumable.js)不等待整个文件加载完成。
LightSea
有没有比较好的学习 shell 的文章或文档吗?
"bash
manual" (https://link.segmentfault.com/?enc=HmVJygJ0kB8xBXP6NfRKQA%3D%3D.KEVjctuthpoCnO39KzGeqx5LA168DA1zr123BmX9cHsdg0GZZ0P2%2FyouhelFEGUc)
"linux脚本攻略" (https://link.segmentfault.com/?enc=UGCFAxiMU6r%2BtmJ8MhtIfw%3D%3D.y1iau14p4A%2F5pkLjQ2wveCwZAh4EWOkgSds0Iy0h7zg2d%2BrUGC9jmaMpox61kgvT)(一位大神二十多岁的时候写的
)
"Unix编程环境" (https://link.segmentfault.com/?enc=WR1bCA8o86hm3UyF%2Bh8LJw%3D%3D.EdHDWypDkJSBCWIPYy1WMUhvFL2y22sCEscrggA19L3Xvcg4WE4gnTPRluUidB%2F3)
LightSea
vscode如何关闭js中的自动import ?
尝试从这里关闭一下:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/f406268037e3904e415cb5480bfbbf9f.png)
LightSea
python 我是用的是分组非贪婪匹配 正则匹配,为什么匹配结果少了7?
python 正则匹配,为什么匹配结果少了7?我是用的是分组非贪婪匹配
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/30e4057784b0f4b606135c0a67b1004f.png)
代码如下:
url = "http://tiebapic.baidu.com/forum/w%3D580/sign=33b74ba68b11728b302d8c2af8fdc3b3/9728d9177f3e67097e8a81c87dc79f3df9dc55aa.jpg?tbpicau=2024-01-18-05_4f80cd1a7f322fc1e38464b6e05d9188"
pattern = re.compile(r'http://tiebapic.baidu.com/(.+?)sign=.+?\/(.+?).(.+?)\?tbpicau=', re.S)
filenames = pattern.findall(url)
filename = '%s%s%s' % (filenames[0][0], filenames[0][1], filenames[0][2])
print(filename)
//输出结果:
forum/w33D580/928d9177f3e67097e8a81c87dc79f3df9dc55aa.jpg
//期望输出结果:
forum/w33D580/9728d9177f3e67097e8a81c87dc79f3df9dc55aa.jpg
为什么结果中928d9177f3e67097e8a81c87dc79f3df9dc55aa.jpg 少了7?
LightSea
如何在JavaScript中解密Base64加密的JSON数据?
base64那不叫加、解密,叫转码,具体过程参照这个"https://blog.csdn.net/qq_42961150/article/details/121922216" (https://link.segmentfault.com/?enc=P6%2B6X%2F0dj3OR5MDf64D2tg%3D%3D.hj1mOUpXhYlF9gUinl%2F96EwVvZG%2BLimyFjR4wH0eZs7Ft%2FQ38DUETeYdEtDZYgmtw3xnMhGB5RHrHbhDbRsK%2Bw%3D%3D)
LightSea
AMH配置SMTP为何一直报错?
AMH,系统debian,PHP8.2,mysql8.0,NGINX1.20,在wordpress里配置SMTP提示:
发送测试邮件时出现问题。
服务器证书配置错误。
这意味着服务器上的OpenSSL无法验证主机证书。
发生这种情况有几个原因。 可能是主机证书配置错误,或者该服务器的OpenSSL使用的是过时的CA捆绑软件。
建议的处理步骤:
验证主机的SSL证书是否有效。
请联系您的主机支持,向他们提供下面的 "用于调试的完整错误日志",并附上此链接。
Versions:
WordPress: 6.4.3
WordPress MS: No
PHP: 8.2.13
WP Mail SMTP: 3.11.1
Params:
Mailer: smtp
Constants: No
Conflicts: FluentSMTP
ErrorInfo: SMTP Error: Could not connect to SMTP host. Failed to connect to
serverSMTP server error: Failed to connect to server
Host: smtp.zoho.com.cn
Port: 465
SMTPSecure: ssl
SMTPAutoTLS: bool(false)
SMTPAuth: bool(true)
Server:
OpenSSL: OpenSSL 1.1.1w 11 Sep 2023
Debug:
Email Source: WP Mail SMTP
Mailer: 其他 SMTP
SMTP Error: Could not connect to SMTP host. Failed to connect to serverSMTP
server error: Failed to connect to server
SMTP Debug:
2024-02-02 10:45:50 Connection: opening to ssl://smtp.zoho.com.cn:465,
timeout=300, options=array()
2024-02-02 10:45:51 Connection failed. Error #2: stream_socket_client(): SSL
operation failed with code 1. OpenSSL Error messages:error:1416F086:SSL
routines:tls_process_server_certificate:certificate verify failed
[/home/wwwroot/xiaobao/domain/www.azmnaturalbeauty.com/web/wp-includes/PHPMailer/SMTP.php line 396]
2024-02-02 10:45:51 Connection failed. Error #2: stream_socket_client():
Failed to enable crypto
[/home/wwwroot/xiaobao/domain/www.azmnaturalbeauty.com/web/wp-includes/PHPMailer/SMTP.php line 396]
2024-02-02 10:45:51 Connection failed. Error #2: stream_socket_client():
Unable to connect to ssl://smtp.zoho.com.cn:465 (Unknown error)
[/home/wwwroot/xiaobao/domain/www.azmnaturalbeauty.com/web/wp-includes/PHPMailer/SMTP.php line 396]
2024-02-02 10:45:51 SMTP ERROR: Failed to connect to server: (0)
SMTP Error: Could not connect to SMTP host. Failed to connect to server
Deprecated: Creation of dynamic property
FluentSmtpDb\QueryBuilder\QueryBuilderHandler::$adapter is deprecated in
/home/wwwroot/xiaobao/domain/www.azmnaturalbeauty.com/web/wp-content/plugins/fluent-smtp/app/Services/wpfluent/src/QueryBuilder/QueryBuilderHandler.php on line 67
Deprecated: Creation of dynamic property
FluentSmtpDb\QueryBuilder\QueryBuilderHandler::$adapterConfig is deprecated in
/home/wwwroot/xiaobao/domain/www.azmnaturalbeauty.com/web/wp-content/plugins/fluent-smtp/app/Services/wpfluent/src/QueryBuilder/QueryBuilderHandler.php on line 68
Deprecated: Creation of dynamic property
FluentSmtpDb\QueryBuilder\QueryBuilderHandler::$adapter is deprecated in
/home/wwwroot/xiaobao/domain/www.azmnaturalbeauty.com/web/wp-content/plugins/fluent-smtp/app/Services/wpfluent/src/QueryBuilder/QueryBuilderHandler.php on line 67
Deprecated: Creation of dynamic property
FluentSmtpDb\QueryBuilder\QueryBuilderHandler::$adapterConfig is deprecated in
/home/wwwroot/xiaobao/domain/www.azmnaturalbeauty.com/web/wp-content/plugins/fluent-smtp/app/Services/wpfluent/src/QueryBuilder/QueryBuilderHandler.php on line 68
请问如何解决?
LightSea
idea有没有驼峰法等快速转换的方法?用这种工具不是高效?怎么办?
可以安装这个"插件(String
Manipulation)" (https://link.segmentfault.com/?enc=LaAyKl0GG9E6wXT9F%2B8ABw%3D%3D.HYaXxFT4LvdNHqjr%2Bu2FRpgVKW8d%2Bb6LUuiBbZ%2F4h4Mh%2BVQphcjfK%2F3nKp6zx70mn5P1x8UNJhTMk6IhECmdKA%3D%3D)
功能很多,应该可以满足你的需求
LightSea
文件替换,加上小数点的正则?
"snipaste_2024-02-19_20-28-32.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/0c599da94d0b0000b5702860a0c2cfd0.png)
传送门:"嗨正则" (https://link.segmentfault.com/?enc=r3%2FcnYNnhTdBKJnrjeHX2w%3D%3D.cKUhlNsvBVe1apaQkg%2Br1AOtqP05D6%2FlJa%2FErI3yrOk%3D)
***
«这里是华丽丽的分割线
下面是以前的回答,不符合题意,仅供参考»
***
查找正则:"damageValue:\s?([\s\d\+\*]+)"
替换为:"damageValue: ($1) / 10"
"snipaste_2024-02-16_23-25-08.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/496e007636ba053e659c8e62b75e2ec3.png)
传送门:"嗨正则上的示例" (https://link.segmentfault.com/?enc=6lJPiqgZn3LrBuK%2FuQxUTQ%3D%3D.gcGY3AZjxBx0t60huKJcz6OUYt3JuRz%2B7Ze%2FMuYrZaM%3D)
***
如果不想在替换时再写 "damageValue" 什么的,可以
查找正则:"(damageValue:\s?)([\s\d\+\*]+)"
替换为:"$1($2) / 10"
注意这里用到了两个捕获组
«***
2024-02-19 更新»
根据题主更新后的要求,看是不是这样:
"snipaste_2024-02-19_16-29-29.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/bcdaf7a29cd0cb4c138f0c8a189a3829.png)
传送门:"https://hiregex.com/r/nXANs1/3" (https://link.segmentfault.com/?enc=bzkHeZLl5SYncVPhnUZNOg%3D%3D.rbpoWaEt22Id23zbtz%2FI7x%2F5GdSXJWM4zXkPsIvxxs8%3D)
LightSea
接口测试没有接口文档如何编写测试用例?
抓包是针对已有的功能,来推断入参和响应的。
你这里说没有接口文档,那肯定是要抓包拿到所有的接口呀
LightSea
vue不是脚手架搭建的如何不直接显示源码?
代码混淆应该可以满足你的需求。混淆过的代码可读性是很差的
LightSea
可拖拽、合并的表格:最佳实践与案例?
已找到,"https://handsontable.com/demo" (https://link.segmentfault.com/?enc=JpMXO2TbMlY9N2%2BDdlQ3TQ%3D%3D.rVoBiGJ7MbzJQXFA%2BwT1bxXJHzTldMfR%2BqN5Xk26WlM%3D)
LightSea
别名提示不显示,这是为什么?
如果是ts还需要在tsconfigjson加上这个路径
LightSea
git找不到node?
git commit 后提示
'node' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
husky - pre-commit hook exited with code 1 (error)
,有node而且在命令行正确出来node的,网上什么删除最近的提交等等方法都不行
最后就删除了git,重新创建版本库,就正常了
提交了几次后,又突然提示找不到node了
那就再次删除,后面又重演上面说的
然后重新克隆到新的文件夹也没有用,还是会提交了几次后,又突然提示找不到node了
删除了n多遍,也重新克隆了n多遍,不知道为啥这样
下面是项目中的配置
pre-commit :
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged
commit-msg :
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx --no-install commitlint --edit
husky.sh:
#!/usr/bin/env sh
if [ -z "$husky_skip_init" ]; then
debug () {
if [ "$HUSKY_DEBUG" = "1" ]; then
echo "husky (debug) - $1"
fi
}
readonly hook_name="$(basename -- "$0")"
debug "starting $hook_name..."
if [ "$HUSKY" = "0" ]; then
debug "HUSKY env variable is set to 0, skipping hook"
exit 0
fi
if [ -f ~/.huskyrc ]; then
debug "sourcing ~/.huskyrc"
. ~/.huskyrc
fi
readonly husky_skip_init=1
export husky_skip_init
sh -e "$0" "$@"
exitCode="$?"
if [ $exitCode != 0 ]; then
echo "husky - $hook_name hook exited with code $exitCode (error)"
fi
if [ $exitCode = 127 ]; then
echo "husky - command not found in PATH=$PATH"
fi
exit $exitCode
fi
LightSea
微信小程序加载内嵌H5白屏问题?
主要是 "index.html" 之类的静态页面被缓存了,可以在HTTP服务上面设置过期时间为 "-1",这样就可以让 "webview" 不强制缓存了。
LightSea
如何访问OpenHarmony系统目录?
要访问OpenHarmony系统目录,您可以按照以下步骤进行操作:
1. 首先,确保您已经连接到OpenHarmony系统的终端或者通过ADB(Android 调试桥)连接到设备上。
2. 打开终端或者命令提示符,并输入以下命令来获取Root权限(如果需要):adb root
3. 然后,使用以下命令来进入OpenHarmony系统目录:adb shell
4. 一旦您进入了系统的shell,您可以使用"cd"命令来导航到不同的目录,例如:cd /system
这样就可以进入"/system"目录,您可以根据需要继续导航到其他目录。
请注意,访问系统目录可能需要Root权限,而且在操作系统文件时需要格外小心,以免造成系统损坏。
«本文参与了"思否 HarmonyOS
技术问答马拉松" (https://segmentfault.com/a/1190000044600728),欢迎正在阅读的你也加入。»
LightSea
如何判断浏览器是否开启了 HSTS?
不知道你为什么要这样做。如果想要强制别人访问HTTPS,你可以在Nginx之类的HTTP服务上面做转发,把HTTP请求重定向到HTTPS上面。
LightSea
Element-Plus el-select 报错 Maximum recursive updates exceeded?
在Element-Plus中,当使用el-select组件并且启用filterable特性时,特别是在处理大量数据时,如果组件内部因为某种原因陷入无限循环更新状态,就可能出现“Maximum
recursive updates exceeded”的错误提示。这通常是因为在数据变更过程中,Vue.js检测到了状态的非预期递归更改。
针对这个问题,除了使用filter-method自定义筛选方法之外,还有几个优化和解决方案可以考虑:
避免不必要的计算和状态更新:
在数据加载完成后一次性处理好筛选逻辑,尽量减少每次用户输入时的计算负担。
如果数据量大,可以考虑使用虚拟滚动(virtual-scroll)功能,只渲染可视区域内的选项,从而减轻DOM的压力和响应速度。
节流或防抖处理用户输入:
当用户在输入框中快速输入时,可以使用Vue的debounce或throttle函数包装监听事件,减缓触发筛选的频率。
局部状态管理:
可以考虑在el-select组件的范围内建立一个局部状态来暂存筛选条件,避免直接修改父组件传递过来的大规模数据源。
优化filter-method:
对于自定义筛选方法,确保它在执行时不会引起额外的状态变化,而是直接基于输入和现有数据生成筛选结果。
如果回显较慢是因为在选中后重新检索整个数据集,那么可以尝试缓存已经匹配过的选项,仅在必要时刷新。
懒加载与分页:
如果数据是从远程接口获取,可以考虑在用户输入时进行懒加载或分页请求,只请求当前筛选条件下的数据子集。
使用计算属性或watch配合nextTick:
在某些情况下,可能需要在Vue实例的下一个生命周期钩子内更新状态,可以使用this.$nextTick()来确保在DOM更新后再进行状态变更,避免立即更新引起的无限循环。