首页 文章 精选 留言 我的

文章列表

共 227905 篇
用AbortController取消fetch请求,同时避免内存泄漏和状态更新

用AbortController取消fetch请求,同时避免内存泄漏和状态更新

在单页应用里,输入框搜索、路由切换、标签页关闭这些场景下,经常出现“上一个请求还没回来,新的请求又发出去了”的情况。如果不取消旧请求,轻则渲染过期数据,重则因为响应回来时组件已卸载,触发 React 的 setState 警告或 Vue 的响应式更新异常。原生的 XMLHttpRequest 有 abort() 方法,但 fetch 在早期并没有提供取消能力...

TypeScript 的 interface 与 type 到底怎么选:一次重构后的取舍记录

TypeScript 的 interface 与 type 到底怎么选:一次重构后的取舍记录

项目里同时存在 interface 和 type 定义,时间一长就出现了同一种结构两种写法混用的情况。平时写业务不会立刻出问题,但到了需要扩展、交叉或做工具类型推导时,两者差异会变得很具体。比如团队成员用 type 定义了一个 API 响应对象,另一个人用 interface 去 extends 它,编译器直接报错;又比如需要给一个联合类型加上额外字段,in...

Vue 3 中 watch 和 watchEffect 的依赖收集差异导致的一个隐蔽 bug

Vue 3 中 watch 和 watchEffect 的依赖收集差异导致的一个隐蔽 bug

在最近维护的一个后台管理项目中,我遇到了一个很典型的问题:一个用于显示用户权限变更的 watch 回调在用户切换角色后偶尔不触发,但刷新页面后又恢复正常。排查后发现根源在于 watch 和 watchEffect 对响应式依赖的收集方式不同——watch 是惰性且显式声明依赖源,而 watchEffect 是立即执行并自动收集所有同步访问的响应式属性。这个差...

一次多 Agent 协作实测:云上产出周报、销售表与汇报幻灯片

一次多 Agent 协作实测:云上产出周报、销售表与汇报幻灯片

把办公文档的生成搬到云上,好处不在于省算力,而在于多 Agent 协作时那套「改动留痕、审阅后再落地」的流程有个稳定落脚点。这次在腾讯云 CVM 上走的是一个很典型的组合任务:一份给管理层的项目周报、一份销售数据表、一套引用表数据的汇报幻灯片。下面把这条链路按插件的公开文档串一遍,并讲清每个环节真实的边界。前提必须如实交代:站点对 dsh-univer-of...

CSS 粘性定位在多滚动容器中的失效原因与修正

CSS 粘性定位在多滚动容器中的失效原因与修正

在后台管理界面或者移动端页面中,经常会出现一个主内容区域内部再嵌套一个独立滚动容器,然后在容器顶部使用 position: sticky 实现吸顶效果。这个场景本身很常见,但真正写起来却容易失败:元素在预期位置没有粘住,或者粘住后立刻被滚走。粘性定位的生效条件比 position: fixed 更隐蔽,它不仅依赖 top 等阈值,还依赖最近的滚动祖先。如果父...

腾讯云 CVM 上跑 dsh-univer-office 的版本与端口要点

腾讯云 CVM 上跑 dsh-univer-office 的版本与端口要点

在腾讯云 CVM 上给 DeepSeek Harness(DSH)加装办公套件,卡住人的往往不是安装命令,而是三件事:DSH 版本、Node 版本、访问入口。dsh-univer-office 把表格、文档、幻灯片、画布与多维表格汇聚到同一个运行时,修改经过校验、变更按版本管理,并以隔离工作树支持多 Agent 协作。一个必须如实说明的前提:站点对这款插件的...

前端如何用 IndexedDB 处理大文件上传的断点续传?

前端如何用 IndexedDB 处理大文件上传的断点续传?

项目里经常遇到需要上传几百兆甚至上 GB 文件的场景,比如视频素材、设计源文件或者数据备份。直接使用 fetch 或者 XMLHttpRequest 上传,一旦网络波动、页面刷新或者用户误关标签页,整个上传就白费了,只能从头再来。常见的解决方案是切片上传配合服务端合并,但切片之后的状态(哪些分片已上传、每个分片的内容)如果只放在内存里,刷新即丢失。Index...

前端防抖节流:从手动实现到 AbortController 取消请求,说清楚几个容易搞混的细节

前端防抖节流:从手动实现到 AbortController 取消请求,说清楚几个容易搞混的细节

