自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (5)
  • 收藏
  • 关注

原创 【Postman】对GET请求的参数进行URL编码

本文介绍了在Postman的Pre-request Script中处理URL参数编码的方法。主要内容包括:使用encodeURIComponent()函数或pm.encode方法对GET请求参数进行编码;处理单个或多个查询参数的编码实现;将编码值存入环境变量供后续使用;对URL路径参数进行编码处理;以及在请求头中进行编码操作。这些方法能确保URL参数符合规范,避免特殊字符导致的服务器解析错误,适用于包含空格、中文等特殊字符的参数场景。

2025-09-06 11:41:42 428

原创 【Python】shutil.make_archive() 方法详解

Python的shutil.make_archive()函数是一个便捷的文件打包工具,支持多种压缩格式(ZIP、TAR等)。该函数通过简单的参数设置(base_name指定输出文件名、format选择压缩格式、root_dir和base_dir定义源文件路径)就能完成文件归档操作。相比zipfile和tarfile模块,它提供了更简单的接口,适合常见打包需求,但功能相对基础。使用时需注意路径设置和文件权限问题。

2025-08-26 07:08:23 976

原创 【Python】在 Pydantic 模型中使用非 Pydantic 定义的类作为模型字段类型

本文介绍了如何在Pydantic模型中使用自定义的非Pydantic类作为字段类型。通过使用BeforeValidator和Annotated,可以预处理输入数据(如字典)并转换为自定义类的实例。关键点包括:1)定义预处理函数将字典转为自定义类实例;2)设置模型为arbitrary_types_allowed=True以允许任意类型;3)使用Annotated标记字段类型。文章以User类为例,分别演示了处理单个对象和对象列表两种场景,并提供了完整的代码示例,展示了如何从字典数据解析为Pydantic模型。

2025-08-25 23:37:41 213

原创 【Python】PyExecJS2执行js文件报错“Cannot find module“问题

本文解决了PyExecJS2执行JS文件时无法正确加载同级模块的问题。通过分析发现,当通过execjs.compile()执行a.js时,默认工作目录是Python程序的当前目录,导致__dirname解析错误。解决方法是在编译JS代码时显式指定cwd参数为JS脚本所在目录(resource_dir_path),这样就能正确解析相对路径引入的b.js模块。关键代码修改为ctx = execjs.compile(node_script, cwd=script_dir),从而确保了模块路径的正确解析。

2025-08-22 02:45:09 404

原创 【IDEA】设置Debug调试时调试器不进入特定类(Spring框架、Mybatis框架)

本文介绍了如何通过IDE调试器设置跳过Spring框架层直接调试业务代码的方法。以Ruoyi-Vue项目为例,当在SysUserController.list()方法设置断点时,调试器会先进入Spring的AOP代理类而非目标业务方法。通过配置IntelliJ IDEA的"步进"设置,添加"org.springframework."和"org.aspectj."等排除模式,可以避免调试时进入框架代码,直接定位到业务逻辑。这种设置对所有调试会话有效,

2025-08-17 22:37:47 591

原创 【Python】Python爬虫学习路线

本文是一份Python爬虫学习的全景指南,从基础语法到实战技巧全面覆盖。首先强调Python核心基础(语法、数据结构、OOP、正则表达式等)的重要性,这是爬虫逻辑控制和数据清洗的基础。其次介绍核心工具链,包括网络请求库(requests、aiohttp)、解析库(BeautifulSoup、lxml)、动态页面处理(selenium、playwright)以及存储方案。进阶部分讲解前端知识(JS基础、网页分析)和反爬对抗技巧(加密破解、Hook技术),提供实际案例和代码示例。学习路线建议先掌握基础,再通过实

2025-08-16 15:57:27 2574

原创 【JS】JavaScript中的this详解

