自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小秀的博客

记录编程学习的笔记和疑问

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

原创 使用 Maven 创建 jar / war 项目

如果想要在项目中加入配置文件(如properties文件、xml文件等),那么需要自己手动加入resources目。录:除了.java文件,其他文件都放入到这个目录。编译后会把此目录所有内容直接放入到classes目。每个Maven项目都有自己的坐标。

2024-11-23 21:05:50 432

原创 IDEA 基本设置

开启 按住 ctrl + 滚轮 改变字体大小。

2024-11-22 21:56:53 149

原创 软件设计原则

软件设计原则是指导软件开发者设计出高质量、易维护的软件的核心思想和准则。它们为解决复杂软件问题提供了结构化方法,确保系统具备高内聚、低耦合等优秀特性。:子类应该通过新增方法来扩展父类的方法,而不要在子类中改变父类已经实现的方法。:一个类应该仅有一个引起其变化的原因,即一个类只负责一个职责。:软件实体(类、模块、函数)应该对扩展开放,对修改关闭。:高层模块不应该依赖于低层模块,它们都应该依赖于抽象。的内部方法,形成了对象链,增加了模块之间的耦合度。,违反了高内聚低耦合的设计原则。

2024-11-20 17:00:06 987

原创 UML(统一建模语言) 类图

UML(Unified Modeling Language,统一建模语言)类图是用于描述系统中类的静态结构及其关系的模型。它是面向对象设计和建模中最常用的一种图示。

2024-11-20 16:30:31 928

原创 【Next】路由处理

和前端路由一样,后端路由处理也同样采用约定式路由。比如可以在 /api 目录下定义路由文件。但是要注意:route.ts 和 page.tsx 不可以在同一目录下,因为难以区分是渲染页面还是请求接口。支持以下 HTTP 方法:GET、POST、PUT、PATCH、DELETE、HEAD 和 OPTIONS。如果调用了不受支持的方法,Next.js将返回 405 Method Not Allowed 响应。注意,在生产环境下,GET 请求默认会进行缓存(Next14)退出(取消)

2024-11-20 09:41:26 818

原创 【Next】中间件

Next.js 的中间件 (Middleware)是一种在请求完成之前运行的函数,用于对入站请求进行处理和操作。它可以在路由匹配前执行逻辑,用于身份验证、请求重写、重定向、设置响应头等任务。使用场景身份验证:在用户访问页面前检查登录状态。国际化处理:根据用户的语言偏好设置动态重定向。A/B 测试:动态分流用户到不同的页面。IP 限制:根据访问者 IP 地址限制访问。中间件基本使用在 API 请求中注入特定的自定义头信息。中间件代码。

2024-11-19 20:16:57 615

原创 【Next】拦截路由

上述这个目录中,直接 Link 访问的是 photo[id]\page.js ,而 直接网址访问的 是 (…)photo[id]\page.tsx。对于一个路由以不同的方式(Link 软导航的方式 和 浏览器刷新页面的方式)去访问,得到的页面渲染结果也会不同。) 约定定义拦截路由(Link)。default.tsx 和上述一样。

2024-11-19 16:17:30 422

原创 【Next】字体修改

包括任何字体文件的内置自动自托管。

2024-11-18 22:18:39 229

原创 【CSS】opacity 影响 z-index 不生效

z-index 只对 position 属性为 relative、absolute 或 fixed 的元素有效。我的项目中就是由于第三点,opacity 影响了 z-index ,导致 z-index 不生效。z-index 的效果可能受到 CSS 特性的影响,例如 transform、opacity 等。如果页面中有其他元素也设置了较高的 z-index,可能会覆盖你的 .app 元素。确保没有其他 CSS 特性干扰 z-index 的效果。

2024-11-14 21:40:32 463

原创 【Nest】Module 模块

创建动态模块时,通常会使用forRoot或静态方法。这些方法允许在模块初始化时传入自定义配置,并根据配置生成 Providers。

2024-11-13 14:44:31 708

原创 【Nest】Providers 提供者

定义一个服务类。在模块中将该服务注册为 Provider。在其他类中注入该服务类,以使用其提供的功能。在 NestJS 中,Providers 是创建、管理和注入服务、库的核心。通过使用装饰器、模块化管理和依赖注入,我们可以轻松创建可复用、易测试的服务层逻辑。同时,通过作用域和工厂模式,我们可以根据不同的场景和需求,灵活定义和配置 Providers,从而使应用更加灵活和模块化。

