<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fineworkmanship的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fineworkmanship</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fineworkmanship]]></copyright><item><title><![CDATA[DBeaver 下载镜像(快)]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/159931562</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/159931562</guid><author>fineworkmanship</author><pubDate>Tue, 07 Apr 2026 22:24:43 +0800</pubDate><description><![CDATA[清华大学镜像站提供DBeaver最新版本下载，地址为https://mirrors.tuna.tsinghua.edu.cn/github-release/dbeaver/dbeaver/LatestRelease/os，下载速度极快。]]></description><category></category></item><item><title><![CDATA[面试官：useMemo和useCallback有什么区别？我：就这？3分钟让你从入门到精通！]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/150087281</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/150087281</guid><author>fineworkmanship</author><pubDate>Sat, 09 Aug 2025 01:51:14 +0800</pubDate><description><![CDATA[React Hooks中useMemo和useCallback的性能优化作用：useMemo用于缓存计算结果，适合处理复杂计算和大数据操作，仅在依赖项变化时重新计算；useCallback用于缓存函数引用，特别适合作为props传递的事件处理器，避免子组件不必要的重渲染。两者都能有效减少不必要的计算和渲染，提升组件性能。useMemo优化计算密集型任务，useCallback优化函数引用稳定性，是React性能优化的重要工具。]]></description><category></category></item><item><title><![CDATA[Umi 和 Vite 的终极对决：谁更适合你的团队？]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/150086101</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/150086101</guid><author>fineworkmanship</author><pubDate>Sat, 09 Aug 2025 01:03:14 +0800</pubDate><description><![CDATA[2024年前端构建工具调研显示，Vite凭借ESM原生支持和闪电般的HMR成为60%新项目的选择，而Umi仍占据企业级市场主导地位。两者各有优势：Vite在开发体验和轻量级项目上表现优异，Umi则更适合复杂业务场景和稳定构建。技术选型应基于项目需求：追求开发速度选Vite，需要成熟企业级方案选Umi。建议新项目尝试Vite，存量项目无需强迁，未来Vite生态或将持续增长。]]></description><category></category></item><item><title><![CDATA[【效率升级】vue-hooks-plus 在开发中的妙用：告别重复逻辑！]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/149789597</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/149789597</guid><author>fineworkmanship</author><pubDate>Wed, 30 Jul 2025 23:51:06 +0800</pubDate><description><![CDATA[《vue-hooks-plus：Vue3开发的Hooks利器》摘要：本文介绍专为Vue3打造的Hooks工具库vue-hooks-plus，它基于CompositionAPI提供50+高质量Hook，解决传统开发的三大痛点：1）通过自定义Hook实现逻辑复用，告别Mixins命名冲突；2）采用函数式编程风格组织代码，解决OptionsAPI的碎片化问题；3）内置自动清理机制，简化副作用管理。重点解析了核心Hook——useRequest的强大功能，包括自动请求、轮询、缓存、错误重试等网络请求场景的完整解决方]]></description><category></category></item><item><title><![CDATA[xlsxjs 导出excel文件 简易上手]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/134017857</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/134017857</guid><author>fineworkmanship</author><pubDate>Tue, 24 Oct 2023 17:46:12 +0800</pubDate><description><![CDATA[xlsxjs 导出excel文件 简易上手。]]></description><category></category></item><item><title><![CDATA[js 去掉字符串中的空格和换行符 正则匹配]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/130831971</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/130831971</guid><author>fineworkmanship</author><pubDate>Tue, 23 May 2023 17:34:30 +0800</pubDate><description><![CDATA[本文介绍了JavaScript中处理字符串空格和换行的常见方法。在开发中，API数据、用户输入等场景常包含多余的空格和换行符，需要规范化处理。示例展示了使用replace()方法配合正则表达式，逐步去除字符串中的空格(\s)、换行符(\r\n)以及同时清除两者的技巧。这些基础字符串操作是JS开发者必备技能，能有效提升数据处理的规范性和准确性。]]></description><category></category></item><item><title><![CDATA[vscode 旧版本]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/129564093</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/129564093</guid><author>fineworkmanship</author><pubDate>Wed, 15 Mar 2023 18:51:56 +0800</pubDate><description><![CDATA[vscode 旧版本]]></description><category></category></item><item><title><![CDATA[正则--大于0小于100 及 大于0小于1000 的正整数或小数点位数限制]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/128811848</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/128811848</guid><author>fineworkmanship</author><pubDate>Tue, 31 Jan 2023 09:39:06 +0800</pubDate><description><![CDATA[数值正则匹配]]></description><category></category></item><item><title><![CDATA[css 文字超出隐藏]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/127699500</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/127699500</guid><author>fineworkmanship</author><pubDate>Sat, 05 Nov 2022 08:52:44 +0800</pubDate><description><![CDATA[css 样式分享]]></description><category></category></item><item><title><![CDATA[form表单 异步校验 防抖]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/127612155</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/127612155</guid><author>fineworkmanship</author><pubDate>Mon, 31 Oct 2022 11:37:22 +0800</pubDate><description><![CDATA[form  自定义防抖校验  异步请求接口]]></description><category></category></item><item><title><![CDATA[nginx（window配置）]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/124632933</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/124632933</guid><author>fineworkmanship</author><pubDate>Sat, 07 May 2022 16:40:03 +0800</pubDate><description><![CDATA[本文介绍了Nginx的安装、启动与基本配置流程。包括下载解压、启动服务、验证运行状态、停止服务的两种方式，以及修改配置文件和页面内容的方法。同时说明了服务重启和配置重载的命令，并强调需根据实际项目进行个性化配置，为初学者提供了简明的基础使用指南。
]]></description><category></category></item><item><title><![CDATA[for和forEach的区别]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/123781050</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/123781050</guid><author>fineworkmanship</author><pubDate>Sun, 27 Mar 2022 20:59:30 +0800</pubDate><description><![CDATA[for和可以直接从下标指定的位置开始循环，forEach直接操作不能根据下标选择。


for(let i=0;i&lt;data.length;i++) { //可以修改i值来决定开始循环的位置
    console.log(i)
}

data.forEach((item,index)=&gt; {
 console.log(item,index) //item代表每一项，index是下标
})


直接操作数组可以选用forEach因为少很多代码量。

for的使用倒循环


for(let i =]]></description><category></category></item><item><title><![CDATA[双数组去重（filter or for）重复保留一个and重复全部删除]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/123333647</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/123333647</guid><author>fineworkmanship</author><pubDate>Mon, 07 Mar 2022 16:59:23 +0800</pubDate><description><![CDATA[模拟数据



let list = [
    {
      id: 0,
      price: "4800",
      name: "剑圣",
    },
    {
      name:'赵信',
      id:1，
      price: "3600"
    }
]

let list1 = [
    {
      id: 0,
      price: "4800",
      name: "剑圣",
    },
    {
      name:'赵信',
    ]]></description><category></category></item><item><title><![CDATA[axios属性篇]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/123247903</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/123247903</guid><author>fineworkmanship</author><pubDate>Thu, 03 Mar 2022 10:46:49 +0800</pubDate><description><![CDATA[属性


baseURL:'http://localhost:8080', //请求的域名，基本地址
timeout:5000, //请求的超时时长，单位毫秒
url:'/data.json', //请求的路径
method:'get，post，put，patch，delete' , //请求类型
headers:{
 token:'' //比如token登录鉴权，请求的时候携带token，让后端识别登录人的信息
},  //请求头
params:{}, //请求参数拼接在URL上
...]]></description><category></category></item><item><title><![CDATA[axios拦截器]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/123246103</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/123246103</guid><author>fineworkmanship</author><pubDate>Thu, 03 Mar 2022 10:30:57 +0800</pubDate><description><![CDATA[axios拦截器]]></description><category></category></item><item><title><![CDATA[程序员迷茫=》进阶]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/123233301</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/123233301</guid><author>fineworkmanship</author><pubDate>Wed, 02 Mar 2022 16:39:20 +0800</pubDate><description><![CDATA[如何快速成长为技术大牛？想必很多朋友对这个比较感兴趣，我们来聊聊。

3 个误区


	拜大牛为师，通常大牛都比较忙，并没有太多时间花在你身上，很多团队大牛并不多，所以如果想成为大牛还是得靠自己
	
	
	认为业务代码没啥技术难度，而好的业务代码一样可以有各种技巧，例如可以使用各种封装、抽象，使得业务代码更有扩展性，可以和产品多交流，以便更好的理解和实现业务，总之，业务代码都写不好，是成不了大牛的
	
	
	上班太忙，没有时间学习，这是最大的借口，如果你上班，都是一些重复性的工作，要想提升自己，必须花时间去]]></description><category></category></item><item><title><![CDATA[程序员待自下往上管理]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/123233181</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/123233181</guid><author>fineworkmanship</author><pubDate>Wed, 02 Mar 2022 16:12:45 +0800</pubDate><description><![CDATA[任何一个组织都存在上下级关系，在大家心中，上级管下属天经地义。所以这篇文章的标题《管理你的上级领导》，很稀奇，甚至有点匪夷所思。



那为什么还要管理上级呢？



很多粉丝都问过我，“袁总，我已经工作5年了，我还在底层做一线码农，我能力很强，为啥我总是得不到领导的重视？”，我观点很明确是：技术能力固然重要，但是软能力同样重要。技术能力和软能力，就像是技术人的两条腿，缺了任何一个，都不能持续向前。



而管理上级领导就是软能力中最重要的能力之一。



”管理上级领导“字面很容易理解偏差，当然不是让你去]]></description><category></category></item><item><title><![CDATA[Draggable拖拽+Collapse使用（不一样的手风琴）]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/123231475</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/123231475</guid><author>fineworkmanship</author><pubDate>Wed, 02 Mar 2022 15:54:30 +0800</pubDate><description><![CDATA[拖拽手风琴]]></description><category></category></item><item><title><![CDATA[js树结构--过滤数据（查找，筛选）]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/123064326</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/123064326</guid><author>fineworkmanship</author><pubDate>Tue, 22 Feb 2022 11:30:23 +0800</pubDate><description><![CDATA[本文探讨了树形结构数据的高效过滤方案，要求搜索时能同时返回匹配节点及其父级节点。基础方案采用递归遍历匹配关键词并保留有效子节点的父级，保持原有结构。随后提出三个优化方案：1）性能提升版使用reduce和includes优化；2）多字段搜索版支持多个字段查询；3）迭代实现避免递归栈溢出。文章对比了各方案的优缺点，建议根据数据规模选择方案，小数据用递归，大数据用迭代，并给出了防抖、模糊搜索等优化建议，为树形数据搜索提供了多场景解决方案。]]></description><category></category></item><item><title><![CDATA[vscode编辑器快捷键]]></title><link>https://blog.youkuaiyun.com/fineworkmanship/article/details/123051272</link><guid>https://blog.youkuaiyun.com/fineworkmanship/article/details/123051272</guid><author>fineworkmanship</author><pubDate>Mon, 21 Feb 2022 17:07:04 +0800</pubDate><description><![CDATA[VS Code快捷键速查表摘要：包含基础编辑（行操作/注释/折叠）、导航（跳转/符号查找）、搜索替换、多光标选择、语言功能（格式化/定义跳转）、编辑器管理（拆分/分组）、文件操作、界面显示（侧栏/终端切换）及调试等核心功能。按分类列出如Ctrl+P快速打开文件、Ctrl+D多选相同内容、F12跳转定义等高频操作，适合开发者快速查阅提升编码效率。]]></description><category></category></item></channel></rss>