自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NVM for Windows 安装与配置指南(含避坑小贴士)

NVM-Windows安装配置指南 本文详细介绍了NVM(Node Version Manager)的Windows安装步骤与配置技巧。相比直接安装Node.js,NVM支持多版本切换,解决项目冲突问题。主要内容包括: 安装步骤:下载exe安装包,自定义NVM和Node路径 镜像加速:配置国内npmmirror源提升下载速度 命令使用:nvm install/list/use等核心命令解析 全局配置:设置node_global目录避免权限问题 环境变量:PATH配置与NODE_PATH设置要点 附加包管理器

2025-11-19 23:16:30 662

原创 Android | 资源类型详解

Android资源类型详解:图片资源(Drawable & Mipmap) 本文详细介绍了Android应用开发中图片资源的使用,包括: 资源类型对比表:PNG/JPEG/WebP/VectorDrawable四种格式的特性、优缺点和使用场景分析 存储路径规范:按屏幕密度(dpi)分类存放的目录结构 三种XML定义方式: shape:创建几何形状 selector:实现状态切换效果 layer-list:图层叠加组合 最佳实践建议:优先使用VectorDrawable减少体积,提供代码示例和效果图示

2025-11-19 10:19:58 915

原创 Android | 创建第一个项目、AAPT2的两个阶段(编译、链接)

本文摘要介绍了创建第一个Android项目的基本步骤。首先需要搭建开发环境,包括安装Android Studio(官方集成开发环境)、JDK/Kotlin开发工具包和Android SDK。开发环境准备后,详细说明了创建HelloWorld项目的流程,包括设置包名、最低SDK版本等关键配置选项。最后介绍了两种运行程序的方式:通过Android Studio创建虚拟设备(如Pixel 5模拟器)或连接真实Android设备进行测试。文章还提供了相关工具的下载链接和配置建议,适合Android开发新手快速入门。

2025-11-19 10:19:47 897

原创 应用密码学(书籍学习笔记、基础知识) 一

码学核心是加密(明文→密文)与解密(逆过程),需满足 Dₖ(Eₖ(M))=M。密钥分为对称(单钥,高效如AES)和非对称(公/私钥对,解决分发难题如RSA)。密码分析包括技术攻击(唯密文、选择明文等)和社会工程(勒索、贿赂)。古典密码含代替与换位法。一次一密理论绝对安全但实操难。密码学保障机密、完整、认证与抗抵赖,需算法、密钥管理和人为防护并重。

2025-08-22 10:31:24 899

原创 Redis 基础(一)

Redis的基本概念、安装配置及Java客户端Jedis的使用方法。Docker安装Redis的步骤。包括连接Redis、执行字符串和哈希操作的具体实现,帮助开发者快速上手Redis在Java项目中的应用。

2025-08-05 14:07:56 690

原创 Js高级 - this 确认规则(严格模式 vs 非严格模式)

JavaScript中的this绑定规则解析(严格模式与非严格模式对比) 本文系统梳理了JavaScript中this的绑定规则,重点分析了不同调用方式下的this指向差异: 全局环境:非严格和严格模式均指向全局对象 函数调用:严格模式返回undefined,非严格指向全局对象 对象方法:始终指向调用对象 特殊调用:包括new构造函数(指向实例)、箭头函数(继承外层this)以及call/apply/bind的显式绑定 特别详细解析了call、apply、bind三者的区别: call:逐个传参,立即执行

2025-07-28 01:01:22 658

原创 Java枚举类enum;记录类Record;密封类Sealed、permits

本文介绍了Java中的三种特殊类类型:枚举类、记录类和密封类。枚举类(Gender)展示了如何定义类型安全的常量集合,包含成员变量和方法。记录类(Point)是Java 14引入的简化不可变数据载体的特性,自动生成常用方法,适合DTO等场景。密封类则是Java 17的特性,允许精确控制继承关系,通过sealed和permits关键字限制子类继承。这三种类型分别解决了不同场景下的代码组织问题:枚举提供类型安全常量,记录类减少样板代码,密封类增强继承控制,共同丰富了Java的面向对象编程能力。

2025-07-27 16:00:21 801

原创 Mybatis (注解开发)五

