当前位置: 首页 > article >正文

开发小记-开发中的小随笔

1. josn字符串转换JSON.stringify(data) 直接这样转会是一整行的字符串。JSON.stringify(data, null, 2); 这样转就会转成格式化的换行的标准json字符串方便展示diff2. 毫秒时间戳转换需要将字符串‘2025-04-01’转换为整型时间戳类似1744041600:秒级时间戳第一种Math.floor(new Date(createTime?.[0]).getTime() / 1000)第二种moment(createTime?.[1]).unix()毫秒级时间戳用秒级*1000:new Date(createTime?.[0]).getTime()moment(createTime?.[1]).unix()*10003. 修改不可变数组中元素对象嵌套的数组失败oneApiMap: [ { api: master, screenApi: [{}, {}] } ] // 需修改其中的screenApi // 这样写screenApi是没办法修改成功的 const oneApiMapCopy [...oneApiMap]; // const oneApiMapCopy是不可变的 oneApiMapCopy[0].screenApi list?.slice(0, 50); // 改成如下使用扩展运算符修改不可变数组中对象的数组 const oneApiMapCopy [...oneApiMap]; oneApiMapCopy[0] {...oneApiMapCopy[0], screenApi: [...list?.slice(0, 50)]}4. 接口传参中文会被转义utf8用decodeURIComponent方法包裹参数filters: decodeURIComponent(queryString.stringify(omitBy( { kind: Template, metadata.name: serviceName, category: type all ? null : type, }, isEmpty, )).replace(, ,)),5. 阻止promise内部执行直接定义这个方法会导致方法直接被调用每次页面渲染都会重复调用const queryConfigRevisionDetail (revision: string) apiGetRequest(/api/v1/configrevisions/${revision}, { project: appName, labels[cloud]: main, labels[env]: diffEnv || defaultEnv, }, )为了在需要的时候再调用queryConfigRevisionDetail函数并且阻止其内部的 Promise 立即执行可以将该函数封装在一个返回函数的函数中。这样你就可以控制何时实际发起 API 请求。const queryConfigRevisionDetail (revision: string) { return () apiGetRequest(/api/v1/configrevisions/${revision}, { project: appName, labels[cloud]: main, labels[env]: diffEnv || defaultEnv, }, )}6. 深拷贝如果直接将一个对象赋值给另一个对象如{ draftConfig: {...latestConfig} }确实会创建一个新的对象。但是如果latestConfig内部包含可变的数据结构比如数组或另一个对象那么即使使用了扩展运算符...来浅拷贝latestConfig到draftConfig这些内部的可变数据结构仍然会被两者共享。因此对其中一个进行修改可能会影响另一个。为了避免这种情况确保深层复制整个对象是一个好的做法。你可以使用JSON的序列化和反序列化方法来实现深拷贝或者利用一些库如lodash提供的cloneDeep()函数来进行深度克隆。// 使用JSON这种方法简单易行但需要注意的是它不能处理函数和循环引用的对象。 setState({ draftConfig: JSON.parse(JSON.stringify(latestConfig)) }); // 使用 lodash 库 setState({ draftConfig: cloneDeep(latestConfig) });7. TypeError: Cannot assign to read only propertyconst newValue { ...configs }; set(newValue, spec.tolerations, tolerations);问题的根本原因是configs对象或其嵌套属性是只读的不可扩展或冻结。即使通过{ ...configs }创建了一个浅拷贝的新对象嵌套属性仍然可能继承了原始对象的只读特性。解决深拷贝整个对象const newValue cloneDeep(configs) ?? {}; set(newValue, spec.tolerations, tolerations);8. 部署预发一直失败任务超时测试部署 jiuzhou的包体积优化 到预发一直失败但没有日志报告具体错误原因。webpack-bundle-analyzer会起一个本地server所以一直不会停导致雨燕部署任务超时从而失败。9. 页面一直在反复刷新在package.json的执行命令中添加HMRnone10. tnpm install 报错尝试删除 node_modules 文件夹并重新运行 tnpm install 命令rm -rf node_modules npm install11. vscode复制粘贴后光标不正常的问题如果你在Visual Studio Code中遇到复制粘贴后光标行为不正常的问题如变成粗光标、下划线无法输入等这可能是由于某些插件影响所致。一个常见的原因是启用了Vim插件。Vim插件会改变VSCode的默认编辑模式使得常规的编辑操作如使用箭头键移动光标、插入文本等行为不同于标准的编辑器模式。解决禁用Vim插件12. 某个页面一直加载不出来必须点击检查中的Network-fast 3G才能正常加载请求渲染页面safari正常打开google打开其他网页也正常找不到原因可能是在调试时点了network的某个设置这时可以对google恢复默认设置。这不会丢失保存的书签和安装的扩展。13. typescript-fsa安装了该模块依然提示找不到清除缓存重新运行一般就好了特别是 cloudIDE不稳定:rm -rf node_modules/.cache src/.umi src/.umi-production 清除缓存重启服务还是不行就试试配置config.ts extraBabelIncludes: [typescript-fsa]14. 线上有问题但是线上同一分支在本地运行代理没问题这可能是线上某个依赖包更新了本地删除node_modules .umirm -rf node_modules/.cache src/.umi src/.umi-production重新安装依赖tnpm install就能复现问题15. 引用的文件全都提示报错- 在 VSCode 中按 CmdShiftP → 输入 TypeScript: Restart TS Server- 如果还是报错按 CmdShiftP → 输入 Developer: Reload Window- 如果依然报错关闭 VSCode 后删除项目下的 .umi 目录然后重新打开 VSCode 并执行 npx bigfish dev 让 .umi 重新生成16. TypeScript报错解决出现无法复现的 ts 错误请先确定一下 vscode / cloudide 使用的 ts 版本比如如下一个错误 王琦 的 cloudide 里面提示说 ProColumns 的定义找不到。但是在 迫风 本地的 vscode 里面就没有这个错误。debug 后发现原因是王琦同学的 cloudide 使用的 vscode 版本比较低3.7而ant-design/pro-tables使用了 3.8 的新语法import type。下图展示了王琦同学使用的版本为了更改编辑器使用的 ts 版本请点击右下角的那个版本号然后在提示框中选择最新的版本

