0%

最近因为工作需要研究了一下MCP的streamable-http的通信流程, 具体来说整个连接过程涉及了两次POST和一次GET

阅读全文 »

演示视频

视频1 远程控制机械臂抓取物品 0秒~20秒: 未使用智能手套的控制效果 20秒~57秒: 使用智能手套的增强控制效果
阅读全文 »

最近推进项目POC时, 前端开发报过来一个很奇怪的跨域问题, 在调用接口时经常发生CORS报错, 但是后端已经为所有的域名/方法/header配置了CORS, 理论上不应该发生问题。

阅读全文 »

本文将介绍如何在MacOS下配置Nordic蓝牙开发环境, 器材为nRF52832(开发板NRF52-DK, PCA10040)。

通常来说人们会在windows上进行蓝牙开发, 但实际上MacOS也同样可以, 并且配合vscode可比Keil舒服多了。

如果你对Makefile等工具较为熟悉, 甚至可以获得比IDE更便捷的开发体验。

阅读全文 »

缓存一直是线上系统不可或缺的部分,本文总结了缓存系统中需要关注的一些问题

阅读全文 »

使用redis-benchmark工具对redis集群进行压测

redis-benchmark工具对于redis cluster支持并是不特别好,需要使用{tag}来写入指定node,相关用法在这pr中。

但是使用{tag}测试后不好删除数据,并且根据业务需要,关注的是单Hash单Node下的性能表现,所以最后测试时,直接连接了测试key所在的node,避免了事后清除数据的麻烦。

根据测试结果,可以看出,使用Pipeline的情况下Redis吞吐量能提升一倍有余

在不使用pipeline的情况下猜测是网络开销占用了过多CPU,但具体是iowait还是其他因素造成仍需分析

此外AWS在Redis7/7.1上支持了(增强型IO多路复用)[https://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/red-ug/supported-engine-versions.html#redis-version-7.0]可以很大程度上增强多客户端连接时的性能。

阅读全文 »

在项目的 settings 中 github pages 可以通过根目录或docs目录部署。但是这种方式不够灵活,对于一些前段项目,需要不停的通过CI生成站点文件,提交到git中再部署,git中存储了许多构建产物,显得冗余臃肿。

实际上,github也支持通过actions来部署pages,不需要将站点文件储存在git中。

阅读全文 »

SELECT

在ddb中,推荐使用双引号标记表名,列名,使用单引号标记字符串

1
2
3
SELECT *
FROM "TableName"
WHERE primary_key = '';

可以在语句中使用order by等语句

1
2
3
SELECT "column1", "column2"
FROM "TableName"
WHERE primary_key = 'key1' AND range_key = 123 ORDER BY range_key DESC;

也可以使用CAST等函数

1
2
SELECT CAST(column_name AS INT)
FROM "TableName";

UPDATE

update时要注意column_name是否存在,由于ddb类似于nosql的特性,如果对原本不存在的column赋值会导致在原本数据中新增一个字段

(虽然一般不会造成额外影响,但还是需要尽量避免)

1
2
3
UPDATE "TableName"
SET column_name = 1710133352
WHERE primary_key = 'key1' AND range_key = 123;

在使用单实例Redis时, 我们可以使用./redis-cli -h redis_ip -p redis 6379 --ldb --eval script.lua somekey , arg1 arg2命令轻松的进入debug模式调试lua脚本
在正常情况下, 进入debug模式后可以使用一系列命令来执行控制脚本的执行, 使用help命令应该可以看到如下界面

阅读全文 »