本文介绍了Mybatis注解开发中的16个核心注解,包括缓存配置(@CacheNamespace、@CacheNamespaceRef)、结果映射(@Results、@Result)、关联关系(@One、@Many)、动态SQL生成(@SelectProvider)等。重点注解如@Options控制SQL执行选项,@Param绑定多参数,@SelectKey获取主键,以及@Flush强制刷新会话。这些注解替代XML配置,简化了Mybatis的CRUD操作、复杂映射和缓存管理,适用于Java接口直接编写SQL

2025-07-21 04:36:15 663 1

原创 Docker Desktop 挂载本地Win系统配置指南:Redis/MySQL/RabbitMQ持久化与自启设置

本文介绍如何在Docker Desktop中挂载本地Windows系统的Redis:latest配置文件;挂载本地Windows系统的Mysql:8.4.5配置文件;挂载本地Windows系统的rabbitmq:management配置文件。

2025-07-14 10:07:32 657 1

原创 Mybatis 进阶(动态SQL)三

MyBatis 是一个持久层框架,它支持通过 XML 或注解的方式配置 SQL 映射。MyBatis 的动态 SQL 是指根据不同的条件动态生成 SQL 语句,这样就可以避免写大量的 if-else 语句或者手动拼接 SQL 字符串,减少了代码量,提高了 SQL 的灵活性。

2025-07-12 18:33:31 443

原创 MyBatis核心(配置) 二

(1)MyBatis 核心对象 包括SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession。(2) `try-with-resources` (3)MyBatis 核心配置文件properties、environments 、settings、typeAliases、mappers(4)MyBatis 映射文件 resultMap、select、insert、update、delete、sql标签

2025-07-12 04:10:57 488 2

原创 MyBatis 框架 (基础)一

MyBatis是一款高效的Java持久层框架,通过XML或注解简化数据库操作。相比传统JDBC,MyBatis具有三大优势:1)灵活控制SQL语句,便于性能优化;2)学习曲线平缓;3)支持动态SQL生成。传统JDBC存在代码冗长、维护困难、资源管理繁琐等缺陷。MyBatis通过Mapper接口和XML配置实现对象关系映射,使SQL与Java代码分离,提升开发效率和可维护性。示例展示了从JDBC到MyBatis的转变过程,包括Maven依赖配置、实体类定义、Mapper接口编写和XML映射文件设置。MyBat

2025-07-10 04:13:18 1015

原创 React自学 基础一

React是一个由Meta开发的JavaScript库,用于构建用户界面。文章介绍了React的创建方式(推荐Vite)、JSX语法和Babel编译器。JSX是React的语法扩展,通过Babel将HTML结构转换为JavaScript代码。Babel则负责将新版JavaScript和JSX转译为兼容旧浏览器的代码。三种创建React项目的方式对比:Vite适合新项目(速度快)、Next.js适合SEO需求(支持SSR)、create-react-app适合学习(简单但慢)。摘要涵盖React基础、项目创建

2025-07-03 15:58:36 1058

原创 CentOS7安装必要内容(一)

本文详细介绍了在VMware上安装CentOS 7操作系统并配置必要环境的完整步骤。主要包括:1) 通过VMware向导创建虚拟机,配置硬件参数并加载ISO镜像;2) 安装带GUI界面的CentOS系统,设置root密码和用户账户;3) 完成系统初始化配置,包括网络连接和许可协议;4) 安装Finalshell工具用于远程连接;5) 解决yum镜像源问题,替换为阿里云镜像源。整个过程配有详细截图指导,适合初学者按步骤操作搭建Linux开发环境。

2025-06-25 01:12:04 828

原创 学习Lombok插件

Lombok是一个简化Java代码编写的工具库,通过注解自动生成getter/setter、构造方法等样板代码,减少重复劳动。核心功能包括@Getter/@Setter、@ToString、@Data等注解,可应用于字段或类级别。使用需引入依赖并配置IDE插件,能显著提升开发效率,但过度依赖可能影响代码可维护性。文章详细介绍了Lombok的引入方式、使用方法及@Target元注解的作用,并举例说明了@Getter/@Setter的生成规则和访问级别控制。注意需配置编译参数以避免注解处理错误。

2025-06-24 14:33:41 1363

原创 JS - THIS

中,this是必须的,尤其是在生命周期钩子和methods中,用来访问组件实例的属性和方法。中,不需要this。你直接使用setup中定义的响应式数据和方法,并通过refreactive等 API 来处理它们。模板中也不需要this,Vue 会自动解析datacomputedprops等。

