• 博客(1719)
  • 收藏
  • 关注

原创 解决 Docker 权限问题:从 “permission denied” 到成功拉取镜像的完整指南

解决Docker权限问题的简明指南 当执行docker pull时遇到"permission denied"错误,通常是因为当前用户未加入docker组。解决方法只需两步: sudo usermod -aG docker $USER 将用户加入docker组 newgrp docker 立即生效组权限变更 验证成功后可正常拉取镜像。此问题源于Docker守护进程默认仅允许root和docker组成员访问/var/run/docker.sock套接字文件。注意生产环境应谨慎分配docker

2025-10-16 15:35:55 457

原创 解密 Spring Boot 核心配置:MySQL (Druid) & Redis 篇

摘要: 本文深入解析Spring Boot中MySQL(Druid)和Redis的核心配置要点。MySQL部分强调8.0+版本需添加allowPublicKeyRetrieval=true参数,详解Druid连接池优化配置;Redis部分指出Spring Boot 3.x配置路径简化为spring.redis,并介绍Lettuce连接池设置。文章特别提醒注意时区设置、编码规范、敏感信息管理等常见"坑点",帮助开发者编写更稳定高效的配置。配置虽小却直接影响应用性能,合理设置连接池参数和正确

2025-10-15 19:43:03 902

原创 Nacos 重启“二重奏”:从认证配置到JWT密钥,一次搞定!

摘要:本文详细记录了解决Nacos容器无限重启问题的完整过程。首次启动失败是因缺少认证密钥配置,补充NACOS_CORE_AUTH_SERVER_IDENTITY_KEY/VALUE后,又因JWT密钥长度不足(需≥32字节且Base64编码)再次失败。通过生成符合要求的Base64密钥并更新NACOS_AUTH_TOKEN,最终使Nacos、MySQL、Redis全部正常启动。关键经验:利用docker logs精准定位错误,严格遵循安全规范配置参数,日志中的ERROR和Caused by是解决问题的金钥匙

2025-10-15 14:30:54 616

原创 告别磁盘空间不足!Hyper-V + Ubuntu 虚拟机磁盘扩容终极指南

这篇文章详细介绍了如何在Hyper-V平台下为Ubuntu虚拟机扩展磁盘空间。首先通过Hyper-V管理器物理扩容虚拟硬盘,然后使用GParted Live ISO进行逻辑分区调整。关键步骤包括:创建检查点安全备份、关闭虚拟机、扩展VHDX文件、用GParted重新分配未使用空间。操作完成后,Ubuntu系统即可识别新增的存储空间。本文提供了完整的图文指引,帮助用户彻底解决虚拟机磁盘空间不足的问题。

2025-10-14 20:48:01 514

原创 Ubuntu虚拟机磁盘扩容全记录:从99%爆满到21%充裕的完美蜕变

Ubuntu虚拟机磁盘扩容实战记录 🚀 紧急状况:磁盘使用率达99%,仅剩172MB,系统运行困难。 扩容过程: 安装GParted工具并解决图形界面显示问题 诊断发现GPT分区表损坏 使用gdisk修复分区表 重新扫描磁盘并刷新分区信息 关键命令: sudo gdisk /dev/sda # 修复分区表 echo 1 | sudo tee /sys/block/sda/device/rescan # 重新扫描 sudo partprobe /dev/sda # 刷新分区表 扩容效果: 总容量从12GB→

2025-10-14 20:23:06 463

原创 从零到一:手把手教你用 Nginx + Shell 脚本部署 Vue 3 项目

本文详细介绍了如何将Vue 3项目部署到Ubuntu服务器,并实现一键化更新。主要步骤包括: 服务器准备:安装Nginx并配置网站目录 Nginx配置:设置Vue Router的history模式处理规则 本地开发:编写自动化部署脚本deploy.sh,实现打包+上传一体化 部署验证:通过脚本快速完成部署更新 整个过程通过Shell脚本实现自动化,大大简化了日常部署流程,适合快速迭代的前端项目。文末还提供了SSH免密登录等优化建议,进一步提升部署效率。

2025-10-11 20:51:47 1178

原创 一次线上“参数解析失败”告警的侦探之旅

线上“参数解析失败”告警排查全记录 问题现象:线上环境出现大量“参数解析失败”错误告警。 排查过程: 追踪异常源:通过全局异常处理器ExceptionHandle.java定位到HttpMessageNotReadableException,确定为JSON反序列化问题; 查找日志:分析logback-spring.xml配置,确认错误日志路径为logs/euchips/error_log.log; 服务器验证:登录线上环境,用grep筛选日志,发现字段grossWeight因传入"212g&quo

2025-10-11 15:24:46 1083

原创 你项目里的 normalize.css 究竟是何方神圣?

摘要: 在重构管理后台项目时,发现不同浏览器对<body>的默认样式存在差异(Chrome默认margin:8px)。通过对比旧项目,发现其使用了normalize.css——一个由Nicolas Gallagher开发的流行CSS库,专门用于统一浏览器默认样式。该库通过保留合理默认值并修复浏览器差异(而非暴力清零),为项目提供了更稳定的样式基础,有效解决了跨浏览器兼容性问题。 (字数:149) 注:摘要聚焦核心问题与解决方案,省略了技术栈细节和图片引用,符合字数要求且保持信息完整。

2025-10-10 16:08:49 841

原创 给 npm install 做一次大扫除:我如何干掉 deprecated inflight 和 glob 警告

摘要 本文分享了如何解决 npm install 时出现的 deprecated inflight 和 glob 警告问题。作者通过 npm ls 命令追踪到警告源头是 style-resources-loader 包,发现其在现代 Vite 项目中已冗余。解决方案包括: 卸载冗余包(节省24个依赖) 清理环境(删除 node_modules 和 lock 文件) 重新安装验证 关键经验: 不要忽视 deprecated 警告 善用 npm ls 排查间接依赖 定期审视项目依赖 拥抱现代工具的内置功能 最终

2025-10-09 21:12:53 1070

原创 一次搞定!Vite + Sass 项目中烦人的 legacy-js-api 警告 ⚠️