JavaScript中的this关键字详解 JavaScript中的this关键字是一个动态绑定的上下文对象,其值取决于函数调用方式。主要有四种绑定规则:1)默认绑定(全局对象或undefined);2)隐式绑定(调用对象);3)显式绑定(call/apply/bind);4)new绑定(构造函数实例)。箭头函数不绑定自己的this,而是继承外层作用域。使用优先级为:new绑定 > 显式绑定 > 隐式绑定 > 默认绑定。实际开发中需注意事件处理、回调函数中的this绑定丢失问题,可通过bi

2025-08-03 11:13:21 424

原创 【HTML】<script>元素中的 defer 和 async 属性详解

HTML5中<script>元素的defer和async属性用于优化脚本加载。defer异步下载脚本并在DOM解析完成后顺序执行,适合依赖DOM的脚本;async异步下载后立即执行但不保证顺序,适合独立模块。两个属性都只对外部脚本有效,不能同时使用。合理选择可提升页面性能:defer用于需要DOM的脚本,async用于独立脚本,无属性用于关键脚本。注意避免在延迟脚本中使用document.write。

2025-07-26 23:26:06 570

原创 【IDEA】迁移配置、系统、插件、日志目录

本文介绍了将IntelliJ IDEA从默认C盘迁移到D盘的操作步骤。首先关闭IDEA,将Local和Roaming目录下的JetBrains/IntelliJIdea2025.1文件夹迁移至D盘。然后修改bin目录下的idea.properties文件,配置新的config.path和system.path路径。启动IDEA后,根据提示进一步添加plugins.path和log.path属性指向新位置。整个过程需注意不同版本IDEA的目录结构差异,通过修改配置文件确保所有相关路径正确指向新的存储位置。文中

2025-07-19 10:34:43 869

原创 【Python】SQLAlchemy实现upsert

本文介绍了在SQLAlchemy中实现UPSERT(更新或插入)操作的几种方法。对于简单场景可以使用merge()方法,它会根据主键自动判断是更新还是插入记录。针对不同数据库,推荐使用原生UPSERT语法:PostgreSQL和SQLite使用on_conflict_do_update,MySQL使用on_duplicate_key_update。文章还提到可以通过捕获异常的方式实现,但不推荐在高并发场景使用。最后给出了各方法的兼容性和推荐程度对比,建议优先使用数据库特定的UPSERT功能以获得更好的性能和

2025-07-18 23:26:21 521

原创 【python】Path.cwd()、sys.executable、sys.argv、Path(__file__) 在PyInstaller打包前后的区别

PyInstaller打包Python脚本时,sys.executable、sys.argv和Path(__file__)的行为会发生变化:sys.executable从指向Python解释器变为指向可执行文件本身;sys.argv[0]从脚本文件名变成可执行文件名;Path(__file__)会指向临时解压目录而非原路径。建议使用sys._MEIPASS获取资源路径,并注意调试时参数传递的变化。理解这些差异有助于正确处理打包后的路径问题。

2025-07-16 23:38:56 861

原创 获取指定类的所有成员属性上的指定注解的属性值

【代码】获取指定类的所有成员属性上的指定注解的属性值。

2024-09-01 00:30:32 502 1

原创 【LeetCode】1143_最长公共子序列_解法3

【代码】【LeetCode】1143_最长公共子序列_解法3。

2024-08-09 08:03:10 173

原创 【数据结构与算法】LeetCode_2812_找出最安全路径

【代码】【数据结构与算法】LeetCode_2812_找出最安全路径。

2024-05-22 02:05:55 205

原创 【Linux】安装Python3.11报错

如果在尝试上述步骤后仍然遇到问题,请检查错误日志中提到的具体文件和行号,以获取更多线索。此外,您还可以尝试在 Python 的官方 issue 跟踪器或相关社区论坛上搜索错误信息,看看是否有其他用户遇到了类似的问题,并寻求帮助。命令安装 Python 3.11.8 时遇到错误,这通常是由于编译环境问题、依赖项缺失或不兼容的软件包引起的。编译 Python 需要一系列的开发工具和库。确保您在 Python 源代码的根目录下执行。在 CentOS 系统上使用。命令之前,您可能需要使用。

2024-05-06 15:12:49 6047 1

原创 【Python】部署Windows系统的Python程序到Linux系统(使用venv)

