自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(168)
  • 收藏
  • 关注

原创 让ChatGPT介绍一下ChatGPT

申请新必应内测通过了,我在New Bing中使用下ChatGPT,让ChatGPT介绍一下ChatGPT

2023-02-14 15:18:13 97593 80

原创 SpringCloud和微服务介绍

SpringCloud是在SpringBoot的基础上构建的,用于简化分布式系统构建的工具集。该工具集为微服务架构中所涉及的配置管理,服务发现,智能路由,断路器,微代理和控制总线等操作提供了一种简单的开发方式。

2023-02-12 09:54:21 7026 20

原创 K8S集群管理平台Rancher(2):安装与使用

Rancher 是一个容器管理平台。Rancher 简化了使用 Kubernetes 的流程。下面记录一下手动安装Rancher的步骤。

2023-02-08 13:27:49 8222 18

原创 Kubernetes基础入门

Kubernetes 是一个全新的基于容器技术的分布式架构解决方案,是 Google 开源的一个容器集群管理系统,Kubernetes 简称 K8S。Kubernetes 是一个一站式的完备的分布式系统开发和支撑平台,更是一个开放平台,对现有的编程语言、编程框架、中间件没有任何侵入性。Kubernetes 提供了完善的管理工具,这些工具涵盖了开发、部署测试、运维监控在内的各个环节。

2023-02-07 09:50:45 8546 12

原创 Netty网络编程(六):搭建websocket服务器

websocket是一个优秀的协议,它是建立在TCP基础之上的,兼容HTTP的网络协议。通过Websocket我们可以实现客户端和服务器端的即时通讯,免除了客户端多次轮循带来的性能损耗。既然websocket这么优秀,那么怎么在netty中使用websocket呢?

2023-01-17 19:56:27 8276 16

原创 Python中os.environ基本介绍及使用方法

`os.environ`是Python中的一个字典对象,它包含了当前进程的环境变量。通过使用`os.environ`,可以获取和设置环境变量的值。我们首先导入了`os`模块,然后使用`os.environ.get()`方法获取名为`PATH`的环境变量的值,并将其打印出来。接下来,我们使用`os.environ[]`来设置一个名为`NEW_VAR`的新环境变量,并将其值设置为`new_value`。最后,我们再次使用`os.environ.get()`方法获取`NEW_VAR`的值,并将其打印出来。

2024-04-02 20:05:46 1358 10

原创 我的2023年总结:往前看,别回头

2023年已经结束,我借此机会回顾一下我的2023年,同时也为2024年立好flag。在2023年,我参与了多个Java项目的开发,我深入接触了java的并发编程和性能优化,学习了线程池、锁机制和性能监测机制工具,显著的提高了系统的并发处理能力和响应时间。

2024-01-05 19:37:26 2863 103

原创 一文读懂OTA【赠书活动|第12期《一书读懂物联网:基础知识+运行机制+工程实现》】

OTA(Over-The-Air,空中下载技术)是一种无线传输技术,用于在物联网设备之间进行远程更新和配置。OTA指的是通过无线通信网络来远程更新或升级嵌入式系统中的软件或固件。OTA 更新是一种方便的方法,用于将新功能、改进后的性能、安全补丁或其他更改推送到嵌入式设备,而无须物理接触设备或用户手动干预。·OTA简化了设备的更新和维护过程。传统的软件更新方法通常需要用户将设备带到服务中心或使用有线连接进行更新,这既耗时又麻烦。而OTA技术则允许设备自动接收并安装更新,大大节省了时间和精力。

2024-01-02 18:00:44 1935 42

原创 解决 Chrome 120 开发人员工具 无法粘贴代码

新增 Self-XSS 保护警告,无法顺利无法在开发人员工具(DevTools) console 贴上 代码,正常应该要跳出 提示窗口,但目前windows有碰到状况是没有跳出来,完全无法点击 Allow 允许粘贴代码。

2023-12-26 09:35:18 12833 5

原创 Tomcat、Nginx的功能对比

