抠香糖
在NextJS中new URL为啥和标准不一样呢?
测试代码很简单如下:
const logo = new URL('http://up1.yii.so/jianli/static/square.js', import.meta.url);
// import.meta.url is file:///Users/liwei/Downloads/app/web3/next.v2/src/app/optimizing/script/urlimports/page.tsx
console.log(logo.href);
// output: _next/static/media/square.251a1772.js
我不太理解,为啥:"http://up1.yii.so/jianli/static/square.js" +
"file:///Users/liwei/Downloads/app/web3/next.v2/src/app/optimizing/script/urlimports/page.tsx"
= "_next/static/media/square.251a1772.js"
我先找了mdn,在"new URL()"中关于第一个参数"url"如下描述:
«如果 "url" 是相对 "URL",则会将 "base" 用作基准 "URL"。如果 "url" 是绝对 "URL",则无论参数 "base"
是否存在,都将被忽略。»
显然nextjs中的"new URL()"和web标准不一样,但是文档又没有提到,所以想问下nextjs中的"new URL()"是什么标准?
抠香糖
wordpress网站 内容页显示404 如何处理?
面板挂了3个wordpress网站,相同的重写规则(wordpress2),仅有一个站点出现:首页可以访问,图文正常显示,但点击具体文章内容后显示404,应该如何处理?
抠香糖
使用lldb调试阵列时,设置的lower bound为何无效?
编译一个系数不从0开始的阵列:
my_arr : ARRAY [1..100] OF REAL;
my_arr[1] := 5.0;
声明阵列并赋值的IR代码如下:
%my_arr = alloca [100 x float], align 4, !dbg !21
call void @llvm.dbg.declare(metadata [100 x float]* %my_arr, metadata !14, metadata !DIExpression()), !dbg !21
%0 = getelementptr inbounds [100 x float], [100 x float]* %my_arr, i32 0, i32 0, !dbg !23
store float 5.000000e+00, float* %0, align 4, !dbg !23
...
!14 = !DILocalVariable(name: "my_arr", arg: 1, scope: !10, file: !1, line: 8, type: !15)
!15 = !DIDerivedType(tag: DW_TAG_typedef, name: "a", file: !1, baseType: !16)
!16 = !DICompositeType(tag: DW_TAG_array_type, baseType: !17, size: 3200, elements: !18)
!17 = !DIBasicType(name: "float", size: 32, encoding: DW_ATE_float)
!18 = !{!19}
!19 = !DISubrange(count: 100, lowerBound: 1)
使用gdb对elf文件进行调试时,可以正确输出 "my_arr[1]" 的值:
(gdb) print my_arr[0]
$1 = 1.34668156e+34
(gdb) print my_arr[1]
$2 = 5
但在使用lldb调试同一个elf文件时,定义的 "lowerBound: 1" 无效:
(lldb) print my_arr[0]
(float) $0 = 5
(lldb) print my_arr[1]
(float) $1 = -3.90663904E-16
造成lldb不能正确匹配系数地址的原因是什么?是否有办法规避呢?
抠香糖
vue中声明全局组件的重复代码该怎么优化 ?
可以把这个声明放到一个包中,d.ts 文件中用 /// 引用,参考 vite/client 的类型导入:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241230/73165064009179a9a73c748162d8528f.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241230/f1eb606942538f3e5f35913cb2a48b2a.png)
抠香糖
像是闭包 但是不知道怎么写?
穿梭框功能 arr1是穿梭框左侧的全部数据
大致意思是 最后一层的title全部选中就把上一层的title名称放入数组中
如果子children没全部选中则把选中的title放入数组中
arr1 = [
{
title:'全部',
children:[
{
title:'小明0.1',
children:[
{
title:'小明0.1.1',
children:[
{
title:'小明0.1.1.1',
children: []
}
]
},
{
title:'小明0.1.2',
children:[
{
title:'小明0.1.2.1',
children: []
}
]
},
]
},
{
title:'小明0.2',
children:[
{
title:'小明0.2.1',
},
{
title:'小明0.2.2',
},
{
title:'小明0.2.2',
}
]
}
]
}
]
抠香糖
萌新提问关于 react 的路由问题?
import { BrowserRouter, Routes, Route, Link } from "react-router-dom";
import ReactDOM from 'react-dom/client'
function HomePage() {
return (
跳转路由页面
);
}
function RouterPage() {
return (
路由页面
RouterPageHome
RouterPageAbout
路由页面Home}>
路由页面About}>
);
}
function App() {
return (
}>
} />
);
}
ReactDOM.createRoot(document.getElementById('root')).render()
抠香糖
如何将手机上微信的文件快速传递到linux平台?
"https://wx.qq.com/" (https://link.segmentfault.com/?enc=rVYQgbM00GEP7zK73fEcww%3D%3D.Yvi4jJx%2BNnVq6JKevTxa5y6lxw6z%2FPDxqWk5%2BvrWInw%3D)
这是微信网页版,扫码登录,手机将信息发送给文件管理助手,网页端可以获取。
"https://filehelper.weixin.qq.com/" (https://link.segmentfault.com/?enc=D%2FgvB484u8hZKTUfWFVlZA%3D%3D.nAUbXgHgQxWApwa1W3PLbN1%2BdZYmfd1cXLEMnXRk7LswNGuHlw79n87a0ECdzaE%2F)
这是文件助手网页版,也可以使用。
抠香糖
mongodb会自己关闭6.0和最新版7.0.1都会这样,下面是日志,为什么会自己关闭了呢?
{"t":{"$date":"2023-09-20T00:18:43.271+08:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"thread1","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
{"t":{"$date":"2023-09-20T00:18:43.274+08:00"},"s":"I", "c":"NETWORK", "id":4915701, "ctx":"thread1","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":21},"outgoing":{"minWireVersion":6,"maxWireVersion":21},"isInternalClient":true}}}
{"t":{"$date":"2023-09-20T00:18:46.473+08:00"},"s":"I", "c":"NETWORK", "id":4648602, "ctx":"thread1","msg":"Implicit TCP FastOpen in use."}
{"t":{"$date":"2023-09-20T00:18:46.478+08:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"thread1","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationDonorService","namespace":"config.tenantMigrationDonors"}}
{"t":{"$date":"2023-09-20T00:18:46.480+08:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"thread1","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationRecipientService","namespace":"config.tenantMigrationRecipients"}}
{"t":{"$date":"2023-09-20T00:18:46.480+08:00"},"s":"I", "c":"CONTROL", "id":5945603, "ctx":"thread1","msg":"Multi threading initialized"}
{"t":{"$date":"2023-09-20T00:18:46.480+08:00"},"s":"I", "c":"TENANT_M", "id":7091600, "ctx":"thread1","msg":"Starting TenantMigrationAccessBlockerRegistry"}
{"t":{"$date":"2023-09-20T00:18:46.482+08:00"},"s":"I", "c":"CONTROL", "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":10596,"port":27017,"dbPath":"./data","architecture":"64-bit","host":"flncetw3obal79ea"}}
{"t":{"$date":"2023-09-20T00:18:46.482+08:00"},"s":"I", "c":"CONTROL", "id":23398, "ctx":"initandlisten","msg":"Target operating system minimum version","attr":{"targetMinOS":"Windows 7/Windows Server 2008 R2"}}
{"t":{"$date":"2023-09-20T00:18:46.482+08:00"},"s":"I", "c":"CONTROL", "id":23403, "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"7.0.1","gitVersion":"425a0454d12f2664f9e31002bbe4a386a25345b5","modules":[],"allocator":"tcmalloc","environment":{"distmod":"windows","distarch":"x86_64","target_arch":"x86_64"}}}}
{"t":{"$date":"2023-09-20T00:18:46.483+08:00"},"s":"I", "c":"CONTROL", "id":51765, "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Microsoft Windows Server 2019","version":"10.0 (build 17763)"}}}
{"t":{"$date":"2023-09-20T00:18:46.483+08:00"},"s":"I", "c":"CONTROL", "id":21951, "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"config":"mongo.conf","net":{"bindIp":"127.0.0.1","port":27017},"security":{"authorization":"disabled"},"storage":{"dbPath":"./data"},"systemLog":{"destination":"file","path":"./log/mongo.log","quiet":true}}}}
{"t":{"$date":"2023-09-20T00:18:46.488+08:00"},"s":"I", "c":"STORAGE", "id":22270, "ctx":"initandlisten","msg":"Storage engine to use detected by data files","attr":{"dbpath":"./data","storageEngine":"wiredTiger"}}
{"t":{"$date":"2023-09-20T00:18:46.490+08:00"},"s":"I", "c":"STORAGE", "id":22315, "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=15871M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,remove=true,path=journal,compressor=snappy),builtin_extension_config=(zstd=(compression_level=6)),file_manager=(close_idle_time=600,close_scan_interval=10,close_handle_minimum=2000),statistics_log=(wait=0),json_output=(error,message),verbose=[recovery_progress:1,checkpoint_progress:1,compact_progress:1,backup:0,checkpoint:0,compact:0,evict:0,history_store:0,recovery:0,rts:0,salvage:0,tiered:0,timestamp:0,transaction:0,verify:0,log:0],"}}
{"t":{"$date":"2023-09-20T00:18:47.354+08:00"},"s":"I", "c":"STORAGE", "id":4795906, "ctx":"initandlisten","msg":"WiredTiger opened","attr":{"durationMillis":864}}
{"t":{"$date":"2023-09-20T00:18:47.354+08:00"},"s":"I", "c":"RECOVERY", "id":23987, "ctx":"initandlisten","msg":"WiredTiger recoveryTimestamp","attr":{"recoveryTimestamp":{"$timestamp":{"t":0,"i":0}}}}
{"t":{"$date":"2023-09-20T00:18:47.376+08:00"},"s":"W", "c":"CONTROL", "id":22192, "ctx":"initandlisten","msg":"You are running on a NUMA machine. We suggest disabling NUMA in the machine BIOS by enabling interleaving to avoid performance problems. See your BIOS documentation for more information","tags":["startupWarnings"]}
{"t":{"$date":"2023-09-20T00:18:47.383+08:00"},"s":"I", "c":"NETWORK", "id":4915702, "ctx":"initandlisten","msg":"Updated wire specification","attr":{"oldSpec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":21},"outgoing":{"minWireVersion":6,"maxWireVersion":21},"isInternalClient":true},"newSpec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":21,"maxWireVersion":21},"outgoing":{"minWireVersion":21,"maxWireVersion":21},"isInternalClient":true}}}
{"t":{"$date":"2023-09-20T00:18:47.383+08:00"},"s":"I", "c":"REPL", "id":5853300, "ctx":"initandlisten","msg":"current featureCompatibilityVersion value","attr":{"featureCompatibilityVersion":"7.0","context":"startup"}}
{"t":{"$date":"2023-09-20T00:18:47.384+08:00"},"s":"I", "c":"STORAGE", "id":5071100, "ctx":"initandlisten","msg":"Clearing temp directory"}
{"t":{"$date":"2023-09-20T00:18:47.395+08:00"},"s":"I", "c":"CONTROL", "id":6608200, "ctx":"initandlisten","msg":"Initializing cluster server parameters from disk"}
{"t":{"$date":"2023-09-20T00:18:47.395+08:00"},"s":"I", "c":"CONTROL", "id":20536, "ctx":"initandlisten","msg":"Flow Control is enabled on this deployment"}
{"t":{"$date":"2023-09-20T00:18:48.276+08:00"},"s":"I", "c":"FTDC", "id":20625, "ctx":"initandlisten","msg":"Initializing full-time diagnostic data capture","attr":{"dataDirectory":"./data/diagnostic.data"}}
{"t":{"$date":"2023-09-20T00:18:48.284+08:00"},"s":"I", "c":"REPL", "id":6015317, "ctx":"initandlisten","msg":"Setting new configuration state","attr":{"newState":"ConfigReplicationDisabled","oldState":"ConfigPreStart"}}
{"t":{"$date":"2023-09-20T00:18:48.284+08:00"},"s":"I", "c":"STORAGE", "id":22262, "ctx":"initandlisten","msg":"Timestamp monitor starting"}
{"t":{"$date":"2023-09-20T00:18:48.290+08:00"},"s":"I", "c":"NETWORK", "id":23015, "ctx":"listener","msg":"Listening on","attr":{"address":"127.0.0.1"}}
{"t":{"$date":"2023-09-20T00:18:48.290+08:00"},"s":"I", "c":"NETWORK", "id":23016, "ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}
{"t":{"$date":"2023-09-20T00:18:54.481+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn2","msg":"client metadata","attr":{"remote":"127.0.0.1:54703","client":"conn2","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:18:54.481+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn1","msg":"client metadata","attr":{"remote":"127.0.0.1:54704","client":"conn1","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:18:54.807+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn3","msg":"client metadata","attr":{"remote":"127.0.0.1:54705","client":"conn3","doc":{"application":{"name":"Navicat"},"driver":{"name":"mongoc","version":"1.21.1"},"os":{"type":"Windows","name":"Windows","version":"6.2 (9200)","architecture":"x86_64"},"platform":"cfg=0x02041700e9 CC=MSVC 1900 CFLAGS=\"/DWIN32 /D_WINDOWS /W3\" LDFLAGS=\"/machine:x64\""}}}
{"t":{"$date":"2023-09-20T00:19:36.579+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn4","msg":"client metadata","attr":{"remote":"127.0.0.1:54765","client":"conn4","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:19:36.579+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn4","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":0}}
{"t":{"$date":"2023-09-20T00:19:36.601+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn5","msg":"client metadata","attr":{"remote":"127.0.0.1:54766","client":"conn5","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:19:38.935+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn5","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":2334}}
{"t":{"$date":"2023-09-20T00:28:11.642+08:00"},"s":"W", "c":"NETWORK", "id":4615610, "ctx":"conn1","msg":"Failed to check socket connectivity","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"peekASIOStream :: caused by :: Connection reset by peer"}}}
{"t":{"$date":"2023-09-20T00:28:11.642+08:00"},"s":"I", "c":"-", "id":20883, "ctx":"conn1","msg":"Interrupted operation as its client disconnected","attr":{"opId":7066}}
{"t":{"$date":"2023-09-20T00:28:11.643+08:00"},"s":"I", "c":"EXECUTOR", "id":22989, "ctx":"conn1","msg":"Error sending response to client. Ending connection from remote","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"futurize :: caused by :: Connection reset by peer"},"remote":"127.0.0.1:54704","connectionId":1}}
{"t":{"$date":"2023-09-20T00:29:04.374+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn6","msg":"client metadata","attr":{"remote":"127.0.0.1:55574","client":"conn6","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:29:04.375+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn7","msg":"client metadata","attr":{"remote":"127.0.0.1:55573","client":"conn7","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:29:04.679+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn8","msg":"client metadata","attr":{"remote":"127.0.0.1:55577","client":"conn8","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:29:04.680+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn8","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":0}}
{"t":{"$date":"2023-09-20T00:29:04.984+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn10","msg":"client metadata","attr":{"remote":"127.0.0.1:55581","client":"conn10","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:29:04.984+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn9","msg":"client metadata","attr":{"remote":"127.0.0.1:55580","client":"conn9","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:29:05.036+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn10","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":51}}
{"t":{"$date":"2023-09-20T00:29:05.036+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn9","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":52}}
{"t":{"$date":"2023-09-20T00:30:25.485+08:00"},"s":"W", "c":"NETWORK", "id":4615610, "ctx":"conn7","msg":"Failed to check socket connectivity","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"peekASIOStream :: caused by :: Connection reset by peer"}}}
{"t":{"$date":"2023-09-20T00:30:25.485+08:00"},"s":"I", "c":"-", "id":20883, "ctx":"conn7","msg":"Interrupted operation as its client disconnected","attr":{"opId":8918}}
{"t":{"$date":"2023-09-20T00:30:25.486+08:00"},"s":"I", "c":"EXECUTOR", "id":22989, "ctx":"conn7","msg":"Error sending response to client. Ending connection from remote","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"futurize :: caused by :: Connection reset by peer"},"remote":"127.0.0.1:55573","connectionId":7}}
{"t":{"$date":"2023-09-20T00:30:42.626+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn11","msg":"client metadata","attr":{"remote":"127.0.0.1:55718","client":"conn11","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:30:42.626+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn12","msg":"client metadata","attr":{"remote":"127.0.0.1:55719","client":"conn12","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:30:42.930+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn13","msg":"client metadata","attr":{"remote":"127.0.0.1:55721","client":"conn13","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:30:42.930+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn13","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":0}}
{"t":{"$date":"2023-09-20T00:30:43.300+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn14","msg":"client metadata","attr":{"remote":"127.0.0.1:55725","client":"conn14","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:30:43.328+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn14","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":27}}
{"t":{"$date":"2023-09-20T00:30:43.349+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn15","msg":"client metadata","attr":{"remote":"127.0.0.1:55726","client":"conn15","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:30:43.437+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn15","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":88}}
{"t":{"$date":"2023-09-20T00:32:52.636+08:00"},"s":"W", "c":"NETWORK", "id":4615610, "ctx":"conn12","msg":"Failed to check socket connectivity","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"peekASIOStream :: caused by :: Connection reset by peer"}}}
{"t":{"$date":"2023-09-20T00:32:52.636+08:00"},"s":"I", "c":"-", "id":20883, "ctx":"conn12","msg":"Interrupted operation as its client disconnected","attr":{"opId":10755}}
{"t":{"$date":"2023-09-20T00:32:52.636+08:00"},"s":"I", "c":"EXECUTOR", "id":22989, "ctx":"conn12","msg":"Error sending response to client. Ending connection from remote","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"futurize :: caused by :: Connection reset by peer"},"remote":"127.0.0.1:55719","connectionId":12}}
{"t":{"$date":"2023-09-20T00:33:17.965+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn16","msg":"client metadata","attr":{"remote":"127.0.0.1:55935","client":"conn16","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:33:17.965+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn17","msg":"client metadata","attr":{"remote":"127.0.0.1:55936","client":"conn17","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:33:18.268+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn18","msg":"client metadata","attr":{"remote":"127.0.0.1:55938","client":"conn18","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:33:18.269+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn18","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":0}}
{"t":{"$date":"2023-09-20T00:33:18.703+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn19","msg":"client metadata","attr":{"remote":"127.0.0.1:55941","client":"conn19","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:33:18.754+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn19","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":51}}
{"t":{"$date":"2023-09-20T00:37:13.096+08:00"},"s":"W", "c":"NETWORK", "id":4615610, "ctx":"conn17","msg":"Failed to check socket connectivity","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"peekASIOStream :: caused by :: Connection reset by peer"}}}
{"t":{"$date":"2023-09-20T00:37:13.096+08:00"},"s":"I", "c":"-", "id":20883, "ctx":"conn17","msg":"Interrupted operation as its client disconnected","attr":{"opId":14191}}
{"t":{"$date":"2023-09-20T00:37:13.096+08:00"},"s":"I", "c":"EXECUTOR", "id":22989, "ctx":"conn17","msg":"Error sending response to client. Ending connection from remote","attr":{"error":{"code":6,"codeName":"HostUnreachable","errmsg":"futurize :: caused by :: Connection reset by peer"},"remote":"127.0.0.1:55936","connectionId":17}}
{"t":{"$date":"2023-09-20T00:37:18.555+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn20","msg":"client metadata","attr":{"remote":"127.0.0.1:56289","client":"conn20","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:37:18.555+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn21","msg":"client metadata","attr":{"remote":"127.0.0.1:56290","client":"conn21","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:37:18.861+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn22","msg":"client metadata","attr":{"remote":"127.0.0.1:56293","client":"conn22","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:37:18.861+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn22","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":0}}
{"t":{"$date":"2023-09-20T00:37:19.220+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn23","msg":"client metadata","attr":{"remote":"127.0.0.1:56297","client":"conn23","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:37:19.236+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn23","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":16}}
{"t":{"$date":"2023-09-20T00:37:19.277+08:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn24","msg":"client metadata","attr":{"remote":"127.0.0.1:56298","client":"conn24","doc":{"driver":{"name":"mongo-go-driver","version":"v1.11.4"},"os":{"type":"windows","architecture":"amd64"},"platform":"go1.19.2"}}}
{"t":{"$date":"2023-09-20T00:37:19.407+08:00"},"s":"I", "c":"NETWORK", "id":6788700, "ctx":"conn24","msg":"Received first command on ingress connection since session start or auth handshake","attr":{"elapsedMillis":129}}
{"t":{"$date":"2023-09-20T00:53:53.205+08:00"},"s":"F", "c":"CONTROL", "id":6384300, "ctx":"ftdc","msg":"Writing fatal message","attr":{"message":"terminate() called. An exception is active; attempting to gather more information\n"}}
{"t":{"$date":"2023-09-20T00:53:53.205+08:00"},"s":"F", "c":"CONTROL", "id":6384300, "ctx":"ftdc","msg":"Writing fatal message","attr":{"message":"DBException::toString(): FileRenameFailed: \ufffdܾ\ufffd\ufffd\ufffd\ufffdʡ\ufffd\nActual exception type: class mongo::error_details::ExceptionForImpl\n\n"}}
{"t":{"$date":"2023-09-20T00:53:53.205+08:00"},"s":"F", "c":"CONTROL", "id":6384300, "ctx":"ftdc","msg":"Writing fatal message","attr":{"message":"\n"}}
{"t":{"$date":"2023-09-20T00:53:53.340+08:00"},"s":"I", "c":"COMMAND", "id":51803, "ctx":"LogicalSessionCacheRefresh","msg":"Slow query","attr":{"type":"command","ns":"config.$cmd","command":{"update":"system.sessions","ordered":false,"writeConcern":{"w":"majority","wtimeout":15000},"$db":"config"},"numYields":0,"reslen":60,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":1}},"FeatureCompatibilityVersion":{"acquireCount":{"w":1}},"ReplicationStateTransition":{"acquireCount":{"w":1}},"Global":{"acquireCount":{"w":1}},"Database":{"acquireCount":{"w":1}},"Collection":{"acquireCount":{"w":1}}},"flowControl":{"acquireCount":1},"writeConcern":{"w":"majority","wtimeout":15000,"provenance":"clientSupplied"},"waitForWriteConcernDurationMillis":4997,"storage":{},"protocol":"op_msg","durationMillis":4998}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31380, "ctx":"ftdc","msg":"BACKTRACE","attr":{"bt":{"backtrace":[{"a":"7FF6AD11A081","module":"mongod.exe","file":".../src/mongo/util/stacktrace_windows.cpp","line":336,"s":"mongo::printStackTrace","s+":"41"},{"a":"7FF6AD11D848","module":"mongod.exe","file":".../src/mongo/util/signal_handlers_synchronous.cpp","line":261,"s":"mongo::`anonymous namespace'::myTerminate","s+":"E8"},{"a":"7FF6AD1CF9E7","module":"mongod.exe","file":".../src/mongo/stdx/set_terminate_internals.cpp","line":87,"s":"mongo::stdx::dispatch_impl","s+":"17"},{"a":"7FF6AD1CF9C9","module":"mongod.exe","file":".../src/mongo/stdx/set_terminate_internals.cpp","line":91,"s":"mongo::stdx::TerminateHandlerDetailsInterface::dispatch","s+":"9"},{"a":"7FFBB96CDE58","module":"ucrtbase.dll","s":"terminate","s+":"18"},{"a":"7FFBB1891AAB","module":"VCRUNTIME140_1.dll","s":"_NLG_Return2","s+":"95B"},{"a":"7FFBB1892317","module":"VCRUNTIME140_1.dll","s":"_NLG_Return2","s+":"11C7"},{"a":"7FFBB1894119","module":"VCRUNTIME140_1.dll","s":"_CxxFrameHandler4","s+":"A9"},{"a":"7FF6AD40CC5C","module":"mongod.exe","file":"d:/a01/_work/43/s/src/vctools/crt/vcstartup/src/gs/amd64/gshandlereh4.cpp","line":86,"s":"__GSHandlerCheck_EH4","s+":"64"},{"a":"7FFBBC93582F","module":"ntdll.dll","s":"_chkstk","s+":"11F"},{"a":"7FFBBC894CEF","module":"ntdll.dll","s":"RtlWalkFrameChain","s+":"14BF"},{"a":"7FFBBC898AE6","module":"ntdll.dll","s":"RtlRaiseException","s+":"316"},{"a":"7FFBB8954859","module":"KERNELBASE.dll","s":"RaiseException","s+":"69"},{"a":"7FFBA96166C0","module":"VCRUNTIME140.dll","s":"CxxThrowException","s+":"90"},{"a":"7FF6AD19587D","module":"mongod.exe","file":"C:/data/mci/6c3eb76a3d93e77b7c1801902f120032/src/build/opt/mongo/base/error_codes.cpp","line":2604,"s":"mongo::error_details::throwExceptionForStatus","s+":"42D"},{"a":"7FF6AD12737E","module":"mongod.exe","file":".../src/mongo/util/assert_util.cpp","line":282,"s":"mongo::uassertedWithLocation","s+":"19E"},{"a":"7FF6AB289A00","module":"mongod.exe","file":".../src/mongo/db/ftdc/controller.cpp","line":256,"s":"mongo::FTDCController::doLoop","s+":"5B0"},{"a":"7FF6AB2892EC","module":"mongod.exe","file":"C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.31.31103/include/thread","line":56,"s":"std::thread::_Invoke,0>'::`1':: >,0>","s+":"2C"},{"a":"7FFBB968268A","module":"ucrtbase.dll","s":"o_exp","s+":"5A"},{"a":"7FFBBC6E7974","module":"KERNEL32.DLL","s":"BaseThreadInitThunk","s+":"14"}]}},"tags":[]}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD11A081","module":"mongod.exe","file":".../src/mongo/util/stacktrace_windows.cpp","line":336,"s":"mongo::printStackTrace","s+":"41"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD11D848","module":"mongod.exe","file":".../src/mongo/util/signal_handlers_synchronous.cpp","line":261,"s":"mongo::`anonymous namespace'::myTerminate","s+":"E8"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD1CF9E7","module":"mongod.exe","file":".../src/mongo/stdx/set_terminate_internals.cpp","line":87,"s":"mongo::stdx::dispatch_impl","s+":"17"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD1CF9C9","module":"mongod.exe","file":".../src/mongo/stdx/set_terminate_internals.cpp","line":91,"s":"mongo::stdx::TerminateHandlerDetailsInterface::dispatch","s+":"9"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB96CDE58","module":"ucrtbase.dll","s":"terminate","s+":"18"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB1891AAB","module":"VCRUNTIME140_1.dll","s":"_NLG_Return2","s+":"95B"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB1892317","module":"VCRUNTIME140_1.dll","s":"_NLG_Return2","s+":"11C7"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB1894119","module":"VCRUNTIME140_1.dll","s":"_CxxFrameHandler4","s+":"A9"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD40CC5C","module":"mongod.exe","file":"d:/a01/_work/43/s/src/vctools/crt/vcstartup/src/gs/amd64/gshandlereh4.cpp","line":86,"s":"__GSHandlerCheck_EH4","s+":"64"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBBC93582F","module":"ntdll.dll","s":"_chkstk","s+":"11F"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBBC894CEF","module":"ntdll.dll","s":"RtlWalkFrameChain","s+":"14BF"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBBC898AE6","module":"ntdll.dll","s":"RtlRaiseException","s+":"316"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB8954859","module":"KERNELBASE.dll","s":"RaiseException","s+":"69"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBA96166C0","module":"VCRUNTIME140.dll","s":"CxxThrowException","s+":"90"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD19587D","module":"mongod.exe","file":"C:/data/mci/6c3eb76a3d93e77b7c1801902f120032/src/build/opt/mongo/base/error_codes.cpp","line":2604,"s":"mongo::error_details::throwExceptionForStatus","s+":"42D"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD12737E","module":"mongod.exe","file":".../src/mongo/util/assert_util.cpp","line":282,"s":"mongo::uassertedWithLocation","s+":"19E"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AB289A00","module":"mongod.exe","file":".../src/mongo/db/ftdc/controller.cpp","line":256,"s":"mongo::FTDCController::doLoop","s+":"5B0"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AB2892EC","module":"mongod.exe","file":"C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.31.31103/include/thread","line":56,"s":"std::thread::_Invoke,0>'::`1':: >,0>","s+":"2C"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB968268A","module":"ucrtbase.dll","s":"o_exp","s+":"5A"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBBC6E7974","module":"KERNEL32.DLL","s":"BaseThreadInitThunk","s+":"14"}}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"F", "c":"CONTROL", "id":23134, "ctx":"ftdc","msg":"Unhandled exception","attr":{"exceptionString":"0xE0000001","addressString":"0x00007FFBB8954859"}}
{"t":{"$date":"2023-09-20T00:53:54.182+08:00"},"s":"F", "c":"CONTROL", "id":23136, "ctx":"ftdc","msg":"*** stack trace for unhandled exception:"}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31380, "ctx":"ftdc","msg":"BACKTRACE","attr":{"bt":{"backtrace":[{"a":"7FFBB8954859","module":"KERNELBASE.dll","s":"RaiseException","s+":"69"},{"a":"7FF6AD11CEC9","module":"mongod.exe","file":".../src/mongo/util/signal_handlers_synchronous.cpp","line":103,"s":"mongo::`anonymous namespace'::endProcessWithSignal","s+":"19"},{"a":"7FF6AD11D857","module":"mongod.exe","file":".../src/mongo/util/signal_handlers_synchronous.cpp","line":262,"s":"mongo::`anonymous namespace'::myTerminate","s+":"F7"},{"a":"7FF6AD1CF9E7","module":"mongod.exe","file":".../src/mongo/stdx/set_terminate_internals.cpp","line":87,"s":"mongo::stdx::dispatch_impl","s+":"17"},{"a":"7FF6AD1CF9C9","module":"mongod.exe","file":".../src/mongo/stdx/set_terminate_internals.cpp","line":91,"s":"mongo::stdx::TerminateHandlerDetailsInterface::dispatch","s+":"9"},{"a":"7FFBB96CDE58","module":"ucrtbase.dll","s":"terminate","s+":"18"},{"a":"7FFBB1891AAB","module":"VCRUNTIME140_1.dll","s":"_NLG_Return2","s+":"95B"},{"a":"7FFBB1892317","module":"VCRUNTIME140_1.dll","s":"_NLG_Return2","s+":"11C7"},{"a":"7FFBB1894119","module":"VCRUNTIME140_1.dll","s":"_CxxFrameHandler4","s+":"A9"},{"a":"7FF6AD40CC5C","module":"mongod.exe","file":"d:/a01/_work/43/s/src/vctools/crt/vcstartup/src/gs/amd64/gshandlereh4.cpp","line":86,"s":"__GSHandlerCheck_EH4","s+":"64"},{"a":"7FFBBC93582F","module":"ntdll.dll","s":"_chkstk","s+":"11F"},{"a":"7FFBBC894CEF","module":"ntdll.dll","s":"RtlWalkFrameChain","s+":"14BF"},{"a":"7FFBBC898AE6","module":"ntdll.dll","s":"RtlRaiseException","s+":"316"},{"a":"7FFBB8954859","module":"KERNELBASE.dll","s":"RaiseException","s+":"69"},{"a":"7FFBA96166C0","module":"VCRUNTIME140.dll","s":"CxxThrowException","s+":"90"},{"a":"7FF6AD19587D","module":"mongod.exe","file":"C:/data/mci/6c3eb76a3d93e77b7c1801902f120032/src/build/opt/mongo/base/error_codes.cpp","line":2604,"s":"mongo::error_details::throwExceptionForStatus","s+":"42D"},{"a":"7FF6AD12737E","module":"mongod.exe","file":".../src/mongo/util/assert_util.cpp","line":282,"s":"mongo::uassertedWithLocation","s+":"19E"},{"a":"7FF6AB289A00","module":"mongod.exe","file":".../src/mongo/db/ftdc/controller.cpp","line":256,"s":"mongo::FTDCController::doLoop","s+":"5B0"},{"a":"7FF6AB2892EC","module":"mongod.exe","file":"C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.31.31103/include/thread","line":56,"s":"std::thread::_Invoke,0>'::`1':: >,0>","s+":"2C"},{"a":"7FFBB968268A","module":"ucrtbase.dll","s":"o_exp","s+":"5A"},{"a":"7FFBBC6E7974","module":"KERNEL32.DLL","s":"BaseThreadInitThunk","s+":"14"}]}},"tags":[]}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB8954859","module":"KERNELBASE.dll","s":"RaiseException","s+":"69"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD11CEC9","module":"mongod.exe","file":".../src/mongo/util/signal_handlers_synchronous.cpp","line":103,"s":"mongo::`anonymous namespace'::endProcessWithSignal","s+":"19"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD11D857","module":"mongod.exe","file":".../src/mongo/util/signal_handlers_synchronous.cpp","line":262,"s":"mongo::`anonymous namespace'::myTerminate","s+":"F7"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD1CF9E7","module":"mongod.exe","file":".../src/mongo/stdx/set_terminate_internals.cpp","line":87,"s":"mongo::stdx::dispatch_impl","s+":"17"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD1CF9C9","module":"mongod.exe","file":".../src/mongo/stdx/set_terminate_internals.cpp","line":91,"s":"mongo::stdx::TerminateHandlerDetailsInterface::dispatch","s+":"9"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB96CDE58","module":"ucrtbase.dll","s":"terminate","s+":"18"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB1891AAB","module":"VCRUNTIME140_1.dll","s":"_NLG_Return2","s+":"95B"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB1892317","module":"VCRUNTIME140_1.dll","s":"_NLG_Return2","s+":"11C7"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB1894119","module":"VCRUNTIME140_1.dll","s":"_CxxFrameHandler4","s+":"A9"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD40CC5C","module":"mongod.exe","file":"d:/a01/_work/43/s/src/vctools/crt/vcstartup/src/gs/amd64/gshandlereh4.cpp","line":86,"s":"__GSHandlerCheck_EH4","s+":"64"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBBC93582F","module":"ntdll.dll","s":"_chkstk","s+":"11F"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBBC894CEF","module":"ntdll.dll","s":"RtlWalkFrameChain","s+":"14BF"}}}
{"t":{"$date":"2023-09-20T00:53:54.185+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBBC898AE6","module":"ntdll.dll","s":"RtlRaiseException","s+":"316"}}}
{"t":{"$date":"2023-09-20T00:53:54.186+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB8954859","module":"KERNELBASE.dll","s":"RaiseException","s+":"69"}}}
{"t":{"$date":"2023-09-20T00:53:54.186+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBA96166C0","module":"VCRUNTIME140.dll","s":"CxxThrowException","s+":"90"}}}
{"t":{"$date":"2023-09-20T00:53:54.186+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD19587D","module":"mongod.exe","file":"C:/data/mci/6c3eb76a3d93e77b7c1801902f120032/src/build/opt/mongo/base/error_codes.cpp","line":2604,"s":"mongo::error_details::throwExceptionForStatus","s+":"42D"}}}
{"t":{"$date":"2023-09-20T00:53:54.186+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AD12737E","module":"mongod.exe","file":".../src/mongo/util/assert_util.cpp","line":282,"s":"mongo::uassertedWithLocation","s+":"19E"}}}
{"t":{"$date":"2023-09-20T00:53:54.186+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AB289A00","module":"mongod.exe","file":".../src/mongo/db/ftdc/controller.cpp","line":256,"s":"mongo::FTDCController::doLoop","s+":"5B0"}}}
{"t":{"$date":"2023-09-20T00:53:54.186+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FF6AB2892EC","module":"mongod.exe","file":"C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.31.31103/include/thread","line":56,"s":"std::thread::_Invoke,0>'::`1':: >,0>","s+":"2C"}}}
{"t":{"$date":"2023-09-20T00:53:54.186+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBB968268A","module":"ucrtbase.dll","s":"o_exp","s+":"5A"}}}
{"t":{"$date":"2023-09-20T00:53:54.186+08:00"},"s":"I", "c":"CONTROL", "id":31445, "ctx":"ftdc","msg":"Frame","attr":{"frame":{"a":"7FFBBC6E7974","module":"KERNEL32.DLL","s":"BaseThreadInitThunk","s+":"14"}}}
{"t":{"$date":"2023-09-20T00:53:54.187+08:00"},"s":"I", "c":"CONTROL", "id":23132, "ctx":"ftdc","msg":"Writing minidump diagnostic file","attr":{"dumpName":"C:\\Users\\Administrator\\Desktop\\DDMSystem\\mongodb7.0.1\\bin\\mongod.2023-09-19T16-53-54.mdmp"}}
{"t":{"$date":"2023-09-20T00:53:54.408+08:00"},"s":"F", "c":"CONTROL", "id":23137, "ctx":"ftdc","msg":"*** immediate exit due to unhandled exception"}
抠香糖
不是说map不会改变原数组的吗?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241222/e1c2bb15016afc56883a44d4ed530c35.png)
再次打印出newjson的时候,里面已经被污染了
抠香糖
uniApp 中直传视频至minio。uni.uploadFile的url该怎么设置呢?
是支付宝小程序吗?
抠香糖
linux上root用户下安装的expect为何切换到普通用户无法使用?
linux上root用户下安装的expect为何切换到普通用户无法使用?
还需要单独到oracle用户下重新安装一次expect吗
抠香糖
vue3 的 defineProp和 defineEmit 为何只能定义一次?
关键看你想怎么分离逻辑,分享和合并永远是需要找到一个平衡点的,比如你问题中的定义,可以这样:
const props = defineProps();
从 TypeScript 的角度来分析,这个语法可以非常清楚的描述,"props" 是这样一个对象,它符合接口 "{ count: number; label?: string }" 描述,其中 "number" 是必填,而 "label" 是可选。如果想为属性赋予默认值,可以使用
"withDefaults()"。
如果你想把属性拆开来使用,可以
const { label, count } = toRefs(props);
扯远了。作为一个组件,属性是它不可分割的一部分,在定义组件的时候它的属性就是应该规划好的,所以一次性定义出来没什么问题(事件也是如此),甚至从语义上来说会更容易阅读和理解。而真正的分离,应该是在组件变得越来越大的时候,把一个大组件拆分成多个小组件来组合,而不是从代码上直接拆分定义内容。
«注:当然,拆分代码的事情,C# 干过(partial
类/方法),而且很好用。但是那不是为了分离逻辑,多数情况下是为了分离自动/生成代码和手工代码,拆分的不是逻辑而是工作量»
参考:" | Vue.js (vuejs.org)" (https://link.segmentfault.com/?enc=i0nSTiIIeLgps7MWcrXG8w%3D%3D.0l%2BS0kMLXZmfaRUSnnhROLYgQyN6gB4%2FelB9e9tT2S5Ta34Gl1iKVuWgyDvqmUHwUk3DYAjzhkqPNWOmX%2FJ7QSsGvyfWhZns7VONz2T9KFM%3D)
抠香糖
需求:渲染一个表格,根据下拉菜单里面的条件做筛选。每个条件背后的数据模型各有差异,如何实现根据条件动态的渲染表头和内容呢?
methods: {
search(formInline) {
// 筛选数据
this.filteredData = this.allData.filter(data => data.process_no === formInline.value);
// 动态生成列
if (this.filteredData.length > 0) {
this.dynamicCols = Object.keys(this.filteredData[0]).map(item => {
return { prop: item, label: item };
});
}
},
}
抠香糖
请问两个系统数据库之间想要做同步系统,如何有更新ID或是token可以判断?
这个自定义程度太高了,要不使用触发器函数来是实现,要不使用代码来实现,会比较好调整与扩展
抠香糖
分部积分法怎么用???
$$ \begin{align} & \int_0^{\pi}(1-x^2)\cos nxdx \\ =& \int_0^{\pi}(1-x^2)\frac{1}{n}d \sin nx \\ =& \frac{1}{n} \left[ \left . (1-x^2)\sin nx \right |_0^{\pi} -\int_0^{\pi}\sin nx d(1-x^2) \right] \\ =& -\frac{1}{n} \int_0^{\pi}\sin nx d(1-x^2) \\ =& -\frac{1}{n} \int_0^{\pi} -2x\sin nx dx \\ =& \frac{2}{n} \int_0^{\pi}x\sin nx dx \\ =& \frac{2}{n} \int_0^{\pi}x(-\frac{1}{n})d\cos nx \\ =& -\frac{2}{n^2} \int_0^{\pi}xd\cos nx \\ =& -\frac{2}{n^2} \left [ \left . x\cos nx \right | _0^{\pi} -\int_0^{\pi}\cos nxdx \right ] \\ =& -\frac{2}{n^2} \left [ \pi\cos n\pi -\int_0^{\pi}\cos nxdx \right ] \\ =& -\frac{2}{n^2} \left [ \pi\cos n\pi -\left . \frac{1}{n}\sin nx \right |_0^{\pi} \right ] \\ =& -\frac{2\pi\cos n\pi}{n^2} \\ =& \frac{2\pi(-1)^{(n+1)}}{n^2} \end{align} $$
用了两次分部积分法
抠香糖
java 这个问题 ???
" Object[ ] arr = (Object[ ]) object ;"
还可以这样写 ? 怎么可以把一个东西 变成数组 ? 一变多 ?
抠香糖
idea中如何导出这种清晰的调用层次关系??
想要的结果:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241201/25c493e343765e4958bba5dfb1ca75df.png)
目前idea支持对调用层次的导出:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241201/abf4b5a6855a8ef08560dbef16245047.png)
问题:如何导出第一张图中的那种效果?
抠香糖
如何实现表单循环渲染?
v-model="editform[item.prop]"
抠香糖
博能地图GIS,只需要放大与缩小,如何禁用地图拖拽??
你可以尝试禁止拖拽事件
/获取需要禁止拖拽的元素
var element = document.getElementById("id");
//用JavaScript禁止拖拽
element.ondragstart = function() { return false; };
抠香糖
java怎么用递归返回树结构的结果?
一、想要实现的效果
- 以搜索“秦朗为例”,最后返回的是 三国-曹操-秦朗 的一条链路(一棵树)。
https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241121/e3b4264f055909de501cb0626205d6a9.png
二、我的代码
public class People {
private List children;
private String name;
// 省略getter、setter方法
}
public static void main(String[] args) {
People sunce = new People();
sunce.setName("孙策");
People sunquan = new People();
sunquan.setName("孙权");
People sunjian = new People();
sunjian.setName("孙坚");
sunjian.setChildren(Arrays.asList(sunce, sunquan));
People caopi = new People();
caopi.setName("曹丕");
People caozhi = new People();
caozhi.setName("曹植");
People caozhang = new People();
caozhang.setName("曹彰");
People qinlang = new People();
qinlang.setName("秦朗");
People caocao = new People();
caocao.setName("曹操");
caocao.setChildren(Arrays.asList(caopi, caozhi, caozhang, qinlang));
People liufeng = new People();
liufeng.setName("刘封");
People liushan = new People();
liushan.setName("刘禅");
People liubei = new People();
liubei.setName("刘备");
liubei.setChildren(Arrays.asList(liufeng, liushan));
People liuxun = new People();
liuxun.setName("刘循");
People liuzhang = new People();
liuzhang.setName("刘璋");
liuzhang.setChildren(Arrays.asList(liuxun));
People liuyan = new People();
liuyan.setName("刘焉");
liuyan.setChildren(Arrays.asList(liuzhang));
People sanguo = new People();
sanguo.setName("三国");
sanguo.setChildren(Arrays.asList(sunjian, caocao, liubei, liuyan));
List p1 = query(sanguo, "刘");
System.out.println(p1);
List p2 = query(sanguo, "秦");
System.out.println(p2);
List p3 = query(sanguo, "孙策");
System.out.println(p3);
}
public static List query(People people, String name) {
List result = new ArrayList();
// 这里要判空,但简写就省略了
if(people.getName().contains(name)) {
return Arrays.asList(people);
} else {
if(people.getChildren() != null) {
for (People p : people.getChildren()) {
result.addAll(query(p, name));
}
}
}
return result;
}
三、代码执行结果
https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241121/cfa6d5f0b695b29155815c7dbbd15a51.png
四、解释
我递归用的少,用起来有点不达意。上面自己写的递归方法虽然能实现递归效果,但问题很大。
4.1、我的方法返回的只是命中项,而不是一个树的结构(除非第一层就命中了)。
4.2、返回的树里没有剔除未命中项。
上述两点(4.1和4.2)能否同时做到?如果不能,请指教怎么实现4.1,感谢。
抠香糖
vue3 + antd@3x + vite + ts 项目,执行build时提示ant报错,这个是什么问题啊?
看起来像是你使用 ts 时写了一些泛型,但这些泛型你没有传入类型参数,所以 ts 编译错误。
你使用像是"ant-vue"而不是"antd",使用 vue 时"element-plus"比"antd-vue"更好,如果喜欢"antd",建议换"react"。
你可以写一个简单的示例项目,附上项目地址,看到具体代码才能排除错误。
抠香糖
不懂就问 为什么我写的返向代理没起作用?
这是反向代理的服务器代码
const http = require('http');
const httpProxy = require('http-proxy');
// 目标服务器的地址和端口
const targetHost = '123.207.32.32';
const targetPort = '8000';
// 创建一个反向代理实例
const proxy = httpProxy.createProxyServer({
target: `http://${targetHost}:${targetPort}`,
secure:false
});
// 创建一个HTTP服务器
const server = http.createServer((req, res) => {
console.log('到这里了')
proxy.web(req, res);
});
// 监听服务器的端口
const port = 9000;
server.listen(port, () => {
console.log(`反向代理服务器正在监听端口${port}`);
});
这这是请求的代码
AJAX请求示例
发送请求
function makeRequest() {
$.ajax({
url: '/home/multidata', // 替换为您的接口路径
type: 'GET',
success: function(data) {
$('#result').text(data);
},
error: function() {
$('#result').text('请求失败');
}
});
}
抠香糖
vue 试图更新失败,如何解决?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241115/5dcf0b347ad59ede9ee27af6f6d34865.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241115/d0f9c96063ebb8c4458b4d6fbdb0184a.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241115/c7ab3af0e6e5de7ce586e4c45bcc73c7.png)
希望data可以随着man的值变化而变化
抠香糖
有没有大佬懂antlr,这段简单的antlr为什么会报错?
原因
你的 "INT" 没有定义。
解决方法
grammar Expr;
fragment Digits
: [0-9] ([0-9_]* [0-9])?
;
INT: ('0' | [1-9] (Digits? | '_'+ Digits));
prog: expr EOF;
expr: expr('*'|'/') expr #MultiOrDiv
| expr('+'|'-') expr #AddOrSub
| INT #Lieteral
| '(' expr ')' #Single
;
NEWLINE : [\r\n]+ -> skip;
结果
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241113/a675392f0b530907eeac276172e23792.png)
抠香糖
怎么实现这种 Echarts 3D 饼图?
可以在社区里面找 然后改改:
«"https://www.makeapie.cn/echarts?queryStr=3D%20%E9%A5%BC%E5%9B%BE" (https://link.segmentfault.com/?enc=fZyqpV0Py6r2uBc69LtcFg%3D%3D.Y2PeHY6ZvkOLazpsEE1GxQYSgUBKUVFjO35dUjZ66Tl4aQAwsMiU%2B1K%2BTvKMIqFsbvmPbmT6o1zwabw%2BuROGa3frQrYHJ27jRc6dse5804E%3D)
»
教程:
«"https://www.cnblogs.com/KaypoGeng/p/14338434.html" (https://link.segmentfault.com/?enc=FdFsAG6q2abIH%2F3DZHlu%2FA%3D%3D.oc5XAtJ%2FjfxzTIsOFEWpshcoP7pduJR5gkHJ8YLDwUBlMl7AH8FG1flQ4Tp2xYOyh8YazV%2Flb%2FF%2ByC0xcz5v8Q%3D%3D)»
抠香糖
为什么Element-Plus 2.x会导致VSCode路径提示变慢?
可能是node_modules过大了,你可以尝试一下使用vscode 忽略扫描,如下图所示
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241111/c31c8bd3f3f629f9172864dce5d186ce.png)
抠香糖
动态表单动态渲染问题?
在Vue2环境中,有一个动态表单,数据源如下:
list: [
{ name: '姓名', props: 'name', show: [] },
{ name: '年龄', props: 'age', show: [] },
{ name: '身高', props: 'height', show: [] },
{
name: '是否合格',
props: 'isPass',
show: [
{ key: 'age', symbol: '=', value: 180 },
],
value: ''
}
],
formData: { name: '', age: '', height: '', isPass: '' },
要实现的功能是:每个表单项根据其对象里的show来判断是否显示,如果show为空数组,代表无条件限制。
比如是否合格这一项,只有在 年龄 =180 时才显示。
测试渲染代码如下:
{{ item.name }}
请问下一步该如何进行?
抠香糖
PC端的页面的时候,一般设计图都是设计多大的?
请问大家在做管理后台PC端的页面的时候,一般设计图都是设计多大的?
我让他设计的是1920*1080,但是出现一个问题,根据尺寸设计出来之后,整体效果和设计图不对,因为浏览器这边有导航栏,再加上后台框架占用一些,导致最后展示的内容就很少,这种应该怎么去调配呢?
抠香糖
amh面板安装open-RASP的方法?
请问,amh面板如何安装open-RASP ?
参考open-rasp官方文档
抠香糖
CSV文件转Html用Java怎么实现?
CSV文件转Html用Java怎么实现?
转成html文件后可以直接用浏览器打开
抠香糖
Java 如何否生成 Excel 气泡图?
Java 如何否生成 Excel 气泡图?
rt
抠香糖
为什么vite+typescript+vue3 编译的代码浏览器不支持?
export class UserService {
private static _instance: UserService = new UserService()
static getInstance() {
return UserService._instance
}
}
使用vite打包后转成了
class _ {
static _instance = new _;
}
但是转化的 语法在老浏览器不支持(es6 不支持 static 声明类变量),请求有知道如何解决的吗?
我尝试了使用babel,但是不知道如何配置
抠香糖
scrapy 爬虫,始终获取不到数据,如何解决呢?
真是气人!
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241027/4f69fc2743b2f192428c2cb53d91531b.png)
你这边代码有问题,然后就去exception那块了,那边没有yield item就导致中断了。其实你没必要做那个判断。
修改后就可以了
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241027/81e0af8d4d949e0ae738a95096ab5b46.png)
***
scrapy跑代码有些麻烦,用下面的吧。
import requests as r
from lxml.etree import HTML
def main():
resp = r.get('https://tianjin.cncn.com/jingdian/')
content = resp.content.decode('gb2312')
#
html = HTML(content)
nodes = html.xpath('//div[@class="city_spots_list"]/ul/li')
for n in nodes:
title = n.xpath('./a/div[@class="title"]//b//text()')
print(title)
x = 3
pass
if __name__ == '__main__':
main()
***
['天津之眼摩天轮']
['五大道']
['天津古文化街']
['海河意式风情区']
['瓷房子']
['天津欢乐谷']
['动物园']
['天津自然博物馆']
['西开教堂']
['海昌极地海洋世界']
['霍元甲故居']
['天津航母主题公园']
['大沽口炮台']
['静园']
['世纪钟']
['塘沽滨海世纪广场']
['南开大学']
['水上公园']
['天津大学']
抠香糖
Docker中容器网络不通,宿主机跟容器,容器跟docker0,容器跟容器网络都不通?
Docker中容器网络不通,宿主机跟容器,容器跟docker0,容器跟容器网络都不通?
使用
" tcpdump -i docker0" 抓包时容器的网络就通了,但是关闭" tcpdump -i docker0"容器的网络又不通了。
抠香糖
用vue2+chatGPT如何实现流式输出?
我是使用EventSource去实现的,可显示的话和访问普通接口一样是全部一次性显示出来,以下是我的代码
let sse = new EventSource(`http://localhost:8080/api/openai/completions/stream?user=${this.user}&prompt=${this.message}`)
let this_ = this
this_.items.push({user: 'user', messageType: 'TEXT', message: this_.message})
this_.message = ''
sse.addEventListener('open', (function () {
this_.generating = true
this_.items.push({user: 'bot', messageType: 'TEXT', message: ''})
}))
sse.addEventListener('message', function (res) {
let resJson = JSON.parse(res.data)
if (resJson.code !== 0) {
this_.generating = false
alert("处理失败:" + resJson.msg)
sse.close()
return
}
resJson = resJson.data
if (resJson.messageType === 'TEXT') {
if (resJson.end === true) {
sse.close()
this_.generating = false
} else {
let index = this_.items.length - 1
let obj = {
user: 'bot',
messageType: 'TEXT',
message: this_.items[index].message + resJson.message,
html: ''
};
this_.$set(this_.items, index, obj)
}
//图片
} else {
}
}
)
sse.addEventListener('error', function () {
alert('服务器错误,请查看日志')
})
请问要如何才可以实现和chatGPT一样效果的流式输出
tips:我自己用网页访问接口数据是一条一条输出的,可是在控制台看的话也是一瞬全部出来,虽然是分很多条
抠香糖
如何解读Linux的lsblk命令输出?
是一个没有挂载。
sdb 是一个磁盘,他有一个分区 sdb1 ,这个分区没有挂载。
抠香糖
vue3怎么写类似vue2中混入的代码?
watch(() => store.isTranslate, (val) => {
console.log(val)
// queryData()
})
背景:
当isTranslate的值改变之后,调用页面的queryData方法,但是这段代码我要在多个vue页面中用,vue2写一个mixin.js直接mixin注入到当前页面就可以,vue3有啥办法
抠香糖
如何理解netstat的本地地址和外部地址?
本机与另外一台机器有一个连接,本机的地址就是本地地址。另外一台机器的地址是外部地址。
一个连接的两端各有一个端口。端口可以是程序指定的(比如用 bind
启动服务),也可能是自动分配的(比如你连接到某一个服务的时候,自己的端口通常就是自动分配的)。
自动分配的时候端口范围通常一个固定的区间(根据操作系统而不同),所以不同的机器分配到同一个端口号是很正常的。
你说的那个正好反过来,可能只是碰巧另一台机器连了本机的 redis ,也去了它的 redis 。分配的端口号又碰巧是一样的。
本机地址的端口跟外部地址的端口没有任何联系。
本机地址,本机端口,外部地址,外部端口 四个属性决定了一个连接。
如果连接两端是同一台机器,那么一个连接在 netstat 里就会出现两次。比如你给出 127.0.0.1:6379 -- 127.0.0.1:37384
这个连接。
抠香糖
为何Android WebView 调用JS 扩选文本导致长按菜单不出现?
Android WebView
使用JS扩选的问题:我的需求是当用户选择webview的文本内容的时候,首次的长按的时候帮助用户选择整段,后续用户扩选的时候,自动帮用户选择整句。
我的思路是当原生这边创建系统菜单的时候(也就是用户开始选择之后),调用js,通过js的Selection API去做一个扩选。比如使用了下面的代码:
function modify() {
function forwardWord(selection) {
var focusNode = selection.focusNode;
var range = selection.getRangeAt(0);
range.setEnd(range.endContainer, focusNode.textContent.length);
selection.addRange(range);
}
let selection = window.getSelection();
selection.modify("extend", "backward", "paragraphboundary");
forwardWord(selection);
console.log("selection.toString()", selection.toString());
return selection.toString();
}
调用了该Js之后,发现是能扩选成功的,但是系统的菜单就不再出现了,光标也不展示了。
其中,系统菜单是在长按的时候出现的那些例如:复制,全选,分享之类的系统自带的。
我是通过重写WebView的"startActionMode(ActionMode.Callback callback)"和"startActionMode(ActionMode.Callback callback, int type)"方法,创建自己的Callback代理,例如:
fun proxyWebMenuCallback(callback: ActionMode.Callback, noticeH5: () -> Unit): ActionMode.Callback {
return if (SdkVersion.maxThanM()) {
WebViewMenuCallback2(callback, noticeH5)
} else {
WebViewMenuCallback(callback, noticeH5)
}
}
@SuppressLint("NewApi")
class WebViewMenuCallback2(
private val callback: ActionMode.Callback,
private val noticeH5: () -> Unit
) : ActionMode.Callback2() {
override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean {
return callback.onCreateActionMode(mode, menu).also {
LogUtil.d("WebViewMenuCallback2", "onCreateActionMode:$it")
}
}
override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean {
noticeH5()
return callback.onPrepareActionMode(mode, menu).also {
LogUtil.d("WebViewMenuCallback2", "onPrepareActionMode:$it")
}
}
override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean {
return callback.onActionItemClicked(mode, item).also {
LogUtil.d("WebViewMenuCallback2", "onActionItemClicked:$it")
}
}
override fun onDestroyActionMode(mode: ActionMode?) {
callback.onDestroyActionMode(mode).also {
LogUtil.d("WebViewMenuCallback2", "onDestroyActionMode:$it")
}
}
override fun onGetContentRect(mode: ActionMode?, view: View?, outRect: Rect?) {
if (callback is ActionMode.Callback2) {
callback.onGetContentRect(mode, view, outRect)
} else {
super.onGetContentRect(mode, view, outRect)
}
}
}
class WebViewMenuCallback(
private val callback: ActionMode.Callback,
private val noticeH5: () -> Unit
) : ActionMode.Callback {
override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean {
return callback.onCreateActionMode(mode, menu)
}
override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean {
noticeH5()
return callback.onPrepareActionMode(mode, menu)
}
override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean {
return callback.onActionItemClicked(mode, item)
}
override fun onDestroyActionMode(mode: ActionMode?) {
callback.onDestroyActionMode(mode)
}
}
我的想法是在创建菜单的监听中去执行JS代码进行扩选,但是无论我把"noticeH5"回调放在"onPrepareActionMode"还是"onCreateActionMode"中调用,还是"noticeH5"的实现是会通过"postDelay"去调用JS,结果都是扩选成功,但是菜单却被隐藏了,光标不见了。
然后我尝试在执行JS完成之后,例如:
evaluateJavascript("javascript:" + js, value -> {
postDelay(1000){
//performLongClick();
//showContextMenu();
}
}
);
都不起效,无论是否一起调用。
后面我尝试在自定义菜单也不可以。
还尝试了自定义菜单,然后在执行完成JS之后,调用"startActionMode"方法,发现是会出现菜单的,但是菜单的位置出现不正确,而且光标也不见了,同时该方法还只能去设置执行一次,否则会陷入死循环,因为调用该方法之后,Callback里面的方法又开始执行了。
最后尝试了全部逻辑交由JS实现,结果就是js的菜单位置,扩选啥的都能直接做到,但是却不能自由选择了,光标没有了。
我的想法是这是否是Chrome的Bug,即在JS扩展选区的时候不能同步到原生端?因为扩选选区之后是会回调Callback的"onGetContentRect"方法的,我还在给官方提了bug,但是暂时也没有回应。"When
JavaScript expand the selection,WebView ContextMenu aoto
dimiss" (https://link.segmentfault.com/?enc=1XnMCNZmELKGSLHmFBaiyg%3D%3D.QEG5P%2F%2BeEM6fcdtgDzRYTOKwaEAxTGgudnnW3g74Tbzh3sdfzobdxWvZgGpa7ZdavGCMqXL7P5rGlP2FqgFhoeishO8%2Btqra60bCI%2FieXTICLzqOilqNKuWXke7L3BEP)
请问应该如何实现JS扩展选区,扩选之后菜单能保持在正确的位置。
PS: 小米浏览器有一个扩选的功能,而且扩选之后是可以正常展示菜单和光标的。或者有知道小米的是如何实现的吗?
抠香糖
手机网页版如何选择技术实现方式?
个人推荐移动站前端完全重做,另一个项目
1. 和PC端公用后端服务
2. 使用Nginx分别配置两个服务, m.domain.com 和 domain.com
3. 在 domain.com 服务中使用Nginx检测请求头UA是否含有mobile字段,如果有,进行302跳转到 m.domain.com 对应页面(没有对应的跳转首页等)
4. 上诉配置参考:
location / {
if ($http_user_agent ~* "Mobile") {
return 302 https://m.domain.com;
}
}
抠香糖
uniapp 苹果内购买订阅产品成功 再取消后为什么无法复购?
问题描述:uniapp内部使用苹果内购(IAP),购买消耗类产品可以成功拉起支付并支付成功。支付订阅产品的时候首次可以支付成功,但是在App
Store中手动取消产品订阅,再回到app内中复购则无法成功拉起支付,使怎么回事呢?
支付环境:沙盒环境
抠香糖
目前的开源视觉大模型有哪些?
目前的开源视觉大模型有哪些?
我知道的只有智谱的 CogVLM,还有其他的吗?
«"https://github.com/THUDM/CogVLM" (https://link.segmentfault.com/?enc=4ElQkxH8Cxh%2FwYh%2FRrHN5w%3D%3D.hZtIeEaQlOwGJ8btoy%2FNU%2Bor4uHmM43%2FOUYAUst87Ac%3D)»
抠香糖
如何直接点击lumen的路由的控制器跳转到相关文件?
看了一下源码,lumen 没办法支持 Laravel 中的这种写法,不过可以扩展一下,编辑一下 bootstrap/app.php 里面,有关 "$app"
这个变量初始化的地方,改成下面这样。
$app = new class (dirname(__DIR__)) extends Laravel\Lumen\Application {
protected function callActionOnArrayBasedRoute($routeInfo)
{
$action = $routeInfo[1]['target'] ?? $routeInfo[1];
if (
is_array($action)
&& count($action) === 2
&& class_exists($action[0])
&& method_exists($action[0], $action[1])
) {
try {
[$controller, $method] = $action;
return $this->prepareResponse($this->call([$this->make($controller), $method], $routeInfo[2]));
} catch (HttpResponseException $e) {
return $e->getResponse();
}
}
return parent::callActionOnArrayBasedRoute($routeInfo);
}
};
(注:这段代码是我手敲的,未做完整测试)
然后就可以像下面这样使用了,并且 IDE 可以提示跳转。
$router->get('/foo', [
'target' => [\App\Http\Controllers\ExampleController::class, 'index']
]);
$router->get('/foo', [\App\Http\Controllers\ExampleController::class, 'index']);
在旧版的 PhpStorm 上,这样可能还是不可以跳转,因为 "\Laravel\Lumen\Routing\Router::get"
方法的第二个参数的签名是 "mixed" 类型的,并不是 "callback",所以 IDE 可能还是无法识别。
可能还需要添加一个提示文件(在 laravel-ide-helper 里面加一下也可以)。
***
当然,如果你只需要提示+跳转的话,还有一个办法,那就是发动钞能力,PhpStorm 有个 "Laravel
Idea" (https://link.segmentfault.com/?enc=5cLuEA6DvRZVAYz82mEU3w%3D%3D.vtzOQc2UFlTI5cNy1Mkd7%2BYn2rtPKOOECVgFcifw6so%3D)
是可以的,不过这是一个付费插件,3$/mo
***
另外,不太建议使用 lumen 作为新项目,因为项目复杂了之后,都会变成 Laravel 的形状。
抠香糖
前端项目开发,AntvG6实现darge布局,如何实现 主干道在同一水平线?且垂直234三个点在同一垂直线上?
这种图的话可以考虑 "antv/x6",拖拽,连线,动态增删节点这些都是很基础的功能了
"https://x6.antv.antgroup.com/examples" (https://link.segmentfault.com/?enc=dfPTko47IWb%2BT%2FwhW8u%2FCw%3D%3D.P5J%2Flu4jhO8dCFBugxUVASdHraSQnP5QC52UHyJ1HIpc5aoYMq0pU97d7eFFcDCn)
抠香糖
阿里云的这些服务器有什么区别?
想开一个服务器自己个人用,放一些自己的博客和给客户做的一些企业展示网站。
但这经济型和轻量应用,我看配置也差不多,但价格差的还不小,这具体是差在哪里?我应该怎么选 ?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/7da92691435875f07e4ce2eff4c392de.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/124f5b89c125c72b74c5bd27fed643ba.png)
抠香糖
mybatis中java中用什么类型和mysql中的datetime类型比较大小?
看你mybatis的xml里parameterType是什么,是java.util.Date的话就传Date,是java.lang.String的话就传String,两种应该都可以,只是要注意像‘2024-02-28
22:35:59’这种时间字符串的格式不要出错
抠香糖
有没有什么前端库,可以生成一个接口用各种语言发起请求的代码?
"https://github.com/Kong/httpsnippet" (https://link.segmentfault.com/?enc=i5HVYZu%2F1sM5bVEMIaJvMQ%3D%3D.ul1VDFHw6d56dmoGt6WCb3OpO%2BqIXtsCz01njR9L1CXSD2m3tIbXroo%2FFHBULUox)
抠香糖
原生小程序中怎么实现实现元素逐渐上移并消失的动画效果?
给"wraps"盒子添加整体的从下向上的透明渐变, JS 定期删除多余的对话就行了
Demo效果:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/6a3bdc1bf9fb0335b479873f8db34cc4.png)
Demo代码:
Document
原生小程序中怎么实现实现元素逐渐上移并消失的动画效果?
原生小程序中怎么实现实现元素逐渐上移并消失的动画效果?
原生小程序中怎么实现实现元素逐渐上移并消失的动画效果?
原生小程序中怎么实现实现元素逐渐上移并消失的动画效果?
原生小程序中怎么实现实现元素逐渐上移并消失的动画效果?
原生小程序中怎么实现实现元素逐渐上移并消失的动画效果?
原生小程序中怎么实现实现元素逐渐上移并消失的动画效果?
原生小程序中怎么实现实现元素逐渐上移并消失的动画效果?
.wraps {
-webkit-mask-image: -webkit-linear-gradient(
top,
rgba(0, 0, 0, 0) 0%,
rgba(0, 0, 0, 1) 200%
);
background: #fff;
width: 40%;
height: 300px;
border: 1px solid red;
}
抠香糖
vue3+electron 如何做到本地化?
问题已解决,问题在于打包后的根目录和开发环境不一致
我定义的
const currentDirPath = __dirname
parentDirPath = path.resolve(currentDirPath, '..') // 在打包无法获取到目录
修改为
let parentDirPath
if (app.isPackaged) {
parentDirPath = './'
} else {
parentDirPath = path.resolve(currentDirPath, '..')
}
即可解决
抠香糖
动态表单校验规则的实现方法?
v-model 哪里为什么不是动态的?