自定义博客皮肤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

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

原创 模型文件后缀详解:如何选择合适的模型版本

在使用深度学习模型时,你可能会注意到模型文件的命名中包含各种后缀,例如fp16int8q4quantized等。这些后缀代表了模型的不同版本或配置,通常与和相关。了解这些后缀的含义,可以帮助你根据硬件条件和任务需求,选择最合适的模型版本。

2025-01-16 19:49:58 1632

原创 Windows软件包管理器Winget

最近我了解到 Windows 提供了一个名为 Winget 的包管理工具,它可以通过命令行快速安装、更新和卸载各种软件。这对于我这样经常需要配置开发环境的人来说,无疑是一个极大的便利。然而,我在尝试使用 Winget 时,发现它的一些命令和参数需要一定的学习成本,比如如何查询软件包、如何指定版本安装,甚至是如何解决安装过程中的权限问题。这些功能如何高效使用,还有哪些隐藏的小技巧呢?

2025-01-13 19:32:20 872

原创 在 Windows 上添加 Git SSH 密钥

SSH 密钥是一种加密的认证方式,用于在不输入密码的情况下安全地访问远程服务器或 Git 仓库。私钥:保存在本地,切勿泄露。公钥:上传到 Git 服务器(如 GitHub),用于验证你的身份。

2025-01-13 19:31:38 1562

原创 为什么官方建议在预加载脚本中使用 ipcRenderer?

预加载脚本(preload.js)是在 Electron 应用启动时,由主进程指定并加载到渲染进程中的脚本。它运行在一个特殊的环境中,既可以访问 Node.js API,又可以操作渲染进程的全局对象

2024-12-09 19:36:04 566

原创 理解 Node.js 模块的版本号及符号规则

我需要深入理解 Node.js 模块的版本号管理方式,尤其是其依赖的语义化版本管理(SemVer)规范。一开始,我只知道版本号由三个数字组成,例如 1.2.3,但对于这些数字具体代表的含义并没有深入研究。然而,随着项目需求的复杂化,我发现理解这些规则对依赖模块的选择和升级至关重要。

2024-12-08 11:10:51 770

原创 如何优雅地初始化 Java 集合?从构造方法到懒加载的全面分析

在最近的一个项目中,我需要定义一个类,其中包含一个用于存储筛选条件的集合属性。最初,我直接在类中定义了这个集合并进行了初始化,像这样:不过,在实际开发中,我开始思考:是否应该在定义时就初始化这个集合,还是在构造方法中进行初始化呢?毕竟构造方法允许我们根据传入的参数来动态设置属性值,或者使用其他方式更灵活地控制集合的初始化。同时,我也在考虑其他场景,比如懒加载或外部注入,这种情况下应该如何处理这个集合属性的初始化?那么,究竟哪种方式更优雅,或者说在不同的情况下我们该如何做出选择呢?最简单的方式,就是在定义类

2024-12-08 11:09:55 1001

原创 如何优雅地实现单例模式?内部静态类还是双重检查锁定?

在最近的一个项目中,我需要为一个核心配置类实现单例模式。在设计过程中,我发现要同时满足和和起初,我倾向于使用 DCL,它通过双重检查来避免不必要的同步开销,但需要谨慎处理volatile关键字的使用,确保在多线程环境下的安全性。另一方面,内部静态类的实现更加简洁,利用类加载的机制,天然地保证了线程安全和延迟加载。但这两者在实际应用中各有优劣,那么在面对不同场景时,究竟该如何选择更合适的单例实现方式呢?

2024-12-07 16:36:34 1032

原创 面试官:你想过为什么 JavaScript 变量和函数可以在声明之前调用吗?

在JavaScript中,知道大家有没有关注过一个点,就是函数声明可以在函数调用之后?为什么可以这样操作呢?在javascript中,变量声明也可以在变量调用之前,是不是很神奇?函数提升是一个非常基础且重要的概念。许多开发者在初学时会感到困惑,因为JavaScript解释器在代码执行之前,会进行一个叫做“提升”的操作,将所有的变量和函数声明提升到其所在作用域的顶部。那么,这一特性到底意味着什么呢?

2024-12-07 16:34:23 1058

原创 面试官:如何在 JavaScript 中选择最合适的函数定义方式?

在最近的一个Chrome插件项目中,我深入探索了JavaScript中不同的函数定义方式。随着开发的深入,我发现理解这些方式的优劣势至关重要。比如,当我使用函数声明和箭头函数时,遇到了一些作用域和this指向的问题,这让我很困惑。此外,我还注意到,立即执行函数在某些情况下能够避免全局污染。那么,在实际开发中,如何选择合适的函数定义方式,以确保代码的可读性和可维护性呢?

2024-12-06 11:27:12 913

原创 巧用反射与注解:如何快速提取类的属性名为字符串列表?

在实际的应用场景中,这里不希望直接使用属性名作为输出,或者需要忽略某些字段。比如,我需要把userName转换成user_name,而忽略掉password字段。为了解决这个问题,我们可以通过Java 注解来控制字段的转换方式。:用于自定义某个字段的名称。:用于忽略某个字段的转化。

2024-12-06 11:26:24 341

原创 为什么 Electron 要废弃 remote?原因与解决方案解析

remote自Electron 14.0.0 起,remote模块已被并在 Electron 16 中被完全移除。官方建议开发者转而使用主进程和渲染进程之间的来实现类似功能。

2024-12-05 15:50:51 526

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

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

2024-09-30 13:46:47 1344

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

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

2024-09-30 13:44:36 1227

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

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

2024-09-28 10:51:00 758

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

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

2024-09-28 10:48:53 932

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

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

2024-09-26 10:36:17 1085

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

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

2024-09-25 09:54:58 1134

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

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

2024-09-25 09:52:50 386

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

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

2024-09-08 14:21:31 1058

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

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

2024-09-05 21:30:13 1095

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

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

2024-09-05 21:29:18 724

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

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

2024-09-04 09:09:33 1936

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

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

2024-09-04 09:08:14 534

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

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

2024-09-03 10:09:47 402

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

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

2024-09-03 10:09:04 1091

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

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

2024-09-02 10:36:24 1240

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

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

2024-09-02 09:33:02 351

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

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

2024-09-01 13:54:08 1518

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

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

2024-09-01 13:53:32 892

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

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

2024-09-01 13:52:54 1324

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

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

2024-08-31 09:23:01 734

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

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

2024-08-31 09:21:03 1946 1

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

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

2024-08-31 09:19:46 840

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

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

2024-08-30 10:18:04 1724

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

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

2024-08-30 08:45:00 971

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

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

2024-08-30 00:07:58 692

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

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

2024-08-29 14:38:19 1425

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

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

2024-08-29 14:11:00 798

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

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

2024-08-29 11:05:59 799

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

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

2024-06-25 10:37:40 1053

空空如也

空空如也

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

TA关注的人

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