摘要 本文针对 Vite + Sass 项目中出现的 legacy-js-api 警告,提供了完整的解决方案。该警告源于 Sass 弃用了旧版 JS API,而 Vite 仍在使用旧接口调用。通过分析官方文档,作者锁定问题在于工具链版本适配,而非业务代码。 解决步骤: 定位问题:确认警告来自 Sass 工具链,需升级 Vite。 优化网络:使用 nrm 切换至淘宝源,解决 npm view 查询卡顿问题。 安全升级:创建 Git 分支,通过 npm install @latest 逐步升级 Vite、Vue

2025-10-09 20:45:49 852

原创 从本地到云端:我如何用 Docker 部署 Spring Boot + MySQL 项目的全过程实录

本文详细记录了作者使用Docker将Spring Boot项目(productQualification.jar)与MySQL数据库部署到Ubuntu服务器的完整过程。通过Docker网络实现容器间通信,先部署MySQL容器并挂载数据卷实现持久化。随后修改应用配置指向容器名,编写Dockerfile定义Java运行环境,构建镜像后启动应用容器。最终通过日志确认Spring Boot应用成功启动并与数据库建立连接,完成从本地开发到云端部署的DevOps实践,展示了Docker在简化部署流程、保证环境一致性方面

2025-10-08 16:49:13 962

原创 Docker 网络排错“史诗”:从 Timeout 到 manifest not found,最终柳暗花明!

摘要: 在 Ubuntu 22.04 服务器部署 Docker 时,遇到 context deadline exceeded 网络超时问题。虽然 curl 通过代理可访问 Docker Hub,但 Docker 守护进程未继承代理设置。通过为 systemd 配置专属代理并重启服务解决网络问题后,又出现 manifest not found 错误,原因是镜像标签 mysql:5.6.16 已失效。改用通用标签 mysql:5.6 后成功拉取镜像。 关键点: 区分终端代理与守护进程代理,需通过 systemd

2025-10-08 15:47:23 790

原创 Docker 权限爬坑记:permission denied?一条命令,一劳永逸!

Docker新手常遇的权限问题:当执行docker命令时出现permission denied错误,通常是因为当前用户不属于docker用户组。解决方法很简单:使用sudo usermod -aG docker 用户名命令将用户加入docker组,然后退出并重新登录系统使权限生效。这条命令解决了Docker安装后最常见的权限问题,避免每次操作都要加sudo的麻烦。

2025-09-30 20:50:58 1037

原创 Ubuntu 22.04 Docker 安装实战:从 Command not found 到 context deadline exceeded 的全过程排查

摘要: 本文记录了在Ubuntu 22.04服务器安装Docker的全过程及问题排查。从初始的curl命令缺失(通过sudo apt install curl解决),到成功安装后遭遇context deadline exceeded网络超时错误。通过分析发现,Docker服务正常运行但无法连接外网,问题根源在于服务器防火墙或网络策略限制。文章总结了关键经验:基础工具验证、分步测试网络连通性、精准解读错误信息,以及从应用层扩展到网络环境的排查思路,最终通过调整网络配置解决问题。整个过程凸显了系统调试的典型方法

2025-09-30 20:36:53 970

原创 Ubuntu 22.04 Hyper-V 虚拟机 SSH 服务完整配置指南

Ubuntu 22.04 Hyper-V SSH配置指南 本文详细介绍了在Ubuntu 22.04虚拟机上配置SSH服务的完整流程: 环境检查:确认系统版本和网络配置 安装配置:通过apt安装openssh-server并启动服务 验证测试:检查端口监听状态并进行本地/远程连接测试 安全优化:修改默认端口、禁用root登录、配置密钥认证 故障排查:提供常见问题解决方案和诊断命令 配置完成后,用户可通过SSH安全访问Ubuntu虚拟机,适用于开发和管理场景。文章包含详细的命令示例和配置说明,适合初级到中级用户

2025-09-30 20:03:24 1351

原创 从虚拟机到 Docker:一份写给开发者的虚拟化软件“寻宝图”

