自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yong.Sunshine

If you only do what you can do

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

原创 自动化测试中如何精确模拟富文本编辑器中的输入与提交?

最近在开发一个浏览器插件,目的是为了完成自动化测试工作,插件需要模拟用户在网页中的操作,尤其是在富文本编辑器中输入和提交内容。然而,当遇到非标准输入框的编辑器时,如何模拟用户行为并确保编辑器正确响应,成了一个不小的挑战。在这个项目中,我使用的编辑器基于Lexical实现,目标看似简单:插入一段文字并模拟按下回车键提交内容。实际操作时却遇到了多个技术障碍。

2024-09-30 13:46:47 762

原创 为什么你应该手动定义 serialVersionUID?@Serial 注解有什么作用?

最近在优化一个Java项目时,遇到了一个关于类序列化的问题。项目中有一个需要实现 Serializable 接口的类,我发现有一段代码使用了 @Serial 注解,并且还定义了 serialVersionUID……

2024-09-30 13:44:36 312

原创 前端开发必备:三种高效定位动态类名元素的 JavaScript 技巧

前几天在开发一个前端项目时,我遇到了一个问题:页面上有多个div,它们的class名都以相同的前缀开头,后面部分则是随机生成的,比如。我需要通过 JavaScript 精确定位这些div,但由于后缀部分是动态变化的,无法使用固定的类名进行选择。这种情况下,如何才能准确地通过类名前缀定位到这些div元素呢?

2024-09-28 10:51:00 600

原创 为啥我关不掉页面?Chrome扩展开发中的那些坑

在开发Chrome扩展时,我最近遇到过一个需求:需要在内容脚本中关闭当前的浏览器窗口或标签页。起初,我以为这是一个简单的功能,只需调用就可以轻松解决。然而,在实际实现过程中,我发现并没有那么顺利。直接调用会无法关闭窗口的情况,随后我又尝试了通过来让后台脚本执行关闭操作。每种方法都有其适用的场景和局限性,究竟该如何选择呢?

2024-09-28 10:48:53 726

原创 Java 序列化:为什么你应该手动定义 serialVersionUID?@Serial 注解有什么作用?

最近在优化一个Java项目时,我发现有一段代码使用了 @Serial 注解,并且还定义了 serialVersionUID,我开始思考两个问题:@Serial 注解的作用是什么?以及在类实现序列化时,是否必须手动定义 serialVersionUID?

2024-09-26 10:36:17 535

原创 我用js手搓一个类似于消息队列系统的数据管理工具类……

有点沿用后端开发的思想,这里我这里创建一个工具类,能够收集数据、批量处理,并按照设定的时间间隔或数据量大小提交给服务器。它的核心理念类似于一个消息队列,用于管理不同类型的数据,并支持对数据的灵活处理。对于前端开发中的高频数据收集和发送场景,提供了一种更加高效和可控的解决方案。批量收集数据:在每次收集数据时,不是立即发起请求,而是等到数据量达到一定数量时才进行提交。定时提交:可以设置一个时间间隔,保证即使数据没有达到一定数量,也会在设定时间之后自动提交数据。数据预处理。

2024-09-25 09:54:58 1080

原创 你知道SQL查询的执行顺序吗?

在数据库操作中,编写SQL查询语句是一项基本技能。然而,仅仅知道如何编写SQL语句是不够的,了解这些语句的执行顺序对于优化查询性能和确保数据准确性至关重要。SQL的执行顺序与我们通常在语句中看到的顺序有所不同,这在处理复杂查询时尤为重要。

2024-09-25 09:52:50 258

原创 小白也能看得懂!如何在浏览器插件的文件中合法引入第三方依赖远程代码?

随着Chrome拓展升级到V3版本,谷歌又在慢慢的收紧权限,现在已经不允许在插件中运行远程代码,这也导致了一些问题。// jsMind 库的 CDN 路径但是Chrome认为这是远程代码,在插件审核的时候给打回了,这就很尴尬,这时候该怎么办呢?

2024-09-08 14:21:31 555

原创 小白遇上字符串解析问题,正则和原生字符串函数谁来救场?

在最近的开发中,我遇到了一个小问题:需要从类似“今天 时:分”或“今天”这样的字符串中提取时间信息。如果时间精确到分钟,就返回该具体时间;如果只是“今天”,默认设置为“00:00”,即当天的 0 点。一开始,我考虑了两种解决方式:一种是通过正则表达式,另一种方式是通过字符串的操作,这里更适合哪一种方式呢?示例代码如下所示。

2024-09-05 21:30:13 1035

原创 到底选谁?Java判断null,Optional和工具类真香?还是if(obj == null)更靠谱?