2025-02-10 00:20:32 125

原创 vue 导航()

全局导航守卫:适用于全局的控制,可以拦截每次导航。路由独享守卫:只针对特定路由的守卫,允许在路由级别上控制。组件内导航守卫:可以在组件内部定义守卫,针对路由组件的进入和离开。通过合理使用导航守卫,你可以有效地控制路由的访问权限、进行异步数据加载等,提升应用的可维护性和安全性。

2025-02-10 00:09:56 1233

原创 TypeScript - 利用GPT辅助学习

你现在已经有了一个 TypeScript 文件,成功安装了 TypeScript 编译器,并了解了如何声明变量、定义类型和编写简单的函数。是不是感觉有点厉害了?😎接下来,你可以探索更多高级功能,如类、接口、泛型、模块等等,但今天我们就先从基础开始,让你顺利地飞起来!🚀现在你已经有了 TypeScript 的常用类型、类型别名、函数类型、对象类型等的全面了解,还可以更深入地理解高级类型如类、交叉类型、泛型、映射类型等。通过这些强大的特性,TypeScript 能够帮助你编写更加灵活、安全且可维护的代码。

2025-01-20 23:10:09 1522 1

原创 vue2 - Day05 - VueX

Vuex 是 Vue.js 官方的状态管理库。它是一个让你能在应用中集中管理共享状态的工具。当应用的规模逐渐增大,组件之间的数据传递变得越来越复杂时,Vuex 就成为了救星,提供了一个集中式的存储来管理所有的组件状态,并且保证状态以一种可预测的方式发生变化。

2025-01-20 18:29:13 1009 1

原创 uni-app的学习

语言language-tools工具的下载【记的cmd后npm install】,这是为了解决Webstrom中@vue/language-server启动失败,或者是一些奇怪报错(明明配置好了,却标签报错的问题)uni-app 有着跨平台支持、丰富的插件和生态系统、高性能、集成开发工具HBuilderX的配合使用。允许使用者仅通过一套代码发布到多平台使用。uni-app 是一个适合开发跨平台移动应用和小程序的框架,能够大幅提高开发效率。

2025-01-11 23:30:54 541

原创 Springboot - Web

Spring Boot 是一个用于简化 Spring 应用程序配置和部署的框架。它提供了一种快速开发的方式,通过默认配置、自动化配置等特性,使得开发者能够更快捷地构建和部署基于 Spring 的应用。Spring Boot Web 是 Spring Boot 的一个子模块,它专注于 Web 应用的构建。它简化了创建 Web 应用的过程,包括 RESTful 服务、Web 层的支持、嵌入式服务器等功能。

2025-01-03 21:20:58 1734

原创 2025跨年倒计时

<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>2025年跨年倒计时</title> <style> /* 页面整体样式 */

2025-01-01 00:03:47 4145 7

原创 vue2 - Day04 - 插槽、路由

页面组件(Page Components):这些组件通常直接对应一个页面或视图,负责处理整个页面的内容和布局。它们通常较大,包含多个子组件,并且与路由路径密切相关。复用组件(Reusable Components):这些组件通常是可复用的、较小的 UI 组件,提供特定的功能或视觉展示。例如,按钮、卡片、列表等组件,它们通常不直接与路由相关,而是可以在多个页面组件中重复使用。页面组件:负责页面级别的布局和数据处理,通常对应一个路由,放在views/目录下。复用组件。

2024-12-31 23:45:02 1109

原创 vue2 - Day03 - (生命周期、组件、组件通信)

Vue 的生命周期提供了钩子函数,使得你可以在合适的时机进行某些操作。不同阶段的生命周期钩子适用于不同的场景,比如在created中获取数据、在mounted中设置 DOM 操作、在中进行清理等。全局注册:通过在main.js中注册,组件可以在整个应用中使用。局部注册:在父组件中通过components选项注册,组件只在父组件中有效。通常来说,如果某个组件只在少数几个地方使用,建议使用局部注册,以便减少命名冲突和提升代码的可维护性。全局注册适用于通用的、需要在多个地方使用的组件,如Button。

2024-12-20 15:30:07 1106

原创 vue2 - Day02 -计算属性(computed)、侦听器(watch)和方法(methods)