虚拟化技术简明指南 虚拟化技术是开发者管理环境差异的重要工具,主要分为三类: 桌面虚拟化(如VirtualBox/VMware) 功能:在个人电脑运行完整隔离的客户系统 应用场景:跨平台开发测试、运行独占软件、安全沙箱 推荐:VirtualBox(免费)、VMware(高性能)、Parallels(Mac专用) 服务器虚拟化(如VMware vSphere/KVM) 特点:直接运行在物理服务器上 用途:云计算基础设施 代表:vSphere(企业级)、KVM(开源)、Hyper-V(微软系) 容器化(如Doc

2025-09-30 16:01:25 960

原创 深入 Linux 之心:一行 cat 命令,带你解剖服务器的“网络身份证”(cat /etc/network/interfaces)

🔍 Linux 网络配置解剖报告 通过一行 cat /etc/network/interfaces 命令,我们深入解析了 Ubuntu 服务器的静态网络配置。这份"网络身份证"包含四大核心要素: 接口定义:eth0 网卡设为静态 IPv4 模式 地址信息:固定 IP(192.168.31.20)、子网掩码(255.255.255.0) 网络出口:网关指向路由器(192.168.31.1) 域名解析:DNS 服务器(114.114.114.114) 虽然现代系统已转向 Netplan/Y

2025-09-29 20:20:37 1176

原创 Vue实战:从零到一,打造一个功能强大的“自定义导出”组件

Vue实战:打造智能自定义导出组件 本文详细介绍了如何使用Vue.js和Element UI开发一个功能强大的自定义导出组件。该组件支持跨页选择数据、自定义导出列配置和顺序调整,并具有记忆用户偏好功能。实现过程分为三大核心部分: 跨页选择实现:通过Element UI表格的row-key和reserve-selection属性,确保翻页时已选数据不丢失。 父子组件通信:父组件负责管理选中数据和弹窗状态,子组件接收这些数据并处理导出逻辑。 自定义导出功能:子组件使用vuedraggable实现拖拽排序,提供字

2025-09-28 14:03:51 770

原创 解剖一个“产品导出”接口:从Controller到Excel的全链路深度解析

摘要 本文深入剖析了一个产品导出接口GET /product/admin/export的全链路实现。从Controller层简洁的调用开始,逐层解析了业务层、数据服务层、策略与元数据层、通用导出框架和数据访问层的设计架构。 重点展示了如何通过: 分层架构实现职责分离 策略模式(ExportEnum接口)支持多种导出类型 元数据驱动(ProductExportFieldEnum)规范字段定义 服务门面(ProductCommonService)统一数据访问 原生SQL+Tuple解决复杂查询 通用ExcelE

2025-09-26 18:32:51 866

原创 架构之思:我的 Service 层为什么需要“总设计师”、“施工队长”和“工人”?

本文探讨了一种精细化的Service层分层架构设计,将传统的Service层拆分为三个层次:业务层(ProductApiService)、数据服务层(ProductCommonService)和数据访问适配层(ProductService/ProductSqlService)。这种分层借鉴了"总设计师-施工队长-工人"的协作模式,各层职责明确:业务层负责流程编排和业务规则,数据服务层提供可复用的数据能力,数据访问层执行具体操作。通过一个产品保存的复杂业务案例,展示了这种架构如何提升代码清

2025-09-26 17:50:53 1050

原创 架构之思:我的 Service 层为什么需要“双剑合璧”?(ProductService,ProductSqlService)

本文探讨了一种优化Spring Boot三层架构中Service层设计的方案,即将Service层拆分为两个职责明确的组件:ProductService和ProductSqlService。前者基于Spring Data JPA处理标准CRUD操作,保持代码简洁清晰;后者使用原生SQL处理复杂查询,确保高性能。这种"双剑合璧"的设计实现了关注点分离、技术栈最优应用、提升可维护性以及隔离技术风险等优势,使系统既能享受JPA的开发便利,又能获得原生SQL的性能保障。通过这种分层设计,开发者可

2025-09-26 17:21:24 858

原创 破案实录:一次导出功能的“数字翻译”Bug,我是如何在正确的位置“对症下药”的

今天,我想分享一次看似简单,却一波三折的 Bug 修复经历。故事的主角是一个产品导出功能,需求很明确:在导出的 Excel 文件里,“品牌所属地区”这一列,应该显示“中国”、“日本”这样的中文文本,而不是数据库里存储的数字 1、3。

2025-09-26 16:18:23 724

原创 架构简化之道:一次导出功能重构,我为什么“干掉”了 ExportProductDto?

文章摘要:🚀 架构简化之道 - 从DTO到Tuple的优雅重构 本文分享了作者通过重构"产品导出"功能的实战经验,展示了如何通过引入JPA Tuple来简化架构。重构前,系统依赖脆弱的ExportProductDto作为SQL生成模板和数据结构中介,导致数据错位和SQL报错问题。重构后采用直接手写SQL别名和使用Tuple作为数据容器,不仅修复了Bug,还移除了不必要的DTO类,使数据处理流程更直接健壮。这一改变带来了代码量减少、复杂性降低、健壮性提升和可读性提高等多重好处,证明了&q

2025-09-26 15:12:38 960

原创 JPA 性能调优利器:被低估的 Tuple,告别脆弱的 Object[]

JPA性能调优:用Tuple替代Object[]提升代码健壮性 摘要:在JPA复杂查询中,传统的Object[]结果集存在索引脆弱、可读性差等问题。本文介绍JPA Tuple接口的优越性:通过别名而非索引访问数据,彻底解决列顺序依赖问题。案例显示,使用Tuple后,即使SQL查询结构调整,业务逻辑仍能稳定运行。Tuple还提供类型安全、代码自解释性等优势,特别适合原生SQL查询和动态列场景。相比Object[],Tuple使代码更健壮、更易维护,是JPA性能调优的利器。

2025-09-24 19:52:48 850

原创 “顺序”的陷阱:从一次导出功能的数据错乱,反思代码中的“隐形契约”

本文通过一个产品导出功能的数据错乱案例,揭示了代码中"隐形顺序契约"的危害。系统错误地假设了ExportProductDto(定义SQL查询字段顺序)和ProductExportFieldEnum(定义业务字段顺序)的声明顺序一致,导致数据解析时出现张冠李戴的现象。问题的本质在于依赖脆弱的隐式顺序约定,而非明确的别名映射。最终解决方案是重构为基于列别名的解析机制,建立显式的字段契约。这个案例警示开发者:健壮的系统设计应避免依赖不可靠的物理顺序,而应建立明确的名称映射关系,才能保证代码的可

2025-09-24 19:39:19 617

原创 破案实录:从一个“张冠李戴”的导出Bug,我如何由两个“貌合神离”的方法联手导演?

本文揭示了一个产品导出功能中数据错位的Bug,根源在于两个方法之间脆弱的隐式顺序依赖。sqlGenerate方法通过反射生成SQL列顺序,而parseToExportHashMap则依赖枚举声明顺序解析数据,当两者顺序不一致时导致数据错位。解决方案是改用JPA的Tuple接口,通过明确的别名映射建立强契约关系,彻底摆脱对物理列顺序的依赖,确保数据正确导出。重构后的代码通过别名查找实现健壮解析,解决了"张冠李戴"的问题。

2025-09-24 19:15:37 803

原创 后端重构实录:我如何用 Tuple 一举消灭两个“导出”大 Bug

后端重构:用 Tuple 解决导出功能 Bug 本文分享了如何重构一个脆弱的“产品导出”功能,解决两个关键问题:线上数据错位和本地 SQL 报错。原代码依赖于动态生成的 SQL 查询和枚举顺序的隐式约定,导致数据映射不稳定。通过引入 JPA 的 Tuple 接口,重构实现了: 手动编写带明确别名的 SQL 查询 使用 Tuple 按别名而非索引获取数据 建立别名与业务字段的显式映射 重构后代码不再依赖顺序,解决了数据错位问题,同时修复了本地 SQL 报错。这种基于“契约”而非“顺序”的设计显著提高了代码健壮

2025-09-24 18:51:05 1502

原创 破案实录:当 DISTINCT 遇上 ORDER BY,我是如何用一行SQL拯救本地环境的

摘要: 本文分享了一次本地开发环境与生产环境SQL执行差异的排查过程。一条包含DISTINCT和ORDER BY的查询在本地MySQL报错(ONLY_FULL_GROUP_BY模式限制),而线上环境正常。通过对比sql_mode配置,发现本地数据库启用了更严格的语法校验。最终通过临时修改会话级sql_mode(SET SESSION sql_mode = 'STRICT_TRANS_TABLES')快速解决问题,同时强调环境一致性和理解SQL规范的重要性。全文以探案比喻展开,结合流程图和时序图,生动呈现技术

2025-09-24 16:54:11 1271

原创 破案实录:从一个“导出为空”Bug,我揪出了潜伏的数据“幽灵”

摘要: 本文通过一个真实的“导出为空”Bug排查案例,揭示了数据不一致与SQL JOIN写法导致的隐患。线上正常的功能在本地测试时导出空Excel,排查发现本地数据库的脏数据(无效category_id)与INNER JOIN的严格过滤机制共同导致数据丢失。通过改用容错性更强的LEFT JOIN解决,并总结出关键教训:警惕INNER JOIN的副作用,确保测试数据质量,以及环境差异是常见问题根源。最终通过代码优化与数据治理提升系统健壮性。

2025-09-24 16:20:27 985

原创 架构之美:如何让你的后端接口轻松应对“加个字段”的需求?

摘要: 本文通过一个真实案例,展示了优秀后端架构如何优雅应对“加个字段”的需求变更。当需要在品牌详情页增加region字段时,得益于“主-子分离查询”设计(主对象用JOIN FETCH加载完整实体,子列表用DTO投影),仅需修改两处:在VO类添加字段,在Service层增加一行赋值逻辑。这种架构实现了高内聚低耦合,使数据访问层与业务逻辑解耦,既能保证性能又可快速响应需求变更,体现了良好设计对系统可维护性的价值。

2025-09-23 17:09:20 904

原创 Mermaid 时序图避坑指南:轻松搞定 “Trying to inactivate an inactive participant” 错误

Mermaid时序图避坑指南:解决"Trying to inactivate an inactive participant"错误 本文通过一个Spring Data JPA查询案例,剖析了Mermaid时序图中常见的激活/失活错误。当使用-符号试图失活一个未被+激活的参与者时,就会出现该错误。关键解决方法是:1)遵循调用栈原则,确保每个失活都有对应的激活;2)正确设置返回路径,消息应返回给直接调用者而非越级;3)按需激活参与者,简单的单向调用可省略激活标记。文中提供了错误示例和修正后的

