稀土掘金 稀土掘金
    • 首页
    • 沸点
    • 课程
    • 数据标注 HOT
    • AI Coding
    • 更多
      • 直播
      • 活动
      • APP
      • 插件
    • 直播
    • 活动
    • APP
    • 插件
      • 搜索历史 清空
        • 写文章
        • 发沸点
        • 写笔记
        • 写代码
        • 草稿箱
        创作灵感 查看更多
  • 后端
  • 前端
  • Android
  • iOS
  • 人工智能
  • 开发工具
  • 代码人生
  • 阅读
  • Decorator:不用继承,也能叠 Buff
    你有没有碰到过这种场景:一个请求发出去之前,要加 token、要加日志、要加缓存、要加重试……每加一个能力,就想多写一个子类或者一个 if 分支? 加到第四个的时候,你开始怀疑人生。 这不是你的问题。
    • 拓荒牛儿
    • 2天前
    • 8
    • 点赞
    • 评论
    前端 设计模式
  • Adapter:变化该放在哪层?
    你有没有遇到过这种场面:后端接口返回了一个巨大的 JSON,字段名跟你的组件 props 完全对不上,你只好在每个组件里写一堆 data.user_info.bindPhone → phone 的映射
    • 拓荒牛儿
    • 2天前
    • 5
    • 点赞
    • 评论
    前端
  • useEffect,你可能根本不需要
    如果你做过 React 代码评审,大概率见过这种场面:一个组件里塞了五六个 useEffect,有的在"同步"派生值,有的在"监听" props 变化后 setState,有的在事件触发后绕一大圈才执
    • 拓荒牛儿
    • 2天前
    • 5
    • 点赞
    • 评论
    前端 前端框架
  • useMemo,真的该到处用吗?
    如果你做过 React 代码评审,大概率见过这种场面:一个组件里密密麻麻十几个 useMemo,连 !data.length 这种一步到位的布尔判断都要包一层。 问写的人为什么,答案通常是:"性能优化
    • 拓荒牛儿
    • 2天前
    • 4
    • 点赞
    • 评论
    前端
  • useRef,到底在 ref 什么?
    你一定写过这种代码:一个 setInterval 跑起来之后,想在另一个函数里 clearInterval——然后发现,那个 interval ID 找不到了。 放到 state 里?每次更新都会触发
    • 拓荒牛儿
    • 2天前
    • 6
    • 点赞
    • 评论
    前端 前端框架
  • 参数太多,构造函数快炸了?
    你大概写过这种代码:一个函数接收十几个参数,其中大半是可选的,调用的时候一堆 null, undefined, false, null 排成一行,连你自己都看不清第 7 个参数到底控制什么。 这不是你
    • 拓荒牛儿
    • 2天前
    • 5
    • 点赞
    • 评论
    前端 JavaScript 设计模式
  • 请求慢,到底慢在哪一步?
    后端同事说"接口 50ms 就返回了",你说"我这边要 3 秒才拿到数据"——然后两人面面相觑,谁也没说错,但问题悬在空中。 这种对话之所以卡住,是因为你们在用"总耗时"对话,而没有把一次请求拆开看。
    • 拓荒牛儿
    • 2天前
    • 5
    • 点赞
    • 评论
    前端
  • 前端双Token机制无感刷新(二)
    前端双Token机制无感刷新原理与关键点详解 目录 为什么需要双Token机制 Access Token 与 Refresh Token 的角色分工 完整刷新流程 核心实现:请求拦截器与响应拦截器 并
    • 小小小小宇
    • 2天前
    • 99
    • 点赞
    • 评论
    前端
  • “这里该不该用单例?”—— 一个值得收藏的前端决策框架
    很多前端第一次看到单例模式,都会觉得这东西很简单——"就是让一个类只能 new 一次嘛"。 然后就在面试里背下了 if (instance) return instance 这行代码,以为掌握了一个设
    • 拓荒牛儿
    • 2天前
    • 5
    • 点赞
    • 评论
    前端 JavaScript 架构
  • 里程碑三:基于 Vue3 领域模型架构建设
    在前端开发的日常工作中,可能会出现不同模块,功能却大致相同的需求。在没有针对这种场景做相应的对策,会导致大部分时间去重复 CRUD 增加、读取、更新这种 🐮🐴 活。。该如何应对。。。
    • 画画的阿飞
    • 2天前
    • 64
    • 1
    • 评论
    前端 Node.js
  • 地址栏的那个小锁到底在锁什么?
    你在地址栏看到一把小锁🔒,然后就放心了。 但你有没有想过:这把锁,到底在锁什么?它凭什么值得你信任? 大多数前端开发者对 HTTPS 的理解停在"有证书 = 安全"。但真实世界里,接口 502 查到最
    • 拓荒牛儿
    • 2天前
    • 5
    • 点赞
    • 评论
    前端
  • HTTPS 为什么慢?拆开 TLS 握手看
    你在地址栏输入一个 HTTPS 网址,按下回车。页面白了一会儿,然后内容才开始出现。 你知道这段等待里有 DNS 查询、有 TCP 三次握手。但还有一段"隐形开销"经常被忽略——TLS 握手。它不传任
    • 拓荒牛儿
    • 2天前
    • 6
    • 点赞
    • 评论
    前端
  • 工厂模式不是语法糖,是接线盒
    你有没有写过这种代码:在三个不同的页面里,分别用 if/else 判断当前环境,然后创建不同的 service 实例? 第一次写的时候没觉得有问题。等第四个页面也需要同样的判断,你才意识到:这些分支逻
    • 拓荒牛儿
    • 2天前
    • 6
    • 点赞
    • 评论
    前端
  • 别急着抽象,先让代码重复一会儿
    你一定听过"DRY"——Don't Repeat Yourself。然后你做了一件每个开发者都做过的事:看到两段相似的代码,二话不说提取成公共函数。 三个月后,你站在那个函数面前,盯着 8 个参数和
    • 拓荒牛儿
    • 2天前
    • 6
    • 点赞
    • 评论
    前端
  • Flutter Provider原理以及用法
    Provider 是 Flutter 官方推荐的状态管理方案之一。它的核心原理是依赖 InheritedWidget 实现数据在组件树中的高效向下传递,同时结合观察者模式,让数据变化时,只有依赖该数据
    • 用户游民
    • 2天前
    • 71
    • 点赞
    • 评论
    前端 Flutter
  • 从LLM到3D物理世界:下一代AI原生开发,正在通往AGI与工业4.0
    本文干货:AI原生开发逻辑 + 前端轻量化3D数字世界落地 + LLM本质拆解 + AI Codin
    • anno
    • 2天前
    • 15
    • 点赞
    • 评论
    three.js
    从LLM到3D物理世界:下一代AI原生开发,正在通往AGI与工业4.0
  • 自定义 Hook,不是少写几行代码
    如果你做过 React 代码评审,大概率见过这种场面:一个组件里塞了三四个 useEffect,有监听窗口大小的、有轮询接口的、有订阅 WebSocket 的——整个组件像一台裸露的机房,线缆横七竖八
    • 拓荒牛儿
    • 2天前
    • 7
    • 点赞
    • 评论
    前端
  • useEffect 的正确打开方式
    如果你做过 React 代码评审,大概率见过这种场面:一个组件里塞了七八个 useEffect,每个都在监听某个 state,然后 setState 触发下一个 Effect——整个组件像一台鲁布·戈
    • 拓荒牛儿
    • 2天前
    • 8
    • 点赞
    • 评论
    前端
  • TCP 凭什么敢说「可靠」?
    你在浏览器地址栏输入一个网址,按下回车。页面几秒后出现了。 在这"几秒"里,你的数据穿越了光纤、路由器、海底光缆,途中可能被丢弃、被打乱顺序、被延迟——但你收到的页面完好无损。 这背后站着一个 50
    • 拓荒牛儿
    • 2天前
    • 3
    • 点赞
    • 评论
    前端
  • 组件化,是在破坏分层吗?
    如果你做过 React 或 Vue 的代码评审,大概率见过这种争论: "为什么要把 HTML、CSS、JS 写在一个文件里?这不是违反了关注点分离吗?" 这个问题困扰了很多前端开发者。今天来把它彻底讲
    • 拓荒牛儿
    • 2天前
    • 4
    • 点赞
    • 评论
    前端
  • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30