自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(360)
  • 资源 (1)
  • 收藏
  • 关注

原创 “4 + 1”视图模型详解

4 + 1”视图模型由Philippe Kruchten提出,用于多维度描述复杂软件系统的架构,确保不同利益相关者(如开发者、运维、用户)对系统有一致的理解。通过“4 + 1”视图模型,可全面管理软件系统的复杂性,降低沟通成本并提升架构设计的可靠性。

2025-05-09 17:19:08 720

原创 系统架构师考试误区:持续更新中

2025-05-09 17:02:34 74

原创 功能需求、业务需求、用户需求的区别与联系

通过清晰区分三类需求,可确保系统开发既能满足战略目标,又能解决用户实际问题,同时保障技术落地可行性。:业务需求是组织或客户的高层次战略目标,描述系统开发的根本原因和预期价值,通常由企业决策者提出。:用户需求是最终用户在特定场景下希望系统完成的任务或解决的问题,反映实际使用中的痛点和期望。:功能需求是系统必须实现的具体功能或行为,由开发团队根据业务和用户需求转化为技术实现。

2025-05-09 16:30:55 264

原创 使用 @PostConstruct 初始化客户端配置

Spring Bean 的初始化流程:实例化 → 依赖注入 → 初始化方法 → 可用。已正确注入,可根据环境动态选择协议。将客户端与桶名称映射关系安全存储到。在 Spring 应用中,使用。在正确时机使用已注入的配置值。Spring 无法直接通过。改为实例变量注入后,通过。,再执行协议配置等后续操作。方法中,使用已初始化的。执行,确保配置已就绪。可维护的日志与监控能力。配置加载顺序的正确性。动态协议选择的灵活性。

2025-04-11 10:18:20 350

原创 系统架构师题目1:工程项目的总费用和最短时间的问题

间接费用:可以当成公司的每日水电费(或者租金),间接费用是根据最关键路径计算的,如果赶工加班所产生的费用超过每日的间接费用,则不需要赶工。最关键路径:也就是最长工期路径。

2025-04-08 09:43:37 228 2

原创 Redis批量操作详解

