阿萍的博客

“工具”

ssh 免密登录

1 目标在机器 a 执行 ssh 命令登录到机器 b 时,不需要输入密码。2 实现在机器 a 上,查看是否有公钥 ~/.ssh/id_rsa.pub,如果没有,则生成:ssh-keygen ...

shell 中利用 jq 解析 json 示例

tmp.json:{ "ip": "127.0.0.1", "containers": [{ ...

tokio_rustls 自签名证书

1 使用自签名证书的目的本文使用自签名证书的目的:用于服务端校验客户端是否合法,避免任何一个客户端都可以连上服务端。基于 TLS,对服务端和客户端之间的传输数据进行加密。2 自签名证书校验过程3...

WebRTC 入门

WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(P...

grpc 入门

1 介绍详见:https://grpc.io/docs/2 示例2.1 项目结构grpc ├── helloworld │ ├── BUILD │ ├── greeter_client....

bazel test 特定标签

1 为 test 添加标签cc_test( name = "dispatcher_test", size = "small", s...

利用 bazel 将 c++ 打包为独立的 .so

如果希望通过 .so 和头文件的方式使用 b,但是 b 又依赖 a,如何让 b 的 .so 中包含 a 呢。那就是将 b 编译为 .so 时,BUILD 文件如下书写:cc_binary( ...

Address Sanitizer 介绍与使用

1 ASAN 简介AddressSanitizer(内存除毒器简称ASAN)早先是LLVM中的特性,后被加入GCC 4.8,在GCC 4.9后加入对ARM平台的支持。因此GCC 4.8以上版本使...

gdb 调试

1 使用 gdb 调试 c++ 注意事项在编译选项中加入 -g set(CMAKE_CXX_FLAGS "-g")2 进入 gdb 调试模式对于一个可执行文件,进入 gdb 调试模式:直接使用 ...

protocol buffer 入门

protobuf 的功能类似于 json,可以将要传送的内容进行序列化,提高传输效率,然后反序列化,得到传输内容。注意:bazel 版本为 3.5.1,高版本会出问题。1 项目结构example...