相关文章:

开发小记-开发中的小随笔

1. josn字符串转换 JSON.stringify(data) 直接这样转,会是一整行的字符串。 JSON.stringify(data, null, 2); 这样转就会转成格式化的换行的标准json字符串,方便展示diff 2. 毫秒时间戳转换 需要将字符串‘2025-04-01’转换为整型时间戳,…...

NoFences:如何用免费开源方案革命性管理你的Windows桌面分区

NoFences:如何用免费开源方案革命性管理你的Windows桌面分区 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否厌倦了在杂乱无章的Windows桌面上寻找文件&…...

【Perplexity医生信息搜索实战指南】:3大隐藏技巧让临床决策效率提升70%

更多请点击: https://kaifayun.com 第一章:Perplexity医生信息搜索实战指南概述 Perplexity 是一款基于大语言模型的智能搜索工具,其核心优势在于支持自然语言提问、实时联网检索与引用溯源。在医疗健康领域,尤其面向医生资质核查…...

【2026最新版Linux安装Mysql】CentOS 7 安装 MySQL 8.4.9 完整流程(RPM 手动安装+避坑+面试)

前言:本文记录在 CentOS 7 / RHEL 7 上,通过官网 RPM Bundle tar 包手动安装 MySQL 8.4.9(LTS) 的完整可复现流程。适合需要在老版本 CentOS 上部署 MySQL、为 Python/AI 后端或 Java 项目准备数据库环境的读者。读完可按步骤完成…...

Perplexity财经数据查询失效的4个致命信号,第3个95%用户仍在踩坑——附权威校验脚本(Python版)

更多请点击: https://kaifayun.com 第一章:Perplexity财经数据查询失效的4个致命信号,第3个95%用户仍在踩坑——附权威校验脚本(Python版) 信号一:HTTP状态码非200但响应体含“success”: true Perplexit…...

PNetLab-vs-EVE-NG安全性分析

1 PNetLab vs EVE-NG社区版:从一次CVE看"免费fork"的安全代价 1.1 痛点引入 2025年11月,CVE-2025-63749被公开披露——PNetLab 5.3.11存在命令注入漏洞,攻击者通过qemu_options参数注入$(/bin/bash -c reverse_shell),…...

毕业设计 深度学习多目标跟踪 实时检测

文章目录 0 前言2 目标跟踪效果3 目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 0 前言 🔥 今天学长向大家分享一个毕业设计项目 为了大家能够顺利以及最少的精力通过毕设&…...

TP-LINK AX300 网卡驱动

