Protobuf-环境搭建
简介
Protocol Buffers - Google’s data interchange format。
Google Protocol Buffers (简称 Protobuf)是google旗下的一款轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。所以很适合用做数据存储和作为不同应用,不同语言之间相互通信的数据交换格式,只要实现相同的协议格式即同一 proto文件被编译成不同的语言版本,加入到各自的工程中去。这样不同语言就可以解析其他语言通过 protobuf序列化的数据。目前官网提供了 C++,Python,JAVA,GO等语言的支持。google在2008年7月7号将其作为开源项目对外公布。【Go于2009年11月正式宣布推出,故而Protobuf原生并不支持Go语言】
https://github.com/protocolbuffers/protobuf
https://github.com/protocolbuffers/protobuf/blob/master/src/README.md
https://github.com/golang/protobuf
1.安装
1.Ubuntu1804LTS
https://github.com/protocolbuffers/protobuf/blob/master/src/README.md
1.安装依赖
sudo apt install -y autoconf automake libtool curl wget git make g++ libffi-dev unzip dnsutils gcc
2.解决github clone 速度
git clone配置的获取的IP是会变动的,需要及时的获取更新。
hosts绑定前:
hosts绑定后:
1.nslookup方式【不建议】
1.获取信息
dnsutils中的nslookup工具获得github.com和github.global.ssl.fastly.net域名的ip地址
nslookup github.com
nslookup github.global.ssl.fastly.net
Name: github.com
Address: 192.30.253.112
Name: github.global.ssl.fastly.net
Address: 151.101.44.249
2.追加内容到/etc/hosts
sudo cp /etc/hosts /etc/hosts.backup
sudo tee -a /etc/hosts <<-'EOF'
192.30.253.112 github.com
151.101.44.249 github.global.ssl.fastly.net
EOF
cat /etc/hosts
sudo /etc/init.d/networking restart
2.命令方式【推荐】
1.获取信息
github.com
Linux上grep执行不生效,和bsd和GUN协议有关,bsd用grep -oE GUN用grep -oP
curl -skX GET 'https://github.com.ipaddress.com/' | grep -oP '<th>IPv4 Addresses</th><td><ul class="comma-separated"><li>.*?</li>'| grep -oP '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'
github.global.ssl.fastly.net
Linux上grep执行不生效,和bsd和GUN协议有关,bsd用grep -oE GUN用grep -oP
curl -skX GET 'https://fastly.net.ipaddress.com/github.global.ssl.fastly.net' | grep -oP '<th>IPv4 Addresses</th><td><ul class="comma-separated"><li>.*?</li>'| grep -oP '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'
2.追加内容到/etc/hosts
sudo cp /etc/hosts /etc/hosts.backup
sudo tee -a /etc/hosts <<-'EOF'
140.82.112.3 github.com
199.232.69.194 github.global.ssl.fastly.net
EOF
cat /etc/hosts
sudo /etc/init.d/networking restart
3.浏览器方式【推荐】
1.获取信息
浏览器打开:
https://github.com.ipaddress.com/
https://fastly.net.ipaddress.com/github.global.ssl.fastly.net
2.追加内容到/etc/hosts
sudo cp /etc/hosts /etc/hosts.backup
sudo tee -a /etc/hosts <<-'EOF'
140.82.112.3 github.com
199.232.69.194 github.global.ssl.fastly.net
EOF
cat /etc/hosts
sudo /etc/init.d/networking restart