方法(Methods):适用于事件处理、用户交互和即时执行逻辑。每次调用都会重新执行,性能相对较低,不适合用于数据计算和组合。计算属性(Computed):适用于基于其他数据计算并缓存的场景。能够避免不必要的重复计算,适合计算组合数据或派生数据。侦听器(Watch):适用于数据变化时执行副作用操作,如异步请求、数据持久化等。可以监听对象和数组的变化,适合处理复杂的逻辑。如果需要基于数据计算并缓存结果,使用计算属性。如果要响应事件或执行即时操作,使用方法。如果需要监听数据。

2024-12-20 14:13:46 937

原创 Vue2 - Day01 - 基础

学习前端开发尤其是 Vue.js 是一个非常有价值的选择。它不仅帮助你深入理解 Web 技术,还能提升你在实际项目中的开发能力。Vue.js 的响应式数据绑定、组件化开发、以及与后端技术的良好兼容,使得它在前端开发中具有广泛的应用场景。掌握 Vue.js 可以为你提供更多就业机会,它的简洁性和易学性也使你能够更快上手,逐步提高开发水平。

2024-12-14 23:46:37 1589 1

原创 使用CSS变量和JavaScript实现鼠标跟随渐变

在这篇文章中,我们探讨了如何使用 CSS 变量和 JavaScript 实现一个动态的鼠标跟随渐变效果。通过简单的 HTML 结构和 CSS 样式,我们定义了一个响应鼠标移动的径向渐变背景。利用 JavaScript,我们为元素添加了鼠标移动事件监听器,实时计算鼠标在元素内的相对位置,并更新 CSS 变量以调整渐变的中心位置。这个项目展示了如何结合现代 Web 技术创建互动式的用户体验,适合希望提升前端开发技能的读者。

2024-12-13 22:46:41 976

原创 #小知识点 Vue2和3中mount的区别

Vue 实例(在 Vue 2 中)是应用的核心,它代表了一个具体的 Vue 应用对象,负责管理数据、事件、生命周期等。你只能有一个 Vue 实例,通常是通过new Vue()创建。应用实例(在 Vue 3 中)是通过创建的,它代表了 Vue 应用的容器。应用实例的职责是挂载和管理整个 Vue 应用的生命周期和全局资源,而具体的组件实例由 Vue 应用实例来管理。Vue 3 中的让你能够创建多个应用实例,这使得 Vue 更加灵活。

2024-11-19 20:20:53 920

原创 Maven 构建项目

除了 Maven 默认的生命周期外,你还可以在pom.xml中定义自定义目标和生命周期。例如,可以为某些自定义任务添加新阶段或目标。

2024-11-13 18:57:49 1427

原创 Vue 简单入手