2024-11-13 14:20:04 706

原创 【Nest】常用装饰器

【代码】【Nest】常用装饰器。

2024-11-13 11:53:31 540

原创 【Nest】初识 Nest

【代码】【Nest】初识 Nest。

2024-11-13 11:38:25 147

原创 接口文档讲解

接口描述:获取指定景点的访问量、评分统计等信息,帮助分析景点的受欢迎程度。接口描述:获取当前用户的优惠券信息,包括已领取、已过期和未使用的优惠券。接口描述:向用户发送推送通知,通知内容可以是活动促销、景点更新等信息。接口描述:获取指定用户的所有系统通知,通常是系统更新、维护等重要消息。接口描述:该接口用于获取指定景点或路线的地图位置,并提供路线导航。接口描述:该接口用于获取用户当前的位置,位置数据来源于腾讯地图。接口描述:获取景点附近或指定景点的活动信息,如节庆活动、演出等。

2024-11-13 09:49:45 950

原创 前端开发调试之 PC 端调试

以下内容来自稀土掘金青训营课程。

2024-11-11 20:34:33 369

原创 使用 Element Plus 样式的三种方式

由于我项目中使用的是插件式的,但是这种引入默认是没有引入样式的,所以需要我们额外引入样式。

2024-11-10 16:20:15 390

原创 【彻底解决】vue3+setup+ts项目问题解决:Cannot find module ‘xxx‘ or its corresponding type declarations.

vue3+setup+ts项目问题报错:Cannot find module ‘xxx‘ or its corresponding type declarations.

2024-11-08 17:02:06 516

原创 【已解决】React does not recognize the isPlaying prop on a DOM element. If you intentionally want it t

> React 无法识别 DOM 元素上的 “XXX” prop。如果您有意让它作为自定义属性出现在dom中,请将其拼写为小写的isplaying。如果您不小心从父组件传递了它,请从dom元素中删除它。原文:如果还没有迁移你的样式来使用 transient props ($prefix),你可能会注意到 React 警告说样式 props 在 v6 中进入了 DOM。经过我的一番查找,这个报错已经有人在 GitHub discussions 中提问过了。那么,这个报错是什么意思呢?

2024-11-06 19:37:38 223

原创 【React】styled-components 基本使用

【代码】【React】styled-components 基本使用。

2024-11-05 09:54:54 409

原创 【JavaScript】axios 二次封装拦截器(接口、实例、全局)

配置的统一管理 .env 比如 timeout 和 baseUrl拦截器二次封装(接口(通过 ts 类型约束和类的继承为每一个 request 方法添加自定义 interceptors 配置,配置上有请求和响应成功和失败的方法)、实例(类构造实例)、全局)全局拦截(token 设置、loading 效果、message 弹窗提示)整体下来最难的地方我感觉是 ts 类型的约束,不看一些源码真的理解不了。

2024-11-02 13:45:54 614

原创 【CSS】CSS 样式重置 (normalize.css 和 reset.css) 和通用样式配置

一般来说,每一个项目初始化阶段都需要样式重置和样式定制化。样式重置最常用的就是 normalize.css 和 reset.css 这两个文件。所以我再项目中一般会安装 normalize.css。

2024-11-01 15:27:05 1153

原创 【已解决】cra 配置路径别名 @ 后,出现 ts 报错:找不到模块“@/App”或其相应的类型声明。ts(2307)

cra 配置路径别名 @ 后,出现 ts 报错:找不到模块“@/App”或其相应的类型声明。

2024-11-01 15:08:35 457

原创 【React】配置图标和题目

图标和题目这些基本配置都是在 public/index.html,直接修改 link 中的 favicon.ico 就是修改图标;title 标签就是题目修改。

2024-11-01 14:57:20 637

原创 【React】react-app-env.d.ts 文件