因此,在不需要大量使用 Spring 或其他第三方库的场景下,这种方法更加适合。例如,在一个不广泛使用 Spring 的项目中,使用 Java 原生方法可以让代码更独立,降低对外部库的耦合度。虽然这种性能差异在大多数场景下是微不足道的,但在追求极致性能的情况下,直接使用原生方法可以减少一次静态方法调用。如果你的项目广泛使用工具类,那么在所有相关代码中保持使用工具类的方法有助于代码的统一性和可维护性。如果代码需要在不同项目中复用或发布为公共类库,选择原生方法可以减少对外部库的依赖,使代码更容易维护和移植。

2024-09-05 21:29:18 667

原创 新手必备:SpringBoot3如何使用redis?怎么配置?实现一个常用工具类?

为了定制化 Redis 的使用方式,我们可以创建一个配置类,自定义和,以便对 Redis 的键值进行序列化和缓存管理。这里定义对象序列化的方式,可以直接往Reids中存放对象,它实现自动转换。// 配置 RedisTemplate,用于操作 Redis 数据库@Bean// 创建 RedisTemplate 对象,用于执行 Redis 操作// 设置连接工厂,用于与 Redis 建立连接。

2024-09-04 09:09:33 1466

原创 在Spring Boot项目中logback记录日志出现java.lang.IllegalStateException错误

最近使用springboot开发一个后台项目,使用的springboot版本是2.4.0,使用Logback作为日志框架,项目启动的时候出现了错误。不知道你能不能发现问题出在哪里了?

2024-09-04 09:08:14 373

原创 小白指南:Maven 常用命令的使用介绍

Maven的常用命令涵盖了从项目构建到部署的各个阶段。:将打包后的文件安装到本地Maven仓库,这样其他项目可以作为依赖引用它。:将编译后的代码打包成jar、war或其他格式的文件,但不安装到仓库。:复制项目的所有依赖到指定目录,方便在没有Maven环境的地方使用。:将项目部署到远程仓库,如Maven中央仓库或私有仓库。:显示Maven的帮助信息,列出可用的命令和选项。:运行项目的所有检查,包括测试和代码风格检查。:生成项目的文档,包括API文档和项目报告。:解析项目的依赖,确保所有依赖都可用。

2024-09-03 10:09:47 321

原创 面试官:你详细说说MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别

在管理MySQL数据库时,了解和区分数据库使用的三大日志类型至关重要。这些日志对于确保数据的完整性、提供恢复机制以及维持数据库的稳定性发挥着关键作用。最主要还是小豆前段时间去参加面试被问到了这些内容,下面将详细讨论Redo Log、Binlog和Undo Log的异同。

2024-09-03 10:09:04 682

原创 前端小白操作指南:如何删除项目中 pre-commit 的提交限制?

最近在维护一个项目时,我遇到了一个问题:项目中设置了pre-commit限制,每次提交代码前都需要通过一系列的检查。这虽然能提高代码质量,但在一些紧急情况下或者进行大量小修改时,这些限制反而显得有些繁琐和费时。我开始思考,是否有办法去掉这些pre-commit限制,从而加快提交速度。当然,这需要在不影响团队代码质量和协作的前提下进行。那么,具体该如何操作呢?

2024-09-02 10:36:24 936

原创 前端代码提交前的最后防线:使用Husky确保代码质量

我们通常会引入ESLint和Prettier这样的工具来帮助我们规范本地代码的格式。然而,这种格式化过程仅在本地有效,并且依赖于我们在VSCode中手动设置自动保存功能。如果团队成员忘记进行这样的配置,或者在没有格式化的情况下提交了代码,我们该如何确保代码质量呢?

2024-09-02 09:33:02 248

原创 【前端】代码Git提交规范之限制非规范化提交信息

在我们目前的前端项目中,我们采用git作为版本控制工具。使用git管理项目意味着我们经常需要提交代码。当我们执行命令时,我们被要求提供一个描述信息。现在使用约定式规范提交,和Commitizen简化提交流程,但是如果出现人就是不遵守规则该怎么办呢?

2024-09-01 13:54:08 1183

原创 【前端】代码Git提交规范之约定式提交和Commitizen简化提交流程

在我们目前的前端项目中,我们采用git作为版本控制工具。使用git管理项目意味着我们经常需要提交代码。当我们执行命令时,我们被要求提供一个描述信息。然而,由于每个人的理解和表达方式不同,提交信息的多样性有时会导致信息的模糊和不明确。这不仅影响了代码的可追溯性,还可能隐藏潜在的风险。因此,为了提高团队的协作效率和代码质量,我们需要建立一套统一的提交规范,确保每次提交的信息都是清晰、一致且具有描述性的。那么该怎么规范呢?

