自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 【Nginx】【避坑指南】前端上传文件极慢,接口工具却很快?原来是 Nginx 走了“公网冤枉路”!

同机通信必用内网:只要 Nginx 和后端服务在同一台服务器上,proxy_pass必须写127.0.0.1或localhost。大文件上传优化:针对上传接口,建议关闭缓冲:proxy_request_buffering off;安全考虑:后端服务(如 8000 端口)建议只监听127.0.0.1,不要暴露在公网,仅通过 Nginx 转发访问,这样更加安全。一个小小的 IP 地址差异,竟能带来几十倍的性能差距。希望这篇记录能帮到同样踩坑的朋友!

2025-12-29 19:30:00 529

原创 【Java】PageHelper 分页 数据重复问题

摘要 当使用PageHelper分页查询并按照非唯一字段(如创建时间)排序时,若该字段值重复,会导致分页数据重复问题。解决方案是:1) 在原有排序条件后追加唯一性字段(如主键ID)作为辅助排序;2) 或直接改用唯一性字段作为排序条件。这样可以确保分页结果的唯一性和正确性。

2025-10-24 19:00:00 536

原创 【Vue3】 - 解析Markdown内容生成侧边栏Toc目录索引

Markdown内容解析与目录生成方案 该方案通过Vue组件实现Markdown内容的解析和目录自动生成功能。核心功能包括:从DOM中提取h1-h6标题构建目录树、为标题添加锚点ID、实现目录点击平滑滚动定位,并支持代码块高亮显示。 主要特点: 自动解析Markdown内容中的标题结构 侧边栏目录支持多级缩进显示 滚动时自动高亮当前浏览章节 集成代码语法高亮功能 响应式设计,适应不同屏幕尺寸 适用于技术文档、博客文章等需要目录导航的长文本场景,提升内容可读性和导航体验。

2025-09-23 19:00:00 600

原创 【Vue】tailwindcss + ant-design-vue + vue-cropper 图片裁剪功能(解决遇到的坑)

Vue-Cropper头像裁剪组件实现 本文介绍了如何使用vue-cropper实现头像上传和裁剪功能。首先通过pnpm安装vue-cropper@1.1.1,然后在Vue组件中引入并使用。主要功能包括: 弹出模态框显示裁剪界面 支持图片缩放、旋转等操作 上传前进行格式和大小校验 将裁剪后的图片通过FormData上传到服务器 更新用户头像显示 关键实现点: 使用vue-cropper组件进行图片裁剪 通过FileReader读取图片为base64格式 严格校验图片类型和大小 调用后端API上传裁剪后的图片

2025-07-16 21:30:00 438

原创 【Nginx】Nginx代理WebSocket

本文介绍了如何使用Nginx代理WebSocket连接。WebSocket是一种支持全双工通信的网络协议。通过Nginx配置可实现:1)将带ws-api前缀的WebSocket请求转发至目标服务器;2)在转发过程中去除前缀。关键配置包括:强制HTTP 1.1协议、设置Upgrade和Connection请求头、延长连接超时时间以及传递客户端真实IP。需要注意的是,原始请求必须使用Nginx服务器所在IP地址。

2025-07-08 18:30:00 1098

原创 【IDEA】注释配置

修改为如下:

2025-05-14 20:00:00 259

原创 【Git】Git的远程分支已删除,为何本地还能显示?

git remote prune origin 仅仅是清理本地引用,而不更新远程分支的信息。git fetch --prune 则是获取远程更新并同时清理本地引用,是一个更全面的操作。通常情况下,如果你想要保持本地仓库的整洁并确保远程分支的状态是最新的,使用 git fetch --prune 是更常见的做法。

2025-04-22 20:30:00 735

原创 【vscode】VSCode 设置ctrl或alt+mouse(left)跳转到定义

文件->首选项->设置->然后搜索栏填写:multi cursor 如下图设置为 alt 就可以了。ctrl + 鼠标左键跳转。

2025-01-08 19:00:00 2479

原创 【Docker】‘docker‘ 不是内部或外部命令,也不是可运行的程序 或 批处理文件

不是内部或外部命令,也不是可运行的程序 或批处理文件。解决办法,在系统环境变量中配置。报错原因是,环境变量没配置。

2024-11-12 18:15:00 3893

原创 【部署项目】禹神:前端项目部署上线笔记

