无心插柳柳成萌
IP:
29关注数
20粉丝数
45获得的赞
工作年
编辑资料
链接我:

创作·106

全部
问答
动态
项目
学习
专栏
无心插柳柳成萌

如何在Vim中跨文件路径保存并加载折叠信息?

我想要vim保存我的折叠信息,网上的说法一般是用:mkview和:loadview两个命令。但是如果我将文档的存放路径改变后以前的折叠信息就没有了。 大家有什么方法能让无论如何改变文档的存储路vim都能记住折叠信息吗?
vim
18
1
0
浏览量375
无心插柳柳成萌

如何使用对多个链接同时进行GET请求,依次获取返回结果的值进行条件判断?

你按照这个例子修改一下你那个请求就行 我这边为了调试 就用 Promise替代了 function Promise1() { return new Promise((resolve) => { setTimeout(() => { resolve({ data: '123' }) },2000); }) } function Promise2() { return new Promise((resolve) => { setTimeout(() => { resolve({ data: '#234' }) }, 2000); }) } function Promise3() { return new Promise((resolve) => { setTimeout(() => { resolve({ data: '1' }) }, 2000); }) } function mainRequest(promises: any[]) { return new Promise((resolve) => { let i = 0; function nextRequest() { if (i === promises.length) { resolve('全部不符合条件') return; } const request = promises[i]() as Promise; i++; request .then((result) => { if (result.data.indexOf('#') > -1) { resolve(result.data); } else { nextRequest(); } }) .catch(() => { nextRequest(); }) } nextRequest(); }) } mainRequest([Promise3, Promise2, Promise1]).then((result) => { console.log('result', result); })
0
0
0
浏览量0
无心插柳柳成萌

能不能让一个电脑的端口全部打开?

就是光打开端口,但未必提供服务. 我找到了一个nmap的攻击测试脚本,想抓取它的包看它怎么攻击. 但它好像是针对目标电脑已经打开的端口进行攻击测试的,如果某个漏洞对应的端口不开,它就不测试这些漏洞. 所以我想如果能不能把我的受害者主机的端口全部打开的话,就能造出一个完美受害者了. 好吧,我读了vulner的文档,它是通过-sV选项根据对方提供的服务进行攻击的,只是打开端口没什么意义. 那我应该怎么做让它尽可能误以为对方值得攻击,而发送包了?
11
1
0
浏览量175
无心插柳柳成萌

【uniapp】新手求助!vuex的问题,为什么会报module namespace not found in xxx?

"store.js" 这块部分 "export" 出来之后,有没有在 "main.js" 中注入到 "Vue" 实例上?
0
0
0
浏览量0
无心插柳柳成萌

nest模块如何相互引用两个service?

我正在学习nest, 我尝试在两个模块使用对方的provider但是报错了 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250111/72adfa76ef63e04277a09a89022092ff.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250111/6566ed1c60475a7592e03ee17ed3b74d.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250111/bbc8fa727cc301673db60b76a046c6eb.png) 同时, 若我想在test1模块使用app.module的provider我应该如何操作?
16
1
0
浏览量418
无心插柳柳成萌

echart的geo地图, 字体大小在全屏后变小了是怎么回事 ?

屏幕改变时重新resize一下echarts,用resize方法
0
0
0
浏览量0
无心插柳柳成萌

怎么知道项目支持浏览器的版本?

其实一般不用管浏览器版本, 只要根据React的文档引入"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250110/fad01f9de18c52243a91ebc1517dff2b.png)就可以了这个会覆盖主流的浏览器以及版本, 如果还需要兼容IE5之类的十年甚至十几年的老古董就当我没说, 这个就如React文档中说的需要孤军奋战了 至于"ice2.0+antd4.0"不用太在意怎么兼容, 在打包的时候React会根据配置打包时会进行兼容性, 一些很新CSS除外
0
0
0
浏览量0
无心插柳柳成萌

