EOS原力12月第一周开发周报

超级节点届数:328届主网交易总数:135.8万笔主网账户总数:577,035个投 票 人 数 :11020 人主网投票数:114,460,775 EOSC 12月第一周开发周报工作 1. 配合社区启动测试网,测试前一阶段新增的功能。2. 实现bp通过多签更新系统合约命令。3. 优化cleos功能, 完善golang实现的跨平台客户端工具forcec。4. 合并EMLG EOS 1.4.4 - 1.5.0更新内容。5. 完成创世账户锁仓功能。6. 优化区块浏览器,添加合约统计与用户Token统计...阅读全文

简书 2018.12.10 11:29 EOS原力

nsq消息的生产与消费

Topic与Channel Topic与Channel是NSQ中重要的两个概念。 生产者将消息写到Topic中,一个Topic下可以有多个Channel,每个Channel都是Topic的完整副本。 消费者从Channel处订阅消息,如果有多个消费者订阅同一个Channel,Channel中的消息将被传递到一个随机的消费者。 代码只抽取部分关键内容进行解析,省略一些非核心代码。 Topic相关函数 type Topic struct { //一个Topic可以拥有多个Channel channe...阅读全文

简书 2018.12.10 10:07 fake_smile_boy

golang 开发后端基础(2)

我们看一下 home.html 文件,在 index 中我们引入 style.css 作为样式表来控制页面的显示。将 style.css 放置 public/css 目录下。 图 style 位置 运行程序,我们没有看到页面有任何的变化,说明样式没有成功加载。看一下是什么原因,打开控制台,看一下有关 style.css 的加载的信息,发现 html 加载 content type 为 text/html ,这个没有问题,而 css 的 content type 也是 text/plain 而不是...阅读全文

简书 2018.12.10 06:46 zidea

Golang语言社区 课程2018年12月9日 更新说明

Golang语言社区 课程2018年12月9日 更新说明 Go语言小游戏服务器框架 更新: 第九节:依赖管理 第十节:第一章总结及第二章微服务小游戏架构说明 https://study.163.com/course/introduction.htm?share=2&shareId=400000000538037&courseId=1006183030&trace_c_p_k2=072e436288f4447d9a9a6e84f49a03a9 社区福利: 彬哥与Go语言 Golang语言社区论坛 ...阅读全文

简书 2018.12.09 23:45 Golang语言社区

Go语言IDE、第三方包、标准库下载等链接整理

大家好,我是彬哥,今天给大家整理下Go语言标准库等下载链接说明,如下: 标准库官方下载地址: https://golang.google.cn/dl/ 标准库下载 手动下载第三方包 地址: https://www.golangtc.com/download/package 第三方包手动下载 Go语言编辑器下载,推荐 liteide: https://github.com/visualfc/liteide/releases/tag/x34.3 liteide Go语言中文标准库在线文档 : htt...阅读全文

简书 2018.12.10 00:06* Golang语言社区

Go Mock 测试

( 在开发的过程中 ) 你应该一直都写测试。不管使用什么语言,为了完全的理解如何能写出生产环境级别的应用,你应该拥有写单元测试的能力。有些人把测试驱动 (TDD) 做到极致。TDD 提倡你在写功能之前写测试。当你尝试写一些容易测试的代码的时候,这是个好方法。直到现在,我发现 TDD 很像 agile ( 敏捷软件开发 ); 很多人说他们有做测试驱动,但是实际中,他们只在一些混合的版本中做。到最后,它归根到底像,在吃牛排之前吃蔬菜的问题。( 西餐中 ) 比较健康的吃法是先吃蔬菜,然后吃牛排。就像在...阅读全文

Go语言中文网 2018-12-09 22:42:38 chibimarukoyan

Golang项目Bazel指北

该文档主要介绍 Bazel 构建基本 golang 项目的案例, 主要了解在golang项目中如何使用bazel. 概览 关键文件1. WORKSPACE 在项目根目录,主要用来设置加载bazel环境(包括rules等)以及其依赖。2. BUILD.bazel 存在于根目录以及源文件所在目录,用来标记源文件编译以及依赖情况,一般是自动生成。工具1. rules_go golang的官方rules,定义golang编译逻辑。2. gazelle 用于生成golang build文件的工具。项目构建...阅读全文

简书 2018.12.09 22:08 Yodark

用 Testify 来改善 GO 测试和模拟

## 目录 - [入门指南](# 入门指南 ) - [一个简单的示例](# 一个简单的示例 ) - [否定测试案例和 Nil 测试](# 否定测试案例和 -Nil- 测试 ) - [将 Testify 与表驱动测试相结合](# 将 -Testify- 与表驱动测试相结合 ) - [模拟](# 模拟 ) - [模拟示例](# 模拟示例 ) - [用 Mockery 生成模仿对象](# 用 -Mockery- 生成模仿对象 ) - [关键点](# 关键点 ) - [...阅读全文

Go语言中文网 2018-12-09 18:20:41 polaris

golang中crypto/sha1包

sha1是安全哈希算法。 const BlockSize = 64 功能说明: SHA1的数据块的字节长度位为64字节。 const Size = 20 功能说明: SHA1的校验和的字节长度为20字节。 package main import ( "fmt" "crypto/sha1" ) func main() { h := sha1.New() h.Write([]byte("hello,sha1")) l := fmt.Sprintf("%x", h.Sum(nil)) fmt.Prin...阅读全文

简书 2018.12.09 16:42 laijh

Go 内存模型 (2014年5月31日版本)

1 简介 Go 内存模型指定了一个条件,在该条件下,在一个 goroutine 中一个变量的读取可保证能够观测到被其他 goroutine 对该变量写入的变化值。 2 建议 修改能够被多个 goroutine 同时访问到的数据的程序必须序列化此过程。 为了序列化这个访问过程,使用通道操作或其他例如在 sync 和 sync/atomic 包中的同步原语保护数据。 如果你一定要阅读该文档的剩余部分以理解程序的行为,那么你就太聪明了。 不要自作聪明。 3 先行发生原则(Happens Before)...阅读全文

简书 2018.12.09 17:32 ffwang

深入浅出Rust-Future-Part-5.md

原文:Rust futures: an uneducated, short and hopefully not boring tutorial - Part 5 - Streams本文时间:2018-12-09,译者:motecshine, 简介:motecshine 欢迎向Rust中文社区投稿,投稿地址 ,好文将在以下地方直接展示 Rust中文社区首页 Rust中文社区阅读Rust文章栏目 知乎专栏Rust中文社区 思否专栏Rust中文社区 简书专题Rust中文社区 微博Rustlang-cn...阅读全文

Segmentfault 2018-12-09 17:34:45 krircc

golang中crypto/rand包

rand包实现了用于加解密的更安全的随机数生成器。 变量: var Reader io.Reader Reader是一个全局、共享的密码用强随机生成器。在Unix类型系统中,会从/dev/urandom读取;而windows中会调用CryptGenRandom API。 func INt(rand io.Reader, max *big.Int) (n *big.Int, err error) 返回一个在[0, max)区间服从均匀分布的随机值,如果max <= 0则会panic。 func P...阅读全文

简书 2018.12.09 14:40 laijh

golang中crypto/elliptic包

elliptic包实现了几条覆盖素数有限域的标准椭圆曲线。 type Curve type Curve interface { // Params返回椭圆曲线的参数 Params() *CurveParams // IsOnCurve判断一个点是否在椭圆曲线上 IsOnCurve(x, y *big.Int) bool // 返回点(x1,y1)和点(x2,y2)相加的结果 Add(x1, y1, x2, y2 *big.Int) (x, y *big.Int) // 返回2*(x,y),即(x...阅读全文

简书 2018.12.09 13:37* laijh

golang中crypto/hmac包

hmac包实现了U.S.Federal Infomation Processing Standards Publication 198规定的HMAC(加密哈希信息认证码)。 HMAC是使用key标记信息的加密hash。接收者使用相同的key逆运算来认证hash。 出于安全目的,接收者应使用Equal函数比较认证码: 这个包一共提供了两个对外公开的函数: func Equal(mac1, mac2 []byte) bool func New(h func() hash.Hash, key []by...阅读全文

golang中crypto/md5包

md5包实现了MD5哈希算法 先介绍这个包内里的内容,然后再给出生成一个md5值,go使用md5比较复杂很多,php的话,就直接md5(值),就生成md5值了,php更加适合用于生产,而不是学习。 常量 const BlockSize = 64 // MD5字节块大小 const Size = 16 // MD5校验和字节数 func Sum(data []byte) [Size]byte 返回数据data的MD5校验和 func New() hash.Hash 返回一个新的使用MD5校验的ha...阅读全文

简书 2018.12.09 14:32 laijh

golang中crypto/ecdsa包

ECDSA和DSA一样也是用于数字签名,同样在go使用上也很类似,RSA、DSA和ECDSA三者的签名的区别,可以移步:https://blog.csdn.net/sszgg2006/article/details/25478269 1、生成公钥、私钥代码 /* 生成公钥和私钥的时候,可以选择以下几种 elliptic.P224() elliptic.P256() elliptic.P384() elliptic.P521() */ // 生成公钥和私钥 privateKey, err := e...阅读全文

gof23创建类模式(golang版)

区块链的征程已开启 单例模式 image Java中的单例模式的实现可以有饿汉式、懒汉式、双锁、静态内部类、枚举等形式,在go中如何实现单例呢,先来最简单的形式,不考虑高并发的情况下,应该怎样实现 package main var m *Singleton type Singleton struct { } func GetInstance() *Singleton { if m == nil { m = &Singleton{} } return m } 问题就是并发的时候会取到多个对象,解决...阅读全文

简书 2018.12.09 12:05 五月花号区块链联盟

golang中crypto/des包

des是对称加密算法,更多关于des算法以及des算法实现移步百度。 说明,内容转载至:http://blog.studygolang.com/2013/01/go%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86%E4%B9%8Bdes/ Go DES加密解密 1、crypto/des包 Go 中 crypto/des 包实现了 Data Encryption Standard (DES) and the Triple Data Encryption Algorithm(...阅读全文

简书 2018.12.09 10:06 laijh