2025-09-22 21:26:26 676

原创 JPA Specification 进阶:JOIN FETCH 的陷阱与优雅破局之道

Spring Data JPA 的 Specification 模式无疑是构建动态查询的瑞士军刀。它让我们能够用一种编程化、可组合的方式优雅地构建 WHERE 子句。但是,当你试图在这个强大的工具里加入 JOIN FETCH 来解决 N+1 查询问题时,你可能会发现自己掉进了一个意想不到的“陷阱”里。

2025-09-22 21:23:59 830

原创 后端进化论:如何让一个搜索框同时支持中英文查询?

摘要:后端优雅实现中英文混合搜索 通过改造Spring Boot + JPA Specification的查询逻辑,我们让品牌搜索功能同时支持中英文查询。原代码仅检查name字段,修改后使用criteriaBuilder.or()组合name和englishName的LIKE条件。关键代码仅需在Specification类中添加3行Predicate逻辑,即实现SQL的WHERE (name LIKE ? OR english_name LIKE ?)。这种改造保持高内聚、对前端透明,且易于扩展其他搜索字段

2025-09-22 21:07:07 878

原创 JPA精准狙击:如何为一个“扫码识货”接口打造高性能查询

本文介绍了如何为“扫码识货”接口设计高性能查询方案。通过JPA DTO投影和多重WHERE子句校验,实现精准定位、数据隔离和高性能响应。关键点包括:1)使用DTO投影避免实体加载;2)WHERE子句同时包含业务条件(jancode)和安全校验(adminId);3)依赖数据库索引提升查询效率。最终实现仅需一次轻量级SQL查询即可返回所需数据,满足扫码场景的即时响应需求。

2025-09-22 17:53:46 686

原创 JPA“主-从”详情页查询的艺术:JOIN FETCH与DTO分页的完美协奏

本文介绍了如何高效设计“主-从”详情页API,通过“两步查询法”结合JOIN FETCH和DTO投影分页技术。第一步用JOIN FETCH一次性获取主表及关联对象(如品牌信息),避免N+1查询;第二步用DTO投影实现子表(如商品列表)的真分页查询。Service层将两次查询结果组装成最终响应。这种方案以固定的2次数据库交互,解决了复杂页面数据聚合的性能问题,是处理“主-从”详情页的最佳实践。

2025-09-22 15:30:23 751

