希望奇迹发生_1
IP:
50关注数
1粉丝数
54获得的赞
工作年
编辑资料
链接我:

创作·61

全部
问答
动态
项目
学习
专栏
希望奇迹发生_1

面试时怎么回答业务亮点和难点?

作为一个应用商店类型的后端开发,面试时经常被问你们的业务难点在哪,or 技术难点在哪,想破头皮都想不出来,一是怕说出来的东西被面试官认为就这有什么好说的,二是确实工作中能解决的都不算难点。说一些性能优化或者代码重构,解决了什么问题,这就是我想出来的东西。但是最后的面评经常被写业务复杂度不高,业务不匹配。 大家都是怎么回答这个问题的,或者阿里字节美团等大厂同学你们是怎么准备这个问题,or想从候选人那听到什么
23
3
0
浏览量410
希望奇迹发生_1

三方系统交互同步和异步设计问题?

同时对接A系统和B系统,一个请求从A系统发到我,我再去请求B系统,但是A系统要求同步返回结果,而B系统是异步返回结果的,这种情况怎么设计比较好?主要是如何满足A系统的同步返回的要求
8
1
0
浏览量267
希望奇迹发生_1

请问封装axios时,你们会把loading功能封进去吗?

那可以这样: import { makeRequest } from './axios工具.js'; function showLoading() { // 显示loading组件的逻辑 } function hideLoading() { // 隐藏loading组件的逻辑 } // 在需要使用loading功能的地方 showLoading(); makeRequest({ method: 'get', url: '/api/data', }) .then((response) => { // 请求成功,处理响应数据 }) .catch((error) => { // 请求失败,处理错误 }) .finally(() => { hideLoading(); }); 在需要的地方加loading,一个页面有许多ajax,如果封装axios里面,不需要的也会有,这样也满足op要求
0
0
0
浏览量0
希望奇迹发生_1

网站显示溢出问题怎么解决?

"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241231/d26830b0bae0170b9053cb8e4508584a.png)
13
1
0
浏览量361
希望奇迹发生_1

想入坑golang web,向大佬们请教些问题?

本人想入坑golang来做web开发,向大佬们请教些问题(感谢指教),如下: 1.请推荐一下golang web框架(原因) 2.请推荐一些golang web框架写的应用的开源的代码,例如写的论坛呀,即时通信呀,流量统计呀等等(学习参考) 3.golang做web的优势说明 求指教!!!!!非常感谢!!!!!
10
1
0
浏览量369
希望奇迹发生_1

Vue3整合Pinia,懂行的大佬进来帮忙看下,为什么 重新在将store的属性设置为 reactive({})不生效?

如果想要直接替换整个对象 的话,应该使用 "ref" 而不是 "reactive",具体可查看官方文档"reactive() 的局限性" (https://link.segmentfault.com/?enc=CIouKTNud7B31S7OvgVUhw%3D%3D.Wy%2BtpuzZvCOmMIMHsp0K39F0mzOg43UkBgDgyEzwGez8Vqhdzh1DwOzsHp8S6kSu5NOnv2NkGKUEbsil7SnNo%2F2tCqVl3kqK7pq1uSv3soCTleJ5U7EMAAzGPNde63o7)中的描述 «不能替换整个对象 :由于 Vue 的响应式跟踪是通过属性访问实现的,因此我们必须始终保持对响应式对象的相同引用。这意味着我们不能轻易地“替换”响应式对象,因为这样的话与第一个引用的响应性连接将丢失:let state = reactive({ count: 0 }) // 上面的 ({ count: 0 }) 引用将不再被追踪 // (响应性连接已丢失!) state = reactive({ count: 1 }) » 正确写法如下: const address = ref({}); function resetAddress() { address.value = {}; }
0
0
0
浏览量0
希望奇迹发生_1

微信小程序样式中“*”编译不过?

这是什么原因? "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241227/79015120aa957cb24b9075922b4042c8.png)
8
1
0
浏览量384
希望奇迹发生_1

编辑弹窗数据回显时,关闭弹窗后再次打开弹窗时数据就不回显了?

添加和编辑共用的一个弹窗,编辑时做数据回显,第一次打开弹窗数据可以正常的回显出来,关闭后再次打开的时候弹窗的表单就显示为空了,就没有数据回显了 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241226/6eec07ec54c2e86b3c885fa6e1a41ba6.png) 上面是父组件里面的打开编辑弹窗和赋值当前行数据 下面是弹窗组件里面的点击保存的方法 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241226/964eb3153797959f7a067c1158e29ccc.png) save() { this.loading = true const saveOrUpdate = this.isUpdate ? updataLibrary : addLibrary saveOrUpdate(this.dataForm) .then((msg) => { this.loading = false this.$message.success(msg) this.updateVisible(false) this.$emit('done') }) .catch((e) => { this.loading = false this.$message.error(e.message) }) }, 然后使用了watch监听弹窗的状态 watch: { visible(visible) { if (visible) { if (this.Rowdata) { setTimeout(() => { this.$util.assignObject(this.dataForm, { ...this.Rowdata, }) }, 100) this.isUpdate = true } else { this.isUpdate = false } } else { // this.$refs.form.clearValidate() this.dataForm = { ...this.defaultForm } } } } 打印当前行的数据也能打印出来没有问题。编辑回显的时候就出问题了,第二次打开弹窗的时候就没有回显数据了,是因为watch里面this.dataForm = { ...this.defaultForm }这个原因吗? 请问这个问题具体应该怎么解决呢?
12
1
0
浏览量290
希望奇迹发生_1

如何解决使用 bs4 模块中 find_all 提取列表元素中包含回车符的现象?

运行没问题,显示看起来是两个元素其实是一个元素,只是它把换行符显示成换行,你可以把get_text()的结果replace('\n','')就行
0
0
0
浏览量0
希望奇迹发生_1

docker compose 从django链接chromadb 报错 HTTPConnectionPool Max retries exceeded with url如何修复?

Docker中有两个container,一个django,一个chroma向量数据库,从Django中连接chroma报错,下面是docker-compose.yml文件: version: '3.9' services: django: container_name: django build: context: ./app command: python manage.py runserver 0.0.0.0:8000 volumes: - ./app:/Users/apple/Docker/app/ ports: - '8000:8000' expose: - 8000 chroma: container_name: chroma image: ghcr.io/chroma-core/chroma:latest volumes: - index_data:/Users/apple/Docker/app/data ports: - '8989:8989' expose: - 8989 volumes: index_data: name: my-db-data 下面是Dockerfile文件 FROM python:3.9 WORKDIR /Users/apple/Docker/app ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 RUN pip install --upgrade pip COPY ./requirements.txt /Users/apple/Docker/app/requirements.txt RUN pip3 install -r requirements.txt COPY ./entrypoint.sh /Users/apple/Docker/app/entrypoint.sh COPY . /Users/apple/Docker/app/ EXPOSE 8000 ENTRYPOINT ["/Users/apple/Docker/app/entrypoint.sh"] 从Django中连接chroma向量数据看,代码如下: from rest_framework.decorators import api_view from rest_framework.response import Response import chromadb from chromadb.config import Settings chroma_client = chromadb.HttpClient( host='localhost', port=8989, settings=Settings(allow_reset=True, anonymized_telemetry=False)) @api_view(['GET']) def index(request): sample_collection = chroma_client.get_or_create_collection(name="sample_collection") print(sample_collection) return Response({ 'info': 'Hello world.' }) 报错如下: urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=8989): Max retries exceeded with url: /api/v1/collections (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) Docker的容器运行情况: CONTAINER ID PORTS. NAMES 2710918946b0 0.0.0.0:8000->8000/tcp django 18ee5e4e3a7d 8000/tcp, 0.0.0.0:8989->8989/tcp chroma 请各位大佬帮忙看看,谢谢。
18
1
0
浏览量323
希望奇迹发生_1

前端大佬 这种图表该如何实现(echarts) ?

度了 谷了一天 这种图表到底该怎么搞啊??求助前端大佬 "热力图 色块图" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241214/3be5bdd78797b7e66fd0eb53c6c90243.png)
0
1
0
浏览量20
希望奇迹发生_1

echarts这种样式如何实现?

针对 0 的数据可以加一个 "shadow",利用 "shadow" 可以偏移的配置来实现这种样式 series: [ { name: 'test', type: 'bar', barMinHeight: 3, data: [ 10, 20, 30, 40, 50, { value: 0, itemStyle: { color: 'red', shadowColor: 'red', shadowOffsetX: -3 } } ] } ] 效果如下 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241208/a81eee13a2374842d819262893a0b45e.png)
0
0
0
浏览量0
希望奇迹发生_1