提供的全局类型定义,这些类型定义扩展了 TypeScript 编译器对 React 项目的支持,使得项目能够识别和使用 React 的一些特有全局变量。:默认情况下,TypeScript 对导入的静态资源(例如图片、CSS 文件等)并没有类型支持。:该文件确保 TypeScript 了解当前项目的 JSX 运行环境,并为。文件包含静态资源的类型声明,允许项目中直接导入这些资源,例如。文件的作用是为 React 应用中的全局变量和类型进行声明。生成的 TypeScript 项目模板中,

2024-11-01 14:51:47 534

原创 【数据结构与算法】力扣 23. 合并 K 个升序链表

使用一个递归的 helper 帮助我们将多个链表逐步拆分为两个。两个解决了,那么 K 个也就解决了。但如果将多个改为合并两个,想必大家都会做了。依次比较两个链表的每一个节点,把它们连接起来即可。那么多个不会,两个一眼就能想到解决办法的这部分问题,可以采用一个通用思想:分治!请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。合并多个升序数组,乍眼一看这?除了分治,我们还有什么其他方法吗?

2024-10-29 21:28:36 524

原创 【数据结构与算法】力扣 143. 重排链表

不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。贴上我乱糟糟的笔记供后续复习。:将链表拆分为前后两部分,以。

2024-10-28 16:22:44 463

原创 【数据结构与算法】力扣 92. 反转链表 II

这道题和反转链表的唯一不同是它存在起始和结束位置,所以我们只需要在原有反转链表的基础上,再思考一下如何将反转后的小链表和之前的链表连接起来,也就是需要多思考两个指针(next)的指向。除此之外,如果需要反转三个数据。部分反转循环代码块执行两次(反转两次);而全部反转循环代码块执行三次(反转三次,有一次 null 头节点)。这样看来,只是三四代码语句有区别,而这两句代码正好对应了我上面说到的那两次不同的指针改变。

2024-10-28 15:21:38 436

原创 【数据结构与算法】力扣 46. 全排列

其核心思想是尝试构建一个解的过程,逐步推进,并在发现当前部分解无法生成一个完整解时,进行回溯,即撤销最近的选择,然后尝试其他可能的选择。一般回溯的逻辑放在递归函数的下面。这是一种效率低纯暴力的解法,且没有其它的更好的解法。很明显这是一道排列问题,遇到排列问题,最先想到的应该就是回溯算法。给定一个不含重复数字的数组。

2024-10-21 16:58:30 334

原创 【数据结构与算法】力扣 59. 螺旋矩阵 II

