自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux安装不在软件商店,安装外部包(如loki.rpm或<包>.deb)结尾程序

准备工作确保在你的系统上安装了必要的构建工具,包括rpmbuild和。在你的系统上安装 Go 编译器,并设置好环境变量。创建 RPM 构建环境使用命令创建 RPM 构建环境目录结构:rpmdev-setuptree准备打包文件将你的 Go 语言程序和相关的文件放置到 RPM 构建环境目录结构中的SOURCES目录下。创建.spec文件在 RPM 构建环境目录结构中的SPECS目录下创建一个.spec文件,用于描述打包的软件包信息、依赖关系等。编写.spec文件编辑.spec。

2024-04-20 17:12:57 655

原创 Ubuntu server (Nginx 报错500或者报301是怎么个)- nginx: “/root/index.html“ forbidden (13: Permission denied) -

Nginx 返回301报错 属主属主也是对的如何修复

2024-04-16 19:51:50 283

原创 为无网环境安装golang

这是一种基本的方法来在没有外网连接的 CentOS 7 服务器上安装应用程序。请注意,你可能需要手动处理依赖项,并且这可能会比在有外网连接的情况下更加繁琐。在没有外网连接的 CentOS 7 服务器上安装应用程序可能需要一些额外的步骤,因为你不能直接使用。命令(Secure Copy)或者通过将文件放置在共享位置并在服务器上访问它们来完成此操作。将下载的软件包及其依赖项从有外网连接的机器传输到你的 CentOS 7 服务器。这将下载指定软件包及其依赖项到指定的目录。在服务器上,将软件包和依赖项的。

2024-04-11 16:55:30 427

原创 Node.js环境调用百度智能云(百度云)api鉴权认证三步走

【代码】Node.js环境调用百度智能云api鉴权认证示例代码。

2024-04-03 13:58:29 741

原创 RabbitMQ 实验消费原始队列消息, 拒绝(reject)投递死信交换机过程

在这个示例中,当消费者处理消息时发生错误时,它会将消息的投递拒绝到死信交换机。这样,这些被拒绝的消息将被重新路由到死信队列。记得根据你的具体需求修改队列、交换机和消费者的配置,确保它们符合你的预期行为。

2024-03-28 18:15:56 392

原创 typescript 实现RabbitMQ死信队列和延迟队列 订单10分钟未付归还库存

是 RabbitMQ 的命令行管理工具,可以用于执行各种管理任务,如创建队列、交换机,查看队列状态等。查看 RabbitMQ 服务器信息列出所有交换机列出所有队列创建一个交换机创建一个队列绑定队列到交换机发送消息到指定交换机获取队列消息这些命令只是一些基本用法示例,工具支持更多功能和选项。你可以通过运行命令来获取更详细的帮助信息,或者查看官方文档以了解更多选项和使用方法。

2024-03-28 13:37:33 1302

原创 Consul集群搭建看这篇就够了(consul cluster configuration )

Consul 是一种用于服务发现、配置和分布式一致性的开源工具和平台。它由 HashiCorp 公司开发和维护,旨在简化构建和维护分布式系统的任务。:Consul允许服务注册和发现。当服务启动时,它可以向Consul注册自己的位置和元数据。其他服务可以通过Consul查询来发现特定服务的位置,从而轻松实现服务之间的通信。:Consul可以周期性地对服务进行健康检查,以确保它们正常工作。如果服务不再健康,则Consul可以自动将其标记为不可用,并将流量路由到其他健康的实例。

2024-03-26 18:43:45 1230 2

原创 mysql置事务隔离级

这个表格以可读性的方式总结了四种隔离级别下可能发生的并发问题。这些并发问题通常是由于多个事务同时对数据库进行操作,而没有足够的隔离度保证,导致了数据的不一致性和可见性问题。不同的事务隔离级别可以解决或减轻这些问题的发生。

2024-03-23 11:19:18 433

原创 mongodb文档数据建模

内嵌方法和数组方完成关系表述。

2024-03-23 11:03:13 170

原创 zookeeper分布式锁原理剖析

参数来指定要创建的节点的路径。其他选项和参数是可选的,具体取决于你想要创建的节点的类型和属性。命令用于在指定路径上创建一个新的节点。在ZooKeeper的CLI中,命令时,你至少需要提供。

2024-03-22 20:08:18 212

原创 centos7 install rocketmq 宿主机快速搭建RocketMQ单机开发环境