Tomcat运行在JVM之上,它和HTTP服务器一样,绑定IP地址并监听TCP端口,同时还包含以下职责:- 管理Servlet程序的生命周期- 将URL映射到指定的Servlet进行处理- 与Servlet程序合作处理HTTP请求——根据HTTP请求生成。HttpServletResponse对象并传递给Servlet进行处理,将Servlet中的HttpServletResponse对象生成的内容返回给浏览器

2023-12-15 09:57:16 1224 1

原创 Apollo新版Beta技术沙龙,震撼来袭!

Apollo Beta在8.0的基础上将工程进行了全面升级,Apollo 8.0首次引入软件包管理的概念,将Apollo各个模块进行了整理并以软件包的形式进行发布,优化了下载安装流程并提升了开发效率。Beta在Apollo 8.0的基础上对感知算法进行了升级优化,Lidar检测采用了比较新的CenterPoint模型并使用百度百万级数据进行训练,视觉上采用了Yolo X、Yolo 3D模型,检测效果和泛化性都得到了巨大提升,而且还提供了增量训练,支持独立自主进行模型训练。

2023-12-05 11:28:09 611 2

原创 微服务 BFF 架构设计

BFF即 Backends For Frontends (服务于前端的后端),由于微服务众多,需要一个统一入口根据不同的业务场景作为前端集成使用。面向后端:BFF 隔离了因不同渠道前端 UI 展示对后端 API 的需求,企业可以在后端构建核心业务领域能力面向前端:BFF 可以根据已有的后端 API,快速满足不同渠道的前端在 UI 展示上的需求,来不断提升用户体验同时,BFF 可以帮助企业进行微服务架构的迁移或者演进。

2023-11-25 17:28:34 1513 4

原创 推荐10 本软件架构技术的好书【赠书活动|第11期《高并发架构实战》】

相信成为一名优秀的架构师是很多程序员的目标,架构师的工作包罗万象,从开发基础框架到设计软件架构,从优化系统性能到修复重要Bug,从新技术选型到做出关键技术决策,从指导工程师开发到沟通、协调各种内外部关系。想要成为一个优秀的软件架构师,需要经过漫长的修炼,构建起自己的软件开发技术体系。但是一切看似纷繁复杂的技术技巧,均有其核心和基本的原理。

2023-11-20 15:25:08 938 73

原创 分布式系统架构理论与组件

分布式计算将任务分解成更小的部分,分配给多台计算机处理,这样可以节约整体计算时间,大大提高计算效率。互联网大型网站往往面临高并发访问、海量数据处理等问题,必须保证系统高可用、易伸缩等等。分布式架构采用多台机器协同工作,动态伸缩容量,使用冗余节点来消除单点故障,提高系统可用性。

2023-11-16 14:03:29 1514 13

原创 分布式理论基础:BASE理论

BASE 理论本质上是对 CAP 的延伸和补充,更具体地说,是对 CAP 中 AP 方案的一个补充。CAP 理论是忽略延时的,而实际应用中延时是无法避免的。这一点就意味着完美的 CP 场景是不存在的,即使是几毫秒的数据复制延迟,在这几毫秒时间间隔内,系统是不符合 CP 要求的。因此 CAP 中的 CP 方案,实际上也是实现了最终一致性,只是“一定时间”是指几毫秒而已。AP 方案中牺牲一致性只是指分区期间,而不是永远放弃一致性。

2023-11-13 08:30:00 774 19

原创 分布式理论基础:CAP定理

CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)这三个基本需求,最多只能同时满足其中的2个。一致性:数据在多个副本之间能够保持一致的特性。可用性:系统提供的服务一直处于可用的状态,每次请求都能获得正确的响应。分区容错性:分布式系统在遇到任何网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。什么是分区?

2023-11-12 13:03:20 3200 26

原创 MySQL 查看 event 执行记录

EVENTS 表包含了关于每个 EVENT 的详细信息,包括 EVENT 名称、计划执行时间、上次执行时间、下次执行时间等。在使用 EVENT 的过程中,我们可能会需要查看 EVENT 的执行记录,以便了解它们是否按预期执行。在本文中,我们提供了一个简单的示例来演示如何查看 EVENT 的运行记录。以上代码创建了一个名为 cleanup_logs 的 EVENT,每天凌晨3点执行一次,删除 logs 表中30天前的数据。现在让我们通过一个具体的示例来演示如何查看 EVENT 的运行记录。