2024-09-01 13:53:32 699

原创 前端代码检测工具 ESLint是什么?怎么格式化代码?

想象一下,ESLint就像是一个严格的老师,它会告诉你哪里的代码写得不够好,哪里可以改进。这是一个开源的 JavaScript 代码检测工具,自从2013年它出现以来,它就成为了JavaScript开发者的好伙伴。它的核心任务是提供一个可以定制的检查系统,让你能够根据自己的喜好来设定规则,保证你的代码既规范又统一。

2024-09-01 13:52:54 1006

原创 Maven入门:自动化构建工具的基本概念与配置

目前无论使用IDEA还是Eclipse等其他IDE,使用里面 ANT 工具帮助我们进行编译,打包运行等工作。Apache基于ANT进行了升级,研发出了全新的自动化构建工具Maven。Maven使用项目对象模型(POM-Project Object Model,项目对象模型)的概念,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。在Maven中每个项目都相当于是一个对象,对象(项目)和对象(项目)之间是有关系的。

2024-08-31 09:23:01 660

原创 Mac用户必备:轻松添加Git SSH密钥全攻略

最近新买了一台MacBook笔记本,然后安装了git,准备下载代码,正好遇到配置GitHub的ssh密钥,记录一下整个操作流程。

2024-08-31 09:21:03 598

原创 MySQL分页查询的三种常用方法

LIMIT在处理数据库查询时,我们经常需要对结果进行分页,以便在用户界面上提供更好的浏览体验。MySQL提供了几种不同的方法来实现这一功能,其中最常见的是使用LIMIT子句。以下是三种使用LIMIT进行分页的基本方法。

2024-08-31 09:19:46 396

原创 代码小妙招:用Java轻松获取List交集数据

今天遇到一个小需求,当用户上传了一个关于用户数据的列表,我们需要将其与数据库中已有的用户数据进行比较。假设数据库中的用户数据存储在集合A中,而用户上传的数据存储在集合B中。我们需要确定集合B中有多少数据在集合A中,以及有多少数据不在集合A中,并记录这些信息到日志中。那么,我们应该如何处理这个需求呢?

2024-08-30 10:18:04 1449

原创 面试必备:进程、线程与Socket通信的全面指南

在这里,我们将讨论进程与线程的区别、进程间的几种通信方式以及Socket的概念,并对比本机Socket和网络Socket通信的不同。

2024-08-30 08:45:00 787

原创 SpringBoot日志管理 —— 解决Logback生成 “LOG_PATH_IS_UNDEFINED“ 文件夹问题

在我们的SpringBoot项目中,我们使用Logback作为我们的日志框架。我们注意到在项目的根路径下面出现了一个名为的文件夹,我们所有的日志文件都在这个文件夹中。定义的日志文件并没有在指定的路径中生成。

2024-08-30 00:07:58 445

原创 面试官:你知道MySQL如何确保原子性、隔离性和持久性的吗?

深入探讨了数据库事务的原子性、隔离性和持久性,以及MySQL如何通过其机制来确保这些特性得到满足。对于理解数据库事务处理和MySQL的内部工作机制非常有帮助。

2024-08-29 14:38:19 964

原创 小白开发攻略:Chrome插件如何在内容脚本中发送系统通知?

在开发Chrome插件时,我遇到一个小问题。最近在研究Chrome V3版本的插件,其中包含一个内容脚本,它需要在完成一系列操作之后发送系统通知消息,提醒用户已经完成。然而,当我尝试在内容脚本中调用chrome.notifications API发送通知时,发现根本无法触发任何通知消息。根据文档,内容脚本似乎不具备直接发送系统通知的权限。那么,在Chrome V3插件的架构中,如果内容脚本需要发送通知消息,该如何实现呢?

2024-08-29 14:11:00 387

原创 小白指南:Linux怎么创建压缩包?又怎么解压缩?

在使用Linux系统时,常常需要对文件进行压缩和解压缩操作。最近在整理项目文件时,我遇到了一些挑战。Linux支持多种压缩格式,如zip、tar.gz、tar.bz2等,每种格式都有其独特的压缩和解压方式。我在尝试使用这些格式创建压缩包时,一开始并不清楚具体该用哪些命令来生成和解压这些文件。那么,在Linux系统中,如何创建这些常见格式的压缩包?又该怎样正确地解压缩它们呢?

2024-08-29 11:05:59 512

原创 面试官:MySQL使用B+树索引有什么优势?

在我们日常的数据分析和数据库管理中,索引的作用不言而喻,它就像是一座桥梁,连接着数据的存储和快速检索。但是,你有没有想过,为什么数据库系统如MySQL会偏爱B+树作为索引结构,而不是B树或哈希索引?