在 Docker 方式下,虽然可以使用环境变量来设置配置项,但是有时候需要对容器内部的配置文件进行修改,(默认RocketMQ broker 吃内存8个G电脑配置差docker更本起不来)这可能不太方便。综上所述,虽然 Docker 提供了快速部署和便捷管理的优势,但在某些情况下,直接在宿主机上安装 RocketMQ 可能更加灵活、性能更好,并且更容易调试和排查问题。在搭建 RocketMQ 测试环境时,我们可以选择在宿主机上直接安装和配置,也可以使用 Docker 容器来快速搭建。

2024-03-14 14:31:15 1027

原创 面向对象(精髓)变继承关系为组和关系(_Decorator模式)

继承是面向对象编程中的一种重要概念,它允许子类继承父类的属性和方法。通过继承,可以实现代码的重用和扩展。耦合度高: 子类与父类之间存在紧密的耦合关系,子类的实现依赖于父类的具体实现细节。继承链过长: 当继承层次较深时,维护和理解代码变得困难,容易造成代码膨胀和复杂性增加。单一继承: 在单继承语言中,子类只能继承一个父类,限制了代码的灵活性和可复用性。由于这些局限性,我们需要寻找一种更灵活的设计方式来解决问题。

2024-03-11 14:47:30 983

原创 面向对象(精髓)变继承关系为组和关系(State模式)

在面向对象设计中,推荐使用组合关系而不是继承关系。组合关系将对象的功能和角色分离,使得对象更加灵活和可复用。通过组合关系,可以将不同的角色和功能组合起来,从而实现更加复杂的行为。同时,组合关系也降低了对象之间的耦合度,使得系统更加易于维护和扩展。因此,在设计类和对象时,应该优先考虑使用组合关系,从而提高代码的质量和可维护性。

2024-03-09 13:24:48 760

原创 面向对象中接口(亦称: 协议、protocol、 “鸭子类型”)与抽象类

相比之下,类中的方法可以有具体的实现,因为类除了定义方法签名外,还可以提供方法的具体实现。接口强制了类的实现者必须遵循接口定义的契约,提供接口中定义的所有方法的具体实现。这样一来,无论是类的设计者还是类的用户,在使用接口时都可以放心,不会因为接口的实现方式不同而出现错误。接口对于用户来说是一个约定或者合约,定义了一组方法的契约,用户可以通过接口来了解一个类提供了哪些功能,而不需要关心具体的实现细节。抽象类可以有部分方法的实现,而接口中的方法都是抽象的,没有具体的实现。接口的类都必须提供这些方法的具体实现。

2024-03-08 14:14:23 819

原创 面向对象中类与对象

静态函数也称为类方法,它们不需要访问特定实例的状态,因此可以直接通过类名调用。:静态函数不能直接引用普通成员变量和函数,因为静态函数没有 this 引用,无法访问特定实例的状态。如果要在静态函数中访问普通成员变量或函数,需要通过实例来访问,这样编译器会报错。编译器会发出警告,因为访问静态成员时应该通过类名而不是实例来访问,避免混淆和误解。:静态变量和静态函数没有 this 引用,因为它们不依赖于特定的实例。:普通函数可以直接引用静态变量和静态函数,因为它们都属于类的范围,可以在类的任何方法中直接访问。

2024-03-08 12:40:43 413

原创 面向对象中不可变性

不可变对象的不可变性是实现线程安全的重要手段之一。通过使用不可变对象,可以提高应用程序的并发性能,减少线程安全问题的发生,并简化多线程编程的复杂性

2024-03-07 18:26:32 923

原创 Java 属性可见性和TypeScripta 属性可见性区别

Java 中默认(无修饰符)的可见性对应的是包级私有(package-private),这是 Java 特有的可见性修饰符,有时也称为默认可见性,包级私有的可见性意味着只有同一个包中的其他类才能访问该成员,对于外部包中的类来说是不可见的。这使得它比私有(private)更为灵活,因为它可以被同一个包中的其他类访问,但对于外部包中的类则是私有的。在 TypeScript 中,类属性的默认可见性是 public(公共),这意味着它们可以在派生类中访问。

2024-03-07 17:07:32 171

原创 centos7 install kong

当安装Kong时,需要确保按照正确的步骤操作以确保一切顺利完成。

2024-03-06 14:26:42 365

原创 kong Hmac auth 认证