element的MessageBox和Dialog是不是可以互换使用?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250107/2b8fdae62ec5ea7d63653b4a701f9706.png) «"https://element-plus.org/zh-CN/component/message-> box.html#mes..." (https://link.segmentfault.com/?enc=lvUPa%2Fh4NlqaLrIL7oLvyA%3D%3D.DuvlBUyDLHrS2mCps89dJ7j6tJniOW8ENZJNWuF0lsHVu5egelHi0sTKwHOnfNnEoFQWtRh5ED7wXqs4SJS7cShljvDNPlGpj9r5VzmJFqN5AfKqWyfrYJDvRy0QczbTUHBY2ZGTvA47yTjGdehB%2Bw%3D%3D)»
0
0
0
浏览量0
无心插柳柳成萌

html 标签 高出4px,可能的原因是什么?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250105/b2f206e01c08b7379c1e2726e35bc769.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250105/bc56e3bf6628ebc376894bd8e435f70b.png) 这也没有空格啊,为什么会高出一些? *** "font-size: 0;" 这样可以解决,但空格都没有这个属性作用到哪里去了?
12
1
0
浏览量371
无心插柳柳成萌

请问关于最新的小程序 要求9月15号之前完成配置的小程序用户隐私保护指引大家是怎样做的?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/d26a9421b5a89aff06b2c9eec2c14973.png) 直接在小程序首页,弹出让用户确认的框,拒绝直接退出小程序吗?
15
1
0
浏览量245
无心插柳柳成萌

vue3修改样式的问题?

1 2 3 4 5 6 7 8 9 setup(){ const allRef = ref(null) const oneRef=ref(null) const setx=(index)=>{ switch (index) { case 0: allRef.value.style.display='block' oneRef.value.style.backgroundColor='#D3EAFD' oneRef.value.style.border='1px solid #C1C1C1' oneRef.value.style.padding='20px' oneRef.value.style.fontSize='30px' oneRef.value.style.textAlign='center' break; } } return{ setx, allRef, oneRef } } "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250103/4eb323d273ed460b9f2ec06f0b24288d.png) 为什么执行 allRef.value.style.display='block' oneRef.value.style.backgroundColor='#D3EAFD' oneRef.value.style.border='1px solid #C1C1C1' oneRef.value.style.padding='20px' oneRef.value.style.fontSize='30px' oneRef.value.style.textAlign='center' 时只有最后一个元素发生了变化?
17
1
0
浏览量297
无心插柳柳成萌

phpstorm中配置docker远程解释器?

问题已解决 我从镜像运行了一个容器,在容器中安装了php,本来以为phpstorm是容器中获取php解释器,这个地方理解错了,phpstorm应该是从镜像中获取php解释器。 所以我将安装完php的容器commit成一个镜像,然后在创建解释器的时候选择这个新镜像,然后指定新镜像中php解释器的绝对位置,就可以创建成功啦。
0
0
0
浏览量0
无心插柳柳成萌

rabbitmq 的监控队列的记录可以持久化吗?

你可以搜索一下RabbitMQ的Metrics,然后使用Prometheus与Grafana对RabbitMQ的Metrics进行持久化管理与查询。
0
0
0
浏览量0
无心插柳柳成萌

angular15怎么引入中国地图?

看了现在的echarts好像没有地图了,现在下载了一个china.json该怎么用
11
1
0
浏览量393
无心插柳柳成萌

update set name = 'xxx' where id = 1 and is_delete = 0 where后面同时用了两个字段id和is_delete,锁表还是锁行?

当然是锁行了,要是筛选出来要更新的行数就只有一行,把整个表锁住代价也太大了,筛选出了哪些行就锁哪些行,这样其他行不会受影响。 mysql5.7版本之后默认开启了ONLY_FULL_GROUP_BY策略,即: SELECT语句中的字段必须要么出现在GROUP BY子句中,要么作为聚合函数的参数。 这个策略的目的是确保查询结果的准确性和一致性,并避免在查询中使用模糊的或不确定的字段。 所以你的说法适用于mysql5.7之前的版本,但是建议你都写上,避免不同的Mysql版本之间同样的语句不同的结果(亲身经历,本地是mysql5.6不加不报错,生产上是mysql5.7报错了)
0
0
0
浏览量0
无心插柳柳成萌

