HDMI HDMI HDMI版本 1.0 1.1 1.2 1.3 1.4 2.0 最初发布日期 12/9/02 5/20/04 8/22/05 6/22/06 6/5/09 9/4/13 最大带宽 4.95Gbps 4.95Gbps 4.95Gbps 10.2Gbps 10.2Gbps 18Gbps 最大分辨率 1600x1200P60 1600x1200P60 1600x1200P6 2023-09-16 Hardware IO
限流 限流 限流指代的是 限制到达系统的并发请求数,使得系统能够正常的处理 部分 用户的请求,来保证系统的稳定性。 限流不可避免的会造成用户的请求变慢或者被拒的情况,从而会影响用户体验,因此限流是需要在用户体验和系统稳定性之间做平衡的,即我们常说的 trade off 计数限流 计数限流是最简单的限流算法,基本原理为保存一个计数器,处理了一个请求,计数器加一,一个请求处理完毕之后计数器减一,每次请 2023-08-13 Software BackEnd
Elasticsearch 初始化 Elasticsearch 初始化 安装 Docker 生成Docker Volume 12345678910# 创建临时容器$ docker run --name elastic_search -d -P docker.elastic.co/elasticsearch/elasticsearch:7.13.2# 将容器中的 elasticsearch 配置文件复制到宿主机中指定路径下$ mk 2023-07-22 Software BackEnd Database ElasticSearch
ZooKeeper 初始化 ZooKeeper 初始化 安装 Docker 123456789$ docker network create zookeeper$ docker run -d \-p 2181:2181 \--name zookeeper \--net zookeeper \--hostname zookeeper \-v ~/DockerVolumes/zookeeper/data:/data \-v ~ 2023-07-22 Software BackEnd Distributed ZooKeeper
Kafka 初始化 Kafka 初始化 安装 Docker 12345678910111213$ docker run -d \-p 9092:9092 \--name kafka \--net zookeeper \--hostname kafka \--env JMX_PORT=9999 \--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \--env KAFKA_LIST 2023-07-22 Software BackEnd Kafka
Redis 初始化 Redis 初始化 安装 Docker 生成Docker Volume 1234567# 生成临时容器$ docker run -d -P --name redis redis:6.0.8 redis-server /etc/redis/redis.conf# 生成redis.conf文件$ mkdir -p ~/DockerVolumes/redis/conf/$ vim ~/DockerV 2023-07-22 Software BackEnd Database Redis
Nginx 初始化 Nginx 初始化 Docker 生成Docker Volume 1234567891011# 生成临时容器$ docker run -d --name nginx -P nginx:1.18# 将容器nginx.conf文件复制到宿主机$ mkdir -p ~/DockerVolumes/nginx/conf/$ docker cp nginx:/etc/nginx/nginx.conf ~ 2023-07-22 Software BackEnd Server Nginx
Tomcat 初始化 Tomcat 初始化 Docker 123456$ docker run -d -p 8888:8080 \--name tomcat \--hostname tomcat \-v /Users/cian/DockerVolumes/tomcat/8.0.41/webapps:/usr/local/tomcat/webapps \-v /Users/cian/DockerVolumes/tomca 2023-07-22 Software BackEnd Server Tomcat
Nginx 重定向 Nginx 重定向 301永久重定向 浏览器地址会显示跳转新的URL地址。 12345server { listen 80; server_name example.com; return 301 https://www.example.com$request_uri;} 这样用户打开example.com时候就会转到www.example.com 3 2023-07-22 Software BackEnd Server Nginx
Nginx Gzip 压缩 Nginx Gzip 压缩 12345678910http { gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 9; gzip_types text/plain application/x-javascript text/cs 2023-07-22 Software BackEnd Server Nginx
设计模式单例模式 设计模式单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化 ,该类的对象。 优点: 在内存里只有一个实例,减少了内存的开销,尤其是频繁的创 2023-06-03 Software DesignPattern 创建型模式
设计模式工厂模式 设计模式工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 优点: 一个调用者想创建一个对象,只要知道其名称就可以了。 扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以 2023-05-20 Software DesignPattern 创建型模式
OAuth OAuth OAuth是一种授权机制,数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据,系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。 令牌和密码 令牌(token)与密码(password)的作用是一样的,都可以进入系统,但是有三点差异。 令牌是短期的,到期会自动失效,用户自己无法修改,密码一般长期有效,用户不修改,就不会发生变化。 令牌可以 2023-04-05 Software BackEnd
设计模式外观模式 设计模式外观模式 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 优点: 减少系统相互依赖。 提高灵活性。 提高了安全性。 缺点:不符合开闭原则,如果要改东西很麻 2022-10-04 Software DesignPattern 结构型模式
设计模式状态模式 设计模式状态模式 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况,当遇到不同的状态遇到不同的行为的时候,可以使用状态模式。 优点: 封装了转换规则。 枚举可能的状态,在枚举状态之前需要确定状态种类。 将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。 允许状态转换逻辑与状态对象合成一体,而不是某一个巨大的条件语句块 2022-10-04 Software DesignPattern 行为型模式
设计模式适配器模式 设计模式适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。 类适配器模式 类适配器模式需要 2022-10-04 Software DesignPattern 结构型模式
MySQL JSON MySQL JSON JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。 相对字符类型,原生的 JSON 类型具有以下优势: 在插入时能自动校验文档是否满足 JSON 格式的要求。 优化了存储格式。无需读取整个文档就能快速访问某个元素的值。 在 JSON 类型引入之前,如果我们想要获取 J 2022-10-04 Software BackEnd Database MySQL
设计模式建造者模式 设计模式建造者模式 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 优点: 建造者独立,易扩展。 便于控制细节风险。 缺点: 产品必须有共同点,范围有限制。 如内部变化复杂,会 2022-10-03 Software DesignPattern 创建型模式
设计模式原型模式 设计模式原型模式 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数 2022-10-03 Software DesignPattern 创建型模式
设计模式抽象工厂模式 设计模式抽象工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 优点:当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。 缺点:产品 2022-10-03 Software DesignPattern 创建型模式