Nginx(发音为“engine-x”)是一款高性能的HTTP服务器和反向代理服务器,同时也是一个代理服务器。Nginx最初由编写,于 2004 年发布。反向代理负载均衡静态内容服务HTTP/2支持SSL/TLS支持高速缓存。

2024-10-02 17:55:20 969

原创 【vue3】transition 属性 加上 mode=“out-in“ 页面跳转出现空白

仅支持单个元素或组件作为其插槽内容。如果内容是一个组件,这个组件必须仅有一个根元素。/* fade-transform 过渡动画*/这个里面的内容也必须是一个根组件,

2024-09-03 18:30:00 1202 1

原创 【Electron】Electron学习笔记

Electron是一个跨平台桌面应用开发框架,开发者可以利用HTMLCSSJavaScript等Web技术来构建桌面应用程序。它本质上是结合了Chromium和Node.js,目前广泛用于桌面应用程序开发。例如,许多桌面应用都采用了Electron技术。Electron官网以下这些都是使用了Electron: 一个流行的开源代码编辑器,由Microsoft开发。GitHub官方提供的桌面客户端,用于管理Git代码仓库。1Password: 一个密码管理工具,提供安全的密码保存和管理功能。新版QQ。

2024-08-27 20:30:00 2399

原创 【npm】npm 代理问题

如果设置了代理,使用以下命令设置。

2024-08-22 12:34:32 869 1

原创 【WebSocket】websocket学习【二】

【代码】【WebSocket】websocket学习【二】

2024-08-20 22:45:10 696

原创 【WebSocket】websocket学习【一】

WebSocket是一种在基于TCP连接上进行全双工通信的协议全双工(Full Duplex):允许数据在两个方向上同时传输。半双工(Half Duplex):允许数据在两个方向上传输,但是同一个时间段内只允许一个方向上传输。例如:打电话单工: 数据传输只允许在一个方向上的传输,只能一方来发送数据,另一方来接收数据并发送。例如:对讲机。

2024-08-20 21:49:24 1012

原创 【VS Code】 vue项目使用scss显示语法错误、build编译正常

解决scss在vscode中报错问题

2024-08-13 20:30:00 569 1

原创 【uniapp】uniapp 跨域解决

使用hbuildex X 编辑器运行到内置浏览器无需考虑跨域问题。所以需要根据平台判断所属环境,来改变。,在微信小程序运行并不适用(如果要适配小程序端,和上面的。

2024-08-12 21:15:00 8449

原创 info There appears to be trouble with your network connection. Retrying...

修改vue create 安装默认包管理器,这个包管理器就在(C:\Users\你的系统名称.vuerc)

2024-07-20 10:29:53 845

原创 【MySQL】 1130 -Host ‘14.*.**.*‘ is not allowed to connect to this MySQL server

替换为你想要允许连接的主机地址。如果想允许来自任何主机的连接,可以将’用户权限时要小心,确保只授予必要的权限给指定的主机地址。中允许指定主机的连接。执行以上步骤后,尝试再次连接到。服务器,看是否问题得到解决。服务器拒绝了来自IP地址为。使用具有足够权限的用户(如。要解决这个问题,你需要在。用户的主机限制引起的。

2024-05-29 12:43:48 474

原创 【Vue】高级系列(二)消息订阅与发布--$nextTick--动画效果

作用:在插入、更新或移除 DOM元素时,在合适的时候给元素添加样式类名。图示:写法:元素进入的样式:v-enter:进入的起点v-enter-active:进入过程中v-enter-to:进入的终点元素离开的样式:v-leave:离开的起点v-leave-active:离开过程中v-leave-to:离开的终点使用你好啊!,且每个元素都要指定key值。

2023-12-28 10:40:26 1122

原创 【JAVA】黑马MybatisPlus 学习笔记【终】【插件功能】

其中缺少的仅仅是分页条件,而分页条件不仅仅用户分页查询需要,以后其它业务也都有分页查询的需求。因此建议将分页查询条件单独定义为一个。提供了很多的插件功能,进一步拓展其功能。这里我们以分页插件为里来学习插件的用法。所以,我们必须配置分页插件。

2023-12-26 22:00:00 1018

原创 【JAVA】黑马MybatisPlus 学习笔记【三】【拓展功能】

我们定义一个用户状态的枚举:import comNORMAL(1 , "正常") , FREEZE(2 , "冻结");} }NORMAL(1 , "正常") , FREEZE(2 , "冻结");} }NORMAL(1 , "正常") , FREEZE(2 , "冻结");Getter;@GetterNORMAL(1, "正常"),FREEZE(2, "冻结");然后把User类中的status。

