Go语言中文网 为您找到相关结果 48

golang之math/rand随机数

简单的随机数生成,结合时间模块初始化种子 package main import ( "fmt" "math/rand" "time" ) func init(){ //以时间作为初始化种子 rand.Seed(time.Now().UnixNano()) } func main() { for i := 0; i < 10; i++ { a := rand.Int() fmt.Println(a) } for i := 0; i < 10; i++ { a := rand.Intn(100) fmt.Println(a) } for i := 0; i < 10; i++ { a := rand.Float32() fmt.Println(a) } ...阅读全文

博文 2017-12-18 16:00:01 pyyu

编译nsq-0.3.8,出现apps/nsq_pubsub/nsq_pubsub.go:20:2: use of internal package not allowed

go 版本为1.9.3 按nsq编译安装页面,http://nsq.io/deployment/installing.html#compiling 编译安装nsq-0.3.8 compiling模块中,已用gpm安装依赖 make时出现 apps/nsq_stat/nsq_stat.go:18:2: use of internal package not allowed apps/nsq_stat/nsq_stat.go:19:2: use of internal package not allowed 等问题 网页搜索无法解决,求助 ...阅读全文

主题 2017-10-23 03:45:21 ayac

光线游戏(北京)诚聘GO游戏服务器开发人员

##公司简介 北京光线游戏是一家专注于手机和网页游戏开发的游戏公司,隶属于北京光线传媒集团旗下。依托于光线传媒在影视、动画等多个领域的IP授权优势,着力打造原创精品游戏。 从业人员大多来自盛大、搜狐畅游、蓝港、热酷等各大公司,核心团队从业经验人均在8年以上。 现随着游戏业务的快速成长,急聘各类精英加盟,相信您的诚心加盟,将为公司带来更强的竞争力与经济效益,同时您也将获得丰厚的收入并享受到与公司一起成长的乐趣,成为受益终身的财富。 ##招聘职位 ####游戏服务器开发工程师 ######职位描述: 负责游戏具体功能模块的设计、编码工作。 ######任职条件: 1. 一年以上软件开发工作经验 2. 熟悉go/python/c++中任意两门语言,并精通其中一种...阅读全文

golang如何按行读取文本

golang如何按行读取文本 golang的库bufio.Scanner是非常方便用来处理文本文件。 下面的例子是按行读取文本文件。 package main import ( "os" "log" "fmt" "bufio" ) func main() { err := HandleText("a.txt") if err != nil { panic(err) } } func HandleText(textfile string) error { file, err := os.Open(textfile) if err != nil { log.Printf("Cannot open text file: %s, err: [%v]", textfile, err) return e...阅读全文

博文 2019-04-29 17:34:45 CodingCode

QOR:基于go语言开发的电商系统、CMS工具包

QOR是首个使用Go语言开发的电商系统和CMS的软件工具开发包(SDK),开源项目,包含一系列的通用功能模块,实现快速集成、灵活配置,让开发电商网站、CMS,像搭积木一样简单快捷。 ## 目前已经上线的模块 * Admin: 快速为您的应用程序生成一个漂亮、可跨平台运行、可配置的管理后台。 * Publish: 分别设置预演和正式服务器,使用Publish,内容管理员就能在正式发布之前预览所更新的内容。 * Transition: 用Transition来体现业务流程和执行业务规则。 * Media Library: 支持上传文件至云端或其他位置;支持图像裁剪和调整尺寸。 * Worker: 运行批处理进程,进行批量数据处理或其他耗时的计算。 * Exchange: 应...阅读全文

Golang游戏服务器开发

um-game.com 手游创业公司,团队成员有爱,知名天使投资,知名大厂背景。 坐标:杭州滨江 薪资:10k-20k 看能力、可面谈 工作内容: 1.负责服务器功能模块设计和实现 2.设计游戏相关功能模块架构 3.跟踪和维护上线产品 岗位要求: 1.本科及以上计算机相关专业毕业 2.1年及以上游戏服务器开发经验 3.熟悉C或者Golang编程语言,具有Golang服务器开发经验者优先 4.熟悉操作系统原理,对网络编程、多线程编程有深刻理解 5.熟悉常用的数据结构和算法并能熟练使用 6.熟悉Redis、Mongodb等数据库操作 7.良好的逻辑思维、学习习惯,具备独立解决技术问题的能力 ...阅读全文

golang test模块

1 创建文件夹testing101 2 被测试程序 package testing101 func Sum(numbers []int) int { sum :=0 for _,n :=range numbers { sum +=n } return sum } 3 测试程序 package testing101 import ( "testing" ) func TestSum(t *testing.T) { numbers := []int{1, 2, 3, 4, 5} expected := 15 actual := Sum(numbers) if actual != expected { t.Errorf("Expected the sum of %v to be %d but in...阅读全文

博文 2018-01-05 00:30:00 peterinblog

studygolang filter模块阅读小结

##Filter模块与Hanlder## Hanlder是一种已知类型的回调方法,由使用者提供,可以抽象出一个type func类型来接受这种方法 type HandlerFunc func(http.ResponseWriter, *http.Request) 然后给该方法添加一个方法用来在触发该方法的调用 func (f HandlerFunc) ServeHTTP(rw http.ResponseWriter, req *http.Request) { // 执行当前Route的FilterChain filterChain := CurrentRoute(req).FilterChain if filterChain != nil { ...阅读全文

golang之分模块导包例子

liteIde建立sample工程,目录自定 我这边工程叫myTest,目录结构如下 ├── doc.go ├── main.go └── mm ├── a.go └── b.go main.go package main import ( "./mm" ) func main() { mm.Mm() } a.go package mm import ( "fmt" ) func Mm() { zz() fmt.Println("mmmmmmmmmmm") } b.go package mm import ( "fmt" ) func zz() { fmt.Println("zzzzzzzzzzz") ...阅读全文

博文 2014-10-04 19:26:12 ziyouchutuwenwu

GO 手机的学习项目

我收集的几个: 基于 BeeGo 的:: https://github.com/yuedun/metal (刚看了,还在持续更新) 基于 beego 开发的博客,管理后台系统,包含功能:登录,用户管理,权限管理,多线程获取数据,定时任务,爬虫,markdown,七牛上传图片。 https://github.com/mikezss/skl-go (也在更新中) skl api,企业级后台 API 开发平台。使用 beego 语言架构。开发平台内嵌了用户、用户组、机构、角色、权限、多语言、枚举、OA 引擎等功能模块。 https://github.com/aveyuan/MySales (更新中) 功能十分简单,客户,产品,销售,采用 Beego+Layui 开发 https://github....阅读全文

博文 2019-12-13 21:32:40 阿布多12

垂直领域爬虫框架go_spider

本项目基于golang开发,是一个开放的垂直领域的爬虫引擎,主要希望能将各个功能模块区分开,方便使用者重新实现子模块,进而构建自己垂直方方向的爬虫。 本项目将爬虫的各个功能流程区分成Spider模块(主控),Downloader模块(下载器),PageProcesser模块(页面分析),Scheduler模块(任务队列),Pipeline模块(结果输出); ![enter image description here][1] [1]: https://github.com/hu17889/doc/raw/master/go_spider/img/project.pn...阅读全文

企业级Android应用架构设计与开发

​企业级Android应用架构设计与开发Android初中级岗位竞争激烈,中高级岗位却供不应求,差别在哪里?架构能力!大厂招聘中,架构能力已是必备要求。本课程以企业级Android App的架构设计与功能开发,带你初探Android组件化架构、实战各类通用组件,学会构建高扩展性、高可靠性、高可维护性的Android工程,掌握一线互联网公司的工程架构与管理方式适合人群想要晋升为Android中高级的开发者想要获得架构能力的Android开发人员技术储备要求Android基础知识掌握Java语言有设计模式使用经验更好会Android Studio等开发环境的基本使用章节目录:第1章 课程导学与准备工作本章主要介绍为何要学习企业级的架构设计开发,以及本门课能为我们带来哪些收获。之后会为大家介绍本课...阅读全文

博文 2019-11-21 03:37:13 fengwomei

关于golang语言的功能结构分包的疑问,望大牛帮忙

对于golang语言,有一个特性,包之间不能循环引用,这个特性感觉让我在做业务的时候困惑好大 对于电商系统,各个模块都有关联,譬如购物车模块,订单模块,产品模块,都会涉及到交互,也就是相互引用其他模块的功能, 如果我分包,因为不能相互import,所以不行,这样就需要放入一个包中,如果放入一个包里面,那么大量的文件都在一个包里面,会造成这个包里面的文件几十个,维护起来比较麻烦。 对于golang这么牛的语言,肯定有方法解决这个问题,因此想问问各位golang大牛,对于这种相互关联的非常强的业务类型,在golang中如何分包呢?(类似于其他语言的分模块) 多谢...阅读全文

一个golang项目笔记 (二) 动态加载库

这个项目需要用到动态链接库技术, 主程序动态加载一些功能模块,这样在扩充功能时,无须修改主程序,只需要新增功能模块动态调用就可以了。 研究了一下golang官方支持的plugin功能,发现有几点不足。 1.官方plugin功能本质上是用cgo实现的,编译一个so文件,然后再调用 2. 只支持linux, 不支持windows 3. plugin模块panic时, 主程序也会panic, 无法做到隔离。 基于上述原因,我开始另外寻找合适的第三方支持。后来发现这样一个开源库,https://github.com/hashicorp/go-plugin , 感觉符合我的需求。它基于net/rpc ,grpc实现,主程序和plugin程序是两个qtj独立进程,可以通过主程序调用plugin进程启动,...阅读全文

博文 2018-08-20 00:30:01 elonlee

大牛都是怎么设计产品的?

在社会大环境中,每个岗位都有明确的分工,产品设计师的岗位就是要做好产品的设计工作,那如何才能做好呢?今天小编就和大家分享分享。 闲来没事,在知乎、麦子圈等这些专业网站上溜达,总是会有收获的。本文既然是为大家分享产品的设计,那么我们就从产品的角度来聊聊吧。 1、寻找一个切入点 切入点的目的就是为了给用户一个使用的理由,而且这一个理由必须是强需,比如:打车类应用为什么会那么火,很简单,因为人们打不到车,不用你这个东西,他很不爽。网络游戏为什么是大多数互联网公司的现金牛?因为在中国,很多年轻人不打游戏,他就觉得不爽。这就是切入点,一个可以让用户费非用你不可的理由。它可以是一个比较吸引别人的功能,也可以是一个解决刚需的产品概念。 当然这个切入点必须是有市场规模的,也...阅读全文

网站后端开发维护

服务器开发工程师 岗位职责: 1. 产品研发:参与服务器端后台系统的研发,按照设计完成功能模块的编写. 2. 负责IOS、Android移动应用服务器端的设计、开发、重构与扩展. 3. 负责移动应用服务器的系统模块开发. 4. 移动应用服务器上线运营的技术支持. 5. 根据需求进行功能设计,以及程序设计、开发、优化工作. 6. 与客户端工程师、测试人员一起完成功能模块开发与调试. 7. 能独立部署WEB 服务环境,并根据硬件配置对系统进行优化. 熟悉JMS,UML. 任职要求: 1.本科以上学历,2年以上服务端开发经验,有实际大型网络产品的开发经验; 2.语言基础扎实,精通一种主流的编程语言,C++/Java/C#/Python/lua均可; 3.掌握关系数据库理论,...阅读全文

go: 一个通用log模块的实现

在go里面,虽然有log模块,但是该模块提供的功能并不强,譬如就没有我们常用的level log功能,但是自己实现一个log模块也并不困难。 对于log的level,我们定义如下: const ( LevelTrace = iota LevelDebug LevelInfo LevelWarn LevelError LevelFatal ) 相应的,提供如下几个函数: func Trace(format string, v ...interface{}) func Debug(format string, v ...interface{}) func Info(format string, v ...interface{}) func Warn(format string, v ...int...阅读全文

博文 2015-10-27 17:00:11 siddontang

Kingbloc Pear是为中小企业云服务系统

Kingbloc Pear是什么:Kingbloc Pear是为中小企业云服务系统,应用系统,计算型,管理系统,数据处理平台准备的开发环境。系统整合企业可用案例及开发文档。Kingbloc Pear企业云系统开发平台特点:1 云计算领域主流开发语言golang,语法简洁易懂,部署方便,后期维护方便2 编译后不易被反编译,3 采用Nsq亿万级别消息分发工具,4 免费的开源数据库:mysql,5 高效,简洁的XORM框架,6 最新最靠谱的前端框架angular5 ( 相对与其它流行框架不需要各种额外集成,额外的扩展,整体架构需要提前精心规划)7 全新的前端组件库 ionic38 在大数据展示领域,灵活可控的D3js,和免费的图表展示库echartsjs9 PC 和 H5移动展示一套组件库10 可...阅读全文

[上海-莘庄]互联网公司golang 职位急招!

职位月薪:15-25 K,技术大牛可具体面谈! 工作内容: -负责对公司手机APP项目的服务器端开发,维护。 职位要求: -本科或以上学历、计算机软件、通讯相关专业优先; -具备扎实的相关软件开发技能,能根据架构要求,开发设计可扩展、可复用、高性能的功能模块; -具备网络编程知识的实际应用和优化经验; -有分布式系统、大规模分布式储和数据处理经验者优先; -有基于MYSQL, Redis, MongoDB的开发经验; -具备Linux/Unix平台下的编程和操作经验,熟悉shell等脚本语言; -优秀的分析问题和解决问题的能力,对解决具有挑战性问题充满激情。 工作地址:上海闵行莘庄,简历投递邮箱:lina@liao.co...阅读全文

Centos 6.7安装docker-engine-1.7.1-1.el6.x86_64.rpm

在安装完成后执行 service docker start 任然没有启动,查看错误日志发现如下错误 cat /var/log/docker time="2019-03-20T06:48:53.939998118Z" level=warning msg="You are running linux kernel version 2.6.32-573.26.1.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.10.0." time="2019-03-20T06:48:53.960733120Z" level=info msg="Listening for HTTP on uni...阅读全文

博文 2019-03-20 15:35:21 goxgo

golang配置文件热更新

配置文件热更新是服务器程序的一个基本功能,通过热更新可以不停机调整程序的配置,特别是在生产环境可以提供极大的便利,比如发现log打得太多了可以动态调高日志等级,业务逻辑参数变化,甚至某个功能模块的开关等都可以动态调整。 每种语言都有自己的热更新实现方式,在golang里面我看到了有人采用了一种错误的实现方式,如下: type Config struct { Test1 string `json:"Test1"` Test2 int `json:"Test2"` } var ( config *Config ) func loadConfig() { f, err := ioutil.ReadFile("config.json") if err != nil { fmt.Println("lo...阅读全文

博文 2017-03-17 05:52:28 失去梦想的咸鱼

《Kubernetes集成外部服务实践》- 第三期Docker技术沙龙主题剖析系列【第一篇】

分享嘉宾:柴宗三,亚信大数据云平台部高级研发工程师。目前负责亚信DataFoundry大数据PaaS云平台。本文源自于3月12号《第三期Kubernetes沙龙》四个Topic之一,是《第三期kubernetes沙龙主题剖析系列·第一篇》。本文对如何将后端服务(backend service)接入kubernetes进行了比较详尽的介绍。 ### Part I. Kubernetes简介 Kubernetes不同组件的交互是异步的,不同组件负责不同的功能模块。Kubernetes集群目前为单master结构,一般情况下master节点上运行APIServer、kube-controller-manager、kube-scheduler、etcd,node节点上运行kubelet、...阅读全文

Go语言简介

Go语言简介 - Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率。 Go语言简介 Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率。 Go语言语法灵活、简洁、清晰、高效。它对的并发特性可以方便地用于多核处理器和网络开发,同时灵活新颖的类型系统可以方便地编写模块化的系统。go可以快速编译, 同时具有垃圾内存自动回收功能,并且还支持运行时反射。Go是一个高效、静态类型, 但是又具有解释语言的动态类型特征的系统级语法。 下面是用go编写的"Hello, world"程序: package main import "fmt" func main() { fmt.Println("Hello,世界") } H:\mycodes\go>go ...阅读全文

golang项目邮件发送模块代码分享

package sendMail import ( "fmt" "net/smtp" "strings" ) type senderInfo struct { User string `jsob:user` Passwd string `json:passwd` Host_port string `json:host_port` Mailaddr string `json:mailaddr` Subject string `json:subject` } func (self *senderInfo) SendMail(toList, body string) error { head := fmt.Sprintf("To: %v\r\nSubject: %v\r\nContent-Type...阅读全文

博文 2016-03-25 00:00:02 fyxichen

golang零碎(一)

今天看了下labrpc模块,学习了相关的golang语法。总结下 map interface{},空的可以表示任何类型,类似java的object struct new 初始化零值 make map slice channel func MakeNetwork() *Network { rn := &Network{} rn.reliable = true rn.ends = map[interface{}]*ClientEnd{} rn.enabled = map[interface{}]bool{} rn.servers = map[interface{}]*Server{} rn.connections = map[interface{}](interface{}){} return ...阅读全文

博文 2016-06-22 18:00:01 cane

工厂模式

目的:在工厂类中选择接口的实现类来实例化,功能模块中不需要关心具体逻辑。 使用条件:已经明确不同条件下创建相应实例。 优点:调用者只需要创建一个对象并调用;扩展功能时也只需要扩展工厂类;屏蔽接口的具体实现,调用者只需要关心接口的调用。 注意:工厂模式与策略模式 差别在于此处是选择对接实体,而对接的接口功能是一致的。比如吃包子,工厂模式是选择哪家店吃包子。而策略模式是选择一家店之后,在那家店选择吃什么。 golang代码: package factorypattern import "fmt" /*定义接口*/ type Animal interface { Cry() } /*接口实现类1*/ type Dog struct { } /*接口实现类2*/ type Cat struct { ...阅读全文

博文 2018-12-26 17:34:45 Marstin

如何使用 Go 语言搭建企业级高并发服务器?

每到节假日和过年,需要外出通行的人几乎都会遇到一个问题:抢火车票!当全国上亿人都在固定的时间段抢票,服务器动辄就要承受上百万级并发的情况时,你就会明白,一个支持高并发的服务器架构有多重要! 在后端程序员的面试中,如果你有开发高并发服务器的经验,也往往能得到比别人更多的机会。 后台开发工程师招聘要求 提到「高并发」,就不得不提天生为高并发而生的 Go 语言。今天,我们就带大家从 0 开始,用 Go 语言完成一个企业级服务器的开发。 关于实现一个企业级框架,你无需恐惧难度过高,你只需要有 Golang 的基础知识即可。我们会每次只会添加一些微小的功能,以循序渐进的曲线方式了解服务器框架的领域。 教程出自实验楼课程——《Go 并发服务器框架 Zinx 入门》,欢迎来实验楼免费学习! Go 并发服务...阅读全文

博文 2020-05-09 16:35:02 实验楼

APP测试之做好功能交接

项目中出现人员变动时,你一定遇到过被动的接受别人的项目或者功能模块,而在交接过程中,不可避免的会出现功能细节和测试注意点的遗漏,那么当这些功能出现问题或者变动时,你要如何保证项目质量呢?我们又是否有方法最大程度的避免交接遗漏呢?   下面,小编就分享一些项目中的经验给大家~    功能交接过程   1)交接前: a.     阅读相关文档(需求、流程图以及交接人的总结文档),确保在正式交接前对该功能有整体了解; b.     罗列自己的疑问,明确功能难点; c.      查看bug列表,明确易出问题的环节;   2)交接中: a.     解除疑问; b.     抓住重点和逻辑复杂的模块,尽量细致的提问和了解; c.      依据bug列表,在APP测试过程...阅读全文

go 模块一种常驻运行程序模块--逻辑协程+后台协程

逻辑协程+后台协程的方案: 逻辑协程loop: 通过loop.Push(f func)函数将需要运行的函数,push进逻辑协程中运行。 该逻辑协程还可以运行定时函数。通过loop.SetTimeOut(ts time.Time, f func())函数设置ts时间调用f函数。利用函数迭代,可以实现定时循环调用。 后台协程asyncop: 通过asyncop.Push(op func(), cb func())函数将需要运行的函数,push进后台协程中运行。 op:需要运行的后台函数。 cb:设置回loop协程运行的函数。可以设置为nil。 适合新手交流学习哈...阅读全文

一种常驻运行程序模块--逻辑协程+后台协程的方案

[传送门](https://github.com/ronow2cn/sched) ### 逻辑协程+后台协程的方案: #### **逻辑协程loop**: 通过`loop.Push(f func)`函数将需要运行的函数,push进逻辑协程中运行。 该逻辑协程还可以运行定时函数。通过`loop.SetTimeOut(ts time.Time, f func())`函数设置`ts`时间调用`f`函数。利用函数迭代,可以实现定时循环调用。 #### **后台协程asyncop**: 通过`asyncop.Push(op func(), cb func())`函数将需要运行的函数,push进后台协程中运行。 `op`:需要运行的后台函数。 `cb`:设置回`loop`协程运行的函数。可以设置为`ni...阅读全文

博文 2017-09-07 10:08:38 ronow2cn

盒测试之做好功能交接

项目中出现人员变动时,你一定遇到过被动的接受别人的项目或者功能模块,而在交接过程中,APP测试便可能出现不可避免的会出现功能细节和测试注意点的遗漏,那么当这些功能出现问题或者变动时,你要如何保证项目质量呢?我们又是否有方法最大程度的避免交接遗漏呢? 下面,TestBird就分享一些项目中的经验给大家~  功能交接过程  1)交接前: a.     阅读相关文档(需求、流程图以及交接人的总结文档),确保在正式交接前对该功能有整体了解; b.     罗列自己的疑问,明确功能难点; c.      查看bug列表,明确易出问题的环节; 2)交接中: a.     解除疑问; b.     抓住重点和逻辑复杂的模块,尽量细致的提问和了解; c. ...阅读全文

好用的MySQL抓包工具:sniffer-agent

sniffer-agent 抓取tcp包解析出mysql语句,将查询信息打印在屏幕上或者发送到Kafka。 1. Architecture 架构设计: 本项目采用模块化设计,主要分为四大模块:TCP抓包模块,协议解析模块,输出模块,心跳模块 2. Parse Protocol sniffer-agent采用模块化结构,支持用户添加自己的解析模块,只要实现了统一的接口即可 MySQL PostgreSQL Redis Mongodb GRPC 详细输出格式查看 3. CapturePacketRate sniffer-agent可以动态设置抓包率,详情查看文档 4. Exporter 输出模块主要负责,将解析的结果对外输出。默认情况下输出到命令行,可以通过指定export_type参数选择ka...阅读全文

最近写了一个go的Json的模块,已发布到github。希望大家给点意见

github地址 https://github.com/hljdxjiang/gojson 代码使用示例package mainimport ( "fmt" "github.com/hljdxjiang/gojson")func main() { JsonObjectTest() JsonArrayTest()}func JsonObjectTest() { jsonString := `{"a1":"a1"}` jo, err := gojson.JsonObject(jsonString) if err != nil { fmt.Println(err) } jo.SetKey("a2", "a2") fmt.Println(jo.Encode()) //{"a1":"a1","a2":...阅读全文

博文 2017-07-14 09:17:00 hljdxjiang

fabric国密改造记录及思路---源码主要包目录介绍

fabric源码主要包目录文件介绍,国密改造工作量描述1、bccsp 区块链密码,主要提供密码服务, 国密改造这个模块的工作量占比也比较大2、common 公共代码目录,提供一些公用代码,例如常用配置config,加解密签名用的crypto,定义deliver服务器及处理接口等;国密修改占有量比较少。3、core 核心代码目录,大部分核心代码都在这个目录下实现;包含的container容器功能模块、peer节点相关木块、chaincode链码相关模块、scc系统链码相关模块、endorser背书节点服务功能模块、账本存储相关模块等功能,这个目录在国密改造中也占有少部分比较重要的工作。4、gossip gossip消息模块,gossip消息目录采用了gossip消息协议,该协议的特点是简单高效...阅读全文

博文 2019-11-01 13:35:39 545305939

ETCD探索-MVCC

ETCD探索-MVCC MVCC MVCC模块ETCD的存储模块,是ETCD核心模块。 作为一个开源项目,其代码的封装是值得我们学习的。MVCC作为底层模块,对上层提供统一的方法,而这些方法都定义在kv.go这个文件中,很像一个头文件(.h)。我们可以只看kv.go以及配合kv_test.go就可以知道mvcc包是怎么用的。 kv.go type KV interface { ReadView WriteView // Read creates a read transaction. Read(trace *traceutil.Trace) TxnRead // Write creates a write transaction. Write(trace *traceutil.Trace) ...阅读全文

博文 2020-02-19 17:32:41 HammerMax

Hyperledger Fabric学习笔记01-系统逻辑架构

本系列学习笔记以阅读《深度探索区块链:Hyperledger Fabric技术与应用》一书的笔记为蓝本,故默认Hyperledger Fabric 1.0,期间可能会追加最新版本的内容,到时会在里面注明。这是一个边看边写的系列,有兴趣的也可以先自行购买此书学习。 Hyperledger Fabric 1.0是一种通用的区块链技术,其设计目的是利用一些成熟的技术实现分布式账本技术(Distributed Ledger Techonlogy DLT)。 超级账本采用模块化架构设计,复用通用的功能模块和接口。 模块化的方法带来了可扩展性、灵活性等优势,会减少模块修改、升级带来的影响,能很好地利用微服务实现区块链应用系统的开发和部署。 Hyperledger Fabric 1.0设计的几个特点: 特...阅读全文

博文 2019-03-21 01:34:41 蜜汁炒酸奶

Go语言:sync 模块

sync模块下定义的所有struct及其方法如下: type Cond struct { // L is held while observing or changing the condition L Locker // contains filtered or unexported fields } func NewCond(l Locker) *Cond func (c *Cond) Broadcast() func (c *Cond) Signal() func (c *Cond) Wait() type Locker interface { Lock() Unlock() } type Map func (m *Map) Delete(key interface{}) func (...阅读全文

博文 2020-03-27 16:33:01 落落大方的发卡

go语言实战教程之 后台管理页面统计功能开发(2)

上节内容介绍了后台管理页面统计功能开发(1),从功能介绍,到接口请求分析和归类,最后是代码设计。经过上节内容的介绍,已经将业务逻辑和开发逻辑解释清楚,本节内容侧重于编程代码实现具体的功能。当日增长数据功能、七日增长数据功能通过浏览器工具调试会发现,当日增长功能和近7日增长数据使用的请求接口相同,只是传值较为特殊。以当日用户增长请求为例,当日用户增长数据请求接口如下:/statis/user/NaN-NaN-NaN/count可见,传递的值为NaN-NaN-NaN。进而查看近七日增长数据请求。仍以用户增长请求为例,近七日中的某天数据增长请求接口如下:/statis/user/2019-04-08/count综合上述两种情况的分析,当日请求与近七日请求url相同,只是传值不同。因此,在程序开发实...阅读全文

博文 2019-04-15 12:34:41 qfzhangxu