2023-11-12 12:35:56 590 9

原创 什么是DDD领域驱动设计

DDD通过领域建模,编排核心业务逻辑后映射到微服务开发的过程,有利于构建出企业可复用的核心能力,减少重复的IT建设,同时开发者可以根据模型和微服务代码设计的对应关系,快速清晰的完成开发。同时后面博文会讲到DDD严格的分层结构设计,能够帮助构建一个“低耦合,高内聚”,可演进的系统。

2023-11-07 08:30:00 847 15

原创 MySQL数据库定时任务——事件

使用 MySQL 事件可以轻松地执行周期性的任务,从而提高数据库效率和性能。掌握如何使用事件是管理和优化 MySQL 数据库的重要知识点,可以更好地理解MySQL事件的特点和使用方式,从而更好地使用MySQL。希望本文对你有所帮助。

2023-11-06 08:30:00 3182 10

原创 技术选型:何时使用Elasticsearch而不是MySQL?

MySQL 是一个关系型数据库管理系统(RDBMS),它使用表(table)来存储结构化的数据,每个表由多个行(row)和列(column)组成,每个列有一个预定义的数据类型,例如整数、字符串、日期等。MySQL 支持主键、外键、约束、触发器等关系型数据库的特性,以保证数据的完整性和一致性 。Elasticsearch 是一个基于 Lucene 的搜索引擎,它使用文档(document)来存储半结构化或非结构化的数据,每个文档由多个字段(field)组成,每个字段可以有不同的数据类型,例如文本、数字、布

2023-10-30 15:25:48 2522 20

原创 RESTful 基础知识

RESTful API本身并不依赖于任何特定的传输协议,但由于HTTP协议具有广泛的应用和支持,因此RESTful API通常使用HTTP协议进行通信。RESTful API是一种基于HTTP协议设计的Web服务接口,它使用HTTP请求方法(如GET、POST、PUT、DELETE)来访问和操作资源。把系统的功能作为服务暴露给外部的其他应用使用,需要把系统中的服务作为API接口暴露出去,一般分为公共接口和私用接口。HTTP请求的头信息中用Accept和Content-Type字段指定,对“表现”的描述。

2023-10-25 15:45:19 446 2

原创 BOA服务器(一):简介

在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。本文主要介绍BOA服务器的工作原理。

2023-10-25 08:30:00 680 12

原创 RabbitMQ原理(五):消费者的可靠性

例如我们当前案例中,处理消息的业务逻辑是把订单状态从未支付修改为已支付。我们在用户支付成功后会发送MQ消息到交易服务,修改订单状态为已支付,就可能出现消息重复投递的情况。不过需要注意的是,交易服务并不知道用户会在什么时候支付,如果查询的时机不正确(比如查询的时候用户正在支付中),可能查询到的支付状态也不正确。因此,RabbitMQ必须知道消费者的处理状态,一旦消息处理失败才能重新投递消息。业务判断就是基于业务本身的逻辑或状态来判断是否是重复的请求或消息,不同的业务场景判断的思路也不一样。

2023-10-24 10:53:36 2324 25

原创 RabbitMQ原理(四):MQ的可靠性

消息到达MQ以后,如果MQ不能及时保存,也会导致消息丢失,所以MQ的可靠性也非常重要。为了提升性能,默认情况下MQ的数据都是在内存存储的临时数据,重启后就会消失。为了保证数据的可靠性,必须配置数据持久化。

2023-10-24 10:48:24 717 10

原创 RabbitMQ原理(三):发送者的可靠性

每个只能配置一个,因此我们可以在配置类中统一设置。我们在publisher模块定义一个配置类:log . error("触发return callback,");} });} }log . error("触发return callback,");} });} }Slf4j;import orglog . error("触发return callback,");} });} }

2023-10-22 09:30:00 689 23