定义边界变量使用topbottomleft和right四个变量来表示当前矩阵的边界。top表示当前未填充区域的最上边行索引,bottom表示最下边行索引。left表示未填充区域的最左边列索引,right表示最右边列索引。这些边界变量随着螺旋填充或遍历逐渐收缩,直到遍历完成整个矩阵。按照顺时针方向遍历或填充按照顺时针的顺序进行:从左到右(填充top行),从上到下(填充right列),从右到左(填充bottom行),从下到上(填充left列)。每次填充后,相应地缩小边界(如top++

2024-10-19 16:25:28 668

原创 【数据结构与算法】力扣 54. 螺旋矩阵

给你一个 行 列的矩阵 ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:示例 2:提示:定义四个边界:循环遍历矩阵:遍历矩阵: 和 的作用: 的作用: 的作用:复杂度分析

2024-10-19 15:50:49 372

原创 Vue 文件类型声明

我们在 main.ts 文件中引入其他vue文件的时候,是没有类型声明的,也就是说我们知道引入了一个vue文件,但是我们不知道这个文件是准备干嘛的。所以我们需要单独为这个加上一个类型的声明。如果说没有声明也没有报错的话,那可能是因为插件 Vue-Official 已经进行处理了。通常使用 defineComponent 函数来定义组件,并通过 export default 导出。

2024-10-17 14:55:28 379

原创 Commitizen

如果我们按照cz来规范了提交风格,但是依然有同事通过 git commit 按照不规范的格式提交应该怎么办呢?Commitizen 是一个帮助我们编写规范 commit message 的工具;我们可以通过commitlint来限制提交;这个时候我们提交代码需要使用 npx cz。然后根据引导依次填写提交内容。

2024-10-17 14:46:21 158

原创 EditorConfig

VSCode 需要安装相关的插件 EditorConfig for VS Code,我们的 .editorconfig 文件才能够生效。如果是 WebStorm 则内置了该功能。

2024-10-17 14:03:28 143

原创 【React】useLayoutEffect、useInsertionEffect

useInsertionEffect 执行时,DOM还没有更新。useLayoutEffect的cb,是同步执行的,执行时机是DOM更新之后,视图绘制完成之前,这个时间可以更方便的修改 DOM。useEffect的cb,准确来说,是异步调用的,会等主线程任务执行完成,D0M更新,JS执行完成,视图绘制完成,才执行。本质上useInsertionEffect主要是解决 css-in-js 在渲染中注入样式的性能问题。如果要改 DOM, 用useLayoutEffect, 其他都用useEffect。

2024-10-16 10:45:18 619

原创 【React】事件绑定的方式

这是最简单直接的方式,即在 JSX 语法中直接传递一个内联函数。这种方式每次渲染时都会创建新的函数实例,可能会导致不必要的性能开销。优点:方便,代码简洁。缺点:每次渲染时都会创建新的函数实例,可能影响性能。2. 类绑定这种方式是将事件处理函数直接传递给事件处理器,但需要手动绑定 。优点:在构造函数中绑定 ,每次渲染时不会创建新的函数实例。缺点:需要手动绑定,代码稍显冗长。3. 构造函数绑定这种方式是在构造函数中创建一个箭头函数,将 自动绑定到当前实例。优点:箭头函数自动绑定

2024-10-15 14:56:56 924

原创 【React】在 React 项目中引入图片

因为这种方式能够更好地集成到现代化的 JavaScript 打包工具(如 Webpack)中,提供诸如代码分割、缓存优化等功能。在 CSS 模块中:可以通过样式绑定背景图片,适用于背景图片或装饰性小图标。),以便在引入图片时进行优化,具体配置可以参考 webpack 文档。语句更加符合 ES6+ 规范,使代码可读性和可维护性都有所提升。有时我们需要根据某些条件动态引入图片,这种情况下可以使用。Webpack 通常会配置文件加载器(如。如果要选择哪种方式更好,我个人推荐使用。(适用于公共资源或外部链接)

2024-10-15 11:46:40 590

原创 【数据结构与算法】力扣 42. 接雨水

分别记录从左边和右边柱子的最大高度。通过比较两边的最大高度,确定当前位置能够接到多少水。原理就是水由左右两个高度最大的值来维护,而真正计算水又通过这二者间的小值来计算。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。我们使用左右两个指针来遍历数组,维护两个变量。个非负整数表示每个宽度为。这种解法的时间复杂度是。,因为只使用了常数空间。

2024-10-12 08:30:18 515

原创 【计算机网络】http 滑动窗口

滑动窗口是一种流量控制算法,作用是在网络传输中维持一个发送方和接收方之间的数据传输平衡。发送方可以连续发送一定量的数据,不必等待前一个数据包的确认,但发送量由滑动窗口大小限制。接收方通过反馈确认信息(ACK)来告诉发送方它能接收的最大数据量(即窗口大小)。滑动窗口是 TCP 协议中用于流量控制的机制,通过动态调整发送方和接收方之间的数据传输量,确保高效、可靠的数据传输。尽管 HTTP 本身没有滑动窗口的概念,但由于其依赖于 TCP 协议,HTTP 通信中也受益于滑动窗口机制。

2024-10-11 10:34:53 800

原创 【Webpack】Webpack 中 jsonp 的使用

Webpack 使用了 JSONP 技术,特别是在实现代码分割和动态加载模块时。JSONP 通过<script>标签加载模块,并在加载完成后执行回调函数,完成模块的加载和注册。

2024-10-11 10:18:51 1303

原创 【JavaScript】JavaScript 与 V8

在小程序中,编写的 wxml、wxss 是由渲染层执行的(WebView,直接调用原生 IOS / Android WebView 渲染),js 是由 jsCore (逻辑层)解析执行。js源代码 到 ast 的过程中有词法分析(词法分析将代码转换为 tokens)和语法分析两个过程。ast 到 字节码主要是 为了 后续的兼容性处理做准备,因为不同系统上的 cpu 处理机制也不同。js 由 js 引擎(比如现在最为主流的 V8)执行。

2024-10-10 17:04:23 477

空空如也

空空如也

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

TA关注的人

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