原创 Mermaid 绘图奇技淫巧:如何在类图中优雅地展示花括号 {}?(左花括号 { ➡️ #123;) (右花括号 } ➡️ #125;)

本文介绍了在Mermaid类图中优雅展示花括号{}的技巧。由于Mermaid语法本身使用花括号定义类成员,直接在<<刻板印象>>中包含花括号会导致解析错误。解决方案是使用简化的HTML实体编码:将{替换为#123;,}替换为#125;(无需&前缀)。文章通过Spring Data JPA的@EntityGraph示例和完整类图演示了这一技巧,并提供了备选的note注释方案。这些方法能帮助开发者创建包含特殊字符的清晰技术图表。

2025-09-17 22:58:44 1101

原创 JPA动态查询的“终极形态”:当Specification遇上@EntityGraph

JPA动态查询终极方案:Specification + @EntityGraph 摘要:本文展示了如何结合JPA的Specification(动态WHERE条件)和@EntityGraph(解决N+1问题)构建高性能动态查询接口。通过重写Repository的findAll方法并添加@EntityGraph注解,在保持Service层逻辑不变的情况下,实现了动态筛选与关联预加载的完美结合。最终SQL日志证明,该方法能生成高效的JOIN查询,既保留了Specification的灵活性,又彻底消除了N+1性能隐

2025-09-17 22:44:12 1023

原创 JPA状态变更的“最优解”:如何用一条UPDATE语句同时实现修改、校验与并发控制

在后端开发中,实现一个“修改状态”的接口(如“提交审核”、“发布文章”、“取消订单”)是家常便饭。一个常见的实现方式是“先查后改”:先把实体查出来,在Java代码里做一堆if-else校验,然后再保存回去。

2025-09-11 19:34:52 941

原创 不止于JSON:如何用JPA打造一个返回“一句话总结”的智能API

本文探讨了如何利用JPA构建一个返回"一句话总结"的智能API。传统做法是后端返回原始JSON数据,由前端处理复杂的字符串拼接逻辑,这不仅增加前端负担,还导致业务逻辑分散。作者提出了一种更优方案:将数据转换和文本拼接逻辑完全封装在后端Service层,通过JPA高效获取数据,最终为前端提供可直接使用的描述性文本。 文章以"福利需求单"摘要生成为例,展示了三层架构实现:Repository层负责安全查询原始数据;Service层使用StringJoiner进行优雅的文本

2025-09-11 17:33:02 941

原创 从 command not found 到 1.22.22:我的 Yarn 安装奇遇记

本文分享了作者解决 yarn: command not found 问题的完整过程。通过排查发现 Node.js 不会自动安装 Yarn,但会附带 npm。作者使用 npm install --global yarn 成功安装了 Yarn,并通过 yarn -v 验证了安装结果。文章通过表格、流程图、时序图等形式清晰展示了问题解决路径,并解释了 Node.js、npm 和 Yarn 的关系。最终得出关键结论:Node.js 自带 npm,但 Yarn 需要单独安装,使用全局安装参数 --global 才能让

2025-09-11 16:57:34 838

jdk-17-linux-x64-bin.tar.gz

使用dockerfile来构建一个包含Jdk17的centos7镜像

2024-09-26

ebuy-docker

dockerfile部署springboot项目

2024-09-26

Windows版的redis-2.8.17.rar

发布时间:Redis 2.8.17的发布时间大致在2014年,具体日期可能因不同来源而有所不同,但普遍认可的是其发布于当年。 主要用途:Redis是一个开源的、使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,常用于数据缓存、消息队列等场景。 下载Windows版Redis:从Redis的GitHub仓库或其他可靠来源下载适用于Windows的Redis版本,通常为一个包含多个文件的压缩包。 解压并安装:解压下载的文件到指定目录。Windows版的Redis通常不需要进行编译,直接解压即可使用。 配置Redis:修改Redis的配置文件redis.windows.conf,根据实际需求设置相关参数。 启动Redis服务:双击redis-server.exe文件或使用命令行启动Redis服务,并指定配置文件。 版本兼容性:Redis 2.8.17是一个较早的版本,可能无法兼容最新的客户端库或工具。在选择使用Redis 2.8.17时,需要注意版本兼容性问题。 持久化:Redis提供了RDB和AOF两种持久化方式,以确保数据的可靠性和安全性。

2024-07-29

node-v11.15.0-win-x64和node-v14.18.2-win-x64

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发者在服务器端运行JavaScript代码。 定义:Node.js是一个开源、跨平台的JavaScript运行时环境,它使用V8引擎来执行JavaScript代码,使得JavaScript能够用于编写服务器端的应用程序。 作用:Node.js使得JavaScript不再局限于浏览器环境,而是可以在服务器端进行高效的编程,实现Web服务器、API接口等多种功能。 Node.js的产生主要解决了传统服务器在处理高并发I/O密集型任务时的性能瓶颈。传统服务器多采用多线程模型,每个请求对应一个线程,而I/O操作往往较慢,导致线程大量阻塞和内存浪费。Node.js采用单线程模型,通过事件驱动和非阻塞I/O的方式,大大提高了处理高并发的能力。 Node.js凭借其单线程模型、事件驱动和非阻塞I/O等特点,在处理高并发和I/O密集型任务时表现出色。它使得JavaScript能够在服务器端进行高效的编程,推动了全栈开发的发展。随着Node.js生态系统的不断完善和发展,它将在未来继续发挥重要作用。

2024-07-29

LibreOffice-7.6.7-Win-x86-64.msi

LibreOffice_7.6.7_Win_x86-64.msi 是一个安装文件,用于在64位Windows操作系统上安装LibreOffice的7.6.7版本。LibreOffice是一个功能强大的开源办公软件套件,包括文字处理器(Writer)、电子表格(Calc)、演示文稿(Impress)、绘图程序(Draw)、数据库管理(Base)以及公式编辑器(Math)等多个应用程序,与Microsoft Office套件高度兼容。 运行MSI文件:找到下载的LibreOffice_7.6.7_Win_x86-64.msi文件,双击它以启动安装程序。如果您的系统设置了“用户账户控制”(UAC),则可能需要您确认以管理员身份运行安装程序。 遵循安装向导:安装程序启动后,会显示一个安装向导,引导您完成安装过程。您可以选择安装位置、选择安装哪些组件(如只安装Writer和Calc而不安装其他应用程序),以及查看或接受许可协议。 请注意,安装过程中可能会提示您关闭正在运行的LibreOffice程序(如果有的话),以及安装后可能需要重启计算机以完成某些更新或配置更改。

2024-07-31

mongodb-compass-1.40.2-win32-x64.msi

关于mongodb-compass-1.40.2-win32-x64.msi,这是一个MongoDB Compass的Windows平台安装包,专为64位系统设计。MongoDB Compass是MongoDB官方提供的一个图形化数据库管理工具,它集成了多种功能,如创建数据库、管理集合和文档、运行临时查询、评估和优化查询、性能图表以及构建地理查询等,为用户提供了极大的便利。 官方网站:MongoDB Compass的安装包可以从MongoDB的官方网站下载。请访问MongoDB的官方下载中心(如:MongoDB Download Center),选择适合你操作系统的版本进行下载。 双击下载的.msi文件,启动安装向导。 在安装过程中,你可以选择安装的位置和其他选项。默认情况下,MongoDB Compass可能会被安装在C:\Program Files\MongoDB Compass目录下。 系统兼容性:确保你的Windows系统是64位的,因为mongodb-compass-1.40.2-win32-x64.msi是为64位系统设计的。管理员权限:在安装过程中,你可能需要管理员权限。

2024-07-31

免费的硬件信息检测软件

cpu-z_2.10-cn.exe,具有体积小、启动快、界面简洁的特点,无需安装即可使用。它能够准确检测出CPU、主板、内存、显卡等硬件的详细信息,包括但不限于: CPU信息:名称、厂商、核心频率、倍频指数、核心电压、支持的指令集、一二级缓存信息等。 主板信息:制造商、模型、芯片组、BIOS种类、内存容量、AGP接口信息等。 内存信息:内存类型、容量、频率、时序等,支持内存双通道和三通道检测功能。 显卡信息:显卡型号、显存大小、显存频率等(部分版本支持)。 全面支持:CPU-Z支持的CPU种类全面,包括AMD闪龙、速龙系列,Intel奔腾、赛扬系列等。 启动快速:软件启动速度及检测速度都很快,用户可以随时了解自己的CPU性能。 信息详尽:除了基本的硬件信息外,还能显示一些专业玩家和专家才关心的数据,如SelfSnoop、CMOVccInstruction等。实用功能:提供处理器性能测试功能,可以测试处理器的分数和稳定度,为用户提供参考。(注意:部分版本可能无需安装,直接解压即可使用)。由于硬件和软件不断更新换代,建议定期更新CPU-Z到最新版本,以确保能够准确识别最新的硬件信息。

2024-07-25

spzx-h5(尚品甄选H5)

1.1 业务功能介绍:首页、商品分类查询、关键字查询、商品详情、注册、登录、购物车模块、用户收货地址管理、订单模块、支付… 1.2 系统架构:前端架构:Uni-App 1.3 前端H5开发说明:前端H5部分我们不需要开发,我们只需要根据接口文档开发微服务接口,然后对接到写好的前端H5即可 1.4 部署spzx-h5:删除/var/lib/docker/volumes/nginx_html/_data目录下的文件,将spzx-h5目录下的文件上传到该目录下。

2024-07-24

nginx-1.20.1.tar.gz

nginx-1.20.1.tar.gz 是 Nginx 1.20.1 版本的源代码压缩包,用户可以通过编译这个源代码包来安装 Nginx 服务器。以下是关于如何安装 nginx-1.20.1.tar.gz 的一般步骤,这些步骤适用于大多数基于 Linux 的系统,如 CentOS、Ubuntu 等: 1. 下载 nginx-1.20.1.tar.gz 2. 解压 nginx-1.20.1.tar.gz 3. 安装依赖库:在编译 Nginx 之前,需要安装一些依赖库。这些依赖库可能因你的 Linux 发行版而异,但通常包括 gcc、pcre-devel、zlib-devel、openssl-devel 等。以 CentOS 为例,可以使用 yum 命令安装这些依赖: 4. 编译 Nginx 5. 启动 Nginx 6. 配置 Nginx(可选):Nginx 安装后,你还需要编辑其配置文件(通常位于 /usr/local/nginx/conf/nginx.conf)以设置服务器和站点配置。 7. 访问 Nginx

2024-07-24

mysql-installer-community-8.0.38.0.msi

mysql-installer-community-8.0.38.0.msi 是一个 MySQL 社区版的安装程序,用于在 Windows 系统上安装 MySQL 8.0.38 版本。MySQL 是一个流行的开源关系型数据库管理系统(RDBMS),广泛用于各种应用程序中,包括网站、企业级应用等。 在mysql-installer-community-8.0.38.0.msi中,msi的英文全称是Microsoft Installer。MSI文件(也称为Windows Installer包)是Windows用于安装、修改和删除软件的标准软件包格式。它由Microsoft开发,用于Windows操作系统上软件的安装、更新和卸载。MSI文件包含有关软件安装的所有必要信息,如安装路径、文件位置、注册表项、快捷方式等。 选择安装类型(如典型安装、完全安装或自定义安装)。 选择安装位置(如果你选择自定义安装)。 配置 MySQL 服务器的选项,如端口号、root 用户密码等。 兼容性检查:确保你的应用程序和依赖项与 MySQL 8.0.38 版本兼容。

2024-07-22

AppScan-Setup-10.4.0是AppScan软件的一个安装包版本,该版本为AppScan的10.4.0版本

AppScan是一款常见的Web应用安全测试工具,它支持静态、动态、交互式和开源扫描,可以部署在开发生命周期的每个阶段,用于测试web应用程序、API和移动应用程序,以降低安全漏洞带来的风险。AppScan采用黑盒测试的方式,能够扫描常见的web应用安全漏洞,并提供详尽的漏洞原理、修改建议、手动验证等功能。 第三方套件更新:添加了基础设施和基本Gui来更新易受攻击的组件规则和Omnia数据,以及VC规则版本的更新。 MFA-安全问题回复:在回放登入期间以及自动探索期间,AppScan将检测需要安全问题值的字段,并设定正确的答案。 UX更新:包括非漏洞信息查看、变体表的多重选择、排序和更改列宽等功能。 扫描策略更新:提供了更灵活的扫描策略设置,以及增量扫描功能,可以识别应用程序中的更改,减少重新扫描期间的测试次数。 合规报告更新:新增了多种合规报告,如SA Protection of Personal Information Act (PoPIA) 2013等,并对既有合规报告进行了版本更新。 GitHub存储库上的新扩展:允许用户将URL列表和请求集合作为文件导入到AppScan中,

2024-07-22

生成内网通的积分码、免广告码、开通红色昵称、姓名加冠、排名优先

nwt_setup_3.4.3055.exe NwtGen.exe nwt_setup_3.4.3055.exe 是内网通软件的一个安装程序版本,内网通是一款专为中小型企业打造的即时通讯工具,旨在提升内网用户之间的沟通效率,同时帮助企业、学校等快速建立内网的办公沟通平台。 类型:局域网办公沟通工具、内网端口映射软件 适用环境:公司、小区宽带、出租屋、校园网、网吧、教育网等网络结构复杂、限制严格的环境。 无需外网连接:内网通允许用户在内网环境下进行通信和文件传输,无需依赖外网连接。 自动访问内网:无需设置路由器、公网IP、固定IP或动态域名,即可轻松访问和连接内网。 高效通讯:支持多标签聊天窗口,同时与多人聊天无需切换窗口;支持无限制群组交流,群组内不限制人数。 文件共享:便捷分享本地文件、信息、想法和知识,支持超大文件或文件夹的极速传输,且支持断点续传。 跨网段通讯:支持不同网段之间的通讯,只需添加网段即可实现。 个性化设置:提供多种个性化设置选项,如自定义头像、皮肤、表情包等。 兼容性强:全面兼容飞鸽、飞秋等其它局域网沟通软件,同时提供更为简洁的界面和便捷的操作。安全性高。稳定性好

2024-07-19

Snipaste-2.8.5-Beta-x64.rar

Snipaste-2.8.5-Beta-x64是一款专为64位操作系统设计的截图工具,它提供了丰富的功能和便捷的操作方式,极大地提升了用户在日常办公和学习中的效率。 支持全屏、窗口、矩形、自由形状等多种截图模式,满足不同场景的需求。 提供标尺和网格线辅助工具,确保截图的精准无误。 支持自定义快捷键,让截图操作更加迅速。 截图后,可以通过快捷键(如F3)将截图以浮动窗口的形式贴在屏幕上,随时移动、缩放,甚至设置透明度。 贴图功能极大地提高了多任务处理时的效率,无需在多个窗口之间切换。 提供裁剪、添加文字、画笔涂鸦、高亮标记等丰富的编辑工具,使信息传递更加清晰明了。 支持将剪贴板里的文字或颜色信息转化为图片窗口,并进行缩放、旋转、翻转等操作。 对于程序员和设计师而言,Snipaste可以将代码块直接贴到屏幕上,保持代码格式完整,方便代码审查或团队讨论。 捕获颜色功能帮助设计师快速提取屏幕上的颜色值。 高效便捷:简洁的界面和直观的操作方式使得用户无需繁琐的操作就能轻松完成截图和贴图工作。 功能强大:除了基本的截图功能外,还提供了丰富的标注和编辑工具,满足各种需求。 安全性高。稳定性好。

2024-07-19

NetAssist编程助手.rar-V4.3.13版本和V5.0.2版本两个版本

NetAssist编程助手.rar_V4.3.13版本和V5.0.2版本两个版本

2023-10-19

Q-dir-installer-UC.exe

适合于频繁在多目录之间切换的文件操作的独特资源管理器 Q-Dir特别适用于频繁在各个目录间跳跃复制粘贴的情况。因为Q-Dir有 4 个窗口。每个窗口都可以方便的切换目录,以不同颜色区分不同类型的文件,各窗口之间可以方便的拖放操作互相的文件。 功能特点编辑 播报 快速访问最常用的文件夹。 可以通过拖拽移动文件到个窗口。 在Q – dir目录视图和其他程序之间的复制/粘贴。 支持文件夹类型: ZIP 、FTP、网络、系统文件、快捷方式… 文件过滤器:允许的项目快速,轻松过滤。 所有栏目的支持保存功能。 对于快速文件夹访问权限。 浏览视图:大图标、小图标、列表、详细、缩略图。 允许快速预览。 有多种颜色供不同项目类型。 每个窗口可以有独立的目录树,也可以多个窗口共用一个目录树。 每个窗口的文件还可以选择不同的排序方式。 我自己喜欢使用两个窗口,共用一个目录树,一个窗口按照文件类型排序,一个窗口按照文件时间排序,需要找文件的时候非常方便。 每种文件类型可以自定义不同的颜色,方便区分文件。 还可以为选中的窗口配置背景颜色,让你一眼就能看出选中的窗口。 可以把自己常用的文件夹都拖动到目录树的

2023-09-13

FSCapture-jb51.rar

截图软件,支持滚动截屏,编辑,绘画,添加文字

2023-09-08

apache-tomcat-10.1.7-windows-x64.zip

apache-tomcat-10.1.7-windows-x64.zip,JavaWeb,后端服务器搭建

2023-09-08

Ultimate-Vocal-Remover-v5-6-MacOS-arm64.dmg

### 内容概要 这是适配 macOS 系统(支持苹果 M 系列 ARM 架构芯片)的音频分离工具安装包,借助 AI 技术,能精准分离音频中的人声与伴奏,还可实现降噪、多音轨拆分等操作,无需额外配置复杂前置环境,安装后即可使用。 ### 适用人群 音乐制作人、DJ、K歌爱好者、音频修复人员以及视频博主等。 ### 使用场景及目标 - 音乐制作场景:音乐制作人可提取干声进行 remix 创作或采样,DJ 能分离节拍制作定制混音,K歌爱好者能生成高品质伴奏用于演唱。 - 音频修复场景:音频修复人员可分离老录音中的杂音与有效音频,提升音频质量。 - 视频创作场景:视频博主可提取影视片段中的纯音乐或人声素材,丰富视频内容。目标是为不同用户在音频相关创作、修复等工作中,提供高效且精准的音频分离及处理能力。 ### 其他说明 安装时可能因 macOS 安全机制,需通过终端执行特定命令临时允许全来源应用并解除隔离限制。首次启动需 5 - 10 分钟初始化模型资源,属正常现象。搭配 MDX23C - 8KFFT - InstVoc_HQ_2.ckpt(提取伴奏)、UVR - DeNoise.pth(降噪)等推荐模型,能进一步提升处理精度,且支持 GPU 加速,在大文件或批量处理时可显著缩短耗时。

2025-10-09

Miniconda3-latest-MacOSX-arm64.sh 是一个 Miniconda 安装程序的文件名,专门用于特定类型的苹果电脑

Miniconda3-latest-MacOSX-arm64.sh 文件是一个 Shell 脚本安装程序,用于在运行 macOS 操作系统并配备了Apple Silicon (M1/M2/M3 等) 处理器的 Mac 电脑上安装最新版本的 Miniconda(包含 Conda 包管理器和 Python 3)。

2025-04-18

Eclipse Memory Analyzer Tool (MAT) 的 macOS 安装包

功能定位:这是一款专业的 Java 堆内存分析工具,主要用于: 诊断内存泄漏:通过分析堆转储文件(Heap Dump),定位未释放的无用对象。 优化内存使用:统计对象实例数量、内存占用及引用关系,提升应用性能。 支持场景:适用于开发调试、性能优化、故障排查(如 OOM 异常)等场景。

2025-04-09

Snipaste-2.10.5.dmg 是 Snipaste 软件的一个版本,专为 macOS 用户设计的磁盘映像文件(Disk Image File)

如果你正在寻找如何在 Mac 上安装 Snipaste 的步骤,以下是一个典型的流程: 访问 Snipaste 的官方网站。 在网站上找到适用于 Mac 的下载链接。 下载 .dmg 文件后,打开它。通常情况下,这会自动挂载到 Finder 上。 将 Snipaste 应用程序图标拖拽到“应用程序”文件夹中完成安装。 安装完成后,你可以启动 Snipaste 并按照指示操作来使用该软件。

2025-03-18

阿里云官方开发的 ​OSS Browser(对象存储管理客户端)​的安装文件,适用于 ​Apple Silicon 芯片(M系列芯片)的 Mac 电脑

安装步骤: ​双击 .dmg 文件,拖拽 OSS Browser 图标到 Applications 文件夹。 首次打开时,若提示“无法验证开发者”,需前往: ​系统设置 → 隐私与安全性 → 允许来自“未知开发者”的应用。 登录阿里云账号并配置 OSS 存储空间信息。

2025-03-18

AppCleaner 是一款专为 macOS 设计的轻量级应用程序卸载工具

AppCleaner 是一款专为 macOS 设计的轻量级应用程序卸载工具,旨在帮助用户彻底删除应用程序及其相关的支持文件。与 macOS 自带的卸载方式不同,AppCleaner 不仅会移除应用程序本身,还会扫描并清理与之关联的缓存、偏好设置、日志文件等残留数据,确保系统保持整洁,避免冗余文件占用存储空间。 AppCleaner 的核心功能包括: 1. 彻底卸载:通过智能扫描,识别并删除应用程序的所有相关文件,包括 ~/Library/Application Support、~/Library/Caches、~/Library/Preferences 等目录中的内容。 2. 拖放操作:用户只需将需要卸载的应用程序拖放到 AppCleaner 窗口中,即可自动启动扫描和卸载流程,操作简单直观。 3. 手动选择:在卸载过程中,AppCleaner 会列出所有相关文件,用户可以根据需要选择保留或删除特定文件,提供更高的灵活性。 4. 支持多种文件类型:除了应用程序,AppCleaner 还可以卸载 Safari 插件、系统偏好设置面板、小部件等扩展组件。

2025-01-21

FileZilla 是一款开源的跨平台 FTP(文件传输协议)客户端软件

FileZilla 是一款开源的跨平台 FTP(文件传输协议)客户端软件,支持 Windows、macOS 和 Linux 操作系统。它主要用于在本地计算机和远程服务器之间传输文件,是开发人员、网站管理员和普通用户管理远程文件的常用工具。

2025-01-21

zulu8.82.0.21-ca-jdk8.0.432-macosx-aarch64.dmg

zulu8.82.0.21-ca-jdk8.0.432-macosx_aarch64.dmg 是一个 Azul Zulu JDK 8 的安装包,适用于 macOS ARM64 架构。 zulu8.82.0.21 - ca - jdk8.0.432 - macosx_aarch64.dmg是一个 DMG 文件。DMG 是苹果 Mac OS X 操作系统上的磁盘映像文件格式,类似于 Windows 上的 ISO 文件。这个文件是专门为苹果的基于 ARM 架构(aarch64)的 Mac 电脑准备的 JDK(Java Development Kit)安装包。 其中 “zulu” 是 Azul Systems 公司提供的 Java 开发工具包的名称。版本号是 8.82.0.21,JDK 版本是 8.0.432,它可以用于在 Mac 电脑上开发和运行 Java 程序

2024-11-26

python-2.7.18.amd64.msi

文件名 python-2.7.18.amd64.msi 表示这是一个为AMD64架构系统(即64位系统)设计的Python 2.7.18安装程序包。这是Python软件基金会发布的一个Python版本。 Python 2.7.18是Python 2系列中最后几个发行版之一,现在已经达到了生命周期结束(EOL),不再接收来自官方维护者的更新或安全补丁。出于这个原因,强烈建议升级到Python 3进行现代软件开发,因为Python 3系列仍在持续得到支持和改进。 如果您仍然考虑安装Python 2.7.18,请确认这符合您的项目或应用程序的要求。但是,对于大多数新项目来说,开始使用Python 3更为明智。在继续安装之前,请务必检查与其他工具、库和依赖项的兼容性。

2024-11-13

二手车管理系统,pc端,小程序端,java后端

二手车管理系统,pc端,小程序端,java后端

2024-11-08

mysql-installer-community-5.6.51.0.msi

它的默认存储引擎是InnoDB,这在数据完整性和事务处理方面具有优势。 字符集设置方面,如前所述,虽然默认可通过配置设为utf8,但也有其局限性(如对于一些复杂字符可能需要utf8mb4)。

2024-10-15

“WindTerm-2.5.0” 表明版本号是 2.5.0

“Windows_Portable_x86_64” 说明它是适用于 Windows 操作系统的便携版(不需要安装,可以直接运行),并且是针对 x86 - 64 位架构的。 WindTerm是一个开源的跨平台终端工具,它支持多种操作系统,包括Windows、Linux和macOS。WindTerm提供了丰富的功能,如SSH、Telnet、Shell、TCP、Serial和SFTP等3。它旨在为DevOps人员提供一个更快更好的SSH/Telnet/Serial/Shell/Sftp客户端7。

2024-10-14

mysql-installer-community-5.5.60.1.msi

MySQL 是一个流行的开源关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,后归属于 Oracle 旗下。它采用 SQL(Structured Query Language,结构化查询语言)进行数据管理,是 Web 应用中最常用的数据库之一。MySQL 提供了高性能、稳定性和丰富的功能,支持大量的并发连接和数据存储需求。 总之,mysql-installer-community-5.5.60.1.msi 是 MySQL 5.5.60 社区版的 Windows 安装文件,通过该文件可以轻松地在 Windows 系统上安装 MySQL 数据库。在安装过程中,请确保正确配置安装选项和安全性设置,以便能够顺利使用 MySQL 数据库。

2024-10-13

tree-1.5.2.2-setup.exe

`tree-1.5.2.2-setup.exe` 是 Tree 命令的一个安装包,用于 Windows 系统。Tree 是一个命令行工具,它能够以树状结构展示目录及其文件。你可以通过以下步骤安装它: ### 安装步骤: 1. **下载文件**: - 下载 `tree-1.5.2.2-setup.exe` 文件到你的电脑。 2. **运行安装程序**: - 双击 `tree-1.5.2.2-setup.exe` 文件,按照屏幕提示进行安装。 3. **验证安装**: - 安装完成后,打开命令提示符(Command Prompt),输入 `tree`,按下回车。如果安装成功,当前目录的文件结构将会以树形结构展示。 如果需要该安装文件,建议从可靠的下载源获取,例如 [官方 Tree 网站](http://mama.indstate.edu/users/ice/tree/)。

2024-10-08

python-3.12.6-amd64.exe

python-3.12.6-amd64.exe

2024-09-28

harbor-offline-installer-v2.8.2.tgz

harbor-offline-installer-v2.8.2.tgz

2024-09-27

docker compose 容器编排

docker compose 容器编排

2024-09-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除