TP-LINK AX300无线网卡的驱动一直不更新,只好自己动手 适配:TL-XDN6000H 免驱版 操作系统:Ubuntu 24.04.4 LTS 内核版本:6.17.0-29-generic #29~24.04.1-Ubuntu https://download.csdn.net/download/zzzhy/92882718...

6 个 AI Agent Skill 实战推荐:每天省出 2 小时的自动化方案

引言Agent 能帮我们做的事越来越多 -- 写文案、做封面、盯数据、找选题。但很多人装上 Agent 之后发现,它除了聊天和写几段文案,好像什么也干不了。问题不在 Agent。就像刚买回来的手机,没装 App 之前就是块砖。Agent 出厂自带的能力有限&…...

避开CASA模型NPP估算的那些坑:我的IDL代码调试与参数优化心得

避开CASA模型NPP估算的那些坑:我的IDL代码调试与参数优化心得 第一次用CASA模型估算NPP时,我对着屏幕上的异常结果发呆了半小时——明明按照教程一步步操作,为什么输出的NPP值会出现大面积负值?后来才发现,温度胁迫因子…...

RAG夺命10连问,你能抗住第几问?

前言最近金三银四,很多小伙伴在准备大厂面试,几乎每个人都被问到了同一个技术点——RAG(检索增强生成)。从阿里到字节,从腾讯到美团,RAG已经成为大模型应用方向必考的“压轴题”。但是,很多求职…...

高并发下是先写数据库,还是先写缓存?

前言 数据库和缓存(比如:redis)双写数据一致性问题,是一个跟开发语言无关的公共问题。尤其在高并发的场景下,这个问题变得更加严重。 我很负责的告诉你,该问题无论在面试,还是工作中遇到的概率…...

G101EVT05.1友达液晶屏10.1寸LCD工业电阻触摸液晶屏幕

G101EVT05.1 G101EVT05.1是友达AUO的一款10.1英寸工业触摸液晶屏模组。公开资料显示,这款屏采用1280800分辨率、16:10比例、400cd/m典型亮度、LVDS接口、WLED背光、投射式电容触摸屏PCAP,整体更偏向工业平板、HMI、人机界面、医疗终端、嵌入式控制设备&a…...

开启AI端侧能源新纪元 豪鹏科技亮相CIBF 2026

导读:豪鹏科技锚定“AI端侧电池固态电池”双轮驱动核心路径,完成从传统电池制造商到AI端侧能源引领者的跨越式转型,以硬核技术与前瞻布局,领航端侧能源产业迈向高质量发展新征程。以下为文章正文:图片来源于电池百人会…...

Perplexity图标搜索效率提升300%:从零配置到精准获取的5步实战工作流

更多请点击: https://kaifayun.com 第一章:Perplexity图标资源搜索 在构建与 Perplexity AI 集成的前端应用或开发调试工具时,获取其官方图标资源是品牌一致性与用户体验的关键环节。Perplexity 官方未提供公开的图标下载中心,但…...

别再让烙铁头‘烧死’了!手把手教你电烙铁日常保养与复活术(附温度设置建议)

电烙铁头养护全攻略:从氧化原理到实战修复技巧 1. 烙铁头氧化背后的科学原理 烙铁头氧化并非单纯由高温引起,而是高温与氧气共同作用的结果。当烙铁头暴露在空气中时,高温会加速金属表面与氧气的化学反应,形成一层致密的氧化层。这…...

告别抓包烦恼:用Mitmproxy + Python脚本自动解密App接口数据(保姆级实战)

移动端App接口数据解密实战:Mitmproxy与Python自动化逆向分析 在移动应用安全测试和逆向工程领域,App与服务器之间的加密通信一直是分析人员的重点攻克对象。当面对一个网络请求被深度加密的App时,传统抓包工具往往只能展示一堆"乱码&qu…...

Hyper-V虚拟机文件迁移避坑指南:从C盘挪走Ubuntu,释放系统盘空间

Hyper-V虚拟机文件迁移实战:安全释放C盘空间的完整方案 当你在Windows系统上使用Hyper-V运行Ubuntu虚拟机时,是否注意到C盘空间正在被悄悄吞噬?许多技术爱好者初次接触Hyper-V时,往往直接采用默认设置,将所有虚拟机文件…...

别再只会调库了!用NumPy手搓SMOTE算法,从原理到代码保姆级拆解

