go get命令使用socket代理

Roy

由于某些不可描述的原因,国内使用go get命令安装某些包的时候会超时导致失败,比如net包、sys包、tools包等。第一种解决办法就是自己从git上下载后添加链接到GOPATH中,比如:

git clone https://github.com/golang/net.git $GOPATH/src/github.com/golang/net

git clone https://github.com/golang/sys.git $GOPATH/src/github.com/golang/sys

git clone https://github.com/golang/tools.git $GOPATH/src/github.com/golang/tools

ln -s $GOPATH/src/github.com/golang $GOPATH/src/golang.org/

cd $GOPATH/src/golang.org/  && mv golang x

IPFS初窥2

Roy

上一篇文章中初步介绍了IPFS的基本概念和使用方法,今天更深入一些了解IPFS的设计理念。

根据 第三版 白皮书,IPFS体系可以分为7层:

  1. 身份:负责节点的身份生成和认证。
  2. 网络:负责节点间的网络连接,可以配置使用各种网络协议。
  3. 路由:维护路由信息来找出特定的节点和对象。默认使用DHT,可以替换。
  4. 交换:一个新型的块交换协议(BitSwap)来高效管理块分发。有点类似超市,对数据复制有激励。交易策略可以替换。
  5. 对象:带有链接的、内容寻址的不可变对象组成的Merkle DAG,可以代表任意数据结构。比如文件层级和通信系统。
  6. 文件:受到Git启发的版本控制文件层级系统。
  7. 命名:自验证的可变命名系统。

IPFS初窥

Roy

虽然区块链有很多令人兴奋的特性,但是也有其固有的缺点。比如,文件或者长度较长的文本信息就不适合存储在链上。那么如何解决这个缺点呢?一个解决方案就是IPFS(Interplanetary File System)——星际文件系统。

本文作为简介篇不打算涉及网络及数据结构相关知识(比如什么是协议、什么是树、什么是图……),不过我相信各位看官既然能找到本文网络基础应该不是问题。

墨卡托坐标转经纬度

Roy

今天获取百度地图数据时候发现其坐标都是类似12945050.96,4826978.52这种而非常见的经纬度,之前获取百度外面商家信息时就发现了这个问题但没深入研究,搜索后发现这种表示方法叫做墨卡托坐标。不得不说,关于坐标的标准还真是挺多的,根据经纬度查询位置可以使用这个网站