什么是SiaSia是一个把区块链技术应用到分布式存储的平台,他的主要目标是将平常普通群众的未被使用的空闲磁盘空间利用起来做成一个全球的分布式存储系统,从而使得存储成本降低,由于使用的是区块链,所以在数据的安全性方面有相对于云厂商更好的体验。目前官方宣布的价格为$2/TB/month,远远小于AWS的23/TB/month的价格。 本文的其余部分将介绍如何将自己的磁盘空间挂载到Sia网络上以赚取收益。 工作原理在Sia网络中,主要有两个角色,出租者和寻租者;出租者是想要把自己的磁盘存储空间出租出去的角色;寻租者是想要把自己的文件存储在Sia网络上的角色; 网络中的这两个角色使用通过区块链的智能合 ...
为什么我需要一个时序数据库
时序数据是一系列带有时间戳的数据组成的序列,比如1. 单个股票在一个时间范围内的价格2. 某个地点在一段时间范围内的温度变化3. 某个传感器在一段时间范围内的参数变化等等 实际上,随着传感器的价格越来越便宜,网络的普及、智能网关和云端应用的出现,人类控制,监控物理世界的能力越来越强,越来越多的设备、传感器接入网络,从而这些设备和传感器的信息越来越容易拿到。根据 DB-Engines的统计, Time Series DBMS是发展最为迅猛的DBMS,这也证实上上述推断:物理世界中的物体将越来越多,并且连接网络。 时序数据的特点 从数据量上考虑 物联网传感器首先是分布式的,然后数量还特别大,再加 ...
【努力学习区块链】-使用Geth搭建以太坊私有链网络
什么是GethGeth是 ethereum 协议的Go语言实现,Geth支持ethereum中的各种操作;并且得益于Go语言的多平台特性,Geth也支持在多个平台上使用。 安装Geth安装分为两种: 直接下载编译好的Geth二进制文件 从源码编译生成二进制文件 在本示例中,不需要对Geth代码进行修改,所以选择下载编译好的Geth二进制文件 在MacOS上安装在terminal中执行 brew tap ethereum/ethereumbrew install ethereum 在Ubuntu上安装在terminal中执行 sudo apt-get install software-pro ...
【区块链】-概念理解
在区块链中有很多概念,让人听起来就很头大,比如: 挖矿、哈希、难度、椭圆曲线加密、对等网络(p2p网络) 如果想彻底了解这些名词的实现细节,那么必然要花费大量的时间,为此我们需要换一种思路,我们不了解这些名词的细节,而是把这些名词当成一个整体,只了解这些名词在整个区块链中充当的角色和所起的作用,试想一下,当你使用电动牙刷的时候,你其实并不需要了解电动牙刷的实现细节。 区块链和交易区块链本质上是一个在全球范围内共享的数据库. 这句话有两个限定词:共享和数据库; 既然是在全球范围内共享,这就意味着全球范围内的任何一个加入到这个网络的人都可以访问这个数据库。 既然是数据库,那么就意味着里面存的有 ...
【努力学习区块链】-智能合约
什么是智能合约相信看到智能合约这个概念,许多人还是很懵的,不仅是合约,还是智能的。 现在有很多关于智能合约的解释,简要摘录如下 Smart contract — is a piece of code which is stored in the blockchain network (on each participant database)智能合约就是一段存储在区块链网络中的代码 这是从智能合约的实现角度对智能合约做出的解释 智能合約(Smart Contracts) 是在Ethereum 區塊鏈中所屬的物件。它們包含程式碼函式以及能夠與其他合約進行互動、做出決策、儲存資料與傳送乙太幣給 ...
using google cloud app engine to host golang project
为什么用谷歌云 有首年300美元的优惠 各个子产品、服务都有相应的免费额度,比如Always Free Products  对于google app engine来说,每天有28小时的实例时间+5GB的云存储。 除了engine,其他google云上几乎所有服务都有对应的免费额度,比如Google Cloud Vision API每个月1000个单位的API调用,Google Cloud Speech API 每个月60分钟的免费额度。 Google Cloud App Engine(GAE)提到GAE大家肯定能联想到一个词,翻墙 对,就是那个免费的翻墙工具GoAgent。 第一个基于G ...
machine learning summary
监督学习数据有label,每组数据都有一个特定的label用以标示该组数据所属的类别。 一个简单的例子就是,根据之前多(房屋面积,房屋价格)的数据来训练系统,以便在给出房屋面积后,得出房屋的价格。 线性回归 VS. 逻辑回归线性回归对每个input会给出一个output,连续的。 逻辑回归对数据进行归类,离散的。 线性回归hypothesis:$ h_{\theta} = \sum_{i=0}^m \theta_i x_i $ cost function: $ J(\theta) = \frac{1} {2m} \sum_{i=0}^m (h_{\theta}(x^{(i)}) - y^{(i ...
一种缓存替换策略:DYNAMIC RE-REFERENCE INTERVAL PREDICTION (RRIP)
LRU 替换策略Least Recently Used (LRU)替换策略是广泛应用的cache(缓存)替换策略。LRU中有两个位置,一个是LRU,一个是MRU,前者表示最近最久使用到的,后者表示最最近使用到的。 一种对LRU新的理解的方法将LRU看成是对将来可能的访存序列的预测称之为Re-Reference Interval Prediction,那么MRU对应对头,LRU对应队尾。 一种称之为Dynamic insertion policy的策略是对LRU方法的改进,该方法可以应对”最近的访存是对即将被置换出去的LRU位置的访问”的问题,通过动态得改变LRU队列中的位置,使得并不总是LRU ...
golang http request with cookie
url := "http://127.0.0.1:8998"req, err := http.NewRequest("POST", url, nil)if err != nil { log.Error(err) return}cookie := http.Cookie{Name: "cookie_name", Value: "cookie_value"}req.AddCookie(&cookie)var client = &http.Client{}resp, err := client. ...
influxdb中的概念和数据结构
overiew database -> retention policy -> shard group -> shard -> bolt.DB measurement&seriesmeasurement和series是database的表示层,分别表示为database中的metric和metric中具有相同tag的points序列。它们两个被用于对数据进行检索。 真正存储数据的是database中的RetentionPolicy(这个名字起的不太好),数据库中可以有很多RetentionPolicy。 type database struct { ...