2024-06-25 10:37:40 975

原创 小白科普文:mime.types文件是啥玩意?Nginx配置这个干啥用?

最近在使用Nginx配置服务器的一些反向代理业务时,我注意到配置文件中有一个include指令(用于包含其他配置文件。这有助于将配置分成多个文件,提高管理和维护的便利性)。在查看这些配置文件时,我发现它们主要分为MIME类型定义文件和其他配置文件。这让我很好奇,MIME类型定义文件到底是什么东西?为什么需要专门配置这些文件?

2024-06-25 10:35:38 1573

原创 新手必备:macOS上用Homebrew轻松安装MySQL

请注意,如果您在安装或配置过程中遇到任何问题,可以参考搜索结果中的相关文章,它们提供了关于安装MySQL的详细步骤和可能遇到的问题的解决方案。命令来增强MySQL的安全性,这个命令会引导您完成一些安全相关的设置,包括设置root密码、删除匿名用户、禁止root用户远程登录等。默认情况下,MySQL的root用户没有密码。为了安全起见,您应该设置一个密码。为您想要设置的密码。

2024-06-23 11:10:33 620

原创 前端小白指南:前端生成唯一设备标识的那些事儿

最近,我在使用javascript开发一个基于Chrome的插件,遇到了一个有意思的需求。插件需要生成一个授权码(code),但为了确保安全性,这个code必须与设备绑定,防止被不同的设备使用,限制一个code只能在一个设备上使用。这个需求带来了一个问题:我该如何在前端中获取当前设备的唯一标识呢?

2024-06-23 11:07:36 3915 2

原创 小白科普篇:详解Java对象的强引用、软引用、弱引用和虚引用

在Java中,有四种类型的引用,它们定义了对象被垃圾收集器(GC)处理的不同时机。下面我将结合代码对这四种引用类型进行介绍。

2024-06-22 13:16:15 312

原创 小白指南:前端使用javascript如何判断集合是不是空集合?

最近在开发一个Web应用时,我遇到了一个关于集合处理的问题。具体来说,我需要判断一个集合是否为空。集合可以是数组、对象、Map或Set等不同的数据结构。就简单的整理了一下如何在JavaScript中有效地判断一个集合是否为空呢?

2024-06-22 13:14:23 630

原创 优化MySQL并发事务:如何避免更新丢失问题?

现在有两个事务,事务A和事务B,他们都需要修改同一行数据,这行数据原始值为100,事务A的操作是数据增加100,事务B的操作也是增加100,预期的最终结果是300,现在如何保证最终的数据是300的?什么时候会出现200的情况?

2024-06-21 19:44:17 1293

原创 ThreadLocal使用指南:避免内存泄漏,提升多线程效率

假设我们正在开发一个基于微服务架构的在线服务平台,该平台提供了用户认证、数据存取、业务处理等功能。在这个平台中,用户通过登录流程获取一个认证Token,该Token用于在后续的请求中验证用户身份。为了保证Token的安全性和隔离性,我们需要一种机制来确保每个用户请求对应的Token只在处理该请求的线程中有效,并且不会被其他线程访问或篡改。

2024-06-21 19:42:47 957

原创 优化Java多线程应用:是创建Thread对象直接调用start()方法?还是用个变量调用?

偶然间发现一个有意思的点,平时写代码的时候,下面这两种写法,不知道大家经常使用的是哪一种写法?你能发现他俩有啥区别吗?

2024-06-20 23:12:47 345

原创 小白教程:使用IntelliJ IDEA的HTTP Client进行接口验证

这段时间使用开发一些Rest API相关的功能,准备做一些接口的简单测试,快速的验证一下API功能是否正常,正好觉得IntelliJ IDEA中的HTTP Client功能非常方便,它允许我们直接在编辑器中操作,正好记录一下。

2024-06-20 23:11:24 1298

原创 Chrome插件开发入门:手把手教你创建第一个扩展

最近,客户发布了一个新的任务 —— 开发一个Chrome插件。之前没有这方面的开发经验,准备想学习一下这块的内容,我发现网上的大多数视频都是几年前的,开发版本都是基于MV2,当前谷歌已经开始使用MV3(Manifest V3)版本了,我决定利用这次机会,从零开始,探索并记录整个开发过程。

2024-06-19 18:43:03 973

原创 前端小白操作指导:如何使用Webpack压缩与转译JavaScript代码?

我不希望客户轻易看到源代码,于是就想到代码压缩,此外,由于使用了ES6语法,可能会遇到浏览器兼容问题,所以还需要进行一次代码转译。

2024-06-19 18:41:45 520

空空如也

空空如也

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

TA关注的人

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