【代码】kong Hmac auth 认证。

2024-03-04 17:39:23 132

原创 网关kong记录接口处理请求和响应插件 tcp-log-with-body的安装

Kong的tcp-log-with-body插件是一个高效的工具,它能够转发Kong处理的请求和响应。这个插件非常适用于需要详细记录API请求和响应信息的情景,尤其是在调试和排查问题时。

2024-02-29 13:35:28 303

原创 node.js JWT 处理 (secret base64 encoded)开启状态 示例代码

JWT认证闭坑指南.调用后端服务有JWT认证时,一定要搞清楚有没有开启JWT的(见图:secret base64 encoded),拿他提供秘钥去JWT.io上验证。

2024-02-22 14:29:30 467

原创 golang GOPATH 和GOROOT

是比较重要的,因为它定义了项目的结构和依赖关系的存放位置。通常建议将项目代码放在。目录中的子目录中,以便于管理和维护。是两个重要的环境变量。在使用 Go 开发时,

2024-02-21 13:31:15 478

原创 redis 异步队列

{${

2024-02-20 11:34:08 284

原创 修复SSE协议Nginx配置接收不到消息的问题

2024-02-19 14:09:13 273

原创 Node.js JSON Schema Ajv依赖库逐步介绍验证类型和中文错误提示

Ajv 是一个用于验证 JSON 数据的库,它支持 JSON Schema 规范。通过定义 JSON Schema,我们可以描述数据的结构、类型和约束,然后使用 Ajv 来验证数据是否符合这些规范。

2024-02-05 14:37:56 1516

原创 解析 JavaScript 异步编程:从回调地狱到 Promise 和 Async/Await

在现代的JavaScript开发中,处理异步任务变得愈发重要,因为它们允许我们在等待I/O、网络请求或定时器等事件时继续执行其他任务,以提高程序的性能和响应能力。本文将介绍JavaScript中异步编程的演变过程,从最初的回调地狱到后来的Promise和Async/Await。

2024-02-04 18:20:06 419

原创 kubectl 命令自动补全

进行 Kubernetes 操作时。你可以将这些加载命令添加到你的 Shell 配置文件中,以便每次启动 Shell 时都能自动加载。的命令补全脚本来实现自动补全提示的方法。这可以大大提高在命令行中使用。这是一种非常方便的方法,尤其在你经常使用。在 Bash 中,可以通过以下方式加载。在 Zsh 中,可以使用以下方式加载。键来进行命令自动补全了。在这之后,你就可以在终端中输入。

2024-01-31 21:42:00 1567

原创 centos 7 install k3s

【代码】centos 7 install k3s。

2024-01-30 22:38:17 510

原创 中国地区cetos7.9 install kubeadmin

docker依赖和docker源安装完成之后,我们就可以使用yum install docker-ce.x86_64命令来安装docker 应用,在使用yum install安装时,默认会选择最新的版本进行安装。因为docker安装包不在yum的默认源列表中,因此在安装之前我们需要通过yum-config-manager --add-repo命令向yum默认源列表中添加docker源的地址。在安装docker之前,我们需要先通过yum来安装docker的必要的依赖组件。安装docker的依赖组件。

2024-01-29 23:47:07 838

原创 Manjaro Linux 安装 VirtualBox及VirtualBox命令行

请确保将 “VM Name” 替换为你实际的虚拟机名称。上述命令需要在终端中执行,并且通常需要在 root 或者具有管理员权限的用户下运行。安装完成后,你可以使用 VirtualBox 创建和管理虚拟机。请注意,安装 VirtualBox 之前,确保你的系统已更新到最新版本。安装完成后,你可以通过启动菜单中的 VirtualBox 图形界面或者在终端中使用。在 Manjaro Linux 上安装 VirtualBox 后,你可以使用。这里的 “VM Name” 是你虚拟机的名称,而。这将暂停虚拟机的执行。

2024-01-29 10:06:22 882

原创 node.js Redis分布式锁看这篇就够用了

释放锁时需要验证value值,也就是说我们在获取锁的时候需要设置一个value,不能直接用del key这种粗暴的方式,因为直接del key任何客户端都可以进行解锁了,所以解锁时,我们需要判断锁是否是自己的,基于value值来判断,代码如下。当然,让我们通过一个简单的例子,使用 Redis CLI(命令行界面)来模拟获取锁和释放锁的过程。请注意,这是一个简化的示例,在现实场景中,您通常会使用脚本(例如 Lua 脚本)来使锁的获取和释放原子化,从而防止竞争条件。命令用于删除锁键,有效释放锁。

2024-01-27 18:59:30 661

原创 RabbitMQ简单模式和工作模式

RabbitMQ 是一个消息队列中间件,用于在分布式系统中进行消息传递。在 RabbitMQ 中,有几种工作模式,其中简单模式和工作模式是其中两种基本的模式之一。在 RabbitMQ 中,简单模式和工作模式的实现通常使用一些基本的概念,包括生产者、消费者、队列和消息。生产者负责发送消息到队列,而消费者则负责从队列中接收和处理消息。下面是一个使用 RabbitMQ 和 Node.js(使用amqplib库)以及 TypeScript 实现工作模式的简单示例。在这个例子中,我们将使用amqplib。

2024-01-25 17:28:46 1260

原创 node.js 中使用YAML看这篇就够了

这只是 YAML 的一些基本语法规则,更复杂的结构和用法取决于具体的应用场景。请注意,正确的缩进在 YAML 中非常重要,因为它定义了数据的层次结构。你可以在配置文件中定义任何需要的配置项,并在代码中使用它们。上述步骤提供了一个简单的示例,演示如何在 Node.js 中使用 YAML。这些简写语法使得 YAML 在某些情况下更加紧凑,但在选择使用时需要注意可读性,以确保代码清晰易懂。这样,你可以在配置文件中组织你的配置,使其更具结构性。在项目中,你可以将配置信息保存在一个 YAML 文件中,例如。

2023-12-28 16:07:40 1319

原创 SQL最消耗性能查询错误用法示例

在编写查询时,注意使用适当的索引、合理的条件、避免全表扫描,并通过分析执行计划来评估查询性能。查询性能的消耗主要取决于查询的复杂度、表的大小以及使用的索引等因素。这种查询会检索表中的所有行,对于大型表来说,可能导致性能问题。避免全表扫描,尽量只检索需要的列,使用适当的条件来限制检索范围。将复杂的查询分解为简单的部分,并确保每个部分都能充分利用索引。避免在查询条件中使用不必要的函数,这可能导致无法使用索引。确保在查询条件中使用正确的数据类型,以避免不必要的类型转换,这可能导致无法使用索引。

2023-12-28 15:45:38 666

原创 MySQL 设置商品乐观锁号示例

乐观锁(Optimistic Locking)是一种并发控制机制,它通过在更新记录之前检查其他会话是否已修改相同记录来处理并发访问。如果更新成功(影响的行数为1),则表示更新和版本号检查都通过,商品信息已成功更新。如果更新失败,你需要处理并发更新的情况,可能是向用户显示冲突信息,或者执行一些自定义的冲突解决逻辑。如果版本号不匹配,说明在读取商品信息后有其他会话已经修改了记录,此更新操作将不会生效。这是一个基本的乐观锁示例,实际上你可能需要根据应用的具体需求和架构来调整和扩展这个示例。在这里,更新语句中的。

2023-12-28 15:16:57 590

原创 javascript .entries()用法示例

.entries()是 JavaScript 中用于获取对象的键值对的迭代器。这些例子涵盖了一些常见的情况,你可以根据实际需要进一步扩展测试用例。键值对的迭代器对象。

2023-12-28 08:37:08 567

原创 webstrom 快速创建typescript 语法检测的Vue3项目

typescript然后,修改如果您已经在src目录下有.js文件,将它们重命名为.ts文件。如果您使用Vue文件(.vue),确保它们使用了来表示TypeScript。例如:importfrom'vue';exportdefault// 组件定义;

2023-12-27 22:19:13 659

原创 协调和配置管理是 ZooKeeper 的两个主要用途之一

协调和配置管理是 ZooKeeper 的两个主要用途之一。ZooKeeper 提供了一组原语,可以帮助分布式系统实现共享配置、分布式锁、选主等功能。

2023-12-25 16:07:21 793

原创 idea 批量格式化代码

目录’/Users/xmc/IdeaProjects/learning-mybatis/src/main/java/com’只有未提交到 VCS 的更改。

2022-09-04 07:40:53 341 1

原创 idea git Commit规范插件使用

统一团队 Git commit 日志标准,便于后续代码 review,版本发布以及日志自动化生成等等

2022-08-30 15:35:08 534

空空如也

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

TA关注的人

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