从零实现SMOTE算法:用NumPy彻底掌握类别不平衡处理技术 在数据科学项目中,我们常常会遇到类别不平衡问题——某些类别的样本数量远少于其他类别。这种不平衡会导致模型过度关注多数类而忽略少数类。传统解决方案如随机过采样可能引发过拟合,而…...

告别日志脱敏烦恼:手把手教你用sensitive注解优雅保护用户隐私数据

优雅实现日志脱敏:基于注解的隐私数据保护实战指南 在金融、电商等强合规领域,用户隐私数据保护早已从"可选"变为"必选"。每次看到同事在代码中手动拼接"手机号:"user.getPhone().substring(0,3)"****&qu…...

tRPC全栈类型安全实战

tRPC全栈类型安全实战:告别API类型地狱,TypeScript前后端零成本类型共享 摘要:在全栈TypeScript项目中,前后端类型不同步是最常见的Bug来源之一。tRPC通过编译时类型推导,实现了端到端的类型安全——前端调用后端API就像调用本地函数一样,类型自动推导、错误提前暴露。本…...

Perplexity症状查询功能性能对比白皮书:横向测试12家竞品,它在罕见病关键词召回率上领先41.6%,但时间敏感场景响应超时率达23.8%

更多请点击: https://intelliparadigm.com 第一章:Perplexity症状查询功能概览 Perplexity 是一款面向开发者与临床信息学研究人员设计的轻量级症状语义推理工具,其核心能力在于将自然语言描述的症状短语映射至标准化医学本体(如…...

紧急!你的灵感工作流正在被Perplexity范式淘汰:3个信号预警+2天迁移 checklist(含Prompt审计表)

更多请点击: https://codechina.net 第一章:紧急!你的灵感工作流正在被Perplexity范式淘汰:3个信号预警2天迁移 checklist(含Prompt审计表) 当你反复修改同一个提示词却仍得不到结构化输出,当团…...

TVBox 最新版本 | 接口持续更新 | 追剧稳定不失效

分享一个自用很久、一直在持续维护更新的 TVBox 版本,主打稳定、流畅、长期可用,接口会定期更新,避免失效问题。 🔥资源特点 精准区分 64 位新设备 / 32 位老设备,安装更适配全设备兼容:电视、盒子、手机…...

技术文档检索总失败?Perplexity的chunking策略、embedding模型选型与rerank阈值调优(附实测Benchmark数据)

更多请点击: https://codechina.net 第一章:技术文档检索总失败?Perplexity的chunking策略、embedding模型选型与rerank阈值调优(附实测Benchmark数据) 技术文档检索失败常源于文本切分不合理、语义表征能力不足或重排…...

深度解读|当增强现实遇上美妆教学:帕克西的AR美妆实训解决方案

在职业院校的形象设计、美容化妆等专业中,实训教学长期面临耗材成本高、练习机会有限、考核标准难量化等难题。学生每练习一次就消耗一次化妆品;教师逐个检查妆容步骤,费时费力。 增强现实(AR)技术的介入,正…...

GitHub项目改名后,本地仓库如何无缝衔接?保姆级操作指南(含常见错误排查)

GitHub项目改名后本地仓库无缝衔接全攻略:从原理到实战 当你兴冲冲地在GitHub上给项目改了个更酷的名字,回到命令行却看到一堆红色报错信息时,那种感觉就像搬家后发现自己忘带钥匙。本文将带你深入理解Git远程仓库的连接机制,并提…...

告别GUI框架:在嵌入式Linux上用framebuffer手撸一个简易绘图库(附完整代码)

告别GUI框架:在嵌入式Linux上用framebuffer手撸一个简易绘图库 在资源受限的嵌入式Linux环境中,图形界面开发往往面临两难选择:要么使用Qt、SDL等重型框架消耗宝贵的内存和CPU资源,要么放弃图形功能转向纯命令行交互。本文将为开发…...

别只盯着TPS!用JMeter汇总报告做一次完整的性能瓶颈分析实战

别只盯着TPS!用JMeter汇总报告做一次完整的性能瓶颈分析实战 在性能测试领域,JMeter的汇总报告(Summary Report)是最常用的监听器之一,但很多测试工程师往往只关注其中的TPS(每秒事务数)指标&am…...

终极指南:如何一键重置JetBrains IDE试用期,免费获得全新30天评估时间

终极指南:如何一键重置JetBrains IDE试用期,免费获得全新30天评估时间 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter JetBrains IDE试用期重置是每个开发者都需要的实用技能,当…...