为什么vitepress设置favicon不生效?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241218/3105657541647173873c35ce31bd70c8.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241218/caa01f6f31bf90d1b91290f377d55d73.png) (我并没有设置base)
10
1
0
浏览量217
无心插柳柳成萌

ffmpeg在调用avformat_open_input函数时发生段错误?

现成栈空间太小导致。段错误基本都是内存越界访问出现的
0
0
0
浏览量0
无心插柳柳成萌

Python 异步编程的问题 Asyncio ?

# Modifying the main function to use asyncio.gather instead of TaskGroup async def main_modified(): results = [] for page in JDServer.api("api/product/getPageNum"): if True: # Mocking products_insert_on as always True for testing result = await recursion_products_init(page["page_num"]) results.append(result) # Ensure all recursion_products_init are done before executing update_product_loop if True: # Mocking products_insert_on as always True for testing results.append(update_product_loop()) if True: # Mocking category_insert_on as always True for testing for page in JDServer.api("api/product/getPageNum"): result = await recursion_sync_category(page["page_num"]) results.append(result) # Using asyncio.gather to run tasks concurrently result1, result2 = await asyncio.gather(update_product_category(), update_products_price()) results.extend([result1, result2]) return results # Using the auxiliary function to execute the modified main coroutine results_modified = await auxiliary_runner(main_modified()) results_modified 测试结果: RESULT ['Initialized products for page 1', 'Initialized products for page 2', 'Initialized products for page 3', 'Updated product loop', 'Synchronized category for page 1', 'Synchronized category for page 2', 'Synchronized category for page 3', 'Updated product category', 'Updated products price']
0
0
0
浏览量0
无心插柳柳成萌

java Lambda表达式如何按条件动态传入方法引用?

public static List groupBy(List list, Function dynamicReference) { Map> groupedStudents = list.stream() .collect(Collectors.groupingBy(dynamicReference)); return groupedStudents.values().stream() .flatMap(Collection::stream) .collect(Collectors.toList()); } public static void main(String[] args) { List students = Arrays.asList( new Student("Alice", "female", 20), new Student("Bob", "male", 22), new Student("Charlie", "male", 23), new Student("Alice", "female", 21), new Student("Bob", "male", 22) ); List groupedBySex = groupBy(students, Student::getSex); List groupedByAge = groupBy(students, Student::getAge); System.out.println(Arrays.toString(groupedBySex.toArray())); System.out.println(Arrays.toString(groupedByAge.toArray())); }
0
0
0
浏览量0
无心插柳柳成萌

请问下为什么matplotlib 绘制的高斯分布曲线是反的呢?

取反了 -1 变成了 1,0 还是 0,1 变成了 -1,不乘以-1就行 X = np.arange(-1, 1, 0.01) XA = np.arange(-1, 1, 0.01) # 不再乘以-1 Y = np.exp(X) plt.plot(X, Y) plt.plot(XA, Y, color='r') plt.axvline(x=0, color='r', linestyle='--') plt.axhline(y=0, color='r', linestyle='--') plt.xlabel('x') plt.ylabel('y') plt.title('Gaussian Distribution') plt.show() "8e2560f2-c27f-45e7-b9bb-1fc5bbbec6d1.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241207/4469253fab648121b6e299274fa5182f.png)
0
0
0
浏览量0
无心插柳柳成萌

如何用 ts 写一个更新对象值的函数?