原创 Java面试题总结(二):Java多线程

当一个线程被剥夺cpu使用权时,切换到另外一个线程执行死锁指多个线程在执行过程中,因争夺资源造成的一种相互等待的僵局AQS是一个抽象类,可以用来构造锁和同步类,如ReentrantLock,Semaphore,CountDownLatch,CyclicBarrier。AQS的原理是,AQS内部有三个核心组件,一个是state代表加锁状态初始值为0,一个是获取到锁的线程,还有一个阻塞队列。当有线程想获取锁时,会以CAS的形式将state变为1,CAS成功后便将加锁线程设为自己。

2023-10-19 11:20:19 423 12

原创 Go 语言面试题(三):并发编程

协程泄露是指协程创建后,长时间得不到释放,并且还在不断地创建新的协程,最终导致内存耗尽,程序崩溃。缺少接收器,导致发送阻塞这个例子中,每执行一次 query,则启动1000个协程向信道 ch 发送数字 0,但只接收了一次,导致 999 个协程被阻塞,不能退出。for i := 0;i < 1000;i < 4;i++ {query()缺少发送器,导致接收阻塞。

2023-10-15 10:49:35 452 21

原创 如何看待Unity新的收费模式?

Unity 新的收费模式可能会对开发者产生一定的影响,但其目的是为了提高引擎业务的收入,获得业绩增长。在使用 Unity 引擎进行游戏开发时,开发者需要仔细评估新收费模式的影响,并根据实际情况做出决策。

2023-10-13 12:43:50 325 11

原创 C++ 程序员入门需要多久,怎样才能学好?

C++ 程序员入门需要的时间因人而异,取决于个人的学习能力、时间和精力投入等因素。一般来说,如果您认真学习并不断实践,大约需要几个月到一年的时间才能掌握 C++ 的基础知识和编程技能。此外,学好 C++ 需要不断的实践和学习。只有不断地编写代码、解决问题、学习新技术,才能不断提高自己的编程水平。同时,您也可以参加一些 C++ 编程比赛、开源项目等,以提高自己的实践经验和技能。

2023-10-13 12:35:13 317 8

原创 写过的最蠢的代码

编程是一门艺术,也是一门科学。它可以让我们创造出令人惊叹的作品,也可以让我们陷入无尽的困境。在编程的过程中,我们难免会遇到一些错误、bug或者逻辑问题,有时候甚至会写出一些非常蠢的代码。今天,我就要分享一下我写过的最蠢的代码是什么。这件事发生在我刚开始学习编程的时候,那时候我对编程还一无所知,只是跟着教程和书本学习一些基本的语法和概念。有一天,我想写一个程序,可以计算一个数的阶乘。阶乘就是从1乘到这个数的结果,比如5的阶乘就是1×2×3×4×5=120。

2023-10-13 11:48:45 227 1

原创 如何做系统架构设计

在进行系统架构设计时,首要遵从“适合原则”。架构师首先是技术管理者,技术方案选型权衡取舍做技术决策是核心的职责,那么系统架构设计首先要考虑的就是要满足当前业务出发同时能支持适应业务发展而扩展开发维护,同时也要结合团队技术积累和实力、项目时间和成本投入等全方位的综合评估取舍,而不是为技术而技术。最后,系统架构设计需要遵循一定的步骤和原则,同时要理解业务需求和团队的技术实力,做出合理的架构决策。

2023-10-12 09:46:13 893 11

原创 Java面试题总结(一):Java基础

JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,需要安装 JDK。

2023-10-11 17:15:56 399 24

原创 1 张动图解释8种流行的网络协议,生动形象!

HTTP/3是HTTP的下一个主要修订版。它运行在QUIC上,QUIC是一种新的传输协议,专为移动互联网的大量使用而设计。VR应用程序需要更多的带宽来渲染虚拟场景的复杂细节,并且可能会从QUIC支持的HTTP/3迁移中受益。WebSocket是一种通过TCP提供全双工通信的协议。与总是“拉取”数据的REST不同,WebSocket允许“推送”数据。HTTP是一种用于获取HTML文档等资源的协议。它是Web上任何数据交换的基础,是一个客户端-服务器协议。它具有用于控制通道和数据通道的独立连接。

2023-10-11 12:45:00 510 26

原创 常用的设计模式汇总,超详细!

单例模式,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。

2023-10-10 08:45:00 201 13

原创 4种 MySQL 同步 ES 方案

在实际项目开发中,我们经常将 MySQL 作为业务数据库,ES 作为查询数据库,用来实现读写分离,缓解 MySQL 数据库的查询压力,应对海量数据的复杂查询。这其中有一个很重要的问题,就是如何实现 MySQL 数据库和 ES 的数据同步,今天和大家聊聊 MySQL 和 ES 数据同步的各种方案。我们先看看下面 4 种常用的数据同步方案。通过这篇文章,让你知道 MySQL 和其它多维数据的同步方案,以及常用的数据迁移工具,帮助你更好选型。

2023-10-09 08:30:00 1159 24

原创 四种常见软件架构简介

如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。目前微服务架构在四种架构中处于主流地位,很多应用第一、第二种架构的企业也开始慢慢转向微服务架构。到目前为止微服务的技术相对于二三年前已经比较成熟,第四种架构将是未来发展的一种趋势。

2023-10-08 13:56:16 2868 20

原创 什么是跨域问题?如何解决?

在当今互联网时代,前端开发中经常会遇到跨域问题,即浏览器禁止向不同源的服务器发送请求。这意味着在开发过程中,如果我们的前端代码需要与其他域名下的接口进行通信,我们将面临无法直接发送请求的困境。跨域问题的存在给开发带来了不少麻烦,然而,在跨域问题之下,我们也发现了解决的方法。本篇博客将为大家介绍如何解决跨域问题的一些有效策略和技巧。

2023-10-06 23:58:13 422 17

原创 分布式事务 —— SpringCloud Alibaba Seata

传统的单体应用中,业务操作使用同一条连接操作不同的数据表,一旦出现异常就可以整体回滚。随着公司的快速发展、业务需求的变化,单体应用被拆分成微服务应用,原来的单体应用被拆分成多个独立的微服务,分别使用独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题无法保证。在微服务架构中,一次业务请求需要操作多个数据源或需要进行远程调用,就会产生分布式事务问题。

2023-10-06 23:53:22 414 14

原创 我的创作纪念日-第1024天

不知不觉,已经加入CSDN这个大家庭5年多了,回想起3年前发布第一篇博客的时候,那时我记得很清楚,我在做项目时遇到报错,解决问题之后,然后想起了好多人用CSDN写博客,就马不停蹄的登录了CSDN,进行了我的第一篇博客的创作。

2023-10-05 18:41:46 222

原创 Redis原理(二):Redis数据结构(下)

比如字符串”32”,如果按照字符数组来解释,它包含两个字符,它们的ASCII码分别是0x33和0x32。而value则比较复杂,为了在同⼀个dict内能够存储不同类型的value,这就需要⼀个通⽤的数据结构,这个通用的数据结构就是robj,全名是redisObject。String的内部存储结构⼀般是sds(Simple Dynamic String,可以动态扩展内存),但是如果⼀个String类型的value的值是数字,那么Redis内部会把它转成long类型来存储,从⽽减少内存的使用。

2023-09-29 08:45:00 261 15

ShardingSphere笔记.zip

Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。Apache ShardingSphere 设计哲学为 Database Plus,旨在构建异构数据库上层的标准和生态。 它关注如何充分合理地利用数据库的计算和存储能力,而并非实现一个全新的数据库。 它站在数据库的上层视角,关注它们之间的协作多于数据库自身。

2023-12-01

seata-samples 压缩包

seata-samples 压缩包

2023-02-21

mysql-5.6.50-win 安装包

mysql-5.6.50-win 安装包

2023-02-21

WebStorm开发工具常用设置

WebStorm开发工具常用设置

2023-02-21

idea开发工具常用设置

idea开发工具常用设置

2023-02-21

snmptest测试工具

snmp协议测试工具

2023-02-17

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

TA关注的人

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