• 创建型模式

    工厂方法模式(Factory Method Pattern)是一个 创建型设计模式,它定义了一个用于创建对象的接口,但由 子类决定实例化哪一个类。换句话说,工厂方法模式通过子类化来推迟对象的创建过程,避免客户端直接使用具体类,增强了系统的灵活性和扩展性。
     2025-02-11

     150

  • 面向对象设计原则

    依赖倒转原则(Dependency Inversion Principle,DIP)是 SOLID 原则中的一部分,旨在减少模块之间的耦合,使得系统更加灵活和可维护。这个原则的核心观点在于:高层模块不应该依赖于低层模块,二者都应该依赖于抽象;抽象不应该依赖于具体细节,具体细节应该依赖于抽象。
     2025-02-10

     60

  • SQL 查询语句练习

    SQL语句功底修炼,锻炼原生SQL查询语句编写的能力。
     2024-06-24

     209

  • unsafe包

    Go语言的unsafe包提供了一些用于进行低级内存操作的工具,允许程序员绕过Go语言的类型安全和内存安全机制。这些工具通常用于高级编程任务,例如与系统接口交互或进行性能优化。不过,使用unsafe包时需要非常小心,因为它可以导致程序的不稳定性和不可预知的行为。
     2024-06-18

     76

  • kafka 常见命令

    一个主题在生成后就不能通过简单命令的方式来改变其副本的数量(需要通过配置文件),所以最好是在主题创建时就指定其副本数量。主题的分区只能增加,不能减少。
     2024-04-30

     46

  • kafka 集群搭建

    在搭建集群之前,每一台虚拟机已经安装好了 zookeeper 和 kafka,并且将 zookeeper 设置为了一个系统服务还添加了开机自启动。搭建 zookeeper 集群之前需要关闭防火墙。
     2024-04-30

     35

  • 初识 kafka 消息队列

    使用消息队列可以实现系统与系统之间的解耦,订单系统不再调用库存系统接口,而是把订单消息写入到消息队列。库存系统从消息系统中拉取消息,然后再减库存,从而实现系统解耦。在新的用户注册时,需要将用户的信息保存到数据库中,同时还需要额外发送注册的邮件通知、以及短信注册码给用户。但因为发送邮件、发送注册短信需要连接外部的服务器,需要额外等待一段时间,此时,就可以使用消息队列来进行异步处理,从而实现快速响应。
     2024-04-30

     36

  • Golang 中的 GC

    Go 语言的垃圾收集器从诞生的第一天起就一直在演进,除了少数几个版本没有大更新之外,几乎每次发布的小版本都会提升垃圾收集的性能,而与性能一同提升的还有垃圾收集器代码的复杂度,下面是垃圾收集器的演进过程
     2024-04-19

     58

  • Options 模式

    在软件开发领域,Options 模式(Options Pattern)是一种常见的设计模式,它允许用户通过提供一系列选项来自定义函数、类型或对象的行为。在 Golang 中,选项模式的应用非常广泛,尤其是在库和框架的设计中。接下来将深入探讨 Golang 中选项模式的实现方式,以及如何利用选项模式提高代码的灵活性和可维护性。
     2024-04-16

     64

  • 自旋锁和互斥锁

    自旋锁是一种非阻塞的线程同步机制,它采用忙等待的方式,通过不停地循环检查锁的状态来实现对临界区的访问控制。当锁没有被其他线程占有的情况下,当前线程可以获得锁并进入临界区;否则它将在循环中等待其他线程释放锁。区分阻塞和非阻塞的关键就是看线程是否处于挂起状态。
     2024-04-10

     66

  • 1
  • 2
  • 3
  • 4
  • 7