下面代码会报 ts 错误,如何如何解决? interface Type1 { src: string | null; blur: number; mask: number; } const obj1: Type1 = { src: null, blur: 0, mask: 0, }; function updateObj1(key: keyof Type1, value: Type1[keyof Type1]) { obj1[key] = value; // Type 'string | number | null' is not assignable to type 'never'. }
0
1
0
浏览量15
无心插柳柳成萌

vue项目 如何修改插件源码?

原因是依赖没更新;但是"dist"目录好像是用于测试的(有了解的朋友可以讲解一下不),应该修改的是"lib"目录下的文件。 "解决方法" (https://link.segmentfault.com/?enc=2GxOMhx%2BuBLgEJhjUlt5JA%3D%3D.89O5ps2O9BkUZyQMaxOnmpjzAMt5nmYQQFSF4fQudoDLcPR8fg3Qh35G05rXxvOaJi%2FhmPuemy9Kum30Be3ppw%3D%3D)
0
0
0
浏览量0
无心插柳柳成萌

pc web支付形式有哪些,推荐哪种?

这事十年前搞过,现在不都扫码支付了
0
0
0
浏览量0
无心插柳柳成萌

请问 微信小程序 怎样渲染后端传的html格式的数据?

使用 "wxParse" 插件解析html "https://pythonjishu.com/xgtofennrszxowp/" (https://link.segmentfault.com/?enc=MDm7Ec%2BQGd5yrBgXchi86g%3D%3D.tmdf7JCIpUry5xVQYd%2F7Zgow%2FKme0F7OVX2z1WHjBVG%2F6GHW5QV11QP%2B0hwqjSbX)
0
0
0
浏览量0
无心插柳柳成萌

使用node更改req的参数,为什么多了一个中间件就拿不到了?

通过自定义中间件拿到请求参数的用户id const authentication = (req, res, next) => { if (excludeUrl.includes(req.url)) { next() return } const token = req.headers['authorization']?.split(' ')[1] if (token) { const payload = JWT.verify(token) if (payload) { // 重新计算token过期时间 const { username, id } = payload const newToken = JWT.generate({ username, id }, '1h') res.header('Authorization', newToken) req.body = { ...req.body, id }//这里把id放到req.body里面 next() return } // 否则token过期 则返回401 res.status(401).send(sendData(false, '登录超时,请重新登陆')) return } next() } app.js app.use(authentication) app.use('/', indexRouter) app.use('/users', usersRouter) userRouter var express = require('express') var router = express.Router() const userController = require('../controllers/users') const multer = require('multer') const upload = multer({ dest: 'public/avatars/' }) router.get('/get-userinfo', userController.getUserInfo) router.post( '/update-avatar', upload.single('avatar'), userController.updateAvatar ) module.exports = router userController const userServices = require('../services/users') const userController = { getUserInfo: async (req, res) => { console.log('🚀 getUserInfo: req:', JSON.stringify(req.body)) }, updateAvatar: async (req, res) => { console.log('🚀 updateAvatar: req.body:', JSON.stringify(req.body)) }, } module.exports = userController 打印的结果是 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241128/73ed49a722817a0b7094d57eb1a7b41c.png) 想请问下为什么多了个中间件之后就传不过来了
0
1
0
浏览量12
无心插柳柳成萌

AMH的日志文件到底是哪个文件夹呢?

执行备份时页面就有返回日志信息的,如果是任务计划执行的备份,在任务计划开启日志。 网站的日志添加虚拟主机时有提示,都在环境的logs目录, /home/wwwroot/环境名/logs phpmyadmin目录在/usr/local/amh-版本/web/phpmyadmin-xxxxx/ 有的服务器能连接FTP,有的不行,大多是防火墙的问题,要开放FTP的端口,包括主动与被动端口, 在FTP管理可以看到具体哪些端口,(建议先开放所有做测试) 添加远程备份时,也可以选择FTP用主动或被动模式,可以分别做测试看。
0
0
0
浏览量0
无心插柳柳成萌

element ui Table 表格展示树形数据并且支持多选的情况下如何实现子节点不全选父节点半选?

建议直接换一个table控件,推荐vxe-table,因为element-ui的el-table的树型table就是个样子货,没法用。本人深受其害。
0
0
0
浏览量0
无心插柳柳成萌

Java导出Excel的时候,如何设置函数?

萌新求帮忙,我要在JAVA程序中生成然后导出一个Excel文件,导出Excel的时候,有没有办法给设置公式?
0
1
0
浏览量25
无心插柳柳成萌

安卓+h5之间如何通讯?

安卓+X5内核+vue开发的app,安卓和h5之间如何通讯? 运行后h5的地址是:"file:///android_asset/dist/index.html" 安卓和h5通讯使用了"@JavascriptInterface"注解,可直接在h5中调用app的方法。但是它只能传输基本类型(字符串,数字,Boolean)。图片或其他复杂的数据无法传输。 尝试过在app中运行了http服务器(NanoHTTPD),页面通过http请求回去文件,但是这种方式不能使用"http://127.0.0.1"的地址。提示"strict-origin-when-cross-origin",加了"Access-Control-Allow-Origin"请求头也不管用。 也尝试过把文件转为"iso-8859-1"的字符串,但在js中没能转换回文件。 请问还有什么方式可以通讯? 如何传输文件? 安卓中为什么不能使用"http://127.0.0.1"? http服务器,文件转字符串
0
1
0
浏览量14
无心插柳柳成萌

是否有高效读取1000万条Excel数据的Java解决方案?

GcExcel可以轻松打开20万条数据的Excel文件。 这是性能对比结果: https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241109/d2c70b5fd82d1c8a4310c80ce979d192.png 关于如何一行一行读取数据,GcExcel 可以通过区域读取一片区域,如果只想读取一行数据的话,可以通过Excel的坐标系来控制。 public void FetchRowData() { Workbook wb = new Workbook(); IWorksheet sheet = wb.getWorksheets().get(0); //如果内存足够的话可以使用 //Object[][] data = (Object[][]) sheet.getUsedRange().getValue(); Object[][] data = (Object[][]) sheet.getRange("A1: Z500").getValue(); for (int i = 0; i < data.length; i++) { Object[] row = data[i]; //下来可以根据 row 来进行后续操作 } }
0
0
0
浏览量0
无心插柳柳成萌

AMH面板后台显示400 Bad Request?

是这个IP地址存储的cookie太多。清空浏览器当前IP的Cookie, 可以浏览器的调试工具看是哪些cookie。 或也可以调高nginx的large_client_header_buffers参数, 一般建议是删除下浏览器的cookie。
0
0
0
浏览量0
无心插柳柳成萌

有没有大佬知道这样的分段器效果如何实现?

可以参考下这个 "https://jsrun.net/JHFKp" (https://link.segmentfault.com/?enc=xCfV1EMPjs5D1cYzvZl9vA%3D%3D.JNASEr4JwJzC9EnXf8uxygVoap9N4cBqTJw5OmgFVhg%3D) 梯形tab按钮-基于clip-path path函数实现 .wrap { background-color: #eee; width: 375px; margin: 0 auto; padding: 10px; } .tabs { display: flex; width: 100%; overflow: hidden; border-radius: 8px 8px 0 0; background: linear-gradient(#cdd9fe, #e2e9fd); } .tab { flex: 0 0 50.1%; height: 50px; cursor: pointer; position: relative; text-align: center; line-height: 50px; } .tab.active { background-color: #fff; color: #4185ef; } .tab.active:before { content: ''; position: absolute; top: 0; left: -50px; height: 100%; width: 50px; z-index: 2; background-color: #fff; clip-path: path('M 0,50 C 25,50 25,0 50,0 L 50, 50 Z'); } .tab.active:after { content: ''; position: absolute; top: 0; right: -50px; height: 100%; width: 50px; z-index: 2; background-color: #fff; clip-path: path('M 0,0 C 25,0 25,50 50,50 L 0, 50 Z'); } .content-wrap { min-height: 200px; background-color: #fff; } // pass unocss options window.__unocss = { rules: [ // custom rules... ], presets: [ // custom presets... ], // ... } function initData() { return { activeIndex: 1, onTabClick(index) { this.activeIndex = index } } }
0
0
0
浏览量0
无心插柳柳成萌

elementui如何通过element-variables.scss配置空间padding值?

通過全局覆盖是最方便最安全的
0
0
0
浏览量0
无心插柳柳成萌

[devtool css]为什么这里存在一块紫色斜线区域(so所说的flex的剩余空间),而实际上看上去这块紫色区域是“溢出空间”?

理解了 这块紫色斜线区域 代表 剩余空间/可用空间/free space/available space/remaining area mdn中有negative free space这个词,即这个溢出的部分,就是负的 我一开始以为“剩余”空间只会为正的
0
0
0
浏览量0
无心插柳柳成萌

php怎么把这个字符串转换为数组?

$age); } print_r($result); ?> "image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241029/e058eabacfa5b576581a46af9f386562.png)
0
0
0
浏览量0
无心插柳柳成萌

Docker中容器网络不通,宿主机跟容器,容器跟docker0,容器跟容器网络都不通?

docker是什么网络模式?
0
0
0
浏览量0
无心插柳柳成萌

为什么vue监听到对象数据,但是对象内的值取不到?

父组件: /* 查询所有的数据字典 */ async getAllDict(){ this.animalTypeData = await this.getDictionaryByCode("AnimalType"); this.$set(this.allDict, "AnimalType", this.animalTypeData); }, 子组件watch: /* 数据字典 */ allDict: { handler(allDict) { console.log(allDict); console.log(allDict.AnimalType); Object.keys(allDict).forEach(key => console.log(key, allDict[key])); this.animalTypeData = allDict.AnimalType; }, deep: true,// 是否开启深度监听 immediate: true// 是否初始化时就执行一次 }, 上面用这种this.$set(this.allDict, "AnimalType", this.animalTypeData);赋值方式试了没问题,后面没采用watch的方式去监听allDict,直接用了计算属性也能拿到 // 类型数据 computed: { animalTypeData() { return this.allDict.AnimalType; } }
0
0
0
浏览量0
无心插柳柳成萌

vue.config.js 配置了proxy 后竟然触发了 websocket 请求,应该从哪里入手排查?

项目线上运行没问题,在本地没有配置代理,通过关闭浏览器同源策略的方式运行时也没问题,但是在vue.config.js 配置了proxy代理后,除了原本的正常的请求可以被转发外,还多出了许多发往本机IP的 websocket 请求(不清除是请求失败不断重试还是在不断发发请求),而且这个现象只在浏览器第一次访问没有执行过登录并退出的时候出现,如果浏览器登录并退出过之后再重新访问就不会出现了。如图: "image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241024/76bb3b918944d94bd9b321140fc6f645.png) 可是印象中项目里并没有使用到 websocket ,而且排查 package.json 文件,依赖中也没有直接引入 websocket,全局检索websocket,也是只在 package-lock.json,yarn.lock,pnpm-lock.yaml 三个文件中找到了相关内容,包含webpack 的依赖树分支结构如下: cli-service webpack-dev-server sockjs websocket-driver faye-websocket websocket-driver 但cli-service 不是脚手架吗?为什么会有 websocket 请求? proxy 配置既然可以正常转发axios 的请求,应该也是没问题的,配置如下: port: 8000, proxy: { '/': { target: process.env.VUE_APP_API_BASE_URL, changeOrigin: true, cookieDomainRewrite: 'localhost', ws: true } } 但是不清楚为什么会触发 websocket 请求,接下来我应该怎么排查?
0
1
0
浏览量19
无心插柳柳成萌

如何为文件夹添加完整性校验:方法与工具?

windows系统中,如何给文件夹添加完整性校验并写入属性中?
0
1
0
浏览量16
无心插柳柳成萌

如何关闭IDEA每次打开都自动 indexing 的功能?

每次打开IDEA在其任务栏中都会有 Inexing module '我的项目名称',这个设置是必须的吗?如果不是我可以在那里把这个功能关闭?
0
1
0
浏览量17
无心插柳柳成萌

双方都是端口限制NAT能实现P2P打洞吗?

如题,我在一个博客里面看到了下表,里面标定双方都是端口限制锥形NAT的时候依旧可以打通P2P。但是我没有想明白是怎么实现的。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/eba78e24f272cb07ef518abaac94285e.png) 首先确认一下我的概念没有理解错误,"端口限制锥形NAT"在打通后,对应的"NAT公网IP:PORT"只有客户端请求的"服务器IP:PORT"才能访问,其他IP和该服务器的其他端口都不能访问该"NAT公网IP:PORT"。 假设A和B都是端口限制锥形NAT,为了简单起见我直接用客户端的名字来代指最后映射的NAT公网IP地址 1. A给S:80发送请求,建立映射 A:8000 - S:80 2. B给S:80发送请求,建立映射 B:9000 - S:80 3. 但是这两个NAT公网地址都只有S:80能发送请求,S没有办法让A和B直接和对方通信 所以双方都是端口限制锥形的NAT是以什么方式打通P2P的呢,还是说不能打通?求大佬解惑!
0
1
0
浏览量119
无心插柳柳成萌

大佬帮忙Go 语言并发读写代码的用Rust 实现?

请大佬帮忙把一段之前golang实现的并发读写代码用rust实现 package main import ( "fmt" "sync" "time" ) type Rule struct { Id int64 Words []string } type Repo struct { Version int64 rwLock sync.RWMutex Rules []*Rule } func main() { r0 := Rule{ Id: 0, Words: []string{"a", "b", "c"}, } r1 := Rule{ Id: 1, Words: []string{"0", "1", "2"}, } repo := Repo{ Version: 0, Rules: []*Rule{ &r0, &r1, }, } var wg sync.WaitGroup wg.Add(2) go func() { repo.rwLock.RLock() rs := repo.Rules repo.rwLock.RUnlock() time.Sleep(2 * time.Second) for i := range rs { fmt.Println(rs[i].Id) } wg.Done() }() go func() { time.Sleep(1 * time.Second) repo.rwLock.Lock() repo.Rules[1].Id = 999 repo.Rules = repo.Rules[0:1] repo.Rules[0].Id = 1000 repo.rwLock.Unlock() wg.Done() }() wg.Wait() }
0
1
0
浏览量118
无心插柳柳成萌

css中的用户代理样式表和注册样式表是什么?

«新问题:在以下的情况下,disc实心圆应该是生效的,也没有被其他样式覆盖,为什么没有显示呢?» 实际上是有的,只不过这里你 "ul" 的 "padding" 设成了 0,没展示出来
0
0
0
浏览量0
无心插柳柳成萌

如何合理的定义接口出入参更优雅?

在当前的Java EE趋势下,你这种简单的CRUD,出入参完全就取决于Model如何设计了,Model设计的好,代码自然简单易懂,我建议如下 1.用户与员工一对一,但是先有用户,后有员工还是先有员工,后有用户,由你自己来决定,既然是一对一,你就应该用一张表来存储,满足SQL范式 2.解决is-a问题,用户是员工,或者员工是可登录的用户,为了区分是员工和是用户,可以用继承完成,员工"employee"继承"user","Mapper"层面也可以继承,运行时,可通过"instanceof employee"完成对员工的判定 3.相信到这里,不难看出,新增用户和将一个用户变成员工,是完全不同的接口设计,这样拓展性极强,而且底层表是同一张,链表查询复杂度大大降低 4.如果后续有其他新增字段,可以选择"_extents"这样的表,将不常用字段或附加属性隔离 5.回头看这6个接口的出入参设计 * 创建部门、更新部门、获取部门详情信息 都是单表CRUD * 创建用户、更新用户 入参是user,返回是整个父类对象 * 获取用户详情信息入参是id,返回是整个父类对象 其他细节自行考虑
0
0
0
浏览量0
无心插柳柳成萌

vscode 中,如何在自动格式化时,如何将标签变成自闭合标签?

"eslint config" { ... "rules": { "react/self-closing-comp": "error" } } "vscode settings" { ... "eslint.autoFixOnSave": true, "eslint.run": "onSave" } 参考:"StackOverflow" (https://link.segmentfault.com/?enc=GLzjzzPxMDit3nvOwAmsmQ%3D%3D.c5ulytL2SUzSgqxiSgUTl9pH%2B7E81CTtXw7kXh9J5DVYwmk%2FV55SRaBYXgdCxmdH)
0
0
0
浏览量0
无心插柳柳成萌

vue2中,vue-cli进行element-ui打包不放入check-vendor.js,而是单文件组件形式存在?

vue2中,vue-cli进行element-ui打包不放入check-vendor.js,而是单文件组件形式存在,比如el-input-683fb76c.js这种的,完全从check-vendor中抽离出来,而且是懒加载的形式。 也就是说: 如果home.vue组件使用了el-input组件,才会加载这个组件,而按照现在的打包方式,check-vendor会在页面一开始渲染就加载,包也很大,首页优化难做。 所以能不能通过vue-cli的webpack配置完成这个打包,求解 现在对一些组件使用注解魔法: let dNumber = ()=> import(/* webpackChunkName: "d-Number" */ '@/components/public/d-number'); 打包出来的文件名就是d-Number.js,但是不知道怎么抽离element-ui的每一个按需导入的组件,也形成懒加载的形式,或者check-vendor.js其实可以不存在,所有的资源都是懒加载形式
0
1
0
浏览量217
无心插柳柳成萌

如何解决源码安装时包依赖的问题?

没有,源码安装就只能一条路走到黑了,包管理器是为了解决不用源码安装的,你都破坏这个前提了那就管不了了
0
0
0
浏览量0
无心插柳柳成萌

nginx中的$rule_0 1$rule_0 是什么意思?

$rule_0 是不是在 D:/nginx.htaccess 设置了,发下这个文件详情 "index index.php index.html" 第一个 index 是 nginx 指令,后面 index.php index.html 是表示按先后顺序默认访问哪个文件,即先访问 "index.php" 如果没有这个文件就访问 "index.html"
0
0
0
浏览量0
无心插柳柳成萌

阿里云的这些服务器有什么区别?

先说轻量应用服务器,它对标的是 AWS 的 Lightsail。而剩下的那几种无论啥型,它对标的是 AWS 的 EC2。 Lightsail 是为纯单机服务的。优点很明显就是便宜,而且附带一个类似宝塔这种的 GUI 面板。但跟 EC2 比起来有几个比较大的缺点: 1. 不支持或很少支持弹性扩容。后面硬盘不够了再加块数据盘?对不起,不行。带宽不够了想升级?对不起,不行。 2. 没有集群的概念。所以你要是打算几台 Lightsail 组成分布式系统(比如玩玩 k8s 啥的),对不起,不行。 3. 子网管理是黑盒的。阿里云这个所谓轻量应用比 AWS 的 Lightsail 甚至更不如,连 VPC 都是黑盒的,跟其他服务不打通。比如你想再买个 OSS 或者 RDS 什么别的服务,对不起,不能通过内网连接,必须再单独买企业网服务、或者走流量带宽有限制或收费的公网。 所以除非你就是要跑个静态的站点,或者个人 Blog、企业 CMS 这种的非常简单的单机服务,可以试试轻量应用,否则就不要考虑了。 EC2(阿里云叫 ECS)这种的就是看规格+地域了,你贴的这几个除了明面上都是“2核+2G”以外,其他规格都不同,价格自然不同。 另外要注意即便都是所谓的“2核+2G”,也要看具体硬件信息。不同型号 CPU 的性能也天差地别。
0
0
0
浏览量0
无心插柳柳成萌

这种场景,如何设计 vue 主页面分发消息给子组件?

"vue" 项目, 有多个主页面,这里用 "Home.vue" "About.vue" 模拟 每个主页面内部有一个 "websocket" 且有多个"不同层级"的子组件,这里用 "HellowWorld.vue"模拟 每当主页面收到 "websocket" 消息的时候,通过"某种方式"通知到子组件 我目前的方案 * Home.vue home import HelloWorld from '@/components/HelloWorld.vue' export default { name: 'Home', components: { HelloWorld }, data () { return { wsChildren: [] } }, provide () { return { ipcRoot: this } }, methods: { send (data) { this.wsChildren.forEach(vm => vm.onWsMessage(data)) } } } * About.vue about // @ is an alias to /src import HelloWorld from '@/components/HelloWorld.vue' export default { name: 'About', components: { HelloWorld }, data () { return { wsChildren: [] } }, methods: { send (data) { this.wsChildren.forEach(vm => vm.onWsMessage(data)) } } } * HelloWorld.vue child export default { name: 'HelloWorld', inject: { ipcRoot: { default: null // 提供默认值为 null,当没有找到 ipcRoot 时使用 } }, mounted () { if (this.ipcRoot && this.ipcRoot.wsChildren) { this.ipcRoot.wsChildren.push(this) } }, methods: { onWsMessage (data) { console.log('__SY__🎄 ~ HelloWorld onWsMessage ~ data:', data) } } } 也就是当子组件挂载完成后,主页面主动收集,然后通过遍历去分发消息,这种模式以后的维护性如何? 请问各位到老有没有更好的方式,虚心求教!!!
0
1
0
浏览量175

履历