- 博客(805)
- 资源 (12)
- 问答 (3)
- 收藏
- 关注
原创 react 中 form表单提示
本文介绍了在React中禁用浏览器原生表单校验并实现自定义错误提示的方法:1)通过noValidate属性禁用浏览器默认校验;2)手动处理提交逻辑,用状态管理错误信息;3)根据错误状态动态渲染UI样式和提示。这种方法提供了完全可控的校验体验,不受浏览器原生样式限制,可实现更灵活的UI定制。
2026-01-23 17:21:50
361
原创 vite与vue的cli的区别
Vite和Vue CLI虽然都提供本地开发服务器,但核心设计理念和性能表现有本质区别。Vite基于原生ES模块,实现秒级启动和即时热更新,适合新项目;Vue CLI基于Webpack打包,启动较慢但适合老项目维护。Vite在大型项目中优势更明显,启动时间几乎不受项目规模影响。Vue官方已推荐使用Vite作为新项目首选工具。两者操作命令相似,但Vite代表了前端开发工作流的范式升级。
2025-12-23 03:04:55
712
原创 Chart.js和 Echart的区别
Chart.js:轻量、简单、适合快速实现基础图表(如折线图、柱状图)。ECharts:强大、复杂、适合企业级数据大屏、地图、3D 等高级可视化。Chart.jsECharts定位轻量级“瑞士军刀”企业级“可视化引擎”哲学“简单够用”“无所不能”口号快速画出好看的图表让数据说话,让图表震撼建议小项目 →Chart.js大项目/复杂需求 →ECharts不确定?先用 Chart.js,后期可迁移(两者概念相通)
2025-12-20 04:31:35
813
原创 Obsidian 笔试环境配置与使用指南
本文介绍了如何将Obsidian笔记与GitHub仓库集成实现自动备份,并提供AI辅助和图片管理优化方案。主要内容包括:1)创建GitHub私有仓库并克隆到本地;2)配置.gitignore忽略工作区文件;3)安装Git插件设置自动提交和同步;4)接入Gemini CLI实现AI辅助(需代理);5)通过插件优化图片存储路径和链接格式;6)说明移动端支持情况和双向链接功能。该方案实现了笔记的版本控制和自动化管理,同时增强了AI辅助和图片处理能力。
2025-12-05 19:44:15
1238
原创 Figma 汉化办法
Figma汉化最简单方法:推荐使用figmaEX插件,支持浏览器扩展一键安装,重新打开Figma网页版即可完成汉化。也可选择FigmaCN工具,同样稳定好用。如需汉化桌面App版需授权修改程序文件,需将软件放在macOS应用程序目录。两种方案均能实现完整界面汉化,浏览器插件方式最简单推荐。figmaEX和FigmaCN都是目前最成熟的汉化方案,用户可根据需求选择安装方式。
2025-11-19 11:54:34
4781
原创 js 文件 和 ts 文件的最大区别
JavaScript(JS)和TypeScript(TS)的核心区别主要体现在类型系统、编译过程和开发体验上。JS是动态类型语言,直接运行无需编译;而TS作为JS的超集,支持静态类型检查和编译,提供类型安全和面向对象特性。TS在大型项目中更具优势,能减少运行时错误,增强开发体验,但需要编译为JS才能执行。两者各有所长:JS灵活快速,TS严谨可靠,开发者可根据项目需求选择使用。
2025-11-07 07:34:14
866
原创 HttpOnly 是怎么防止 XSS 攻击的?
XSS(跨站脚本攻击)是一种前端安全漏洞,攻击者通过注入恶意JavaScript代码窃取用户敏感信息。设置HttpOnly属性的Cookie可有效防护,该属性会禁止JavaScript访问Cookie值,防止XSS直接窃取凭证。但需配合HTTPS、SameSite等其他安全措施,构建多层防护体系,因为HttpOnly仅阻止脚本读取,不影响正常请求带Cookie功能。建议对敏感凭证设置HttpOnly、Secure等属性,并结合输入校验等措施全面防范XSS风险。
2025-10-15 02:51:29
372
原创 MacOS本地数据库搭建
本文介绍了在macOS上安装和配置MySQL数据库的完整步骤。首先通过mysql --version检查是否已安装,未安装则使用Homebrew进行安装。安装完成后需启动MySQL服务并验证状态,然后运行mysql_secure_installation进行安全设置,包括设置root密码、删除匿名用户等操作。最后通过mysql -u root -p命令验证数据库连接是否成功。该流程涵盖了从安装到安全配置的关键步骤,确保MySQL数据库的正常运行。
2025-10-14 22:45:50
320
原创 Mac 软件出现「应用程序“xxx”不能打开」的解决办法
摘要 当Mac应用程序无法打开时,通常是因为缺少执行权限。解决方法:右键软件→「显示包内容」→进入Contents/MacOS,在终端执行chmod +x并拖入目标文件,赋予执行权限后即可正常启动。
2025-10-11 17:46:55
2539
原创 flutter 里面的渐变色设置
本文介绍了Flutter中BoxDecoration的LinearGradient用法,重点解释了Alignment坐标系统的工作原理。通过坐标系表格和矩形图示,详细说明了9个标准位置点(x,y)的对应关系,如topCenter(0,-1)、center(0,0)等。最后强调这些位置属性实际上代表的是控件不同方位的坐标值。全文以代码示例配合可视化说明,帮助开发者理解渐变起点终点的定位逻辑。
2025-09-24 16:12:53
366
原创 自适应和响应式,详细分析和区别
自适应布局与响应式布局的核心区别 自适应布局是为不同设备预定义多个固定布局版本(如手机/平板/桌面),通过切换特定布局适配设备。响应式布局则是通过媒体查询和相对单位(如百分比/vw等)实现单一布局的动态调整。核心差异在于:自适应布局是"多版本切换",响应式布局是"单版本弹性适配"。自适应适合设备类型固定的复杂项目,响应式则更适合需要广泛适配的简单页面。通过检查是否采用多套固定布局即可区分二者。
2025-09-23 18:00:32
678
原创 gradle 和 maven 有什么区别?
Gradle和Maven都是主流构建工具,用于依赖管理和项目构建。主要区别在于:Maven采用XML配置,遵循固定生命周期,适合简单Java项目;Gradle使用Groovy/Kotlin DSL,支持任务自定义和增量构建,速度更快,是Android官方首选工具。Maven稳定易上手,Gradle灵活高效,选择取决于项目需求复杂度。
2025-09-19 16:34:04
507
原创 Flutter 基本开发环境配置环境搭建
Dart 开发环境配置指南 Dart 是 Google 开发的跨平台编程语言,常用于 Flutter 开发。安装步骤包括: 通过 Homebrew 国内镜像安装 Dart SDK 配置命令行代理(需使用 ClashX) 在 VSCode 中安装 Dart 和 Code Runner 插件 Flutter 环境配置: 安装 JDK(Android 开发必需) 下载 Android Studio 并安装 Dart/Flutter 插件 配置 Flutter SDK 路径和国内镜像 解决常见问题(cmdline-
2025-09-18 21:18:10
1082
原创 什么情况下使用SVG,什么情况使用PNG?
SVG和PNG各有优势:SVG适合简单图形,具有无损缩放、体积小、可编辑等优点;而PNG更适合复杂图像,如照片和艺术作品,兼容性更好且渲染性能更高。选择时需根据具体需求决定,SVG适用于图标和可缩放设计,PNG则适用于高质量图像和复杂图形。
2025-09-12 11:56:02
530
原创 Vue加载资源‘如图片’的“直接引入“方式和“request()“的区别
Vue 项目中引入资源有两种方式:直接引入和使用 require()。直接引入适用于无需优化的静态资源,路径保持不变且不经 Webpack 处理;require() 则允许 Webpack 对资源进行压缩、哈希处理等优化,适合需要动态加载或优化的资源。关键区别在于:直接引入路径固定,不优化;require() 会改变路径并优化资源。静态资源推荐直接引入,动态或需优化资源建议使用 require()。
2025-09-11 16:02:25
898
原创 应用或WEB开发怎么避免商业字体纠纷(字体版权)
摘要: 将可编辑字体转成图片(PNG/SVG)可规避字体版权问题,因为字体版权保护的是字体文件而非渲染后的图像。适用于静态内容如Logo、Banner等,但需注意特殊设计字体可能仍有版权限制。动态文本仍需合法字体授权。图片导出需保证分辨率清晰,SVG或高分辨率PNG是理想选择。总结:静态装饰文字用图片安全高效,动态内容仍需授权字体。
2025-09-11 10:30:19
344
原创 Mac 服务器管理工具 HexHub
HexHub是一款简洁高效的服务器管理工具,集成了服务器管理、数据库管理、文件管理、Docker管理等功能。相比Royal TSX工具,HexHub界面更加直观友好,支持命令行操作并能实时监控服务器参数。用户可通过官网下载安装,添加资源后即可快速使用各项功能。该工具特别适合需要同时管理多种服务器资源的开发者,提供一站式的运维解决方案。
2025-09-09 19:30:24
602
原创 Knex 和 Schema 是什么?
Knex.js是一个Node.js的SQL查询构建器,支持多种数据库。它允许用JavaScript替代手写SQL进行数据库操作,包括查询、事务、迁移和Schema定义。Schema指数据库结构定义(表、字段、关系等),Knex通过Schema Builder用JS定义表结构。示例展示了如何使用Knex创建用户表,等效于SQL语句。Knex相当于"工人",Schema是"设计图",共同作用于数据库"工地"。(149字)
2025-09-07 21:32:23
515
原创 uni-app 和 uni-app x 的区别
uni-app和uni-app X是DCloud推出的跨平台开发框架。uni-app基于Vue.js,支持多平台开发,但性能略逊;而uni-app X采用UTS语言和原生渲染,性能更优但学习曲线较高。两者适用于不同场景:uni-app适合快速开发中小项目,uni-app X则更适合性能敏感型应用。开发者可根据项目需求选择合适方案。
2025-09-05 21:31:38
976
原创 什么是 AWS 和 GCE ?
AWS(亚马逊云服务)与GCE(谷歌计算引擎)对比摘要 AWS由亚马逊提供,覆盖计算、存储、数据库等全栈云服务,生态成熟,适合企业级应用。GCE隶属谷歌云平台,侧重高性能虚拟机,深度集成AI/大数据工具(如TensorFlow、BigQuery),性价比突出。核心差异:AWS服务全面、节点多;GCE强在计算与AI,价格更优。选择取决于场景需求——AWS适合多元化业务,GCE更适合AI/数据分析项目。
2025-09-02 09:42:46
523
原创 数据缓存中 Redis 与 Memcached 对比
Redis与Memcached是两种主流的缓存解决方案。Redis支持多种数据结构、持久化和高级功能(如发布订阅、Lua脚本),适合复杂场景但部署较复杂;Memcached则轻量高效,专为简单KV缓存设计,支持多线程但功能单一且无持久化。选择时,若需丰富功能和高可用性推荐Redis,若追求简单缓存和极致性能则选Memcached。二者在网络模型、数据结构和附加功能上存在显著差异,应根据具体业务需求权衡选用。
2025-09-02 09:09:47
760
原创 Mac简单测试硬盘读写速度
本文介绍了如何使用Blackmagic Disk Speed Test工具测试磁盘读写速度。首先下载安装该软件,然后选择需要测试的磁盘位置(如"下载"目录),最后点击开始测试按钮即可获取磁盘的读写性能数据。整个过程简单直观,适合快速检测存储设备性能。
2025-08-23 23:43:40
1221
原创 什么是B端和C端,主要是做什么的?
B端和C端是产品运营中的常见分类,分别指面向企业(Business)和消费者(Consumer)的两种业务模式。B端产品服务于企业客户,如CRM系统、SaaS平台等;C端产品面向个人用户,如微信、抖音等大众应用。简单来说,B端是企业级服务,C端是个人消费级产品。两者的区别主要在于目标用户群体和产品功能定位。
2025-08-16 20:27:31
2453
原创 Redis 的5大核心功能
Redis作为多功能中间件,远不止是缓存工具。它支持多种数据结构(String/List/Set等)、消息系统(Pub/Sub)、分布式锁/限流等协调能力,以及Stream消息队列、Geo位置等高级功能。通过TTL、原子操作和持久化等特性,Redis能高效处理用户信息、验证码、热点数据等场景。其分布式特性支持秒杀系统、全局ID生成等复杂需求,而高级数据结构则适用于排行榜、签到系统等业务。Redis集存储、通信、排序和分布式控制于一体,是构建大型系统的重要基础设施。
2025-07-26 18:18:56
505
原创 Element-UI 解决省市级数据
摘要:介绍两个中国行政区划数据包的差异和使用方法。china-area-data提供原始省市数据,element-china-area-data是其针对Element UI封装的版本。Vue项目可直接使用后者,通过npm install安装后,在el-cascader组件中导入regionData即可快速实现省市区选择功能。安装时可根据需求选择单独安装封装版或同时安装两个包。
2025-07-24 12:31:15
330
原创 解决滚动条直角显示
本文介绍了一种实现圆角滚动区域的设计方案:通过嵌套两层容器,外层设置圆角和overflow:hidden控制圆角显示,内层设置overflow-y:auto实现内容滚动。示例代码展示了基础实现和实际应用场景(如弹窗表单),重点在于将滚动行为限制在内层容器,同时保持外层圆角效果。这种设计模式包含三个关键部分:外层容器控制布局和圆角、内层滚动容器处理滚动、内容区域放置实际内容。
2025-07-24 10:57:39
227
原创 国内管理软件对比,钉钉、飞书、微信等
本文对比了飞书、企业微信、钉钉和Slack四大协作工具的功能特点及适用场景。飞书适合科技创意团队,提供文档、日历等一体化协作;企业微信主打微信互通,适合B2C企业;钉钉侧重考勤审批,适合政务教育行业;Slack则以丰富插件生态见长,适合海外技术团队。选择建议:内部协作选飞书,微信客户选企业微信,政务教育选钉钉,海外团队用Slack。各工具各有侧重,需根据团队需求选择。
2025-07-22 15:09:00
1377
原创 Vuex 的语法“...mapActions([‘login‘]) ”是用于在组件中映射 Vuex 的 actions 方法
Vuex的mapActions方法用于将store中的actions映射为组件方法,简化调用方式。...mapActions(['login'])等价于在组件methods中定义login方法并调用this.$store.dispatch('login')。使用时需在组件methods中展开该方法,之后可直接通过this.login()调用。类似方法还有mapMutations和mapState,分别用于映射mutations和state。该语法让Vuex的状态管理更加简洁直观。
2025-07-19 01:07:34
412
原创 现代网站的常见风格分为以下 9 大类
现代网站设计风格主要分为9大类:1)极简风-强调留白与简洁,适合作品集;2)黑暗风-深色背景凸显科技感;3)多彩插画风-活泼明快,适合教育类;4)扁平化-纯色线条,功能导向;5)霓虹未来风-赛博科技感;6)玻璃拟态-半透明毛玻璃效果;7)材料设计-谷歌规范,系统感强;8)杂志排版风-注重字体与视觉冲击;9)动态交互风-丰富动效增强体验。每种风格在配色、适用场景和关键词上各具特色,可根据项目需求选择对应设计语言。
2025-07-10 09:35:54
1230
原创 Marker SVG(可缩放矢量图形)绘制图形
绘制矩形和圆形,尝试修改 fill 与 stroke。,去除图标制作,专注于前端开发中的绘制与使用。数据可视化(饼图、折线图、柱状图)网站图标(logo、icon)UI 元素(按钮、装饰线条):用 path 画一条波浪线。标签及 viewBox。:给矩形添加渐变填充。
2025-07-10 08:32:57
729
原创 项目中字典数据的优化办法
字典数据优化方案:前端项目中,字典数据(如状态、类型等)通常存储于Vuex,但页面刷新会导致数据丢失,需重复调用接口。优化方案采用localStorage+Vuex结合:页面加载时先检查localStorage缓存,若存在未过期数据则直接存入Vuex使用;若无缓存则调用接口获取数据,同时存入Vuex和localStorage。该方案减少接口请求,提升加载速度,优化用户体验。核心流程:检查缓存→有则用,无则取→同步存储。
2025-07-08 12:58:43
271
原创 mysql2/promise 中 execute 和 query 的使用
MySQL2/promise提供了execute和query两种查询方法: execute使用预处理语句,严格类型检查,防SQL注入但参数限制多 query直接拼接SQL,对LIMIT/OFFSET等参数更宽松 最佳实践:高频查询和写入操作用execute,特殊参数场景用query 注意execute处理LIMIT/OFFSET时需直接拼接数字常量 (字数:99)
2025-07-08 09:56:39
544
原创 Google 浏览器调试工具切换成“中文”
这篇教程介绍了如何将Google浏览器调试工具切换为中文界面。操作步骤包括:1.打开调试工具并进入设置;2.在语言选项中选择中文;3.关闭浏览器后重启,确认弹出的提示窗口。完成设置后,调试工具界面将显示为中文,方便用户理解各项功能。该操作简单易行,有助于提升非英语用户的调试体验。
2025-07-07 08:30:19
540
原创 在 js 中怎么生成最可靠的唯一值
本文探讨了在JavaScript中生成可靠唯一值的几种方法,针对常见的重复问题提出了三种解决方案:1) 添加重试逻辑的组合token生成方式;2) 数据库查重机制;3) 改进的token生成算法。重点分析了基于SHA256哈希(结合用户ID和时间戳)与纯随机数两种生成方式的优劣,指出前者在可追溯性和业务可用性上更具优势。推荐使用包含时间戳、随机字符串和用户哈希的组合算法,这种方案既保证唯一性又便于问题排查。
2025-07-04 10:55:42
757
原创 Element 的 Message 多个显示时,只显示一个的封装办法
本文介绍了如何优化Element UI的Message组件,使其在显示多个相同消息时只展示一个。通过创建自定义Message工具类实现以下功能: 消息缓存和去重管理,防止重复显示相同消息 支持success、error、warning、info四种类型消息 提供closeAll()和closeByType()方法关闭消息 自动清理过期消息缓存,防止内存泄漏 完全兼容原有this.$message用法 实现步骤包括创建message.js工具类、修改main.js全局配置、更新API和公共方法中的调用方式。优
2025-07-03 22:34:52
464
原创 Vue 项目在哪里加载「字典数据」最好
【最佳实践】Vue项目中建议在App.vue的created()生命周期中调用Vuex action初始化字典数据,配合Vuex统一管理。具体实现:1)在Vuex store创建dictionary模块存储数据;2)App.vue启动时调用fetchDictDataaction;3)全局组件通过$store访问缓存数据。优势:单次请求、全局可用、维护简单。特殊场景可采用路由守卫刷新(实时性要求高时)或SSR预取方案。进阶优化可添加本地缓存和过期策略。
2025-07-03 17:58:54
527
原创 Vue 项目集成 Docsify 使用说明(2) 添加权限控制
本文介绍了在Vue项目中为Docsify文档页面添加权限控制的4种方案:路由层面保护(推荐)、Vue组件层面保护、Docsify HTML层面保护和登录重定向机制。核心是通过路由守卫、组件检查、HTML脚本和跳转优化,确保只有登录用户才能访问文档。方案包括代码示例和测试场景说明,可灵活扩展到其他页面。4层机制共同保障文档安全性和用户体验。
2025-07-01 15:51:50
780
原创 Vue 项目集成 Docsify 使用说明(1)
本文介绍了在Vue项目中集成Docsify文档系统的两种方案。推荐使用iframe嵌入方式,通过在Vue项目中创建DocsifyPage.vue组件,并在public/docs目录下配置Docsify文档结构(包括index.html、README.md、侧栏导航等文件)。iframe方案简单安全,与Vue主应用隔离。文章还提供了详细的Docsify配置示例,包括主题设置、搜索功能和移动端优化等。另一种方案是直接集成Docsify,但复杂度较高。整体方案包含文档目录结构说明和代码实现示例,帮助开发者快速搭建
2025-07-01 11:57:23
1213
原创 使用 em 单位的好处,以及 em、rem、px 的区别
摘要:文章探讨了使用em单位的好处及其与其他单位的区别。em作为相对单位,能根据父元素字体大小自动调整,提供更好的响应式设计和用户体验,尤其尊重用户浏览器字体设置。与rem(根元素相对)和px(绝对单位)不同,em特别适合底部组件设计,确保可读性和一致性。使用.875em等比例值能有效协调元素大小,体现了现代Web开发对可访问性和响应式设计的重视。
2025-06-29 18:11:31
423
Royal TSX 是一款跨平台的远程桌面和连接管理工具,专为 macOS 设计 它主要用于管理和连接到不同类型的远程计算机和服务
2024-12-31
Selenium-IDE 插件
2024-05-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