wx.getFileSystemManager().readFile读取文件没有权限,需要怎么处理?

参见 "https://developers.weixin.qq.com/miniprogram/dev/framework/ab..." (https://link.segmentfault.com/?enc=wcrZN5ERDC5D5IDJt5Fjjw%3D%3D.qrBeSDkApfkdEyfOD7DFIymNZhK4yrrKHLNjlc%2BcEzb4epXUtXB4URf49rNzLDwdlFCWqpo9ZEBJ9pYn1m1L4ys4yuTc8Dfe1dVJ%2BIHMhYiFx9BZ2C2aZZFFZ9ltFcXh) «代码包文件的访问方式是从项目根目录开始写文件路径,不支持相对路径的写法。如:/a/b/c、a/b/c 都是合法的,./a/b/c ../a/b/c 则不合法» 小程序中不允许相对路径的写法 *** 另外你对这个 API 的理解有误差,微信小程序中的 文件系统 其实类似浏览器中"Origin Private File System" (https://link.segmentfault.com/?enc=%2Bg0mZhvtv4YiIfTskFyuSg%3D%3D.K83YTITVJ9yf2uDgELLRNBD0OHGSF9RdVuMZD4%2BhcukG0EExkInFvekC6gPMZG50PsDbrj9xnMRh8C7no0brjt7nm4oOJTCGXFxDcJ0mtVFDBL5ygAvJYutVn0shzrQ%2B)的概念,它是供小程序使用的一块独立的文件区域,与代码文件和用户私有文件是独立的关系。你这里大概是想引用代码中的静态资源,是不能用这个API的 «本地文件指的是小程序被用户添加到手机后,会有一块独立的文件存储区域,以用户维度隔离。即同一台手机,每个微信用户不能访问到其他登录用户的文件,同一个用户不同 appId 之间的文件也不能互相访问。»
0
0
0
浏览量0
希望奇迹发生_1

el-table,如何修改合并行hover样式和逻辑?

可以试一下我写的这个:"https://codesandbox.io/s/el-table-he-bing-xing-de-hover-wen-t..." (https://link.segmentfault.com/?enc=4kkWqZ8i6aLVkYT8pOhDTQ%3D%3D.66pP9fPtCaekZEd9JVh1LQCMawMiAuK%2Bkv%2Fc48X8uThTWVwW%2BSpeLDEP2UQEVGQ%2BvTPqmiO%2B8us6rW4TiCUwf%2BV%2BSnvKKDDh97V5KwGQCQosZEzteJ8sinAKWg7KYzN%2F) 效果图:https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241128/2a44ad766d73bec3baa869e4b2f3cc6b.png
0
0
0
浏览量0
希望奇迹发生_1

MybatisPlus查询百万数据的内存占用问题?

因为流式查询也不是一条一条的流,而是一次获取一批数据,处理完了再获取下一批 原理和分页类似但是效率比分页高,因为分页需要‘跳过’前面的记录,而流不需要 如果需要优化的话,找到 fetch size 之类的东西配小一点就行
0
0
0
浏览量0
希望奇迹发生_1

Vue SFC Playground 怎么使用?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241120/d6906708c0d5f6b87abcaec6ecdd377a.png) "代码地址" (https://link.segmentfault.com/?enc=P7ZZXl5X5mCQFcLKC50DUQ%3D%3D.RoB4tRaLGO8ZWU0kz1XQCySPRBWtrZ0R7nOjm8eR7qubO9uEQg1XJ%2FEcvLsVvK8eTGswqK2gwbqfWmGqPeTdsheOAOCV1rjPx%2FaSSE2y%2FZUBKGDusLiTRFAdfeoSvxTMEABtQeYxJOXgujj%2B3fJV9aOk9onSAK2kZkXPDziO9Ca0%2FGKDpv7mPcGiZfkokttGbvbod%2Bx9k9SeRHGORU0dpkWlsRxCwjXzILFeD3sFpq1puL%2BPLBr80r%2BMx6SgqPEVWKw%2FNF5DiRlys15yzVEWflmM4fKNGZLcR3FsIu7DSgFLweQL50ZWKIR0JHkXh5zM6B0lLeloY8iv8bDEDomVLFSgTPYHlv38J3LAQG2rAWvXWUkMBxtS8n84%2B9qNHb5vFsnhKuxCsMvkWG4RmvAigobfmpJLaiWLeyCDsHzu2RYyTtTLHvtzjrsiUJom0Kf0kRQR0X1gUJBSbZmNfUOy7LWEOoxnw9pskemGVCY9VJexbIB3MSqd8XlFhMieEAqca5Hr0i6JDnJ5bp%2FddJv9qnkj3KNdEPz%2BERrfMVe5AqzfJno7Gsp35EKLwyG5PTxBSRQ1qYUu4KE87r9JVDSZjgT0HaGdpuJwcoaXXAYF9m1h6Pba0lL4buPhafZ5QWOJJJ0VJ0cLtNLapP%2F2gUG5pZUa6PebuN0%2B5cz%2B49cJSX8QMHqaDHxl4%2B9UwrbZtsHMSckIQrxIOidqE8RVBIeCUDuqQXQn5Dk%2B16tHnJXssSC8pzdRnA90fQggulXFo0RquJPKyCyJxUHXjsA08qOsWZPCxplLyGztjFdtNp1alxXpffllL25SOXzr9g8qIhhCh37HksYSSvbd8zs4t0Iocx5RgEIOYRN1G55RM5vJc4KnZkrA9MHFuPCFtfkSmnysMOyjr4lcEFfl4%2BjHy5GfVESbahTjZoqQPnfhMQ1mtTXWAp6cm8tTGYicbp7u10R4lRQomALrJPEuODzCjmOjHg%3D%3D) 这里提示都出来了嘛,怎么说未导出呢? 要如何正确引入"ant"并使用呢?
0
1
0
浏览量34
希望奇迹发生_1

在el-input type="textarea"上使用v-html 样式丢失?

不建议使用v-html很不安全 想要换行的话 还是v-model绑定 把所有的标签替换成\n "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241117/4cc57f64c0016b09cd3ead241b0eb049.png)
0
0
0
浏览量0
希望奇迹发生_1

Java 如何打开 Excel 特定的页面?

我有一堆Excel文件,每个Excel文件里,有多个 sheet,需要从每个Excel里的特定 sheet 里读取数据,有没有什么好的办法?
0
1
0
浏览量32
希望奇迹发生_1

App中内嵌uniappH5页面,可以调用uni.getLocation获取定位信息吗?

manifest.json配置的是"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241110/3355511228546c9652096ac300130ec0.png)系统定位,在app和H5页面都是正常 的,不过就是H5需要https,在有的浏览器可能不行,比如百度,还有就是精度不够。 看了下高德的H5,也是一样的情况各个浏览器定位数据差异太大了,尤其是夸克,用不了,小米的原生浏览器还可以。小米浏览器应该是调用的自家的系统定位,看来只能使用app了。
0
1
0
浏览量32
希望奇迹发生_1

springboot 配置多源数据库出错?

先检查有没有依赖 com.baomidou dynamic-datasource-spring-boot-starter 有的话需要贴完整错误信息
0
0
0
浏览量0
希望奇迹发生_1

axios设置了responseType:arraybuffer,如何在只动接口代码的前提下返回json格式的数据?

如果你只希望这一个接口需要修改的话 直接 const response = await axio.get({ responseType: 'arraybuffer', url, method: 'POST' }).then((respones) => ({ respones: { data: { data: respones.data } } })); console.log(response.data); // 正常情况这里是返回buffer console.log(response.data.data); // 现在期望这里能返回buffer 你需要所有 post responseType: 'arraybuffer', 那就重写 post 方法 给你一个思路。 const tempAxiosGet = axios.get; axios.get = function >(url: string, config?: AxiosRequestConfig): Promise { return tempAxiosGet(url, config) .then((respones) => ({ respones: { data: { data: respones.data } } })) .catch((error) => error) } 利用 promise 的 then函数可以解决
0
0
0
浏览量0
希望奇迹发生_1

React Antd 的机制是什么鬼?输入框怎么没值?

"React" "Antd" 的机制是什么鬼?输入框怎么没值? const [navCreateName, setNavCreateName] = useState(); const CreateModule = ({ nid }: { nid: number }) => setNavCreateName(e.target.value)} /> console.log(navCreateName)}>确定 为什么输入以后 再打印 "navCreateName" 是空?晕了什么情况
0
1
0
浏览量20
希望奇迹发生_1