输入框搜索联想、窗口 resize 重排、按钮防重复提交这些场景里,防抖和节流几乎是条件反射就会用上的东西。但实际维护项目时我见过不少写法把两者用反,或者只做了延迟执行却忘了取消上一次的定时器。更麻烦的是加入异步请求之后:用户快速输入时,前面的请求可能后返回,把最新结果覆盖掉,表现就是搜索框里内容变了但列表还是旧的。这篇把防抖和节流的区别、可靠的手写实现、t...

React 中 useCallback 和 useMemo 到底该不该加?从一次列表卡顿排查说起

React 中 useCallback 和 useMemo 到底该不该加?从一次列表卡顿排查说起

上周排查了一个后台管理页面的卡顿问题,页面里有一个 200 行左右的数据表格,每行都渲染了一个带删除按钮的操作列。用户点击任意一行删除时,整个表格重新渲染,肉眼可见卡了半秒。打开 React DevTools 的 Profiler 录制后发现,明明只有一行数据变了,所有 200 行组件都重新执行了 render。团队里有人第一反应是“把事件处理函数用 use...

Vue 3 中 watch 和 watchEffect 的竞态问题:如何避免异步请求覆盖

Vue 3 中 watch 和 watchEffect 的竞态问题:如何避免异步请求覆盖

在 Vue 3 项目里用 watch 或 watchEffect 监听响应式数据变化并发送请求,是极其常见的模式。比如搜索框输入时实时查询、切换筛选条件重新拉取列表、路由参数变化后加载详情。一旦处理函数里包含异步操作,就很容易碰到竞态条件:先发出的请求可能比后发出的请求更晚返回,导致旧数据覆盖新数据。这个问题在开发环境和本地接口下往往不易复现,线上网络波动时...

前端路由刷新 404:从 devServer 到 Nginx 的完整排查路径

前端路由刷新 404:从 devServer 到 Nginx 的完整排查路径

单页应用用 history 模式上线后,用户点进二级页面再按 F5,浏览器直接返回 404,这是很常见的部署问题。它通常不是前端代码写错了,而是请求路径 /user/123 被服务器当成了真实目录或文件去查找,服务器找不到对应资源就返回 404。在本地开发时 Vite 或 webpack-dev-server 已经帮我们做了 fallback,所以不容易暴露...

别再在 useEffect 里直接写 async 了:清理函数、竞态和依赖项的真实处理

别再在 useEffect 里直接写 async 了:清理函数、竞态和依赖项的真实处理

React 的 useEffect 里用 async 函数获取数据这个写法,几乎每个项目里都能见到。大多数情况下页面看起来正常,但遇到路由快速切换、搜索框连续输入或者组件卸载时,控制台就会抛出警告,甚至出现旧请求覆盖新结果的情况。问题根源在于 useEffect 的副作用函数必须返回 undefined 或清理函数,而 async 函数永远返回 Promis...

在移动端 H5 里用 CSS 自定义属性实现主题切换,为什么 vh 和 rem 会互相干扰?

在移动端 H5 里用 CSS 自定义属性实现主题切换,为什么 vh 和 rem 会互相干扰?

做过移动端 H5 主题切换的人大概率踩过这个坑:用 CSS 自定义属性定义一套颜色变量,挂在 :root 上,然后靠切换 data-theme 来换肤,桌面浏览器和手机模拟器里都正常。可一旦放到真机上,尤其是 iOS Safari 和部分 Android 内置浏览器,页面在滚动地址栏收起/展开时,用了自定义属性的元素会出现高度跳变,或者 rem 计算出来的间...

Java转go,我用了12小时,10小时在解决环境问题

Java转go,我用了12小时,10小时在解决环境问题

一直在用Intelij Idea作为IDE进行开发。换了GO语言,我知道Intelij Idea是有go插件的,所以打算直接安装插件,不换工具。安装好插件后,make install执行都是正常的,就是引入包看着是标红的。这会对开发有极大影响:本身不熟悉这个语言,需要点击函数名直接定位到函数里面来跟踪源码,同时需要debug等手段定位问题。

改了 0 处却报成功:舞台工艺 Word 海量表格的 python-docx 安全改写实战

改了 0 处却报成功:舞台工艺 Word 海量表格的 python-docx 安全改写实战

你手里有一份篇幅不短的技术 Word——机械参数表、电气回路表、灯具点位表、验收记录表、材料清单一层层摞下来,表格数量上百。现在要统一一处表述:把散落在各张表里的旧术语改成新术语,或者把某个已作废的参数写法改成引用新条款的写法。用 Word 手工查找替换当然能做,但一键替换会把正文里的同名内容也改掉,还会顺手破坏表格样式,所以你决定写脚本。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册