2023-12-25 11:25:30 1281

原创 【JAVA】黑马MybatisPlus 学习笔记【二】【核心功能】

在演示的案例中,我们在代码中编写了更新的SQL语句:这种写法在某些企业也是不允许的,因为SQL语句最好都维护在持久层,而不是业务层。就当前案例来说,由于条件是in语句,只能将SQL写在Mapper.xml文件,利用foreach来生成动态SQL。这实在是太麻烦了。假如查询条件更复杂,动态SQL的编写也会更加复杂。所以,提供了自定义SQL功能,可以让我们利用Wrapper生成查询条件,再结合Mapper.xml编写SQL在mapper方法参数中用Param注解声明wrapper变量名称,必须是ew。

2023-12-13 23:33:01 1861

原创 【JAVA】黑马MybatisPlus 学习笔记【一】

为了简化单表CRUD提供了一个基础的BaseMapper接口,其中已经实现了单表的CRUD因此我们自定义的Mapper只要实现了这个BaseMapper,就无需自己实现单表CRUD了。修改mp-demo中的r包下的UserMapper接口,让其继承BaseMapperimport comBaseMapper;在刚刚的入门案例中,我们仅仅引入了依赖,继承了BaseMapper就能使用,非常简单。

2023-12-11 12:47:09 1550

原创 【虚拟机】Docker基础 【终】【项目部署 和 DockerCompose 的学习】

文件的挂载本地目录的 nginx.conf 的目录一定要看你虚拟机的路径来写,黑马给的路径是。文件中可以定义多个相互关联的应用容器,每一个应用容器被称为一个服务(容器名,只要两者在同一个网络(同网段),就一定能互相访问。文件,就可以部署项目了。的容器名称作为地址,不是镜像名称),刚好是我们的。的基本用法,接下来可以尝试部署项目了。就是在定义某个应用的运行时参数,因此与。大家可以看到,我们部署一个简单的。通过之前的学习,我们已经熟悉了。在正式部署前,我们先删除之前的。容器中已经准备好了商城的数据【

2023-12-07 09:34:38 1306

原创 【虚拟机】Docker基础 【三】【Dockerfile 和 自定义Docker网络】

举个例子,我们要从0部署一个。

2023-12-06 15:00:12 1497

原创 【虚拟机】Docker基础 【二】【数据卷和挂载本地目录】

数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。html:放置一些静态资源conf:放置配置文件如果我们要让Nginx代理我们的静态资源,最好是放到html目录;如果我们要修改Nginx的配置,最好是找到conf下的nginx.conf文件。但遗憾的是,容器运行的Nginx所有的文件都在容器内部。所以我们必须利用数据卷将两个目录与宿主机目录关联,方便我们操作。如图:confhtmlNginx容器内部的conf目录和html目录分别与两个数据卷关联。

2023-11-30 11:50:19 2193

原创 【虚拟机】Docker基础 【一】

官方仓库在国外,下载速度较慢,一般我们都会使用第三方仓库提供的镜像加速功能,提高下载速度。Docker会根据命令中的镜像名称自动搜索并下载镜像,那么问题来了,它是去哪里搜索和下载镜像的呢?官方提供了一些基础镜像,然后各大软件公司又在基础镜像基础上,制作了自家软件的镜像,全部都存放在这个网站。服务部署应用时,首先要去搜索并下载应用对应的镜像,然后根据镜像创建并允许容器,应用就部署完成了。中寻找,镜像运行时的配置也不是随意的,要参考镜像的帮助文档,这些在。,非常的方便,不过我们执行的命令到底是什么意思呢?

2023-11-29 09:30:17 1536

原创 【虚拟机】在VM中安装 CentOS 7

点击配置按钮后,我们需要把网卡地址改为静态IP,这样可以避免每次启动虚拟机IP都变化。启动后需要选择安装菜单,将鼠标移入黑窗口中后,将无法再使用鼠标,需要按上下键选择菜单。再次下一步,填写虚拟机磁盘大小。此时你要输入密码,不过需要注意的是密码是隐藏的,输入了也看不见。在虚拟机安装完成后,最好立刻设置一个快照,这样一旦将来虚拟机出现问题,可以快速恢复。Centos7是比较常用的一个Linux发行版本,在国内的使用比例还是比较高的。上图中的四个信息参考之前的以太网(ens33)网卡的截图,不要照搬我的来写。

