编辑
2023-11-24
后端
00

六大设计原则

设计模式是软件开发中常用的一种解决问题的方法论,它提供了一套经过验证的解决方案,可以帮助开发人员设计出可重用、可扩展和易于维护的代码。在设计模式中,有六大设计原则,它们是:

  1. 开闭原则(Open-Closed Principle,OCP):软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。这意味着在添加新功能时,不应该修改已有的代码,而是通过扩展已有的代码来实现新功能。这样可以保证系统的稳定性和可维护性。
编辑
2023-11-24
后端
00

TCP拥塞控制是为了防止网络拥塞而采取的一系列措施。下面是一个客户端连接服务端的socket程序的整个过程:

编辑
2023-11-24
mysql
00

MySQL的redo log、undo log和relay log是MySQL数据库中的不同类型的日志文件,它们各自具有不同的作用和功能。

  1. Redo Log(重做日志):
    • 概念:Redo log是InnoDB存储引擎层生成的日志,用于实现事务的持久性。
    • 组成:Redo log由两部分组成,即重做日志缓冲(redo log buffer)和重做日志文件(redo log file)。重做日志缓冲位于内存中,而重做日志文件存储在磁盘上。
    • 作用:Redo log的主要作用是确保事务的持久性。当事务提交时,相关的修改操作会首先被记录到重做日志缓冲中,然后异步地刷新到磁盘的重做日志文件中。这样,在数据库发生故障或崩溃时,可以通过重做日志文件中的日志信息来恢复未完成的事务,保证数据的一致性和完整性。
编辑
2023-11-24
mysql
00

MySQL底层数据的组织方式主要涉及存储结构和索引结构两个方面。下面将详细介绍这两个方面的内容。

存储结构

MySQL使用存储引擎来管理数据的存储和检索。常见的存储引擎包括InnoDB、MyISAM等。其中,InnoDB是MySQL默认的存储引擎,也是最常用的存储引擎之一。

编辑
2023-11-24
docker
00

Dockerfile的多阶段构建是一种在Docker中构建镜像的技术,它可以帮助我们优化镜像的大小和构建过程。通过多阶段构建,我们可以在一个Dockerfile中定义多个构建阶段,每个阶段可以使用不同的基础镜像,并且每个阶段都可以复制来自其他阶段的资源。这样,在最终的镜像中只保留我们所需要的内容,减小镜像的尺寸并提高构建效率。