【机器学习】聚类算法原理详解
聚类算法
性能度量:
- 外部指标
jaccard
系数(简称JC
)FM
指数(简称FMI
)Rand
指数(简称RI
)
- 内部指标
DB
指数(简称DBI
)Dunn
指数(简称DI
)
距离计算:
- L p L_p Lp 范数
- 欧氏距离
- 曼哈顿距离
分类:
- 原型聚类:
k-means
算法,学习向量量化(有监督学习),高斯混合聚类 都是此类型算法
假设聚类结构能够通过一组原型刻画,然后对原型进行迭代更新求解。
-
密度聚类:DBSCAN
-
层次聚类:AGNES
试图在不同层次上对数据集进行划分,分为自底向上的聚合策略和自顶向下的分拆策略
聚簇之间的距离的计算:最小距离,最大距离和平均距离(两个簇中样本点对距离之和取平均)
AGNES算法被相应称为:单链接算法(以最小距离为准),全链接算法(以最大距离为准)和均链接算法
以单链接算法为例:
- 初始时每个样本点看做一个簇,找到所有簇对中最小的距离,将他们合并为一个簇,此时合并的簇与其他簇的距离更新为两个点到其他簇距离的最小值。
- 上面的步骤为循环里面的步骤,接着进行下一次循环,找到所有簇中最短的距离,然后将他们合并,合并后更新簇之间的距离为【合并簇中的所有点到其他簇距离的最小值】,一直进行上述循环操作,直到达到指定簇的数量再停止循环。
K-MEANS算法
1 概述
聚类概念:这是个无监督问题(没有标签数据),目的是将相似的东西分到一组。
通常使用的算法是K-MEANS算法
K-MEANS算法:
- 需要指定簇的个数,即K值
- 质心:数据的均值,即向量各维取平均即可
- 距离的度量:常用欧几里得距离和余弦相似度(先标准化,让数据基本都是在一个比较小的范围内浮动)
- 优化目标: m i n ∑ i = 1 K ∑ x ∈ C i d i s t ( c i , x ) 2 min\sum \limits_{i = 1}^K \sum \limits_{x \in C_i} dist(c_i, x)^2 mini=1∑Kx∈Ci∑dist(ci,x)2 (对于每一个簇让每一个样本到中心点的距离越小越好, c i c_i ci代表中心点)
2 K-MEANS流程
假设平面上有一系列样本点,现在需要将其进行分组。
选定K=2
,即将这些数据点分成两个组别。
- 随机选择两个质心(分别代表两个簇),计算所有样本点到两个质心的距离。每个样本点会计算出到两个质心的距离,那么选择最小的距离,这个样本点就归属于哪个簇。
- 然后对于两个簇的所有样本点分别算出对应的质心(这两个质心便充当新的质心),再对所有样本点计算到两个新的质心的距离,还是选择最小的距离,那么这个样本点就归属于哪个簇。
- 最终直到两个簇所属的样本点不在发生变化。
K-MEANS工作流程视频参考
3 优缺点
优点:
- 简单快速,适合常规数据集
缺点:
- K值难以确定
- 复杂度与样本呈线性关系
- 很难发现任意形状的簇
- 初始的点影响很大
K-MEANS可视化演示
4 K-MEANS进行图像压缩
from skimage import io
from sklearn.cluster import KMeans
import numpy as npimage = io.imread("1.jpg")
io.imshow(image)
# io.show() # 显示图片rows = image.shape[0]
cols = image.shape[1]
print(image.shape)image = image.reshape(rows * cols, 3)
kmeans = KMeans(n_clusters=128, n_init=10, max_iter=100) # 簇128, 最大迭代次数100
kmeans.fit(image)clusters = np.asarray(kmeans.cluster_centers_, dtype=np.uint8)
labels = np.asarray(kmeans.labels_, dtype=np.uint8)
labels = labels.reshape(rows, cols)print(clusters.shape)
np.save('test.npy', clusters)
io.imsave('compressed.jpg', labels)
DBSCAN算法
1 概述
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度的空间聚类算法。该算法将具有足够密度的区域划分为簇,并在具有噪声的空间数据库中发现任意形状的簇,DBSCAN算法将簇
定义为密度相连的点的最大集合。
核心对象:若某个点的密度达到算法设定的阈值则称其为核心点。(即r
邻域内的点的数量不小于minPts
)
基于以上密度的定义,我们可以将样本集中的点划分为以下三类:
- 核心点:在半径r区域内,含有超过MinPts数目(最小数目)的点,称为核心点;
- 边界点:在半径r区域内,点的数量小于MinPts数目,但是是核心点的直接邻居;
- 噪声点:既不是核心点也不是边界点的点
噪声点是不会被聚类纳入的点,边界点与核心点组成聚类的“簇”。
一些概念:
- 直接密度可达(密度直达):如果p在q的r领域内,且q是一个核心点对象,则称对象p从对象q出发时直接密度可达,反之不一定成立,即密度直达不满足对称性。
- 密度可达:如果存在一个对象链q–>e–>a–>k–>l–>p,任意相邻两个对象间都是密度直达的,则称对象p由对象q出发密度可达。密度可达满足传递性。
- 密度相连:对于 x i x_i xi 和 x j x_j xj ,如果存在核心对象样本 x k x_k xk ,使 x i x_i xi 和 x j x_j xj 均由 x k x_k xk 密度可达,则称 x i x_i xi 和 x j x_j xj 密度相连。密度相连关系满足对称性。
核心点能够连通(密度可达),它们构成的以r为半径的圆形邻域相互连接或重叠,这些连通的核心点及其所处的邻域内的全部点构成一个簇。
2 原理
- DBSCAN通过检查数据集中每个点的r邻域来搜索簇,如果点p的r邻域包含多于MinPts个点,则创建一个以p为核心对象的簇;
- 然后, DBSCAN迭代的聚集从这些核心对象直接密度可达的对象,这个过程可能涉及一些密度可达簇的合并;
- 当没有新的带你添加到任何簇时,迭代过程结束。
优缺点:
-
优点:基于密度定义,可以对抗噪声,能处理任意形状和大小的簇
-
缺点:当簇的密度变化太大时候,聚类得到的结果会不理想;对于高维问题,密度定义也是一个比较麻烦的问题。
3 实现
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
import matplotlib.colors# 创建Figure
fig = plt.figure()
# 用来正常显示中文标签
matplotlib.rcParams['font.sans-serif'] = [u'SimHei']
# 用来正常显示负号
matplotlib.rcParams['axes.unicode_minus'] = FalseX1, y1 = datasets.make_circles(n_samples=5000, factor=.6,noise=.05)
X2, y2 = datasets.make_blobs(n_samples=1000, n_features=2,centers=[[1.2,1.2]], cluster_std=[[.1]],random_state=9)# 原始点的分布
ax1 = fig.add_subplot(311)
X = np.concatenate((X1, X2))
plt.scatter(X[:, 0], X[:, 1], marker='o')
plt.title(u'原始数据分布')
plt.sca(ax1)# K-means聚类
from sklearn.cluster import KMeans
ax2 = fig.add_subplot(312)
y_pred = KMeans(n_clusters=3, random_state=9).fit_predict(X)
plt.scatter(X[:, 0], X[:, 1], c=y_pred)
plt.title(u'K-means聚类')
plt.sca(ax2)# DBSCAN聚类
from sklearn.cluster import DBSCAN
ax3 = fig.add_subplot(313)
y_pred = DBSCAN(eps = 0.1, min_samples = 10).fit_predict(X)
plt.scatter(X[:, 0], X[:, 1], c=y_pred)
plt.title(u'DBSCAN聚类')
plt.sca(ax3)plt.show()
相关文章:
【机器学习】聚类算法原理详解
聚类算法 性能度量: 外部指标 jaccard系数(简称JC)FM指数(简称FMI)Rand指数(简称RI) 内部指标 DB指数(简称DBI)Dunn指数(简称DI) 距离计算&am…...
android 使用MediaPlayer实现音乐播放--基础介绍
Android 多媒体框架支持播放各种常见媒体类型,因此 可轻松地将音频、视频和图片集成到您的应用中。你可以播放音频或 从存储在应用资源(原始资源)的媒体文件(原始资源)中获取独立文件 或从通过网络连接到达的数据流中&…...
【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南
文章目录 PyTorch 全面解析2.1 PyTorch 的发展历程2.2 PyTorch 的核心特点2.3 PyTorch 的应用场景 TensorFlow 全面解析3.1 TensorFlow 的发展历程3.2 TensorFlow 的核心特点3.3 TensorFlow 的应用场景 Keras 全面解析4.1 Keras 的发展历程4.2 Keras 的核心特点4.3 Keras 的应用…...
transformer.js(二):关于pipe管道的一切
前面的章节 transformer.js(一):这个前端大模型运行框架的可运行环境、使用方式、代码示例以及适合与不适合的场景介绍了transformer.js的应用场景。 pipe 管道(Pipeline) 作为 Transformer.js 的核心功能之一…...
django宠物服务管理系统
摘 要 宠物服务管理系统是一种专门为宠物主人和宠物服务提供商设计的软件。它可以帮助用户快速找到附近的宠物医院、宠物美容店、宠物寄养中心等服务提供商,并预订相关服务。该系统还提供了一系列实用的功能。通过使用宠物服务管理系统,用户可以更加方便…...
设计模式的学习思路
学习设计模式确实需要一定的时间和实践,尤其是对于刚入门的人来说,因为一开始可能会感到有些混淆,尤其是当多个设计模式看起来有相似之处时。本博客是博主学习设计模式的思路历程,大家可以一起学习进步。设计模式学习-CSDN博客 1…...
PgSQL即时编译JIT | 第1期 | JIT初识
PgSQL即时编译JIT | 第1期 | JIT初识 JIT是Just-In-Time的缩写,也就是说程序在执行的时候生成可以执行的代码,然后执行它。在介绍JIT之前,需要说下两种执行方式:解释执行和编译执行。其中解释执行是通过解释器,将代码逐…...
比rsync更强大的文件同步工具rclone
背景 多个复制,拷贝,同步文件场景,最大规模的是每次几千万规模的小文件需要从云上对象存储中拉取到本地。其他的诸如定期数据备份,单次性数据备份。 rsync是单线程的,开源的mrsync是多线程的,但适用范围没…...
【eNSP】OSPF、RIP与静态路由互通实验(四)
OSPF、RIP与静态路由互通实验 实验目的实验要求实验步骤步骤 1:配置R1、R2、R3、R4、R5、R6、R7的端口ip步骤 2:配置R1、R2、R3的OSPF动态路由协议步骤 3:配置R3、R4、R5的RIP动态路由协议步骤 4:配置R3作为边界路由器,…...
MODBUS TCP转CANOpen网关
Modbus TCP转CANopen网关 型号:SG-TCP-COE-210 产品用途 本网关可以实现将CANOpen接口设备连接到MODBUS TCP网络中;并且用户不需要了解具体的CANOpen和Modbus TCP 协议即可实现将CANOpen设备挂载到MODBUS TCP接口的 PLC上,并和CANOpen设备…...
Figure 02迎重大升级!!人形机器人独角兽[Figure AI]商业化加速
11月19日知名人形机器人独角兽公司【Figure AI】发布公司汽车巨头【宝马】最新合作进展,旗下人形机器人Figure 02在生产线上的性能得到了显著提升,机器人组成自主舰队,依托端到端技术,速度提高了400%,执行任务成功率提…...
Linux tcpdump 详解教程
简介 tcpdump 是一款在 Linux 平台上广泛使用的网络抓包工具。它可以捕获整个 TCP/IP 协议族的数据包,并支持对网络层、协议、主机、端口等进行过滤。tcpdump 提供了强大的过滤功能,允许使用 and、or、not 等逻辑语句来筛选数据包,非常适合用…...
o1的风又吹到多模态,直接吹翻了GPT-4o-mini
开源LLaVA-o1:一个设计用于进行自主多阶段推理的新型VLM。与思维链提示不同,LLaVA-o1独立地参与到总结、视觉解释、逻辑推理和结论生成的顺序阶段。 LLaVA-o1超过了一些更大甚至是闭源模型的性能,例如Gemini-1.5-pro、GPT-4o-mini和Llama-3.…...
记录下,用油猴Tampermonkey监听所有请求,绕过seesion
油猴Tampermonkey监听所有请求,绕过seesion 前因后果脚本编写 前因后果 原因是要白嫖一个网站的接口,这个接口的页面入口被隐藏掉了,不能通过页面调用,幸好之前有想过逆向破解通过账号密码模拟登录后拿到token,请求该…...
Golang语言整合jwt+gin框架实现token
1.下载jwt go get -u github.com/dgrijalva/jwt-go2.新建生成token和解析token文件 2.1 新建common文件夹和jwtConfig文件夹 新建jwtconfig.go文件 2.2 jwtconfig.go文件代码 /* Time : 2021/8/2 下午3:03 Author : mrxuexi File : main Software: GoLand */ package jwtC…...
SpringBootTest启动时出现循环依赖问题
在公司项目开发中由于SpringBoot启动类配置了setAllowCircularReferences为true在特定的业务逻辑下需要该配置,但我们需要使用SpringBootTest单元测试的时候引入我们开发的配置文件发现不生效, 解决方法: SpringBootTest(properties "…...
微信小程序——01开发前的准备和开发工具
一、踏上小程序开发之旅前的准备 (一)小程序账号注册 开启注册流程 首先,在浏览器中打开 “微信公众平台”(微信公众平台)。进入平台后,你会看到右上角有一个 “立即注册” 按钮,点击它&#x…...
华为欧拉系统使用U盘制作引导安装华为欧拉操作系统
今天记录一下通过U盘来安装华为欧拉操作系统 华为欧拉操作系统是国产的一个类似于Centos的Linus系统 具体实现操作步骤: 先在官网下载欧拉系统镜像点击跳转到下载 准备好一个大于16g的U盘 ,用于制作U盘启动 下载一个引导程序制作工具,我使用…...
【Java 集合】Collections 空列表细节处理
问题 如下代码,虽然定义为非空 NonNull,但依然会返回空对象,导致调用侧被检测为空引用。 实际上不是Collections的问题是三目运算符返回了null对象。 import java.util.Collections;NonNullprivate List<String> getInfo() {IccReco…...
2021 年 3 月青少年软编等考 C 语言三级真题解析
目录 T1. 找和为 K 的两个元素思路分析T2. Minecraft思路分析T3. 踩方格思路分析T4. 苹果消消乐思路分析T5. 流感传染思路分析T1. 找和为 K 的两个元素 在一个长度为 n ( n < 1000 ) n\ (n < 1000) n (n<1000) 的整数序列中,判断是否存在某两个元素之和为 k k k…...
【PyTorch】Pytorch中torch.nn.Conv1d函数详解
1. 函数定义 torch.nn.Conv1d 是 PyTorch 中用于一维卷积操作的类。定义如下: 官方文档:https://pytorch.ac.cn/docs/stable/generated/torch.nn.Conv1d.html#torch.nn.Conv1d torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride1,paddi…...
Linux运维篇-iscsi存储搭建
目录 概念实验介绍环境准备存储端软件安装使用targetcli来管理iSCSI共享存储 客户端软件安装连接存储 概念 iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的存储技术,该技术是将存储行业广泛…...
通过shell脚本分析部署nginx网络服务
题目: 1.接收用户部署的服务名称 2.判断服务是否安装 已安装;自定义网站配置路径为/www;并创建共享目录和网页文件;重启服务 没有安装;安装对应的软件包 3.测试 判断服务是否成功运行; 已运行&am…...
Cyberchef使用功能之-多种压缩/解压缩操作对比
cyberchef的compression操作大类中有大量的压缩和解压缩操作,每种操作的功能和区别是什么,本章将进行讲解,作为我的专栏《Cyberchef 从入门到精通教程》中的一篇,详见这里。 关于文件格式和压缩算法的理论部分在之前的文章《压缩…...
【http】http协议状态码
目录 1. 说明2. 信息性状态码3. 成功状态码4. 重定向状态码5. 客户端错误状态码6. 服务器错误状态码 1. 说明 1.HTTP协议状态码是指在HTTP通信过程中,服务器向客户端返回的三位数值的数字代码,用于表示服务器对请求的处理结果和状态。2.这些状态码由三个…...
tcpdump交叉编译
TCPDUMP在Libpcap上开发。 首先需要编译libcap。 网上那么多教程,下载地址都只给了一个英文的官网首页, 你尽可以试试,从里面找到下载地址都要费半天时间。 \color{red}网上那么多教程,下载地址都只给了一个英文的官网首页&#…...
Python 脚本程序加密
文章目录 前言编译成 .pyc 文件编译成可执行文件PyInstallerNuitka PyArmor加密 Python 脚本生成可执行文件设置授权管理规则 前言 Python 脚本程序加密推荐。 编译成 .pyc 文件 .pyc 文件是 Python 源码文件 (.py) 编译后的二进制文件,能提高加载速度࿰…...
记录一次mysql的一些操作,mysql的docker,mysql备份,mysql表复制
我是用的是mysql的docker容器版本。 1、使用mysql的docker容器版本 1.1 启动 docker run --name <docker_name> \-e MYSQL_ROOT_PASSWORD<password> \-v /datavolume2/mysql:/var/lib/mysql \-p 3306:3306 \-d hub.atomgit.com/arm64v8/mysqldocker_name是启动后…...
Slate文档编辑器-WrapNode数据结构与操作变换
Slate文档编辑器-WrapNode数据结构与操作变换 在之前我们聊到了一些关于slate富文本引擎的基本概念,并且对基于slate实现文档编辑器的一些插件化能力设计、类型拓展、具体方案等作了探讨,那么接下来我们更专注于文档编辑器的细节,由浅入深聊…...
2024信创数据库TOP30之蚂蚁集团OceanBase
数据库作为存储、管理和分析这些数据的关键工具,其地位自然不言而喻。随着信息技术的日新月异,数据库技术也在不断演进,以满足日益复杂多变的市场需求。近日,备受瞩目的“2024信创数据库TOP30”榜单由DBC联合CIW/CIS权威发布&…...
Unity类银河战士恶魔城学习总结(P130 SkillTree UI 技能树)
【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了技能树的UI设置 UI_SKillTreeSlot.cs 这段代码定义了…...
Web服务器
简介 www是world wide web的缩写,也就是全球信息广播的意思。通常说的上网就是使用www来查询用户 所需要的信息。www可以结合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单击超链接的方 式将信息以Internet传递到世界各处去。 与其他服务器类似…...
.net将List<实体1>的数据转到List<实体2>
比如说有两个实体Class,如下: //实体1 public class People {public string Name {get;set;}public int Age {get;set;} } //实体2 public class Student {public string Name {get;set;}public int Age {get;set;}public string ClassRoom {get;set;}/…...
django从入门到精通(五)——表单与模型
好的,下面将详细介绍 Django 的表单与模型,包括它们的定义、使用、如何在 Django Admin 中结合使用,以及相关的字段类型和验证机制。 Django 模型与表单 1. Django 模型 Django 模型是一个 Python 类,用于定义数据库中的数据结…...
Keepalived部署
Keepalived部署 安装配置单VIP模式配置master节点查看节点IP信息配置 keepalived.conf启动且加入开机自启查看是否生效 配置backup节点配置 keepalived.conf启动且加入开机自启查看是否生效 主备测试 多VIP配置 keepalived.conf查看IP 安装 dnf install -y keepalived配置 单…...
怀旧游戏打卡清单(TODO)
感觉忙碌了好久好久,真的好想休息一下。。 整理一下将来休息时候的打卡清单,不工作了去个海边狂打游戏,想想就惬意啊。当然,最好找个work from home,去海边找个酒店上班。挣钱休息两不误。。。 能不能实现另说…...
ssm160基于Java技术的会员制度管理的商品营销系统的设计与实现+vue(论文+源码)_kaic
毕 业 设 计(论 文) 题目:商品营销系统计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本商品营销系统就是在这…...
springboot实战(15)(注解@JsonFormat(pattern=“?“)、@JsonIgnore)
目录 一、请求映射路径相同,根据请求方式区分不同接口。 1、例子。 二、注解JsonFormat。 1、基本介绍。 2、日期和时间格式化。 3、时区设置。 4、反序列化。 三、注解JsonIgnore。 1、基本介绍。 2、主要作用。 一、请求映射路径相同,根据请求方式区分…...
Redis面试篇笔记(持续更新)
一、redis主从集群 单节点redis的并发能力是由上限的,要进一步提高redis的并发能力可以搭建主从集群,实现读写分离,一主多从,主节点写数据,从节点读数据 部署redis主从节点的docker-compose文件命令解析 version: &q…...
Applied Intelligence投稿
一、关于手稿格式: 1、该期刊是一个二区的,模板使用Springer nature格式, 期刊投稿要求,详细期刊投稿指南,大部分按Soringernature模板即可,图片表格声明参考文献命名要求需注意。 2、参考文献ÿ…...
WPF窗体基本知识-笔记-命名空间
窗体程序关闭方式 命名空间:可以理解命名空间的作用为引用下面的控件对象 给控件命名:一般都用x:Name,也可以用Name但是有的控件不支持 布局控件(容器)的类型 布局控件继承于Panel的控件,其中下面的border不是布局控件,panel是抽象类 在重叠的情况下,Zindex值越大的就在上面 Z…...
LLM | 论文精读 | CVPR | Alpha-CLIP —— 一个聚焦目标区域的CLIP模型
论文标题:Alpha-CLIP: A CLIP Model Focusing on Wherever You Want 作者:Zeyi Sun, Ye Fang, Tong Wu, Pan Zhang, Yuhang Zang等 期刊:CVPR 2024 DOI:http://arxiv.org/pdf/2312.03818v2 email:yuhan.huangwhu.ed…...
windows系统中实现对于appium的依赖搭建
Node.js:Appium是基于Node.js的,因此需要安装Node.js。可以从Node.js官网下载并安装。 Java Development Kit (JDK):用于Android应用的自动化测试,需要安装JDK。可以从Oracle官网下载并安装。 Android SDK:进行Andro…...
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
【网络系统管理】Centos7——配置主从mariadb服务器案例-CSDN博客 接上个文档,我们已经完成了主服务器创建数据库备服务器可以看到 一、在DBMS2查看信息 File,Position这两个字段的数据要记好,等一下需要用到 show master status; 二、在…...
mac nvm安装及使用(nvm安装指定版本node npm pnpm)
mac nvm安装及使用(nvm安装指定版本node npm pnpm) 1.卸载电脑的node 打开终端:依次执行以下命令: sudo rm -rf /usr/local/bin/npmsudo rm -rf /usr/local/share/man/man1/node.1sudo rm -rf /usr/local/lib/dtrace/node.dsudo…...
Elasticsearch面试内容整理-常见问题和解决方案
在使用 Elasticsearch 的过程中,可能会遇到各种常见问题,如集群状态异常、分片未分配、查询性能低下等。这些问题往往影响系统的可用性和性能,因此理解这些问题的成因和解决方案非常重要。以下是 Elasticsearch 常见问题及其解决方案的整理。 集群状态问题 Elasticsearch 集…...
鸿蒙学习高效开发与测试-应用程序框架和HarmonyOS SDK(3)
文章目录 1、应用程序框架1、规范化后台进程管理2、原生支持分布式3、支持多设备的统一窗口管理4、 组件共享及面向对象5、逻辑与界面解耦6、灵活扩展机制2、HarmonyOS SDK1、 开放能力 Kit2、开放能力的检索和使用3、 方舟工具链4、前端编译器架构1、应用程序框架 应 用 程 序…...
LeetCode 3244.新增道路查询后的最短距离 II:贪心(跃迁合并)-9行py(O(n))
【LetMeFly】3244.新增道路查询后的最短距离 II:贪心(跃迁合并)-9行py(O(n)) 力扣题目链接:https://leetcode.cn/problems/shortest-distance-after-road-addition-queries-ii/ 给你一个整数 n 和一个二维…...
使用GDB或Delve对已经运行起来的Go程序进行远程调试
同步发布在我的博客,欢迎来点赞。 使用 GDB 或 Delve 对已经运行起来的 Go 程序进行远程调试 使用 GDB 或 Delve 对已经运行起来的 Go 程序进行远程调试 背景 Java 程序可以很方便地通过 jdwp 参数指定一个对外端口进行远程调试,如 java \ -agentlib…...
集成了高性能ARM Cortex-M0+处理器的一款SimpleLink 2.4 GHz无线模块-RF-BM-2340B1
蓝牙模组 - RF-BM-2340B1是基于美国TI的CC2340R5为核心设计的一款SimpleLink 2.4 GHz 无线模块。支持Bluetooth 5.3 Low Energy、Zigbee 、IEEE 802.15.4g、TI 15.4-Stack (2.4 GHz)及私有协议。集成了高性能ARM Cortex-M0处理器,具有512 KB Flash、32 KB超低泄漏SR…...