2023-11-26 23:56:50 1372

原创 【mongoDB】mongoDB安装

选择Custom 可以自定义安装路径。

2023-11-13 10:57:41 121

原创 【PHP】【Too few arguments to function Firebase\JWT\JWT::encode()。。。。。。。】

【代码】【PHP】【Too few arguments to function Firebase\JWT\JWT::encode()。。。。。。。

2023-11-06 10:57:31 628

原创 Vue3的组件通信深入-props--自定义事件-mitt的使用-v-model在vue3中的原理-useAttrs--ref与$parent--provide与inject--pina--slot

我是子组件2点击我触发xxx自定义事件

2023-05-24 11:41:29 4722

原创 对封装好的Vue组件库进行打包,并发布到npm上

vue-cli给开发者提供了很多构建目标的命令,我们可以将我们的vue项目构建成应用、库或者Web Components组件。第三步、 使用git commit -m ‘上传组件’ 命令填写 上传描述。上没有的包,否则不能上传,同时我们可以指定入口文件。打包成功后,得到如下文件,其中有不同规范下的js文件。第四步、使用 关联远程仓库并上传代码到远程仓库中。第二步、使用git add命令提交路径下文件。的路径、文件进行忽略,我们在上传到。路径下的打包文件,不需要上传源码。文件 就需要在项目根目录下创建。

2023-05-22 14:32:54 7665 2

原创 Vue 组件通信--Event深入--v-model深入--属性修饰符sync--$attrs和$listeners--$children和$parent--混入mixin--scope-slot

Vue组件通信深入。

2023-05-14 14:45:48 381

原创 使用 natapp 实现 内网穿透(记录一下)

内网穿透是一种将公网流量通过映射到内网主机的一种技术。通俗来说,就是将家里或者公司内网中的某台计算机通过一个外部的服务代理暴露在公网上,从而可以通过公网访问该内网主机提供的服务。总结:将自己的电脑作为服务器,向公网提供服务,任何人都可以访问。

2023-05-06 21:32:45 427

原创 前端--文件上传--文件切片--利用FileReader()中的readAsDataURL()做缩略图--多文件上传--formData--切片上传实现

前端最常见的就是添加一个multiple 属性,这样在上传的时候只要按住Ctrl 就可以选择多个文件了,这样的方式对用户不够友好,因为有些用户是不知道按住Ctrl 可以选择多个文件的,一般来说,用户只会一个文件,一个文件来上传的。图片可以通过转成Base64 的方式,文件一般使用 formData来进行传输,可以说,formData 就是一个载体,负责装载文件。//用户一个一个选择文件,直接push存储起来,符合用户习惯。//结合 multiple属性,可以上传多个文件,"文件大小不能超过10M"

2023-04-12 00:11:31 3091

原创 Flex布局笔记

felx-direction 共有四个值:分别为 row(默认值),row-reverse(右往左),column(上往下),column-reverse(下往上)可以规定子元素在父元素中的排列方式:如居中对齐,平均分配空间,两边贴边中间平均分配空间等等。值为space-between 所有子元素先两边贴边在平分剩余空间。值为flex-start 所有子元素在主轴头部显示(默认值)值为flex-center 所有子元素在主轴居中对齐。值为flex-end 所有子元素在主轴尾部显示。

2023-04-03 23:34:23 388

原创 nvm 和 nrm 的学习笔记 以及 Rimraf 的使用

在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,

2022-12-16 11:59:14 455

原创 【Linux】 Linux 安装 Nginx

【代码】Linux 安装 Nginx。

2022-11-23 10:44:00 557

原创 【CSS】CSS餐厅小游戏练习1~32关的参考答案

玩法:利用各种选择器选中抖动的物体即可通关2.Type Selector(元素选择器)3.ID Selector(ID选择器)4.Descendant Selector(子元素选择器)5.Combine the Descendant & ID Selectors(组合子元素和id选择器)6.Class Selector(类选择器)7.Combine the Class Selector(组合类选择器)8.子元素选择器和交集选择器9.Comma Combinator(并集

2022-08-20 14:50:19 1920

空空如也

空空如也

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

TA关注的人

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