如果没有,你需要先安装pip。只包含项目中使用到的依赖,但是我使用了下,体验不好,生成的。解释器的路径来创建虚拟环境。命令创建虚拟环境,默认会使用当前系统中使用的。版本,首先需要在你的系统中安装那个特定版本的。执行这个命令后,你会发现命令行提示符变成了。程序所依赖的所有第三方模块。程序所在的目录下, 使用指定版本的。总是缺少依赖,需要手动再处理一下。的文件夹,该文件夹包含了一个独立的。这将会在当前的目录下创建一个叫做。形式,表明你已经进入了虚拟环境。解释器创建一个新的虚拟环境。版本,并且它的解释器路径是。

2024-05-06 11:46:21 4483 3

原创 【正则表达式】中的“\b“

单词边界是指一个单词的开头或结尾,或者一个单词和一个非单词字符之间的位置。单词字符通常指字母、数字和下划线,非单词字符则是指除此之外的所有字符。“\b” 是正则表达式中的一个元字符,用于表示单词边界。掌握了 “\b” 的使用,可以更加精确地匹配字符串,避免出现不必要的匹配。

2023-11-03 15:30:36 4440

原创 【IDEA插件开发】RefactoringEventListener与RefactoringElementListener的区别

重构是一种改善源代码质量而不改变其功能的过程。重构可以帮助我们保持代码的整洁、简洁和易于维护。IntelliJ IDEA提供了许多内置的重构操作,例如重命名、移动、提取方法、提取常量等。重构监听器是一种特殊的接口,它可以让我们在插件中捕获和处理重构事件。通过实现重构监听器,我们可以在重构发生前后执行一些自定义的逻辑,例如更新外部设置、检查冲突、显示提示等。和。是一个全局的监听器,它可以监听所有类型的重构事件。用于获取有关所选项目中已执行重构的高级通知。

2023-11-03 14:02:29 497

原创 MySQL中使用UNION和ORDER BY的注意事项

