Apollo 配置管理中心(携程开源),Ubuntu虚拟机下使用cutecom进行串口通信的方法,go测试rs232串口,大端小端模式,golang 单元测试显示日志和关闭gotest缓存,git代码回滚与恢复
Apollo 配置管理中心(携程开源)
https://blog.csdn.net/chengyinwu/article/details/108059466
https://blog.csdn.net/m0_37583655/article/details/117458787
1. Apollo 介绍
阿菠萝官网地址:https://github.com/ctripcorp/apolloApollo(阿菠萝)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo支持4个维度管理Key-Value格式的配置:Namespace(名称空间)、Cluster(集群)、Environment(环境)、Application(应用)。具体介绍参考:https://github.com/ctripcorp/apollo/wiki
总结一句话:配置中心就是一种统一管理各种应用配置的基础服务组件。
2. Apollo 特性
• 统一管理不同环境(支持有限的环境关键词)、不同集群的配置
• 配置修改实时生效
• 版本发布管理
• 灰度发布
• 权限管理、发布审核、操作审计
• 客户端配置信息监控
• 提供Java和.Net原生客户端,且支持HTTP接口
3 配置中心对比
总的来看,Apollo和Nacos相对于Spring Cloud Config的生态支持更广,在配置管理流程上做的更好。Apollo相对于Nacos在配置管理做的更加全面,Nacos则使用起来相对比较简洁,在对性能要求比较高的大规模场景更适合。但对于一个开源项目的选型,项目上的人力投入(迭代进度、文档的完整性)、社区的活跃度(issue的数量和解决速度、Contributor数量、社群的交流频次等),这些因素也比较关键,考虑到Nacos开源时间不长和社区活跃度,所以从目前来看Apollo应该是最合适的配置中心选型。
Ubuntu虚拟机下使用cutecom进行串口通信的方法
https://blog.csdn.net/lvyiwuhen/article/details/117881869
接线方式:设备→rs232→电脑usb(设备管理中能看到串口端口)→VM虚拟机(添加串行端口COM3)→虚拟机安装cutecom→启动cutecom,设置波特率9600或115200→先用gui工具试一下能否正常收发→go 单元测试执行用例
将USB串口映射到vm虚拟机的Ubuntu中
查看映射后的端口号,终端输入
ls /dev/ttyS* -alt
第一行应该就是新映射的结果
https://www.bnskd.com/6312.html
Ubuntu虚拟机下使用cutecom进行串口通信
1. 安装cutecom
使用以下命令安装cutecom
sudo apt-get install cutecom -y
调用以下命令打开cutecom
sudo su
cutecom
其中,Device位置的如果使用USB转串口,需要手动填写路径/dev/ttyS1
2. 为虚拟机添加串口
在虚拟机关闭的状态下,打开虚拟机设置
点击添加按钮
点击下一步即完成串口的添加
3. 为虚拟机创建ttyS1端口
使用以下命令创建ttyUSB0端口
sudo mknod /dev/ttyUSB0 c 188 0
为ttyUSB0开放权限
sudo chmod 777/dev/ttyS1
go测试rs232串口
package main
import (
"log"
"time"
"github.com/tarm/serial"
)
func main() {
c := &serial.Config{Name: "COM3", Baud: 9600}
s, err := serial.OpenPort(c)
if err != nil {
log.Fatal(err)
}
n, err := s.Write([]byte{0x81, 0x09, 0x04, 0x01, 0xFF})
if err != nil {
log.Fatal(err)
}
time.Sleep(time.Second)
buf := make([]byte, 5)
n, err = s.Read(buf)
if err != nil {
log.Fatal(err)
}
log.Print("111~~~", buf)
log.Print("111~n~~", n)
log.Printf("%q", buf[:])
s.Flush()
s.Close()
}
大端小端模式
https://blog.csdn.net/qq_33831708/article/details/119375749
一、什么是大/小端模式
不同字节的数据在内存中存储顺序称之为字节序。根据字节序的不同,可以将存储模式分为大端模式和小端模式,以4字节16进制数0x12345678举例说明。
高地址 低地址
大端模式 |12|34|56|78| 低字节放在低地址;高字节放在高地址
小端模式 |78|56|34|12| 低字节放在高地址;高字节放在低地址
123
golang 单元测试显示日志和关闭gotest缓存
https://blog.csdn.net/mostone/article/details/79934273
http://t.zoukankan.com/fengxm-p-9915062.html
- vscode菜单栏(文件,首选项,设置)
- 右上角(文件箭头logo),在里面新增下面一行
或者.vis
"go.testFlags": ["-v","-count=1"],
git代码回滚与恢复
https://mp.weixin.qq.com/s/b7jlfhvVNeqPAcHlppURrg
回滚
已经提交未推送,先执行git add,又执行git commit,但未git push
git reset --hard HEAD^ //上个版本回退
//执行完已经恢复到上一个版本,写的代码还在暂存,可以恢复
恢复
1.git reflog //记下暂存区的id
2.git reset --hard "0751f09"