HAO起起
CLion控制台cin<<中文无法输入,但是可以粘贴进去,如何修复?
好了,大概确定了,是新版本的问题,退回版本就正常了
HAO起起
为什么 python setup.py bdist_wheel 编译 wheel 会影响其他的包?
看报错时访问了没权限的目录报的错,改一下权限:
sudo chmod -R o+r /usr/local/lib64/python3.7/site-packages/torchvision-0.14.1.dist-info
或者用虚拟环境:
python3 -m venv myenv
source myenv/bin/activate
cd ~/pypi/pydantic-1.10.11/
python setup.py bdist_wheel
HAO起起
vue使用高德地图地图开发,使用的cdn引入方法,怎么使用步行路径规划api?
看文档
"https://lbs.amap.com/api/webservice/guide/api/direction" (https://link.segmentfault.com/?enc=CaJ9OF3OZRznVIo0gI%2BXSQ%3D%3D.Kntgz3kI%2BFtt6s7AMzXN4phw6Jd%2FUkBnunuJgFPIllUi1YfsJ4oxjKLbtv6p5JDEC8UB2%2FloldspMNO83%2BEi0w%3D%3D)
"https://lbs.amap.com/api/webservice/guide/api/newroute" (https://link.segmentfault.com/?enc=%2B9e1ynGclIbbF8uN%2Bf%2B5GQ%3D%3D.F7%2B54tKc2dV99%2FDrhAQmJTMQjEilzsZrIVg%2BJP9btBkMIGTyGZ42yHQjU%2BhbUi4JHnZ8QQ%2FCPn4kv7BkiSyMeQ%3D%3D)
HAO起起
pc 端唤起应用是如何实现的?
https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/12bd3cd6a66a2f535b7f64b1c9107880.png
点击 install 会出现弹框,点击弹框的打开 visual studio code 就可以打开 vscode 应用了。这个在 PC 端是怎么实现的?
HAO起起
bat 正则换行 如何撰写?
bat批处理的代码如下
@echo off
setlocal enabledelayedexpansion
:: 设置文件夹路径
set "folderPath=D:\txt\"
:: 遍历文件夹里的所有 txt 文件
for %%F in (%folderPath%\*.txt) do (
set "inputFile=%%F"
set "outputFile=%%F_temp.txt"
:: 第一步:替换特定字符为空
powershell -Command "(Get-Content '!inputFile!') -replace '[「」【】]', '' | Set-Content '!outputFile!'"
:: 第二步:用正则表达式限制每行的字符数并添加新行
powershell -Command "(Get-Content '!outputFile!') -replace '(.{6,18}[,。:!?]|.{16})', '$1`n' | Set-Content '!outputFile!'"
:: 第三步:替换特定字符为空
powershell -Command "(Get-Content '!outputFile!') -replace '[,。!]', '' | Set-Content '!outputFile!'"
:: 第四步:移除空行
powershell -Command "(Get-Content '!outputFile!') | ? {$_ -ne ''} | Set-Content '!outputFile!'"
:: 替换原文件
move /Y "!outputFile!" "!inputFile!"
echo 文件 %%F 处理完成!
)
echo 所有文件处理完成!
pause
其中第二步中的用正则表达式限制每行的字符数并添加新行
powershell -Command "(Get-Content '!outputFile!') -replace '(.{6,18}[,。:!?]|.{16})', '$1`n' | Set-Content '!outputFile!'"
可以实现正则定位,但是无法实现换行,要如何修改,\n \r 设置了无效?
$1 部分正常识别,但是一到换行就直接输出 n 并不能换行
HAO起起
微信的这种视频如何下载?
这是我和朋友在微信中聊天的一个截屏:
https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241226/02b966ba79cdc392b9c15bdca17c7b91.png
里面有个视频,我收藏这个视频后,在我的收藏内,发现它的属性是一个链接。
https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241226/b8d5eee051a6fa541cbb3cbd2b8dbb62.png
这个链接可以转发,但是无法下载,请问,这个小视频如何下载呢?它的url地址也无法查看到。
HAO起起
css可以绘制这种圆形平滑凸起吗?
.tab-container {
display: flex;
justify-content: center;
align-items: center;
background-color: #f8f8f8;
position: relative;
height: 60px;
}
.tab {
padding: 10px 30px;
background-color: #fff;
border-radius: 30px;
position: relative;
}
.tab::before {
content: "";
position: absolute;
bottom: -10px;
left: 50%;
transform: translateX(-50%);
width: 60px;
height: 20px;
background-color: #fff;
border-radius: 50%;
box-shadow: 0px -10px 10px rgba(0, 0, 0, 0.1);
}
选项卡内容
HAO起起
js 多维数组转换问题?
let arr=[
[1,3,5],
[7,9,12]
];
转换为
let newArr=[
[1,7],
[3,9],
[5,12]
]
HAO起起
python 的 unittest 无法读取到测试脚本?
目录结构如下:
(image_search_engine) ╭─pon@T4GPU ~/code/work/ponponon/image_search_engine ‹master*›
╰─➤ tree testing
testing
├── __init__.py
├── resource
│ ├── emoji001.jpg
│ ├── emoji002.jpg
│ ├── emoji003.jpg
│ └── s.jpg
├── test_meta.py
└── test_sample.py
运行测试命令
╰─➤ python -m unittest testing
---------------------------------------------------------------------- Ran 0 tests in 0.000s
OK
unittest 会读取所有 test 开头的 .py 文件,但是我的两个 test_meta.py 和 test_sample.py 居然没有被读取?
但是写成 "python -m unittest testing.test_sample" 和 "python -m unittest testing.test_meta" 是可以的,直接 "python -m unittest testing" 却不行,为什么?
HAO起起
vue3中keep-alive 缓存页面如何实现??
你的children里面的路由都是要用 "router-view" 包起来展示的呀
比如你的 "assembly/table.vue" 组件中也会有 "router-view"
你把这个 "router-view" 用 "keep-alive" 包起来就可以了。
HAO起起
为什么qt在槽函数里无法对qfile对象进行操作啊?
QFile fi("/home/zhzhy/1.cpp");
int flag=fi.open(QIODevice::ReadWrite);
fi.write("abc");
connect(&u,&QUdpSocket::readyRead,[&]
{
fi.write("def");});
大概是这么个情形.
我发现abc可以正常打印,但运行到def直接崩溃了,这是为什么呢?
HAO起起
自定义表单在数据库中要怎么储存?
目前的一个需求就是要用自定义表单收集数据!
这个需求还行,表结构是这样的
CREATE TABLE "t_fields" (
"id" int(11) NOT NULL,
"unique_mark" VARCHAR(32 byte) NOT NULL, -- 唯一标识,32 位
"sorted" INT4 NOT NULL, -- 核心字段,排序标识
"content" JSON NULL, -- 真实的内容,这里考虑到字段长度无法确定,只有用 json 来规定
"deleted" TINYINT(1) NULL DEFAULT 0, -- 软删除标识
"table_name" varchar(32) NOT NULL
}
现在就是设计到收集数据这里,还要涉及到统计、报表、图标,这张表不知道怎么设计了,请大佬指教!
HAO起起
echarts 2D地图如何区分是事件触发显示tooltip还是手动鼠标移上去显示?
需求是:option.series在地图上标记点,手动移上去触发事件调用接口联动其他图形更新数据,自动播放的不触发事件
如题,自动触发显示代码如下
myChart.dispatchAction({
type: 'showTip',
seriesIndex: 0,
dataIndex: 0
});
一开始想通过tooltip的formatter回调触发事件,但是这样不管手动还是自动都会触发,求大佬解惑
HAO起起
在vue中页面跳转有几种方法?
在vue开发中我该如何进行页面的跳转,有几种方法呢?
HAO起起
vue2中 v-model:activeKey="activeKey" 这个model冒号后面的变量作用是啥呀?
vue2中 v-model:activeKey="activeKey" 这个model冒号后面的变量作用是啥呀
HAO起起
浏览器是一个页面一个线程吗? 还是一个页面可以有多个线程?
浏览器架构粗解
目前主流的浏览器基本采用多进程的架构
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241121/7aa49afccc1ffae152a6d260574630db.png)
进程说明
* 浏览器主进程 :页面显示、子进程管理、用户交互、数据存储等功能。
* 渲染进程 :HTML、CSS、JS渲染出网页,V8引擎和排版Blink在该进程下运行,渲染进程在沙箱下运行,每个tab页对应一个渲染进程。
* 网络进程 :负责网络资源加载,之前在浏览器主进程运行。
* GPU进程 :实现3D效果、网页和Chroma界面渲染。
* 插件进程 :插件运行进程,在沙箱下运行,插件崩溃不会影响页面运行。
我们写的JS主要运行在渲染进程中,在渲染进程中又存在多个线程。
渲染进程的主要线程:
* 主线程:这是我们JS执行的地方,事件循环也发生在这个线程中
* 合成线程:这里是将HTML、CSS等合成为视口附近图块的位图
* 栅格化线程:渲染进程中维护一个栅格化线程池,每个栅格化线程会从合成线程获取位图数据,调用GPU进程交互生成图像信息
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241121/4e25237a236d52af8f394cb695bc7c5a.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241121/55a60ef3264e45844f09fdfdcfd75e98.png)
因为页面JS运行在渲染进程的主线程下,所以通常说JS一个单线程 。
问题
«浏览器是一个页面一个线程吗?
还是一个页面可以有多个线程?»
* 通常情况下,每打开一个新的Tab页都会创建一个渲染进程。
* 从A页面打开B页时,如果B页和A页属于同一个站点,则B页和当A页共用一个渲染进程。否则浏览器会为B页创建新的渲染进程。
«同一站点:是指两个请求地址的【根域名】相同、【协议】相同,包括根域名下的所有子域名和端口。»
https://time.geekbang.org
https://www.geekbang.org
https://www.geekbang.org:8080
这三个网址属于同一站点,因为他们的协议相同、根据域名相同。所以在浏览器中用3个Tab页打开,但是使用相同的渲染进程。
一个渲染进程里面会有多个线程,页面JS主要运行在渲染进程的主线程上。
HAO起起
如何让Excel文件和网站服务器交互呢?
我有一个Excel文件,里面包含很多公式,以前是用来当计算器用的,现在是把这个计算器功能集成到网站上。网站接受一些输入,然后用Excel进行计算。但问题是Excel并不能直接和网站进行交互,所以我在寻找一些解决方案,或者语言,非常感谢你的任何帮助。
HAO起起
使用video.js播放mp4视频,在h5端播放完成后能重新播放,但在app端播放后不能重新播放,如何处理?
可能对自动播放视频有限制。在某些情况下,仅当视频静音时才允许自动播放。考虑在视频元素中设置“静音”属性?
HAO起起
what is python dangling circular ref?
下面是wsgi web server的片段demo
def start_response(status, response_headers, exc_info=None):
if exc_info:
try:
if headers_sent:
# Re-raise original exception if headers sent
raise exc_info[1].with_traceback(exc_info[2])
finally:
exc_info = None # avoid dangling circular ref
elif headers_set:
raise AssertionError("Headers already set!")
headers_set[:] = [status, response_headers]
# Note: error checking on the headers should happen here,
# *after* the headers are set. That way, if an error
# occurs, start_response can only be re-called with
# exc_info set.
return write
我想问:
"exc_info = None # avoid dangling circular ref"
这里有什么必要这样操作?
这和迷途指针有什么关系吗?
HAO起起
为什么域名可以访问,ipv6却报403?
一般是没配置默认解析,因为一个ip地址能被多个域名解析,那如果直接访问ip,那应该返回哪个域名网址,可以配置默认访问的网址,一般为了安全,都是禁止ip访问网站的。内网屏蔽域名,具体我不清楚你们内网安全机制,那如果这样,你就算改地址访问,静态资源那些不也是通过域名获取的资源吗,这不也不能使用吗?
往这方面想,没办法解决实质性问题,你们内网能装远程控制软件,控制其他电脑吗,如果可以,建议你家里弄台电脑,或者弄台9块9一个月的云服务器,你可以利用远程在那台电脑做你想做的事,没有任何限制
HAO起起
js 子元素 阻止网上事件冒泡的异常问题,请教下大家?
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241111/d0bda1190869573b65dc71f228c2dc03.png)
dele_img2 这个点击事件 不知道为什么,怎么阻止冒泡都阻止不了,会触发父元素的showBigpdf事件,请问这个要怎么改呢
HAO起起
用户行为跟踪:第三方工具与直接服务器记录的比较?
当我们需要记录用户行为的时候我们使用第三工具比较好,还是直接记录在服务器上比较好?
例如:我现在想要记录用户访问的每个页面的次数,去分析那个页面比较受欢迎,我有两种方式。
1. 用第三方工具,比如Google Analytics,mixpanel, analytics,facebook pixel等等
2. 每次用户访问这个页面,我把页面/path发给服务器,用自己的数据库进行存储记录
我工作过的几个公司,在这方面都是选择用第三方工具,我在想是因为怕服务器负担比较大吗?这两种方式分别有什么优缺点呢?
感谢大佬
HAO起起
redis集群模式下,希望在多个slot都建立副本数据,key怎么设计?
最近看了一下docker搭建redis集群的知识,我来自己回答一下这个问题吧。
哈希槽原理
首先redis cluster会创建[0,16383]哈希槽,供多个集群分片使用。
当set Key Value保存数据时,redis会使用★【CRC16算法】★ ,计算key的hash值。
具体公式 : 槽位 = CRC16.crc16(key) % 16384
«(具体算法可参考jar包【io.lettuce:lettuce-core】中的SlotHash.getSlot("Key")
方法,只需要项目依赖jar包【spring-boot-starter-data-redis】,就可以引入lettuce的核心组件)»
后缀拼接序号方案(行不通)
所以直接在将key拼接数字后缀,形成key-1,key-2,key-3,最终形成的hash并不能保证分别落在不同的分区哈希槽上,来降低热点数据key在单个节点的负载。参考如下代码:
import io.lettuce.core.cluster.SlotHash;
public class TestHashSlot {
public static void main(String[] args) {
/*
redis集群中3个主节点的槽位
分片1:[0,5460]
分片2:[5461,10922]
分片3:[10923,16383]
*/
String mykey = "Key-Test";
System.out.println(SlotHash.getSlot(mykey+"01"));// 6582 插入到分片2
System.out.println(SlotHash.getSlot(mykey+"02"));// 10709 插入到分片2
System.out.println(SlotHash.getSlot(mykey+"03"));// 14836 插入到分片3
}
}
综上,通过key拼接数字后缀并不能在redis集群模式下,实现副本key在多个节点上的平均分布。
其他解决方案:
【方案1】引入额外的redis服务单独存储热点数据
此时:
* 第一部分:redis使用集群模式,通过分配哈希槽,来实现海量key的分布式存储
* 第二部分:redis建立多个独立的主从,每个主从中,都具有相同的热点数据副本,插入时全部插入,读取时随机读取一个。
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241106/7559bc7eec93ac6c2baca0324e729c0f.png
【方案2】本地缓存法(即二级缓存)
直接使用本地缓存,比如ehcache,当读取高频热点数据时,直接内存中读取。可以设置较短的过期时间,只要数据一直高频访问,就不会过期。在高频读取场景下,节省了reids的网络io成本,更推荐
HAO起起
国内主机+海外域名注册是否有坑?
国内主机+海外域名注册是否有坑?
买了一个 aliyun 99RMB/年的 ECS 玩耍
然后我想在想给上面跑的 demo 绑定一个域名,域名还没有买
很久以前,在腾讯云买过一个域名,可麻烦了,要填写一堆东西,还要打电话啥啥啥的
我现在想去海外注册域名(外国注册域名应该没有这么多乱七八糟的规矩吧?),然后绑定我的 aliyun ecs 云主机的 IP
有人这样搞过吗?会有什么坑吗?比如域名被 「邪恶长城」 ban
HAO起起
elementplus的el-row和el-col布局遇到问题?
提供一个我个人的思路,如果md的情况下,你把3,4在第一个"图表col"中给去掉,在"排行col"的下面加一个24的col,里面放3和4
HAO起起
请问应付公司完全不开放外网Port情况,让特定 web service 具备内网穿透功能?
你需要干什么,如果只是说你想自己访问,通过 ssh隧道 来实现,只要你能 通过 ssh 访问,你就能通过这台机器的访问到内网机任何端口, 也保证了安全性
本地端口转发
连接从客户端主机转发到SSH服务器主机,然后转发到目标主机端口。
语法:
ssh -g -N -L -f [本地端口]:[远程IP]:[远程端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]
举个栗子:
ssh -g -N -L -f 9999:192.168.100.100:80 root@www.test.com -p 22
输入命令之后才会让你输入ssh的连接密码,上面的命令意思是,访问本机电脑的 http://本地IP:9999 可以直接访问到远程机器的
"http://192.168.100.100:80" (https://link.segmentfault.com/?enc=kQwEk8vuiIzunmu5OxOBSg%3D%3D.P0pBhSAu4s7%2BsAafV7W7o3K3ZRuR8URkwoFQb0LLpjw%3D)所在的web服务。
参数说明:
-g:开启网关,表示访问本地的所有IP地址都可以;
-N:表示创建隧道以后不连接到 ssh服务端,连接之后界面会直接卡住,若你要建立之后并连接ssh服务端操作,可以直接取消本参数;
-L:表示local,本地端口转发;
-f:表示在后台运行,注意在后台运行只能通过杀进程的方式结束
9999:192.168.100.100:80:这个表示[本地端口8888]:[远程IP192.168.100.100]:[80];
root@www.test.com -p 22:使用root用户连接 www.test.com 的ssh服务,ssh端口是22,若你不是22端口则需要修改;
内网穿透
当然你还是需要使用功能内网穿透的话,你得先有一个公网的服务器,然后推荐你使用"nps"工具来实现内网穿透,
也有免费的内网穿透服务商,一般都限制流量与带宽,比如
HAO起起
1. 如何在点击用户名时让浏览器弹出密码管理器?
在用户名输入框的HTML标记中添加autocomplete属性,并将其值设置为username。这将告诉浏览器该字段用于输入用户名。
密码输入框的HTML标记中也包含autocomplete属性,并将其值设置为current-password。这将指示浏览器在点击用户名后弹出密码管理器。
HAO起起
Vue项目中public文件夹路径获取问题?
为什么我vue项目中public文件夹需要通过./文件路径 获取 而不是 /文件路径,通过/文件路径获取到的文件部署后会获取不到
解惑
HAO起起
进行修改操作的时候 修改的值没有实时改变,该怎么做呢?
~~
":modelValue="modelValue"" 这里不应该是 "props.modelValue" 嘛?
别的地方好像没问题。
~~
搞了个 demo,是联动的
"https://stackblitz.com/edit/vitejs-vite-hha5mb?file=src%2FApp.vue,src%2Fstyle.css,src%2Fcomponents%2FHelloWorld.vue&terminal=dev" (https://link.segmentfault.com/?enc=J1D15OOTN8TqxzlOVpJnuw%3D%3D.zdlj%2FRWtvHLYMpL9RdNCgjVD0HRnBl30gU5L6COC6d8zj8hewVPkTwyv1RBv7cQkwuoz%2F9bWWgNEok6aoL2zPWOKA461nFWbbypm%2Bh1zkZNJVmJVkvJhWK0rcrd%2BhyN%2FfaXfuts3N%2B9KBz7%2BS8pcW4xeixYh6W45PFBC40EQwzwGrtBYNb8c24AKDGDJVc1I)
HAO起起
正则表达式匹配字符串中所有的img标签的src属性进行批量处理?
function addPrefixToImg(html, prefix) {
const regexp = /]+src="([^">]+)"/g;
const modifiedHtml = html.replace(regexp, (match, src) => {
if (!src.startsWith(prefix)) {
return match.replace(src, `${prefix}${src}`);
}
return match;
});
return modifiedHtml;
}
e.g.
"const modifiedHtml = addPrefixToImg(html, prefix);"
HAO起起
公共API的appSecret 是怎么存储的, 怎么保证和用户密码类似的安全性?
公共API设计中.
通常会给调用者分配 appKey 和 appSecret,
appSecret 是需要保密的. 类似用户的密码, 我的理解需要和密码一样的安全保障.
作为 API 的提供方, appSecret 是怎么存储的? 怎么保证和用户密码类似的安全性?
HAO起起
vue3.js通过ref的方式获取子元素失败?
在Vue3中,如果使用setup方法来写的话,在父组件中是无法直接通过ref来获取到子组件的实例对象的,也就意味着你再像Vue2那样去获取.
在Vue3中如果想要获取到子组件的方法或属性,需要主动向外暴露,下面写一个简单的例子
parent.vue
import {ref, onmounted} from "vue";
const tt = ref(null);
onmounted(() => {
//要获取子组件中的myFun方法
console.log(tt.value.myFun)
})
子组件text.vue
import { defineExpose } from "vue";
function myFun() {
console.log("object");
}
let name = ref("bigNeck");
// 要想父组件可以访问到子组件内的方法,需要主动暴露,使用的是defineExpose方法
defineExpose({
myFun,
name,
});
以上就可以了,也就是说你想要获取子组件哪个方法或属性,都需要主动手动暴露。这也符合Vue3的开发思想,就是按需加载。
HAO起起
如何管理多个React组件的异步请求?
正好昨天处理了一个类似的问题,按理说这种公共组件最好别有请求,但团队里其他人已经这么写了,而且代码已经测试过了,所以不好大改。
我这边是用一个单例去保存每次请求的结果,最后一段代码里的1000代表缓存的超时时间为1000ms(1s),如果在1s内一个请求再次发起,如果这个请求和上次请求的参数一致,就使用上次的缓存,当然如果上次请求还在pending,也不会重新发起,会一并等上次的结果。具体超时时间设多少看接口的特性,数据不会频繁变的话,设十几二十秒也可以。
最后用这个hook返回的apiCall去替换之前的请求方法就行。
import { useCallback, useState } from "react";
import { isEqual } from "lodash";
interface ResponseInfo {
params: unknown[];
lastRequestTime: number;
getData: () => Promise;
}
type PromiseValue = T extends Promise ? U : T;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
type CommonFunc = (...p: any[]) => any;
type ResponseData = {
data: T;
isSuccess: boolean;
isError: boolean;
};
type ResponseValue = {
apiCall: F;
data: ResponseData>>;
loading: boolean;
};
const responseWeakMap = new WeakMap();
const genUseSingletonApi =
(apiCall: T) =>
(instance: CommonFunc, expiration: number) =>
() => {
type APIReturnData = PromiseValue>;
const [data, setData] = useState();
const [loading, setLoading] = useState();
const apiCallFunc = useCallback(
async (...params: Parameters) => {
setLoading(true);
const endCallback = (res: APIReturnData) => {
setLoading(false);
setData(res);
};
const requestInfo = responseWeakMap.get(instance);
if (requestInfo) {
const { getData: getResponseInfo, params: oldParams, lastRequestTime } = requestInfo;
const hasResponse =
isEqual(oldParams, params) && +new Date() - lastRequestTime void = () => {};
const promise: Promise = new Promise(resolveCb => {
resolve = resolveCb;
});
responseWeakMap.set(instance, {
getData: () => promise,
params,
lastRequestTime: +new Date(),
});
const result = await apiCall(...params);
resolve(result);
endCallback(result);
return result;
},
[],
);
return {
apiCall: apiCallFunc,
data,
loading,
};
};
const someAPISingletonInstance = genUseSingletonApi(fetchDataFunc);
export const useAccountingList = someAPISingletonInstance(
someAPISingletonInstance,
1000,
);
HAO起起
vue2中,vue-cli进行element-ui打包不放入check-vendor.js,而是单文件组件形式存在?
问过一个类似的问题:
«"https://segmentfault.com/q/1010000044542070" (https://segmentfault.com/q/1010000044542070)»
可试试在".env"配置:
# 第一放在第一行
NODE_ENV = production
HAO起起
Flutter中元素的shadow被另一个元素遮盖,如何解决?
row的children中添加一个 sizedBox 然后再设置width
HAO起起
TypeScript 中,Promise 的 reject 无法使用类型推导吗?
遇到一个 "TypeScript" 中有关 "Promise" 的类型推导问题:
以下代码中,"resolve" 会有明确的类型限制,但 "reject" 却没有,想知道如何才能做到?
type P1 = Promise;
const p1: P1 = new Promise((resolve, reject) => {
// Expected 1 arguments, but got 0. Did you forget to include 'void' in your type argument to 'Promise'?ts(2794)
resolve();
resolve(1);
// Argument of type 'string' is not assignable to parameter of type 'number | PromiseLike'.ts(2345)
resolve("str");
reject();
reject(123);
reject("str");
});
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/bb39482eb9d6bfabbcc2882170fd5e0a.png)
查看 "Promise" 的类型声明
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/388d99ec4a96cdba11420631d3201307.png)
只有一个泛型参数,貌似不支持。
找到了这篇文章,文章的结论是:无法定义,也无需定义。
"Typescript 中 Promise reject
的类型该如何定义?" (https://link.segmentfault.com/?enc=AJ9XaoGxvrAtYShtThPgpw%3D%3D.ZB4Tu8VkSGlSGuVbLpAVCVLQ2CSKk1st19kHbaMpYSgAK9tNH9hHXniteQW2G4HgnwCd3MChcgUbCxhzA%2FifyE99cIhvkhRqGD10ayFTh0XkTeGK%2BZYLE8mJ6Bn3y0P4)
希望 "reject" 也能有明确的类型推导,但貌似原理上不可行。
那么,在处理 "catch" 的时候,编辑器报出来的 "any",应该怎么处理比较优雅呢?
p1.catch((err: any) => {})
除了在这里直接声明,还有什么最佳实践吗?
HAO起起
如何在Vite项目中从Vue 3.2升级到Vue 3.4?
直接升:"pnpm i vue@^3.4"。
当然可能出问题,不过基本上跟 vite 没关系,有问题也是别的仓库导致的。
HAO起起
jieba分词结果不理想怎么办?
请问jieba分词结果不理想怎么办?
我想要创建关于景区评论的词云图,现在用jieba分词,然后将分词后的结果进行LDA建模提取主题,但提取出的主题中的热点词,明显能看出分词有问题。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/29759226086e09ded6102818a98bee46.png)
相关代码:
# 加载中文停用词
stop_words = set(stopwords.words('chinese'))
broadcastVar = spark.sparkContext.broadcast(stop_words)
# 中文文本分词
def tokenize(text):
return list(jieba.cut(text))
# 删除中文停用词
def delete_stopwords(tokens,stop_words):
# 分词
words = tokens
# 去除停用词
filtered_words = [word for word in words if word not in stop_words]
# 重建文本
filtered_text = ' '.join(filtered_words)
return filtered_text
# 删除标点符号和固定字
def remove_punctuation(input_string):
import string
# 制作一个映射表,其中所有的标点符号和需要删除的字都被映射为None
all_punctuation = string.punctuation + "!?。。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏.\t \n很好是去还不人太都中"
translator = str.maketrans('', '', all_punctuation)
# 使用映射表来移除所有的标点符号和字
no_punct = input_string.translate(translator)
return no_punct
def Thematic_focus(text):
from gensim import corpora, models
num_words = 0
if len(text)>200:
num_words = 10
elif 200>=len(text)>100:
num_words = 8
elif 100>=len(text)>50:
num_words = 5
else:
num_words = 3
tokens = tokenize(text)
# 删除停用词
stop_words = broadcastVar.value
text = delete_stopwords(tokens,stop_words)
# 祛除标点符号
text = remove_punctuation(text)
# 重新分词
tokens = tokenize(text)
print(type(tokens),type([tokens]))
# return str(tokens)
# # 创建字典和文档-词频矩阵
dictionary = corpora.Dictionary([tokens])
corpus = [dictionary.doc2bow(tokens)]
# 运行LDA模型
lda_model = models.LdaModel(corpus, num_topics=1, id2word=dictionary, passes=50)
# 提取主题
topics = lda_model.show_topics(num_words=num_words)
# 输出主题
for topic in topics:
return str(topic)
我想要让分词变得更合理,或者说有更好的提取景区评论中关键词的方法。
HAO起起
vue自定义loader运行报错?
写了个loader想对vue单文件的template预先做些处理,不过运行起来会有报错
vue.config.js
const { defineConfig } = require('@vue/cli-service')
const path = require('path')
// const { VueLoaderPlugin } = require('vue-loader')
module.exports = defineConfig({
transpileDependencies: true,
chainWebpack: config => {
config.module
.rule('vue')
// .test(/\.vue$/)
.use('vue-loader')
.loader('vue-loader')
.end()
.use('my-loader')
.loader(path.resolve(__dirname, './my-loader.js'))
// .before('vue-loader')
.end()
}
})
my-loader.js
module.exports = function (content) {
const templateMatch = content.match(/([\s\S]*?)/);
let restContent = content
if (templateMatch) {
const templateContent = templateMatch[1];
restContent = content.replace(/[\s\S]*?/, '');
let returnContent = templateContent.replace(/]*)>/g // tmp
let contentArr = returnContent.split('\n')
let resultArr = contentArr.map((item, index) => {
if (regInput.test(item)) {
item = item.replace(/
HAO起起
这个后台返回的数据用的什么加密方法?
要是看数据就能看出加密方式,那加密还有啥意义啊
看数据最多看出编码方式,比如题主发的这个是 hex,一个字符表示 4 位数据,别的真就啥都看不出来了
HAO起起
谷歌搜索首页里搜索框中的数据列表是在哪里写的?
谷歌搜索首页里搜索框中的数据列表是在哪里写的,右键检查中的源码中没有看到datalist的踪影
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/f70956652e3f79b63acfb7c02dd6fd7d.png)
如果是发请求的话,应该怎么找到?
HAO起起
如何在内网部署包含element-plus中文和自定义组件的vitepress文档?
需要在内网部署一套用vitepress文档,包含element-plus中文的文档以及自定义组件的文档,但element-plus的md源码都是英文的,gh-pages分支又是html文件,这该怎么做
HAO起起
nuxt 的 pages 目录设置的页面是使用懒路由加载的吗?
nuxt 会通过 pages 目录自动生成路由配置。nuxt 也是使用了 vue-route,而 vue-route 在配置路由页面时可以通过
component: () => import("@/index") 设置懒路由。那么 nuxt
是自动使用了懒路由吗?如果是那么如何更改为使用非懒路由,如果不是的话怎么更改为使用懒路由?
HAO起起
怎么解决Django中的反向代理问题?
提示说的很明白了, 应该是你表单提交的目标 "URL" 设置为了 "0ded89b6...0bd75", 这个 "path" 没有在你定义的路由
"urls" 配置里找到, 你只配置了 "admin/" 和 "cauliflowerdb/"
所以解决办法就是检查你的视图函数, 确保表单提交的目标 "URL" 在 "urls" 中有模式能匹配
HAO起起
ubuntu 怎么删除像nginx这样的全局命令?
之前通过apt装了nginx,现在想要彻底卸载,使用了apt purge
nginx,nginx相关的目录也删了,但是现在还留着一个全局命令nginx(现在运行nginx命令会提示 "-bash: /usr/sbin/nginx: No such file or directory"),这个要怎么删除?
我翻了"/etc/profile",里面没有nginx相关的配置,"~/.bashrc" 配置里也没看到相关的
HAO起起
docker-compose 不断重启的问题 command ENTRYPOINT?
看了AI 的回复测试后
发现不管是在dockerfile 中的 cmd 或者 ENTRYPOINT 都需要让程序挂起,不然容器会退出
我的解决办法是
去掉dockerfile 中的cmd 和 ENTRYPOINT
在docker-compose 中直接去执行这个sh 脚本
command: ['/bin/bash',"/bar/www/sh.sh"]
或者
entrypoint: ['/bin/bash',"/bar/www/sh.sh"]
shell 脚本中
最后一句
php-fpm
如果不是php 可以写
tail -f /dev/null
这样就可以让容器保持运行并且也成功的执行了脚本
HAO起起
Flutter App 怎么实现开机自启功能?
Flutter app 如何设置开机自启
开机时直接打开应用首页
参考这个文章,手机也给了开机自启动权限,但没有效果
"https://blog.csdn.net/suyie007/article/details/90599866" (https://link.segmentfault.com/?enc=fFtfmh3g7HrVYxXwctFqHw%3D%3D.V3w%2BrXnKygDS1UDi59iERZKunhzWzDKznRAr25g4PcrhyA1lYyiR6u9%2F4w2H6fpP%2BEvqBYgFYuoopfpJvoP0oQ%3D%3D)
HAO起起
axios 取消上一次重复请求如何封装?
"Axios
如何取消重复请求?" (https://link.segmentfault.com/?enc=Q9bOOdG%2Bx726x1c9sknGAg%3D%3D.u8Um7jYXoHFAuzmyKy%2FYW9X8dMGeUcliPsy5RfVtSthoN7SXBjmFLIktCfpsyoQG87JHJomsliBZYsuRBNdOs3gKEZeHWqsx1WzxU%2BYH9FumFfgYrlHGFi%2FvHPfLQmN7)
可以看一下这篇文章
HAO起起
如何在Vue项目中使用ClickHouse JS ?
封装
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/c797cf13dd6eba4e29f616c8e9bb7e88.png)
使用
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/a7e51f4c27f0cfa606067ea8651cd9ce.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/64019c762a4c540016aebf236f21aa7c.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/0047c37a1ca639350cf8cdd691146eb8.png)
HAO起起
求一款台式机扩展坞?
Cooler Master、NZXT、Thermaltake、SilverStone