切换导航会刷新url和页面 导致猴油脚本失效 求助怎么解决这个问题?

这种情况我一般都是写意一个 "setInterval" ,在 main 函数中做一个标记,标记逻辑是否生效 1. 先检查逻辑是否已经生效,如果已生效,则跳过 2. 如果没有标记,则初始化一下 相当于一个轮询,比如200ms,一直检查代码是否生效,否则就初始化。
0
0
0
浏览量0
希望奇迹发生_1

平铺嵌套JSON,Go竟然比Python慢,问题出在哪里?

"Go"和"Python"平铺嵌套JSON,结果发现"Go"竟然比"Python"还要慢,这对于"Go"新手来说简直是刷新认识,请问"Go"更慢的原因是什么,如何改进? 此文无意引战 ,所以没有选择"Python"标签,请巨佬告诉我如何改进"Go"代码,我相信"Go"是更快且应该是快很多的。 数据样本(结构类似,但不固定) { "first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "value1", "value2"], "submap": { "subfirst": "Dale", "sublast": ["Murphy", "value3", "value4"], "subsub":{"subsub":["value5","value6","value7","value8","value9"]} } } 预期结果 [ {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"Murphy","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"Murphy","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"Murphy","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"Murphy","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value3","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value3","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value3","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value3","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value4","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value4","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value4","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value4","subsub":"value5"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"Murphy","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"Murphy","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"Murphy","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"Murphy","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value3","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value3","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value3","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value3","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value4","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value4","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value4","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value4","subsub":"value6"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"Murphy","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"Murphy","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"Murphy","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"Murphy","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value3","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value3","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value3","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value3","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value4","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value4","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value4","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value4","subsub":"value7"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"Murphy","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"Murphy","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"Murphy","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"Murphy","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value3","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value3","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value3","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value3","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value4","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value4","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value4","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value4","subsub":"value8"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"Murphy","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"Murphy","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"Murphy","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"Murphy","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value3","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value3","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value3","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value3","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"ig","subfirst":"Dale","sublast":"value4","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"fb","subfirst":"Dale","sublast":"value4","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value1","subfirst":"Dale","sublast":"value4","subsub":"value9"}, {"first":"Dale","last":"Murphy","age":"44","nets":"value2","subfirst":"Dale","sublast":"value4","subsub":"value9"} ] "CHATGPT"给的"Go"代码 package main import ( "encoding/json" "fmt" "time" ) func flattenJson(b []byte) ([]map[string]interface{}, error) { var jsonObj map[string]interface{} err := json.Unmarshal(b, &jsonObj) if err != nil { return nil, err } return flatten(jsonObj, make(map[string]interface{})), nil } func flatten(jsonObj map[string]interface{}, result map[string]interface{}) []map[string]interface{} { tempResults := []map[string]interface{}{make(map[string]interface{})} for k, v := range jsonObj { switch value := v.(type) { case map[string]interface{}: nestedResults := flatten(value, result) newTempResults := []map[string]interface{}{} for _, nested := range nestedResults { for _, item := range tempResults { newItem := make(map[string]interface{}) for key, val := range item { newItem[key] = val } for key, val := range nested { newItem[key] = val } newTempResults = append(newTempResults, newItem) } } tempResults = newTempResults case []interface{}: newTempResults := []map[string]interface{}{} for _, elem := range value { for _, item := range tempResults { newItem := make(map[string]interface{}) for key, val := range item { newItem[key] = val } newItem[k] = elem newTempResults = append(newTempResults, newItem) } } tempResults = newTempResults default: for _, item := range tempResults { item[k] = value } } } // Merge each item with result finalResults := []map[string]interface{}{} for _, item := range tempResults { newItem := make(map[string]interface{}) for key, val := range result { newItem[key] = val } for key, val := range item { newItem[key] = val } finalResults = append(finalResults, newItem) } return finalResults } func main() { start := time.Now() jsonData := []byte(`{ "first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "value1", "value2"], "submap": { "subfirst": "Dale", "sublast": ["Murphy", "value3", "value4"], "subsub":{"subsub":["value5","value6","value7","value8","value9"]} } }`) for i := 0; i go run stsd.go // 4.287609s // (base) C:\abc>go run stsd.go // 4.513107s // (base) C:\abc>go run stsd.go // 4.1299503s // (base) C:\abc>go version // go version go1.21.4 windows/amd64 "Python"实现代码 import time,json def flattenjson(json_obj, normalresult=None): if normalresult is None: normalresult = {} # 用于存储处理过程中的临时结果 temp_results = [{}] for k, v in json_obj.items(): if isinstance(v, dict): # 递归处理嵌套字典,并合并结果 nested_results = flattenjson(v) temp_results = [dict(item, **nested) for nested in nested_results for item in temp_results] elif isinstance(v, list): # 处理列表,为每个元素创建新的字典 temp_results = [dict(item, **{k: j}) for j in v for item in temp_results] else: # 处理普通键值对,加入到临时结果中 for item in temp_results: item[k] = v # 将普通结果合并到每个字典中 final_results = [dict(item, **normalresult) for item in temp_results] return final_results if __name__ == '__main__': start = time.time() jsonstr = """{ "first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "value1", "value2"], "submap": { "subfirst": "Dale", "sublast": ["Murphy", "value3", "value4"], "subsub":{"subsub":["value5","value6","value7","value8","value9"]} } }""" for _ in range(100000): flattenjson(json.loads(jsonstr)) print(time.time()-start) # (base) C:\abc>python test.py # 3.2182690620422363 # (base) C:\abc>python test.py # 3.291424560546875 # (base) C:\abc>python test.py # 3.239586067199707 # (base) C:\abc>python # Python 3.10.9 | packaged by Anaconda, Inc. | (main, Mar 1 2023, 18:18:15) [MSC v.1916 64 bit (AMD64)] on win32 # Type "help", "copyright", "credits" or "license" for more information. # >>> 关于如何改进"Go",AI已经无法解答了 You: 同样的 json 数据,我测试 100000 次平铺,为什么 python 的速度比 go 还要快? AI : Python 比 Go 更快的情况在特定场景下是可能的,尽管 Go 通常在性能上优于 Python,特别是在并发和系统级编程方面。以下是一些可能导致这种情况的原因: 实现细节: Python 和 Go 代码的实现方式可能有所不同,这可能导致性能差异。即使逻辑相同,语言特性和内部优化也会影响性能。 Python 的一些内置函数(如 itertools.product)可能经过高度优化,而 Go 代码可能没有使用同等优化的库或方法。 数据结构和算法: 使用的数据结构和算法可能在两种语言中有细微差异,这可能会影响性能。 解释器 / 编译器优化: Python 解释器(如 CPython)和 Go 编译器采用不同的优化策略,这些策略可能在特定情况下影响性能。 垃圾收集: Go 语言有一个运行时垃圾收集器,可能会影响性能。Python 也有垃圾收集,但其行为可能与 Go 不同。 启动时间: 对于非常短的运行时间,Python 程序的启动时间可能相对较短,而编译型语言(如 Go)的程序启动时间可能较长。 测试环境: 测试的硬件和操作系统环境可能对性能有影响。 测试方法(如是否预热、是否包括编译时间等)也会影响结果。 为了更准确地比较性能,建议: 确保测试在相似的环境和条件下进行。 仔细审查和优化 Go 代码,确保它是高效的。 进行多次测试并取平均值,以减少偶然性的影响。 如果可能,使用性能分析工具查看代码的热点和潜在的性能瓶颈。 性能测试是复杂的,结果可能因多种因素而异,确保测试的公平和准确性非常重要。 You: 是不是大量接口导致性能下降? AI : 在 Go 语言中,使用接口(interface)可能会对性能产生一定影响,但这种影响通常是非常微小的。接口在 Go 中是一种强大的特性,允许实现多态和灵活的代码设计。但是,它们确实带来了一些额外的开销,尤其是在涉及大量数据处理和高频调用时。以下是一些使用接口可能影响性能的情况: 动态分派:当您通过接口调用方法时,Go 需要在运行时确定要调用的具体方法实现。这个查找过程称为动态分派,它稍微慢于静态类型的直接方法调用。 类型断言和类型检查:如果您经常需要对接口类型进行类型断言以访问具体的类型,这可能会导致性能开销。 额外的间接层:接口引入了一个额外的间接层,因为它们通过指针引用具体的值。这意味着额外的内存解引用操作,可能会稍微影响性能。 内存分配:在某些情况下,使用接口可能导致额外的堆内存分配,特别是当它们用于包装小的值类型时。 垃圾回收:由于接口可能指向堆上分配的对象,因此可能会增加垃圾收集器的工作量。 在大多数情况下,这些开销都非常小,不太可能成为性能瓶颈。但是,在一些极端情况下(如大量数据处理或高频率调用),这些开销可能变得显著。 如果您怀疑接口是性能问题的原因,可以通过以下方式进行优化: 性能分析:使用 Go 的 pprof 工具进行性能分析,找出性能瓶颈的确切位置。 减少接口使用:在性能关键的部分考虑使用具体类型替代接口。 避免不必要的类型断言:减少类型断言的使用,尤其是在循环或频繁调用的代码块中。 总的来说,除非您正在处理大量数据或需要极高的性能,否则接口带来的开销通常是可以接受的,并且它们为代码的灵活性和可维护性带来了巨大的好处。 You: GO 的实现有没有更高效的方法? AI: 要提高 Go 语言中特定代码的性能,尤其是涉及 JSON 处理和数据转换的代码,您可以采取以下几种策略: 优化数据结构: 使用更高效的数据结构可以显著提高性能。例如,使用切片而非映射,或选择更适合特定场景的数据结构。 减少内存分配: 避免不必要的内存分配,如重复创建对象或频繁的切片扩展。您可以预先分配足够大的空间或复用已有的对象。 并行处理: 如果您的任务可以并行化,使用 Go 的并发特性(goroutines 和 channels)来分散工作可以显著提高效率。 优化循环和递归: 优化循环逻辑,减少循环内部的计算和函数调用。在递归函数中,确保没有不必要的重复计算。 使用更高效的库: 选择性能更好的第三方库进行 JSON 解析和处理。比如,json-iterator/go 通常比标准库中的 encoding/json 提供更好的性能。 减少接口使用: 如果可能,减少接口的使用,特别是在性能关键的代码路径中。使用具体类型可以避免接口带来的间接性和动态分 You: 用 json-iterator/go 改进之前的代码 AI : 要使用 json-iterator/go 库来改进之前的代码,首先需要安装这个库。然后,您可以将标准的 encoding/json 解析替换为 json-iterator/go 的解析,以提高 JSON 处理的效率。json-iterator/go 是一个高性能的 JSON 解析器,它完全兼容标准库,但通常提供更快的解析速度。 ..... 结果速度和使用标准库encoding/json没有明显变化。
0
1
0
浏览量21
希望奇迹发生_1

浏览器接口 fetch 发起的请求如何跟踪上传进度?

浏览器接口 fetch 发起的请求如何跟踪上传进度?
0
1
0
浏览量21
希望奇迹发生_1

Java 导出 Excel 数据能不能生成柱状图和饼图?

GcExcel来实现柱状图,GcExcel支持各种Excel图表 «"https://www.grapecity.com.cn/developer/grapecitydocuments/exc..." (https://link.segmentfault.com/?enc=MJY1Esd8wvaAFLsmJDNLMA%3D%3D.36%2F1nQT6iHeytOMyHZs5Fhmr7k6BsBPrkr4DW%2FNZUSxa%2B1XtD5D2FfeIa6tFqVIFriutwM8DVdg20x4%2BWp34kHfOQIJSkaamcHAWZUyG42WjmMCt%2Fn2%2FsBuAMa04FJGFW9aOHylxIh5q9zg7mbrXEu40xW58HQwf7Wa4n%2Bml0tk%3D) "https://segmentfault.com/q/1010000044441021?utm_source=sf-similar-question" (https://segmentfault.com/q/1010000044441021?utm_source=sf-similar-question)»
0
0
0
浏览量0
希望奇迹发生_1

请问前端起不来缺依赖这种情况怎么解决?

"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241031/9f59c64594e63abff21da106b0f9f497.png) 全局搜索一下这个"core-js"或者"core", 是不是哪里不小心VSCode自动导入了这个包, 如果是删掉就行了
0
0
0
浏览量0
希望奇迹发生_1

求指导: Vue SFC Playground 中如何搭建 Element Plus的Demo???

... import {ElDatePicker} from 'element-plus' ... @import url("https://unpkg.com/element-plus@2.4.3/dist/index.css");
0
0
0
浏览量0
希望奇迹发生_1

webpack 配置中 `[name].[ext]`是什么意思,这里面的`.[ext]`表示什么,如果文件名重复了怎么修改呢?

1、ext表示文件后缀,比如png,jpg,gif等 2、可以加上hash"/[name].[hash:7].[ext]"
0
0
0
浏览量0
希望奇迹发生_1

AMH 7.1 已经安装了memcached,怎么添加到环境中去啊?

请问我已经安装了memcached-1.6,怎么添加到环境中去啊 https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241026/d1a16bdad01b408d979a02ec8b1a3fea.png 只提示请您在菜单操作,菜单中也不显示,谢谢
0
1
0
浏览量40
希望奇迹发生_1

如何在 CSS Grid 中设置行数为 auto-fill 并使高度生效?

"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241026/106b3a1babb84944d347a6a0264b6499.png) "https://code.juejin.cn/pen/7316068943830581274" (https://link.segmentfault.com/?enc=Fcu8zTNmN2kIExhvOXmJpQ%3D%3D.DTB68oyn34TtS7vHVyXc0YYstogwpLnAjZUIOjgPoETsyIPWA5aLU%2BUev7U2Oh%2BQ) 👆 截图出自这里 ● 请问在使用 grid 布局时,如何设为行数为 auto-fill 为什么指定的高不生效? ● 如图,第一行已经按设定显示了高度,其它几行高度不听令 ● 是不是只有在子元素 span 上设 min-height: px 才是唯一的办法 谢谢 article { margin: 20px; counter-reset: counter01; padding: 20px; background: #eee; display: grid; grid-template-columns: repeat(4, 1fr); /* 👇 指定固定行数时,设定的高度有效 */ /* grid-template-rows: repeat(5, 150px); */ /* 👇 在不指定固定行数时,设定的高度无效 */ grid-template-rows: repeat(auto-fill, min(150px, 150px)); gap: 5px; } article span{ padding: 1em; text-align: center; counter-increment: counter01; min-width: 50px; /* height: 50px; */ border: solid 1px blue; &::after{ content: counter(counter01); } } 能使行数为 auto-fill 时也让高度听指挥吗? 谢谢
0
1
0
浏览量29
希望奇迹发生_1

uniapp中没有btoa函数吗?

uniapp中没有btoa函数吗? "image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241025/e2eb16c7ce6d5fc3cd525bfef2b1ef73.png)
0
1
0
浏览量15
希望奇迹发生_1

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

console.log(allDict);这句打印出来有值,为什么里面的值是undefined? allDict: { handler(allDict) { console.log(allDict); console.log(allDict.AnimalType); Object.keys(allDict).forEach(key => console.log(key, allDict[key])); }, deep: true,// 是否开启深度监听 immediate: true// 是否初始化时就执行一次 }, "image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241024/37beed1ab00399591457aed9633e2142.png)
0
1
0
浏览量40
希望奇迹发生_1

vue3页面监听pinia后跳转页面的问题?

router.push 和 router.replace 都会返回一个 promise,所以你可以在导航完成后再重置查询条件。 "router.push({name: 'foo'}).then(() => resetQuery())"
0
0
0
浏览量0
希望奇迹发生_1

微信H5下单支付接口里面的APPID填什么?

因为你需要调用微信支付的接口,你需要再微信商户平台开通账户进行开发,你可以按照这个流程使用 "https://pay.weixin.qq.com/docs/merchant/products/h5-payment/d..." (https://link.segmentfault.com/?enc=b47saQF9r4PoipiHAvDDtg%3D%3D.CU7ug%2BQA6JaSJ5S4KdnkpvkSSGWoPfRDLtY4Xr2deTaPk4XSf238t6POraLdabuqadIqPdbaTO1SGMWLVXyPC3R63qJlVxGq3ny4lII1ecA%3D)
0
0
0
浏览量0
希望奇迹发生_1

如何解决使用自定义装饰器时Pylance 类型检测错误?

加上这个试试,测试是可以的 from typing import Callable def execute(func) -> Callable[..., Result]:
0
0
0
浏览量0
希望奇迹发生_1

antd dark/light方案?

求ant-design-vue系统实现dark/light主题的切换方案 官网只提供了primary "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/997b1149ce34d55a80a064396f2e820c.png) 已用过antd-theme-generator、antd-theme-webpack-plugin,但是报了内存溢出,尝试了很久没有解决 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/9d1b4f328bc6cd4d67b5df95345ed971.png) 求一个切实可行的方案,最好有demo,感激不尽!!!
0
1
0
浏览量170
希望奇迹发生_1

docker-compose.yml文件部署MySQL时出现错误?

配置: « - /data/docker/mysql/etc:/etc/mysql:ro » 错误: «mysqld: Can't read dir of '/etc/mysql/conf.d/' (OS errno 2 - No such file or directory)» 你的 /data/docker/mysql/etc 里没有 conf.d ,它被挂载到了 /etc/mysql/ ,导致启动的时候找不到 /etc/mysql/conf.d 。
0
0
0
浏览量0
希望奇迹发生_1

前端渲染页面时卡死,无响应是为什么?

日志量太大了,就把页面卡死了呗。 把日志渲染部分干掉,试试看能不能正常打开,如果可以的话,就说明前面的判断是对的。 做好分页,应该可以解决部分问题。
0
0
0
浏览量0
希望奇迹发生_1

请问addEventListener绑定change事件触发后event.target为null呢?

const input = document.createElement('input') input.type = 'file' input.accept = '.doc, .docx' input.addEventListener('change', handleFileSelect, false) function handleFileSelect (event) { console.log(111, event.target) // 这里为什么会为 null 呢? }
0
1
0
浏览量190
希望奇迹发生_1

网上负评,品牌正向推广,同行攻击的时候有应对方案,这种工作内容应该招什么职位?

大致应该是品牌方向或者公关方向 "品牌推广经理"or"品牌危机管理员"or"公关"
0
0
0
浏览量0
希望奇迹发生_1

使用docker部署lnmp环境的时候,日志问题如何解决?

准备使用容器技术部署php,redis环境 php镜像: php-7.4.3-fpm redis镜像: 6.2.14 php容器中发现运行php进程的是www-data用户, uid 33 , gid 33 redis容器中发现运行进程的是 redis 用户, uid 999, gid 999 想将php的error_log 和 slowlog 进行持久化到宿主机 /home/logs目录下, 即php-fpm.log,slow.log redis的log也持久化到/home/logs目录下, 即 redis.log 宿主机上都没有www-data和redis用户,文件读写权限的问题如何处理?
0
1
0
浏览量121
希望奇迹发生_1

js中for与map在返回promise时的区别?

map的回调函数内部用return语句,返回给了map内部的匿名函数,外层的getCapture函数没有接到,所以返回的是空,修改成这样接收: //getCapture函数内部 const mappedResult = result.map(m => { if (m.name === '整个屏幕') { console.log(m) let str = m.thumbnail.crop({x: 0, y: 0, width: 1000, height: 1000}) const imgStr = str.toDataURL() return imgStr } return undefined; }); return mappedResult.find(imgStr => imgStr !== undefined);
0
0
0
浏览量0
希望奇迹发生_1

这段for..in代码的报错原因是?

因为 TS 推断出来的 "this.obj" 只有一个确切的键 "'text'",而 "for...in" 遍历出来的键 "key",类型被推断为 "string",所以 TS 认为 "key" 不是 "this.obj" 的键。 虽然不知道 TS 为啥会这样“睁着眼睛说瞎话”,但事情就是这么个事情。 可以对"key"作类型断言: for(const key in this.obj){ console.log(this.obj[key as keyof typeof this.obj]); } 但是这样的方法显然不甚讨喜,如果仅仅是把 "this.obj" 作为键值对容器使用的话,可以将其类型定义为"Record": { obj:Record = { text: null } }
0
0
0
浏览量0
希望奇迹发生_1

F12抓取,为什么淘宝的登录接口没有响应体数据返回呢?

点击登录后页面重定向或刷新了,所以看不到 "Response",你把 "Preserve log" 选项关掉,这个接口都不会出现在 "Network" 里
0
0
0
浏览量0
希望奇迹发生_1

正则如何完整匹配script标签的中间内容?

属性中含有引号就排除引号干扰 /(]+|"[^"]*")*>)([\s\S]*?)()/g
0
0
0
浏览量0
希望奇迹发生_1

小程序开发者工具用mp-html为什么视频显示不出来?

如题,同样一段html,放在网页用innerHtml是可以正常显示视频的,放到mp-html里就无法正常显示 * 直接用小程序的video也不显示!!!啥情况啊这是 .js onLoad(options) { this.setData({ html:'' }) }, .wxml .json { "usingComponents": { "mp-html":"mp-html" } } 小程序开发工具调试器显示自己去掉了src "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/1d829049c171a0d5f0e3f020d7a39d0c.png)
0
1
0
浏览量117
希望奇迹发生_1

phpstudy卸载了,后来才想起数据库数据还在里面?

今天把phpstudy卸载了想重装一下,忘记数据库文件还在相应的文件夹内,我去一看还好还有这文件,但是我重装phpstudy后发现所有静都打个不开了。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/05a79326fa4a8d17719e58acb71424d0.png) 打开数据库文件每个表有两个文件 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/6273d3c5bd3951dbfb9614291b7b00fb.png) 这怎么恢复数据库数据?
0
1
0
浏览量226
希望奇迹发生_1

Vue 项目刷新页面 #/ 之后的地址丢失怎么办?

按照问题描述中的 "2", "5" 两条,基本上可以判断是你的业务代码出现了问题。 但是没有办法看到具体的项目代码,所以只能建议从一下两个位置着手: 1. 检查路由守卫 2. 检查权限判断相关的业务代码 虽然HTTP服务也有可能,但是我认为大概率不会是这个。 *** 按照补充的复现条件,建议是完成登录之后,在 DevTools 中修改 "storage" 中的 "token",看看是否稳定复现。 至于测试环境没问题,正式环境有问题,可能是由于token过期时间设置的原因。
0
0
0
浏览量0
希望奇迹发生_1

为什么我用render函数渲染自定义组件报错了,页面也渲染不出来,大佬帮忙解答一下?

"h()" 返回的是一个 vnode 对象,也就是个 Object。 你在 template 里 "{{ SomeObject }}" 那就是把它序列化了当字符串显示出来。而 vnode 对象里面有循环引用,当然就报错了。 你要想把 vnode 渲染到 template 里,应该用 "": *** 要是还不理解就看下面的示例。 * 错误写法: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/5b96d89a0e4521e002efcc3a23b86ba5.png) * 正确写法: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/8950423ec3e40812928daab2dc87b8ea.png)
0
0
0
浏览量0

履历