首页 文章 精选 留言 我的

文章列表

共 218050 篇
极简产品目录与询盘工具的机会

极简产品目录与询盘工具的机会

有家爱尔兰的小微企业一直在用Shopify搭建产品展示页。网站运转良好,图文排版专业,也确实带来了稳定的询盘和订单。但整个交易链条里,购物车和结算系统完全是闲置的。买家浏览产品细节,点击询价表单,店主收到需求后离线发报价单,双方在线下沟通付款。这家店每年为Shopify支付超过三百欧元的订阅费,如果想为新业务多开几个站点,这笔支出就会成倍增加。

用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...

资源下载

更多资源
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等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册