命令,但需要注意MSET的局限性(无法设置过期时间,且所有键值对必须一次性设置)。:需保证命令按顺序执行,但非严格原子性(集群模式下需所有键在同一哈希槽)。:无法设置过期时间,且要求所有键在同一哈希槽(集群模式下需使用哈希标签。:所有键的过期时间相同或无过期设置,且无需条件判断。:命令顺序执行,支持条件判断(如WATCH):若为集群环境,需确保所有键在同一哈希槽。:集群模式下需使用哈希标签确保键在同一节点。:保证原子性,适合对一致性要求高的场景。选择建议:若无原子性要求,优先使用。:需原子性执行所有命令。

2025-03-31 16:05:13 532

原创 PromQL语法踩坑1:有标签条件,要添加到指标名称后的花括号中

关键修改点构造顺序调整:将标签过滤器正确放置在指标名称之后,范围选择器[1h]之前。正确PromQL语法:确保生成的查询字符串格式为,避免语法错误。通过上述修改,Prometheus能够正确解析查询语句,解决因语法错误导致的400 Bad Request问题。

2025-03-31 11:02:05 861

原创 isEmpty() 和 isBlank() 你用对了吗

是用于判断字符串状态的两种方法,它们的核心区别在于对“空”和“空白”的定义及实现逻辑不同。通过合理使用这两种方法,可以更精确地处理字符串的“空”与“空白”状态,提升代码的健壮性。,需结合判空逻辑(如。,并遍历检查每个字符。

2025-03-28 16:42:45 1205

原创 禁用ONLY_FULL_GROUP_BY模式

这是由于MySQL启用了模式导致的。

2025-03-25 14:40:23 570

原创 动态 SQL 或 Criteria 构造 OR 条件,可以实现多字段匹配

通过动态 SQL 或 Criteria 构造 OR 条件,可以实现区域名称的中英文匹配。若业务涉及多语言场景,可结合国际化配置动态切换匹配字段。具体实现需根据实际表结构和业务需求调整,建议优先使用 XML 动态 SQL 以提高灵活性和可维护性。

2025-03-25 10:57:57 549

原创 系统架构师重要知识点1:企业集成分类

零售企业将线下门店的销售数据(SQL Server)与电商平台数据(MongoDB)同步到Snowflake,生成全渠道销售报表。是指将企业内部或跨企业的系统、应用、数据、流程等连接起来,实现信息共享、流程协同和业务自动化。将不同系统的数据存储(如数据库、文件系统)进行统一或同步,解决数据孤岛问题,确保数据一致性。:Snowflake(云数据仓库)、AWS S3 + Athena(数据湖)。:Airflow(数据管道)、Zapier(自动化工具)。:集中存储结构化(仓库)或非结构化数据(湖),支持分析。

2025-03-19 13:49:35 675

原创 系统架构师重要知识点2:EAI(企业应用集成)

EAI(企业应用集成)的四个层次服务从底层到顶层依次为。

2025-03-19 12:00:42 537

原创 ECharts: setOption方法的参数作用

在 ECharts 中,

2025-03-13 09:56:19 467

原创 HTTP 协议中常见的错误状态码(详细介绍)

以下是 HTTP 协议中常见的错误状态码及其原因的总结,按错误类型分类整理:客户端错误(4xx):服务端错误(5xx):通过状态码可快速定位问题方向,但具体原因需结合服务器日志和请求上下文进一步分析。

2025-03-12 16:20:25 1020

原创 Maven依赖中`<scope></scope>`的作用

Maven中的<scope>标签用于控制依赖项在不同构建阶段(如编译、测试、运行)的可见性、传递性以及最终打包时的包含规则。

2025-03-12 15:52:01 337

原创 异常:Expression #2 of SELECT list is not in GROUP BY clause

优先选择。

2025-03-10 15:43:07 712

原创 报错Non-terminating decimal expansion; no exact representable decimal result

BigDecimal的除法操作必须处理无限小数的情况。通过在divide()中直接指定精度和舍入模式,可以避免异常并确保计算结果的正确性。

2025-03-05 14:46:34 512

原创 Java 并行流(Parallel Stream)详解

并行流是Java 8引入的高效处理集合数据的工具,通过多线程加速计算。Fork/Joinparallel()mapfilterreduce并行操作中修改共享变量会导致线程安全问题,应使用无状态操作或同步控制。如sorted()distinct()在并行流中可能更耗时,需合并线程结果。ArrayListLinkedListTreeSet使用保证顺序,但牺牲性能。

2025-03-03 15:31:50 882

原创 表关联查询:utf8mb4_general_ci和utf8mb4_0900_ai_ci两种不同的校对规则在操作符‘=‘时混用了

校对规则(collation)决定了字符串比较和排序的方式。当两个字符串的校对规则不同时,MySQL可能无法正确比较它们,从而导致这样的错误。用户执行的是一个JOIN操作,涉及到多个表,尤其是tb_device和tb_region这两个表。根据错误提示,问题出现在某个ON子句中的列比较,可能是它们的字符集或校对规则不一致。这个错误是由于在MySQL查询中,不同校对规则(collation)的列进行了比较导致的。通过以上步骤,可消除因校对规则不匹配导致的查询错误。将冲突列的校对规则改为相同值(如统一为。

2025-03-03 11:57:37 821

原创 Vue的组合式API和选项式API有什么区别

选项式API:简单易用,适合小型项目或初学者。组合式API:灵活强大,适合大型项目或需要逻辑复用的场景。根据项目需求和个人偏好选择合适的方式即可。

2025-02-25 09:58:50 373

原创 快速辨别Vue版本的8个关键方法

【代码】快速辨别Vue版本的8个关键方法。

2025-02-25 09:54:45 283

原创 FastExcel 实现数据分批次导入、导出

使用。

2025-02-24 17:58:14 899

原创 修改与 Git 相关的邮箱

仅为标识,修改需重新生成密钥或编辑注释,需更新公钥到 Git 服务。文件)添加到 Git 服务(如 GitHub/GitLab)。可能影响已有服务的密钥识别(无实质影响,但建议重新生成更安全)。参数添加),不影响 Git 服务认证。Git 提交记录中的邮箱由本地 Git 配置的。决定,与 SSH 密钥无关。SSH 密钥对中的邮箱实际是一个注释(通过。修改后需重新部署公钥到 Git 服务。根据实际需求选择对应操作即可。修改,直接影响提交记录。按提示输入文件名(如。),避免覆盖旧密钥。

2025-02-24 15:09:16 1440

原创 安装 Redis

如果使用 Windows Subsystem for Linux (WSL),可以按照 Linux 的安装步骤操作。在本地安装 Redis 的步骤如下,支持 Windows、Linux 和 macOS 系统。安装完成后,Redis 会自动启动并作为 Windows 服务运行。通过以上步骤,你可以在本地成功安装和配置 Redis,并开始使用它!,说明 Redis 安装成功。,说明 Redis 安装成功。文件,按照提示完成安装。行,重启 Redis。修改配置文件,注释掉。

2025-02-22 08:15:00 600

原创 在 IntelliJ IDEA 上进行前端开发

通过以上步骤,你可以在 IntelliJ IDEA 中高效地进行前端开发,充分利用其强大的工具链和插件生态提升生产力。IDEA 支持 HTML/CSS/JavaScript 的自动补全,输入标签或属性时按。当拉取代码遇到冲突时,IDEA 会弹出合并工具,手动选择保留的更改后标记为已解决。若使用框架(如 React/Vue),选择对应模板。配置 SFTP,直接将构建后的文件上传到服务器。插件,启动调试后,修改代码会自动刷新浏览器。,选择项目使用的语言版本(如 ES6+)。手动格式化:右键文件或代码块,选择。

2025-02-21 08:00:00 2319

原创 在 IntelliJ IDEA 中连接 MySQL 时出现 Access denied for user ‘root‘@‘localhost‘ (using password: YES) 错误

错误,通常是由于用户名、密码或权限配置不正确导致的。默认情况下,MySQL 的 root 用户密码可能为空,或者是你安装时设置的密码。确保在 IDEA 中填写的用户名和密码与 MySQL 的实际配置一致。如果问题仍未解决,请检查 MySQL 的错误日志(通常位于。在 IntelliJ IDEA 中连接 MySQL 时出现。输入密码后,如果能成功登录,说明用户名和密码正确。某些 MySQL 版本(如 8.0+)默认使用。: 可选,如果未指定则连接默认数据库。加密方式,可能导致连接问题。

2025-02-21 07:45:00 1323

原创 避免浏览器开发者工具(如 F12)查看网页源码

虽然无法完全阻止用户通过浏览器开发者工具查看源码,但可以通过以下方式增加难度:禁用右键菜单和快捷键。混淆和压缩代码。动态加载内容。使用 WebAssembly 或服务器端渲染。检测开发者工具并采取相应措施。需要注意的是,这些方法只能增加源码查看的难度,无法完全阻止。如果涉及敏感信息,建议将核心逻辑放在服务器端处理,而不是暴露在客户端。

2025-02-20 10:57:53 931

原创 控制台:输出完整的SQL,并计算执行时间,后续进行优化

通过以上配置,可以辅助开发人员更好的查看代码的执行sql语句,方便后续的优化。

2025-02-20 08:00:00 357

原创 实战优化登录系统:实现是否支持多设备、最大设备数等可配置化

通过以上的方法可以实现同一个账户多设备登录、设备数量进行可配置化操作。

2025-02-19 14:22:50 726

原创 RedissonClient:ZSet(有序集合)上手教程

是 Redisson 提供的 Java 客户端,用于操作 Redis 数据。ZSet(有序集合)是 Redis 中的一种数据结构,它存储一组唯一的元素,并为每个元素分配一个分数(score),元素根据分数排序。以下是操作ZSet的详细教程。

2025-02-19 10:21:15 705

原创 实战优化:Field is a mutable collection字段是一个可变集合

/ 获取业务分类映射表// 查询映射关系// 尝试修改 Map(会抛出 UnsupportedOperationException)通过使用final修饰Map返回不可修改的Map,以及提供封装方法,可以提高代码的安全性和可维护性。

2025-02-17 19:36:38 854

原创 实战代码优化:数组和Set遍历的时间复杂度

通过使用Set存储城市数据,并将数据提取到配置文件中,可以提高代码的性能、可维护性和灵活性。

2025-02-17 19:25:57 450

原创 deepseek:三个月备考高级系统架构师

观看视频课程(如慕课网、腾讯课堂的软考课程),理解核心概念。提前准备2-3个熟悉的主题(如微服务架构、分布式系统设计)。阅读《系统架构设计师教程》或精简版教材,快速过一遍知识点。重点关注高频考点(如设计模式、架构风格、性能优化等)。网络通信、分布式系统、云计算、大数据等新兴技术。掌握常见题型(如系统设计、架构评估、性能优化)。使用刷题软件或题库(如软考真题库、希赛网)。:模拟考试环境,查漏补缺,提升应试能力。软件工程、设计模式、系统架构设计原则。:遇到困难时,及时调整心态,寻求帮助。

2025-02-11 10:16:10 2649

原创 deepseek:时间BUG,数据是23年的

2025-02-11 10:12:01 301

原创 final 关键字详细介绍

在 Java 中,final。

2025-02-06 15:21:21 500

原创 SQL精度丢失:CAST(ce.fund / 100 AS DECIMAL(10, 2)) 得到 99999999.99

当你使用进行计算并转换时得到。

2025-02-06 10:30:00 357

原创 Python 快速下载依赖

Python 依赖通常从 Python Package Index(PyPI)下载,不过由于网络问题,从国外源下载速度可能较慢。你可以使用国内的镜像源来加快下载速度,国内常见的镜像源有阿里云、豆瓣、清华大学等。通过上述方法,你能够显著提升 Python 依赖的下载速度。此功能会并行下载多个依赖包,从而加快下载速度。有自己的镜像源,且在某些情况下下载速度更快。文件,其中包含项目所需的所有依赖及其版本。在项目根目录下执行以下命令,一次性下载。若要下载整个项目的依赖,可以使用。的配置文件,让后续所有的。

2025-01-23 17:14:51 1351

原创 DELETE误删:别急,看完这篇文章,实现数据恢复

数据删除谨慎:避免直接使用DELETE语句删除数据,建议用字段做删除标记。若必须删除,删除前先备份数据。定期备份数据库:依据数据库规模合理安排备份频率,规模较小可每小时备份一次,较大则至少每天备份一次。保持操作细心:即便对 SQL 操作熟练,也需谨慎细心,防止因大意导致操作失误引发额外工作。开启 Binlog 功能:务必开启 MySQL 的 Binlog 功能,以便在数据出现问题时可进行追溯和恢复。祝愿大家工作顺顺利利,事业有成。

2025-01-23 10:00:25 1533

原创 MySQL 中开启二进制日志(Binlog)

在 MySQL 中开启二进制日志(Binlog)可以帮助记录数据库的变更信息,这在数据恢复、主从复制等场景中非常有用。

2025-01-23 09:56:44 1606

原创 在分布式系统中实现 JWT token 鉴权

鉴权需要综合考虑安全性、性能和可维护性。上述代码和架构可以作为基础,根据具体需求和系统架构进行调整和扩展。

2025-01-21 17:50:27 897

中国官方省市区镇行政编码(最完整版)

sql语句,直接执行即可

2024-09-14

空空如也

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

TA关注的人

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