前端工程化(Front-end Engineering)指的是在前端开发中,通过一系列工具、流程和规范的整合,以提高开发效率、代码质量和可维护性的一种技术和实践方法。其核心目的是使得前端开发变得更高效、可扩展和可维护。 - 前往 [Node.js 官方网站](https://nodejs.org/) 下载并安装适合你操作系统的版本。建议选择 LTS(长期支持)版本。Element UI 支持自定义主题,可以通过修改 Less 变量或使用 Element-Plus 的自定义主题工具来实现。

2024-11-12 22:58:04 1661

原创 从网络到缓存:在Android中高效管理图片加载

在现代移动应用开发中,用户体验至关重要,尤其是在图像加载方面。本篇博客将深入探讨如何在Android应用中实现一个简单而高效的图片缓存加载器。我们将逐步分析 ImageCacheLoader 类的实现,包括从URL加载图片、检查本地缓存、从网络下载图片、保存缓存等关键步骤。通过这种方法,开发者可以显著提高应用的响应速度,减少网络流量,从而提升用户体验。

2024-10-30 23:38:42 738 1

原创 xhr的readyState和status

XMLHttpRequest(XHR)对象中的readyState和status用于监控异步 HTTP 请求的状态。它们分别表示请求的当前阶段和服务器的响应状态。readyState用于判断请求所处的阶段,确保数据完全接收。status用于判断请求的结果状态(如200表示成功,404表示资源不存在)。

2024-10-30 20:43:42 1654

原创 Ajax ( 是什么、URL、axios、HTTP、快速收集表单 )Day01

- **同步**:适合那些必须按顺序执行,不能并行的任务,例如需要读取文件的每一行并按顺序处理。- **异步**:适合那些可以并行处理的任务,尤其是需要等待外部资源的操作,比如网络请求、数据库访问等。

2024-10-01 03:31:43 1937 2

原创 JavaScript 补充

在Js中,函数可以访问其外部作用域中的变量,即使函数在外部作用域执行完毕后仍然可以访问这些变量。在Js中,只有变量声明会被提升,而变量赋值部分不会被提升。函数提升是Js中的一种特性,指在代码执行过程中,函数声明会被提升到其作用域的顶部,使得可以在函数声明之前调用这些函数。变量提升是Js中的一种特性,指在代码执行过程中,Js引擎会将变量声明提升到其作用域的顶部,但不会提升变量的赋值。全局作用域是指在代码中任何地方都可以访问的变量,而局部作用域是指在特定代码块内部定义的变量,只能在该代码块内部访问。

2024-09-06 09:14:34 1386

原创 JavaScript - Api学习 Day03 (日期对象、节点操作、两种定时器、本地存储)

执行栈(call stack)是用来存储代码执行过程中的上下文和调用关系的数据结构,遵循先进后出的原则。事件循环会不断地将任务队列中的任务取出,放入执行栈中执行,这样实现了异步任务的执行。代码执行时,会被分为同步任务和异步任务,同步任务会按顺序执行,而异步任务会被放入任务队列中,在主线程空闲时才会被执行。异步任务不会等待,会先继续执行后续代码,当异步任务完成后会通过回调函数或者Promise来通知执行结果。同步任务是按照代码顺序依次执行,执行完一个才能执行下一个,会阻塞后续代码的执行;

2024-09-05 14:06:25 1524

原创 JavaScript - Api学习 Day02(事件监听、流、委托)

事件(Event)是指在计算机程序中发生的某种特定的操作或变化,通常会触发一些特定的反应。在编程和计算机科学中,事件可以是用户的操作(如点击按钮、输入文字等)、系统的变化(如文件被修改、网络连接状态改变等),或者程序内部的状态变化。(2)事件监听(Event Listening)是指在程序中设置一个“监听器”来监视特定的事件。一旦事件发生,监听器会触发相应的代码或函数,处理事件并做出响应。事件监听是一种常见的编程模式,广泛用于用户界面编程、网络编程等领域。传统的注册 (L0)

2024-08-20 22:57:55 1498

原创 JavaScript - Api学习 Day1(WebApi、操作DOM对象)

排除varvar是早期的 JavaScript 变量声明方式,但由于其作用域问题(如函数作用域、变量提升)以及在大规模应用中容易导致意外行为,现代开发中通常不再使用。优先使用const建议数组和对象使用 const 来声明const声明的变量必需初始化赋值且不能再重新赋值,因此在语义上更清晰,表示这个变量的值不会改变。尽管const声明的值不能更改,但对于引用数据类型(如对象、数组等),const声明的变量存储的是引用的地址,而不是具体的值。

2024-08-19 12:13:53 1299

原创 HTML与CSS学习Day03(移动端适配)

此外,一个适当配置的视口还有助于改善网站的可访问性和搜索引擎优化(SEO)。Less 是一种动态样式语言,属于 CSS 预处理器的一种,它扩展了 CSS 的功能,包括变量、嵌套、混合(Mixins)、运算功能以及函数等,使得 CSS 更加强大和富有表现力。HTML 的响应式设计(通过 CSS 实现)可以使网页根据设备的屏幕尺寸自动调整布局、字体大小、图片大小等,从而避免内容超出屏幕或字体太小的问题。总之,视口是响应式Web设计中的一个核心概念,它使得网页能够适应不同设备的屏幕尺寸,从而提供更好的用户体验。

2024-08-19 12:13:33 1639

原创 HTML与CSS学习Day02(平面、空间操作)

使用animation来创建复杂、多步骤的动画效果,尤其是当需要关键帧控制或需要动画自动启动时。使用transition来处理简单的状态过渡,通常在用户交互时触发,并只在两个状态之间变化。

2024-08-19 12:13:08 980

原创 HTML与CSS学习Day01

CSS精灵、字体图标、垂直对齐、过渡、透明度、光标、SEO、ico

2024-08-19 12:12:34 1001

将 Gradle.zip 解压到 “C:\\User\你的用户名\.gradle\wrapper\dists”

将 Gradle.zip 解压到 “C:\\User\你的用户名\.gradle\wrapper\dists”

2024-02-08

空空如也

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

TA关注的人

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