个人技术笔记 秉烛夜游

配置MySQL的Docker Compose文件及字符集设置

简介 本文档描述了如何通过docker-compose.yml配置MySQL容器,重点是确保字符集为utf8mb4,以支持中文等特殊字符,避免出现乱码问题。 Docker Compose 配置文件 以下是完整的docker-compose.yml文件内容: version: '3' service

wangguangwu 发布于 2024-12-25

Java 解决CORS跨域问题

在现代 Web 开发中,前后端分离已成为主流架构。然而,这种架构在带来开发便利的同时,也引发了跨域资源共享(CORS)问题。本文将深入探讨同源策略、跨域的概念,以及在 Java 项目中解决 CORS 问题的常见方法。

wangguangwu 发布于 2024-11-25

如何使用 Git 命令统计当月代码变更

在项目开发中,统计代码的新增、删除及变更总行数可以帮助我们了解团队或个人的开发贡献。Git 提供了强大的日志功能,使得这项统计工作变得更加方便。

wangguangwu 发布于 2024-10-28

生产者-消费者模型

生产者-消费者模型是一种经典的并发设计模式,用于解决生产任务与消费任务之间的同步与解耦问题。通过一个任务队列,生产者和消费者可以并发工作,互不干扰。本文将深入探讨生产者-消费者模型的基本原理、核心组件,以及如何在原生 Java 和 Spring 框架下实现这一模式,并给出优化建议。

wangguangwu 发布于 2024-10-16

Nacos 动态设置 Group 名称:利用本地用户名隔离开发环境服务

在本地开发时,不同开发者常常需要连接同一个 Nacos 实例进行测试。然而,由于没有在服务注册时对 group 名称进行区分,上下游服务可能会意外地调用到其他开发者的本地服务。这不仅影响测试的准确性,还增加了调试的复杂度,导致开发者难以明确问题的来源。

wangguangwu 发布于 2024-09-27

流水号生成器

在许多系统中,需要按照一定的要求生成唯一且递增的流水号。流水号通常由特定的前缀、当前日期以及一个递增的数字组成,以便于唯一性和追踪。在单机环境下生成流水号相对简单,但在多服务器环境或高并发场景下,保证流水号的唯一性和递增性可能会带来额外的挑战。

wangguangwu 发布于 2024-08-30

结构型模式-桥接

桥接模式是一种有效的设计模式,尤其适用于需要跨多个维度进行扩展的系统。通过将抽象部分和实现部分分离,桥接模式可以有效减少系统的复杂性,提高系统的灵活性和可扩展性。然而,使用桥接模式也需要仔细设计,确保系统结构的清晰和维护的便利性。在复杂系统中,桥接模式是一种非常有用的工具,可以帮助开发者更好地组织代码,减少类间耦合,提升系统的模块化程度。

wangguangwu 发布于 2024-08-29

结构型模式-适配器

适配器模式是一种有效的设计模式,特别适用于在现有代码无法直接修改的情况下使不兼容的接口协同工作。尽管它可能会增加一定的复杂性,但其优点在于提高了系统的可复用性和灵活性。因此,在面对接口不兼容的情况下,适配器模式是一个值得考虑的解决方案。

wangguangwu 发布于 2024-08-27

创建型模式-单例

单例模式是一种非常实用的设计模式,在需要唯一实例、全局共享资源的场景中具有广泛的应用。然而,在使用单例模式时需要注意可能带来的缺点,尤其是在多线程环境下的实现。选择合适的单例模式实现方式,能够在保证线程安全的同时,提升系统的性能和可维护性。

wangguangwu 发布于 2024-08-26

创建型模式-原型

原型模式是一种有效的创建型模式,特别适合在需要频繁创建相似对象且对象创建过程复杂的场景中使用。它通过复制现有对象来创建新对象,简化了对象创建的过程,并且减少了类之间的耦合度。然而,在使用原型模式时,需要注意浅拷贝和深拷贝之间的差异,确保复制的对象行为符合预期。

wangguangwu 发布于 2024-08-24