Byolio Blog

「透过技术看见的是 不一样的生活」

RocketMQ的特性消息实现原理

关于RocketMQ的三种特性消息实现原理的解释

本文旨在对RocketMQ的消息实现原理进行解释,主要包括延迟消息, 事务消息, 顺序消息。 什么是消息 消息是一种用于系统之间通信的介质,可以在分布式系统中传递数据或命令。消息的传递通过消息中间件实现,例如RocketMQ、Kafka等。消息中间件通过异步解耦的方式,帮助系统实现高性能、高可靠性的数据传输。 RocketMQ主要支持以下几种消息模型: 普通消息:最常见的消...

关于子数组累加和的思考

简单聊一聊实现子数组累加和的思考路径

让我们走向子数组累加和的世界 本文测试链接: https://leetcode.cn/problems/maximum-subarray/ https://leetcode.cn/problems/house-robber/ https://leetcode.cn/problems/maximum-sum-circular-subarray/ ht...

用GPU加速PyTorch模型训练

通过CUDA来加速PyTorch深度学习模型的训练

本文介绍如何通过CUDA来加速PyTorch深度学习模型的训练(本文需要有CUDA的NVIDIA GPU显卡, 且CUDA驱动版本要与PyTorch版本相兼容) 什么是CUDA? CUDA(Compute Unified Device Architecture)是由NVIDIA公司开发的一种并行计算平台和编程模型,允许开发者利用NVIDIA GPU的强大计算能力来加速各种高性能计算...

PyTorch建立AI模型需要那些Module

让我们快速了解PyTorch建立一个AI模型需要那些Module

本文旨在介绍PyTorch高效建立一个AI模型所需的Module, 不涉及数据的预处理, 模型训练等, 只涉及到模型的建立, 作为一个快速了解PyTorch建立一个AI模型所需的Module的文章。 用PyTorch建立一个AI模型所需的环境 可以查看我之前写的文章, 这边就不在花时间去赘述了。 用PyTorch建立一个AI模型所需的库(仅介绍了一些常用的库) 1. torch ...

RocketMQ的NameSrv的工作原理

RocketMQ的NameSrv原理解释

本文旨在介绍RocketMQ的NameSrv的工作原理。 什么是NameSrv NameSrv是RocketMQ的一个重要组件,它像一个看板一样负责管理和维护RocketMQ的元数据信息,包括Broker的注册、路由信息的维护等。NameSrv提供了一个集中式的服务,用于存储和管理RocketMQ的配置信息和元数据,以便其他组件能够通过NameSrv获取到这些信息, 因此其在Bro...

MySQL目录结构中的表

Linux上MySQL目录结构中的表

本文旨在介绍Linux上MySQL关于表的目录结构。 MySQL存放表的目录 数据库中存放数据的结构目录如下: 1 cd /var/lib/mysql 选择一个数据库文件夹进入,查看其中的表文件 不同引擎的表文件 在InnoDB引擎中, MySQL5.7中表文件的后缀名为.ibd,表数据文件的后缀名为.frm MySQL8.0中表文件的后缀名为.ibd,表数据文件也被...

mysql字符集与比较规则

系统性的聊一聊mysql字符集与比较规则

本文旨在对mysql字符集与比较规则的系统性的聊一聊。 什么是mysql字符集与比较规则 字符集: 字符集定义了存储的字符及其编码方式。例如,utf8mb4是一种使用了4个字节为一个字符且基于Unicode字符标准的字符集,而latin1是一种使用了1个字节为一个字符基于ISO-8859-1标准的西欧字符集。 字符比较规则: 比较规则定义了在字符集的基础上,如何比较字符串的排序和大...

RocketMQ的两种基础模式

消息队列的两种基础模式的原理解释

本文旨在介绍两种消息队列基础模式的原理解释。 什么是消息队列 消息队列是一种用于在分布式系统中传递消息的技术。它提供了一种异步、解耦和可扩展的方式来处理消息。消息队列通常用于解耦生产者和消费者之间的依赖关系,使得生产者和消费者可以独立地进行开发和扩展。 消息队列的两种基础模式 1. 队列模式(点对点模式) 其使用队列作为数据结构,消息按照先进先出(FIFO)的顺序进行处理。生产者...

pytorch及常用工具的安装

安装pytorch及常用工具

本文旨在介绍pytorch及其常用工具的安装。(请全程开启魔法以解决网络问题) 什么是Pytorch PyTorch是一个开源的深度学习框架,由Facebook的人工智能研究院(FAIR)开发。它以其动态计算图、直观的API和强大的GPU加速能力而著称。PyTorch主要用于计算机视觉、自然语言处理等领域,支持研究人员和开发者快速构建和训练神经网络模型。 为什么选择Pytorch ...

c++引用的扩展

c++左值和右值引用的区别

什么是左值和右值, 引用c++左值和右值引用的区别 左值和右值的区别 左值是指可以在赋值语句左边出现的表达式,右值是指只能在赋值语句右边出现的表达式。 1 2 3 a = 10; // 10是右值,a是左值 vector<int> v; v = vector<int>(10, 0); // vector<int>(10, 0)是右值,v是左值 ...