先UNION后ORDER BY时,只需要在最后一个SELECT语句中包含ORDER BY;先ORDER BY后UNION时,由于优先级问题,需要将子查询用括号括起来,且ORDER BY后面必须有LIMIT`;

2023-04-22 21:04:30 2133

原创 使用hutool实现Date与LocalDateTime相互转化

使用hutool实现Date与LocalDateTime相互转化

2023-04-22 12:54:35 11041

转载 SpringBoot优雅停机

Spring boot 2.0 之优雅停机springboot2.3.0优雅停机Springboot2.3优雅停机方案源码解析

2022-10-11 20:05:07 283

原创 Spring-Cache整合Redis

配置类使用从数据库中查到数据后,序列化到缓存时报错:将改为:从缓存中查到数据后,反序列化时报错:原来是因为实体类中有方法,在序列化时会调用该方法,然后缓存的json中会有字段。后来反序列化时,在实体类中找不到属性,所以就报错了!实体类

2022-10-08 16:56:23 1215

原创 @Future对LocalDate不生效的问题

*** 未来LocalDateMETHOD , FIELD , ANNOTATION_TYPE , CONSTRUCTOR , PARAMETER , TYPE_USE }) // 将注解标记为 Bean Validation 约束 @Constraint(validatedBy = {/*** 错误提示信息*/ String message() default "日期必须大于今天";/*** 分组信息,容许指定此约束所属的验证组* @return};/**......

2022-08-02 21:18:44 277

原创 【IDEA】Jump to Line插件

介绍Jump to Line插件允许您在调试时访问任何一行代码。将黄色箭头拖放到gutter中所需的位置,它将在那里放置一个执行点。与单步执行不同,该插件允许您从该点开始运行程序,而无需执行前面的代码(注:相当于前面的代码没有了)。虽然IDEA中点击行号就可以跳转到指定行,但还是会执行前面的代码若被忽略执行的代码中有声明变量,该变量就会被初始化为默认值在一个函数中,可以向前和向后跳转到行。Jump to Line以绿色高亮显示适合跳转的行。更改某些行可能会破坏工作流。这就是IDE将以黄色突出显示

2022-05-28 15:00:30 4194

原创 【JVM】java.lang.OutOfMemoryError: Metaspace

背景本项目有多个定时任务,且部署环境是预发布环境有一台服务器(16.50),生产环境有两台服务器(16.60、16.61),都注册在同一个xxl-job调度中心。xxl-job配置的路由策略都是"轮询"所以每次执行定时任务时,xxl-job都是先调度到预发布环境。问题之前一直都没有问题,但是05-21日例行查看昨日定时任务的执行情况,发现05-20日00:07:00定时任务[生成拓客本会话]调度成功,但执行时报错:java.lang.OutOfMemoryError: Metaspace

2022-05-24 20:34:34 954

原创 【MySQL】Deadlock found when trying to get lock; try restarting trans

初始化数据:CREATE TABLE `t_test` ( `FID` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `FCREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `FMODIFY_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_T

2022-05-17 20:57:16 1424

原创 【Mybatis】update语句返回的是匹配到的行数还是影响到的行数?

基础参考Mybatis Update操作返回值问题拓展:modify_time会更新吗?建表,插入数据DROP TABLE IF EXISTS `temp`;CREATE TABLE `temp` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `sort`

2022-05-12 19:58:57 936

原创 【hutool】使用问题

如何将Date转化为LocalDateTimepackage cn.hutool.core.date;public class LocalDateTimeUtil { /** * {@link Date}转{@link LocalDateTime},使用默认时区 * * @param date Date对象 * @return {@link LocalDateTime} */ public static LocalDateTime of(Date date) { if (n

2022-05-09 11:20:48 1292

原创 【maven】查看模块之间的依赖关系

可以根据继承层级从下往上显示:最终显示结果如下:

2022-04-28 17:39:00 11780

原创 SpringBoot中@ConfigurationProperties配置多层嵌套和复杂Map

# ==================================================================================# 人员# ==================================================================================kfang.infra.person.incubate.000000.before-position-ids=0225,0226kfang.infra.pers

2022-04-28 15:07:13 6136

原创 seata

seata中文官网从v1.4.2版本开始,已支持从一个Nacos dataId中获取所有配置信息,你只需要额外添加一个dataId配置项注意Server和Client的命名空间和组要一致

2022-03-15 15:35:41 661

原创 application.yml与bootstrap.yml的区别

前言Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap,另外一种是 application。区别bootstrap.yml 和 application.yml 都可以用来配置参数。bootstrap.yml 用来程序引导时执行,应用于更加早期配置信息读取。可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。application.yml 可以用来定义应用级别的, 应用程序特有配置信息,可以用来配置后续各个模

2022-03-12 12:24:00 4335

原创 Feign的超时、重试、降级配置

application.ymlribbon: #请求处理的超时时间 ReadTimeout: 6000 #请求连接的超时时间 ConnectTimeout: 6000 # 是否对所有请求都进行重试。false(默认)-只对get请求进行重试;true-对所有请求进行重试(对于put或post等写操作,如果服务器接口没做幂等性,重试会产生不好的结果)!!! OkToRetryOnAllOperations: false # 每个实例重试次数,不包括首次请求,默认为0。当Eurek

2022-03-11 19:39:01 1627

原创 【SpringBoot】覆盖jar包中@Bean的方法

问题分析方案一:allow-bean-definition-overridingspring: main: allow-bean-definition-overriding: true # 允许bd覆盖/** * @description: 先设置allow-bean-definition-overriding=true,然后在@Import{@link kfang.infra.feature.mysql.MysqlConfig}后再导入该类,从而覆盖其中的mysqlSq

2022-03-08 16:27:44 6326

原创 【Spring】@Transactional的事务传播方式REQUIRED、REQUIRES_NEW、NESTED

参考spring事务传播之required nested requires_newSpring框架(事务传播行为)补充NESTED是为被嵌套的方法开启了一个子事务,这个事务与父类使用的是同一个连接。REQUIRES_NEW是使用一个全新的事务,这个事务属于另外一条全新的连接。两者最重要的体现,就是在多数据源中,REQUIRES_NEW会再次触发一下数据源的获取,而NESTED则不会。NESTED开始一个 “嵌套的” 事务, 它是已经存在事务的一个真正的子事务。嵌套事务开始执行时, 它将取得

2021-12-30 16:54:42 1777

原创 【Spring】SpEL(即Spring的表达式语言)

遗漏知识点语法使用#{...}作为界定符,所有在大括号中的字符都将被认为是SpEL字面量的表示整数:#{666}String:可以用单引号或双引号作为字符串的界定符,#{‘Tom’}Boolean:#{true}、#{false}运算符算术运算符:+、-、*、/、%、∧+号还可以作为字符串拼接符比较运算符:<、>、==、<=、>=、lt、gt、eq、le、ge逻辑运算符:and、or、not、&&、||判空运算符:#{user.n

2021-12-25 21:47:51 445

原创 Jackson序列化、反序列化首字母大写的json字符串问题解决

Jackson默认的属性发现规则将会查找到如下所述的属性:所有被public修饰的字段(成员变量);所有被public修饰的getter(即形如“getXxx()”的方法);所有被public修饰的setter(即形如“setXxx(value)”的方法)字段名是通过get方法名转换过来的, 所以会出现首字母大小写问题, 以及如果用@JsonProperty("Uname")强制序列化为某个名称时, 如果不在get/set方法上加@JsonIgnore则会出现两个uname字段,一个

2021-09-17 23:34:26 6993 3

原创 【SpringBoot】@Async、AsyncConfigurer源码解析

前言之前写过一篇@Async、@EnableAsync、@EnableScheduler、@Scheduled在Spring应用中的基本使用的文章。最近在学习SpringBoot的异步任务,发现书中还提及到AsyncConfigurer接口,之前没见过它啊-_-! 那么 这个AsyncConfigurer接口到底有什么用?我们的异步执行器配置类要不要实现它? 带着疑惑,我就去阅读了一下相关的源码,终于找到答案了。顺便还理清楚了另一个问题:Spring到底是如何决定某个目标方法使用哪个异步执行器(线程

2021-08-05 01:18:56 2732 2

原创 【SpringBoot】整合Redis(使用spring-boot-starter-data-redis)

前言Jedis是Redis官方推荐的面向Java的操作Redis的客户端,而RedisTemplate是SpringDataRedis中对JedisApi的高度封装。SpringDataRedis相对于Jedis来说可以方便地更换Redis的Java客户端,比Jedis多了自动管理连接池的特性,方便与其他Spring框架进行搭配使用如:SpringCache。Lettuce 和 Jedis 的都是连接Redis Server的客户端程序。Jedis在实现上是直连redis server,多线程环境下非线

2021-08-03 09:01:48 10955

原创 [Mybatis]@Mapper注解

/** * 使用JavaConfig时,使用此注释注册MyBatis mapper接口 */@Import(MapperScannerRegistrar.class)public @interface MapperScan {}

2021-08-02 14:52:48 6586

Spring Boot 学习笔记完整教程.pdf

Spring Boot 学习笔记完整教程

2021-01-30

visio2016.zip

visio2016.zip

2021-08-06

flv.min.js

由于flash存在很多弊端,各大浏览器逐渐弃用了flash,而html5的video标签不支持播放flv格式视频,所以flv.js就应运而生!flv.js是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。由 bilibili 网站开源。

2020-10-15

yamdi-linux-1.9.tar.gz

yamdi可以为视频加上关键帧信息,使得用jwplayer等在线播放视频时能够拖动进度条到指定点播放 。

2019-03-08

pdt_tools.indentGuide.zip

本文件是eclipse插件,可以使eclipse中java代码、js代码、jsp代码等出现缩进对齐辅助线,让代码显得层次清晰美观,方便开发人员开发。下载后先解压,然后在eclipse中选择安装本地插件,指定到解压目录即可安装成功。

2019-10-11

空空如也

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

TA关注的人

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