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

httptest 的介绍与使用

在写完接口之后都需要对接口进行测试,在 golang 标准库中提供 httptest 包来辅助测试。 因为接口都是需要 IP 地址或域名来访问,httptest 包中默认定义了服务地址 const DefaultRemoteAddr = "1.2.3.4" 重要的方法 NewRequest(请求体) NewRequest 方法用来创建一个 http 的请求体。 方法定义: func NewRequest(method, target string, body io.Reader) *http.Request method 参数表示测试的接口的 HTTP 方法。 target 参数表示接口定义的路由。 body 参数表示请求体。 NewRecorder(响应体) 方法定义: func NewR...阅读全文

博文 2019-06-24 17:03:35 xfstart07

零基础自学编程应读书籍

如果你是一个程序员,除了编码之外,你还需要大量的阅读。书籍是知识和智慧的重要来源。但不幸的是,现在很多人已经不愿意看书了。程序员更是罕见地会去读书,最常见的是依靠互联网搜索结果来找寻答案。  技术向前的步伐比人类历史上的任何时候都要走得更快。用不了几个月,就会有新的编程语言和工具问世,弥补现有语言、工具和方法的缺陷。事实上,许多伟人都已经遇到过差不多的问题,并指出了解决这些问题的最佳途径。而这些方法和解决方案都收录在一些超棒的书籍中。  小伙伴们可以从下面列出的书中选择几本来阅读。 《程序员修炼之道》  绝对是书籍中的瑰宝!这不是常规地建议你编码,编码还是编码的编程书。事实上,它并不限定于某种特定的编程语言:在这本书中的智慧适用于所有编程语言。  这本书对许多有趣的领域都提出了真知灼见,如各...阅读全文

博文 2019-01-17 17:49:34 wenpeng231

维基链WICC | 项目进展周报第26期(3.11~3.17)

技术&产品周报应用建设维基时代:完成钱包更换新节点 100%。维基时代:IOS及Android更换新的钱包签名库 95%。维基时代:任意第三方DApp可调起维基时代钱包进行支付,开发进度 50%。维基时代国际版:前端开发已经完成,正在测试70%。维基时代:完成与前端对接,锁仓收益数据的迁移工作,并完成校验。维基时代:用户行为数据统计计划,整体进度80%。T2D2建设Web钱包浏览器插件正式版本 v1.0.0发布。区块链浏览器优化改版:原型设计 40%。为海外开发者团队提供智能合约开发技术支持。(30%)维基时代活动天地管理后台UI界面开发。(100%)正式版智能合约部署调用工具原型设计。(100%)公链建设对维基链的节点程序上所有交易设置了交易小费最小值限制。(100%)定位测试链全网所有矿...阅读全文

博文 2019-03-19 13:34:42 维基区块链

大厂/上市/独角兽安全类职位合集:信息安全/SDLC负责人、平台总监、基础安全研究/攻防/渗透测试

信息安全负责人工作职责:1、制定全公司下的信息安全管理计划,完善整体防护体系;2、负责制定和推动落实公司系统、网络、应用等方面的安全策略、规范、标准和流程;3、负责系统安全、应用安全、办公网安全、数据安全、等保合规相关的规划、设计及实施工作;4、持续关注最新的安全事件,及时采取相关措施;5、定期进行业务和系统安全评估、审计、培训等工作;6、负责指导公司安全事件的应急响应工作。任职要求:1、五年以上安全工作经验,熟悉常见系统、网络、应用攻击技术、防御方法;2、具有大型互联网企业系统、网络、应用领域的安全评估、加固等项目实施和管理经验;3、能够独立完成各种系统(主机、网络、数据库等系统)的安全评估和加固;4、精通多项安全技术、安全领域专业知识覆盖面广;5、具有较强的跨部门沟通、协调和推动能力,善...阅读全文

博文 2019-12-17 21:32:45 IT互联网猎头Cathy

EOSIO Dawn 4.0 发布

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 关于Dawn 4.0 RAM分配的反馈一些社区成员表示担心,在其他任何人发现之前,有些人会通过购买便宜的内存来获得不合理的利润。为了缓解这种情况,我们建议那些人用一个非常有限的RAM供应来启动一个节点,然后在头几个月内逐步增加内存。如果RAM的供应量从32GB开始,然后在几个月内增长到1TB,那么RAM的价格可能会随着时间的推移而迅速下降到最初定价的3%。只有那些真正需要RAM或者在出价时考虑未来RAM供应的人才会购买初始RAM。无论哪种方式,没有人会获得“便宜”的RAM或“免费利润”。 测试网络状态我们在欧洲,亚洲和美国拥有节点的内部测试网络一直运行良好,没有出现重大问题。 主观CPU资源使用率在过去的几个月中...阅读全文

博文 2019-09-16 11:02:51 链客

Golang测试

如何编写好的单元测试 单元测试主要有两个方面: 编写测试方法 编写可测试代码 编写单元测试方法 单元测试特定案例的方法 编写更好的单元测试的技巧 编写单元测试不仅仅是“assert(func()==expected)” 编写可测试代码 如何编写易于测试的代码,测试驱动开发、正确使用设计模式等 编写可以很好地测试的代码和编写好的单元测试一样重要 将现有代码重写为可测试代码虽然痛苦,但是是值得的 Go测试概述 测试一般使用标准库:testing 测试代码文件和正式代码文件应处于一个文件夹下,测试代码文件应以_test.go结尾 要注意测试文件名不能以_或.开始,否者go test将不会包含这些文件 测试方法也有特殊的格式,应以Test开头,参数类型需为*testing.T go test的测试完...阅读全文

Unit Test In Go With Docker

本篇文章主要讲解如何在 Docker 中进行 Go 单元测试,依赖 Docker 和 Go Modules。 为什么是 Docker 在 Docker 之前我们往往需要在 Jenkins 服务器上配置不同的 Go 版本以及针对每个项目配置 GOPATH,项目之间的隔离性差,经常出现基础库版本冲突的问题。 有了 Docker,我们可以在不同容器中运行单元测试,该测试不局限不同项目,甚至可以是同一项目不同分支。 所以在测试隔离性和项目测试并发度上都有很大提升,而且测试结束后,环境清理也简单许多。 为什么是 Go Modules Go Modules 作为官方默认的包管理工具,基本解决了 Go 长期存在的包管理问题,它为我们的项目管理带来很多好处: 自动解析和添加依赖 签名验证 依赖缓存 支持相对...阅读全文

博文 2019-09-23 12:33:26 xjtuhit

GO学习笔记 - 模版渲染及多种输出

本文主题:基于内置的text/template实现Golang模版渲染,并将结果写入文件、屏幕、变量。 小慢哥的原创文章,欢迎转载 目录 ▪ 定义结构体▪ 定义模版文本▪ 模版渲染及输出方式▪ 完整例子 定义结构体 首先,定义一个结构体,用于后面的模版渲染 type Person struct { Name string Age int Boy bool } 注意:struct的元素必须要可导出(大写打头),否则渲染时候找不到 实例化结构体,用于模版渲染时候获得对应值 foo := Person{ Name: "foo", Age: 18, Boy: false, } 定义模版文本 接下来,定义一个模版文本,此处直接定义了一个常量,表示模版文本 const text = `My name i...阅读全文

博文 2019-08-18 14:03:09 小慢哥

ElasticSearch5.x 删除数据

以下测试在elasticsearch5.6.10版本。 首先要说明的是ElasticSearch从2.x开始就已经不支持删除一个type了,所以使用delete命令想要尝试删除一个type的时候会出现如下错误: No handler found for uri [/dating_profile/zhenai/] and method [DELETE] 测试 假如存在一个名为dating_profile的index和zhenai的type: curl -XDELETE http://192.168.1.102:9200/dating_profile/zhenai 执行后报错如下: 所以现在如果想要删除type有两种选择: 1、重新设置index。 2、删除type下的所有数据。 如果重新设置i...阅读全文

博文 2019-10-18 10:02:52 小碗汤

1.golang从零搭建游戏服务器框架 之 实现最简单的回显服务器

写在前面的话 首先,我是一个golang语言的初学者, 这里纯粹是学习笔记,以便以后返回来查找,防止遗忘。文章内容来源于 刘丹兵老师的教程, 大家可以直接去看老师的视频来进行学习。 需求分析 搭建一个最基础的服务器框架,实现客户端向服务器发送一条数据,服务器将该数据返回到客户端 根据需求,对服务器进行如下的设计 图片.png 编码实施 首先,先建立我们的目录结构 在自己golang环境的src目录下 新建文件下 zinx,这是我们游戏框架的名称(沿用了视频中的名称), 然后,在zinx目录下新建ziface目录和znet目录。在ziface目录下新建IServer.go文件,这里写我们的服务器接口。在znet目录下新建server.go文件,在这里写IServer接口的具体实现。 1.首先编...阅读全文

博文 2020-02-20 09:32:44 孟安乐Aaron

01Go命令介绍

Go 命令介绍 go 提供了一套强大好用的命令系统 go build 编译包和依赖项 go clean 删除目标文件 go env 打印Go环境信息 go fix 在包上运行go tool修复,用来修复老版本到新版本的问题 go fmt 在包源上运行gofmt go generate 通过处理源生成Go文件 go get 下载并安装包和依赖项 go install 编译和安装包和依赖项 go list 列出包 go run 编译并运行go程序 go test 测试包,运行以 _test.go结尾的文件 go tool 运行指定的go工具 go version 打印go版本 go vet 在包上运行工具go vet,它可以在编译阶段和运行阶段发现bug 详细的官网地址为:中文https://g...阅读全文

博文 2019-04-16 08:31:00 weixin_33978016

golang第六天

学习web框架gin demo代码 package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" "log" "os" "io" ) /** * gin demo代码 */ func main() { /** * 创建默认中间件 */ router := gin.Default() // Disable Console Color gin.DisableConsoleColor() /** *简单测试 */ router.GET("/someGet", getting) router.POST("/somePost", posting) router.PUT("/somePut", putting) router.DELE...阅读全文

博文 2019-03-26 02:34:41 陌生人的头像

维基链WICC | 项目进展周报第27期(3.18~3.24)

技术&产品周报应用建设维基时代APP v1.2.0发布:①维基时代国际版上线。(100%)②维基时代钱包更换新节点。(100%)③维基时代:任意第三方应用可调起维基时代统一签名接口,进一步提升开发者友好性。④维基时代“发现”版块上线。⑤用户行为数据统计计划上线。T2D2建设CTO陈晓东在CSDN平台直播分享《区块链技术架构与应用架构》,共119人参与直播答疑环节。完成Baas平台智能合约链上数据查询接口。 (100%)为海外开发者团队提供智能合约开发技术支持。(80%)为提升开发者开发效率的智能合约IDE工具 前端开发中。(50%)WRC20标准的智能合约demo持续优化。 (50%)区块链浏览器原型设计。(50%)公链建设解决golang钱包库投票接口相关问题。(100%)升级签名算法以提...阅读全文

博文 2019-03-26 13:34:41 维基区块链

facebook libra尝鲜,没赶上比特币能不能上这趟车

白皮书重点 在开始玩libra测试网络之前先来画画libra白皮书中的重点,比如币怎么产生,怎么交易等。 建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施 效果是比如你要到美国去,需要点美元,那么可以通过机构把人民币换成libra币,再兑换成美元,或者直接用libra币进行交易。就像移动支付一样简单。 我们凭什么相信libra币 将全部使用真实资产储备(称为“Libra 储备”)作为担保,并由买卖 Libra 并存在竞争关系的交易平台网络提供支持 需要有大量资产做信用背书。Libra 协会是一个独立的非营利性成员制组织,总部设在瑞士日内瓦。协会旨在协调和提供网络与资产储备的管理框架,并牵头进行能够产生社会影响力的资助,为普惠金融提供支持。 所以这个协会权利巨大,前提你得信任这个协会...阅读全文

博文 2019-11-06 19:02:38 sealyun

GO TESTING;HOW,WHAT,WHY

Introduction 关于 Go 测试,我们应该知道测试方式(或者说测试手段)、测试对象及测试原因。 How 测试方式 测试实现 举个例子。针对字符串分割函数(如下),实现单元测试。 package goTest import "strings" // Split slices s into all substrings separated by sep and // returns a slice of the substrings between those separators. func Split(s, sep string) []string { var result []string i := strings.Index(s, sep) for i > -1 { resul...阅读全文

博文 2019-08-07 09:32:39 wangwg

[编译原理]用BDD方式开发lisp解释器(编译器)|开发语言java|Groovy|Spock

lisp是一门简单又强大的语言,其语法极其简单: (+ 1 2 ) 上面的意思 是:+是方法或函数,1 ,2 是参数,fn=1+2,即对1,2进行相加求值,结果是:3 双括号用来提醒解释器开始和结束。 之前在iteye写过一篇文章来简单介绍怎么写lisp的解释器: http://gyc567.iteye.com/blog/2242960 同时也画了一张草图来说明: image 因为lexer(词法分析器)主要工作就是把程序的字符串表达式转化为tokens.(Pair),以下是百科对词法分析的说明: 词法分析是编译过程的第一个阶段,是编译的基础。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。 因为lisp的语...阅读全文

如何通过Dataworks禁止MaxCompute 子账号跨Project访问

摘要: 之前有很多DataWorks用户问MaxCompute访问权限问题,比如子账号为什么可以增删查别人在别的项目创建的表,即使这个子账号并没有加入那个项目 。 今天手把手教大家实现子账号授权并关闭跨Project的数据访问权限。 **原文链接:http://click.aliyun.com/m/43802/** 之前有很多DataWorks用户问MaxCompute访问权限问题,比如子账号为什么可以增删查别人在别的项目创建的表,即使这个子账号并没有加入那个项目 。 今天手把手教大家实现子账号授权并关闭跨Project的数据访问权限。 1、访问RAM控制,https://ram.console.aliyun.com/ ![图片描述](http:...阅读全文

K8S 生态周报| cilium 1.6 发布 100% kube-proxy 的替代品

「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。 Kind(Kubernetes In Docker) v0.5.1 正式发布 Kind(Kubernetes In Docker) 已经广泛的应用于 Kubernetes 上游及相关项目的 CI 环境中,作为个人本地的测试环境也很方便,推荐大家尝试。 本次发布,将默认的 Kubernetes 版本更新为 v1.15.3 ;支持了 UDP 和 SCTP 协议的端口转发;对构建 Node 镜像进行了优化,使它更快;同时也对 arm32 增加了有限的支持。 对 kind load-image 进行了改进,从原先的只是判断镜像名称和 tag 到现在增加了对哈希值的校验;修正了在使...阅读全文

博文 2019-08-26 15:33:06 TaoBeier

RT_Thread-stm32f4 双网口网络性能测试

网络的主要性能参数包括带宽,时延,抖动、丢包率。 一、在RT-Thread 开启netutils网络组件 在rt-thread bsp工程ConEmu工具的中输入menuconfig,打开netutils的 iperf和 NetIO工具。 在 RT-Thread 上使用 Finsh/MSH 命令来获取 IP 地址 msh />ifconfig network interface device: e0 (Default) MTU: 1500 MAC: 00 80 e1 10 38 35 FLAGS: UP LINK_UP INTERNET_UP DHCP_ENABLE ETHARP BROADCAST IGMP ip address: 10.55.2.188 gw address: 10.55...阅读全文

《go语言圣经》练习题3.10

# 题目 **练习3.10:编写一个非递归版本的comma函数,使用bytes.Buffer代替字符串链接操作。** # 代码 ```go package main import ( "fmt" "bytes" "os" ) func comma (s string) string { //定义函数comma,对一个整数采用三位分节表示 var buf bytes.Buffer n := len(s)%3 //判断若三位一节,高位多出来的是一位,两位,还是三位 if n ==0 { n = 3 } buf.WriteString(s[:n]) for n < len(s) { buf.WriteByte(',') buf.WriteString(s[n:n+3]) n += 3 } retu...阅读全文

博文 2019-07-21 14:58:55 xiayanshangda

基于Golang开发的开源微信小程序(页面高仿大众点评)

小程序基于Taro2.0 + React Hooks开发 测试数据采集自微信小程序--大众点评 服务端api基于 Golang 计划添加基于Reactjs的后台管理系统、PC版、Wap版 目前主要是已浏览页面为主,接下来会继续做其他业务. Github https://github.com/i-coder-robot/dp-min-program 服务端api 项目地址:https://github.com/i-coder-robot/mock-food 最后 喜欢别忘了Star 本项目长期更新完善,欢迎Watch,欢迎扫码,批评指正...阅读全文

博文 2020-02-10 23:32:49 欢喜哥在学习

FreeWheel招Lead/Senior大数据开发与分析工程师

Lead/Senior Software Engineer【职责描述】-面向客户的数据产品开发,测试,部署、监控,涵盖实时报表和离线报表等不同类型的数据产品;-紧密配合产品经理,理解业务需求,梳理业务流程,针对不同业务需要和应用场景,制定合理的系统架构以及实现方式,可以独立完成技术解决方案;-周期性产品迭代,持续改进现有产品,包括业务流程和系统架构,与基础架构部门配合,解决技术难题与性能瓶颈。【任职要求】-本科及其以上学历,三年以上大数据生态圈工作经验,二年以上数据产品实践经验;-熟练掌握数据产品相关设计原理,对数据产品设计、交互、系统架构有深入的见解;-熟悉Spark/MapReduce/HBase/Presto等开源大数据技术,有多种业务场景下的实践经验;-有数据仓库建模、数据平台搭建、...阅读全文

博文 2019-10-29 21:33:01 aside section._1OhGeD

利用 ApsaraDB For SQL Server各版本高效而低廉地实现关键业务需求

1. 什么是SQL Server多版本 微软的SQL Server除了不断迭代的版本升级外,还有从功能差异上分为几个不同的版本。 SQL Server 2012有企业版、商务智能版、标准版、开发版、Web版,当然还有一个入门版本Express。SQL Server2014/2016,只有企业版、标准版、开发版、Web版,也有一个入门版本Express。这些版本的应用场景是不同的,这里有详细的解释: Enterprise 作为高级版本,SQL Server Enterprise 版提供了全面的高端数据中心功能,性能极为快捷、虚拟化不受限制,还具有端到端的商业智能 ,可为关键任务工作负荷提供较高服务级别,支持最终用户访问深层数据。 Standard SQL Server...阅读全文

Go语言之基准测试

在Go语言中,提供了测试函数性能(CPU和Memory)的测试方法,基准测试。基准测试主要用来测试CPU和内存的效率问题,来评估被测代码的性能。测试人员可以根据这些性能指标的反馈,来优化我们的代码,进而提高性能问题。本篇文章主要来介绍,基准测试的使用方法和性能指标的分析。1. 使用规则如下所示: 1.基准测试的代码文件必须以_test.go结尾。 2.基准测试的函数必须以Benchmark开头。 3.基准测试函数必须接受一个指向testing.B类型的指针作为唯一参数。 4.在测试执行之前,需要调用b.ResetTimer(重置计时器)来重置时间,以便过滤掉测试之前代码所消耗的时间。 5.测试代码需要写在for循环中,并且循环中的最大之是b.N。 2.用例介绍:文件结构为: benchmar...阅读全文

博文 2019-10-14 17:32:52 aside section ._1OhGeD

go编译的c-shared库,在新唐ARM926EJ-S rev 5 (v5l)芯片上引用报Segmentation fault,如何解?

在X64的linux机器上,使用新塘的交叉编译环境,编译了一个很简单的C可调用的动态测试库。go的版本为1.11.5​代码如下:package main /* #include #include #include #include #include #define RETURN_OK 1 #define RETURN_ERROR_INPUTPARAM 1001 typedef struct{ char version[256]; uint16_t size; }VersionInfo; */ import "C" import "fmt" //export GetVersion func Ge...阅读全文

博文 2019-08-06 14:54:11 gibbsqi

静态代码扫描原理

静态代码扫描存在的价值 研发过程,发现BUG越晚,修复的成本越大 缺陷引入的大部分是在编码阶段,但发现的更多是在单元测试、集成测试、功能测试阶段 统计证明,在整个软件开发生命周期中,30% 至 70% 的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的 以上三点证明了,静态代码扫描在整个安全开发的流程中起着十分关键的作用,且实施这件事情的时间点需要尽量前移,因为扫描的节点左移能够大幅度的降低开发以及修复的成本,能够帮助开发人减轻开发和修复的负担,许多公司在推行静态代码扫描工具的时候会遇到大幅度的阻力,这方面阻力主要来自于开发人员,由于工具能力的有限性,会产生大量的误报,这就导致了开发人员很可能在做BUG确认的工作时花费了大量的无用时间。因此选择一款合适的静态代码分析工具变得尤为重要...阅读全文

博文 2020-01-15 13:32:40 源伞科技

深入浅出谈以太坊智能合约

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 1什么是合约? 合约是代码(它的功能)和数据(它的状态)的集合,存在于以太坊区块链的特定地址。 合约账户能够在彼此之间传递信息,进行图灵完备的运算。合约依靠被称作以太坊虚拟机(EVM) 字节代码(以太坊特有的二进制格式)上的区块链运行。 合约很典型地用诸如Solidity等高级语言写成,然后编译成字节代码上传到区块链上。 也有其他语言可以用于编写智能合约如Serpent和LLL,在下一节会进一步阐述。去中心化应用开发资源列出了综合的开发环境,帮助你用这些语言开发的开发者工具,提供测试和部署支持等功能。 2以太坊高级语言 合约依靠被称作以太坊虚拟机(EVM) 字节代码(以太坊特有的二进制格式)上的区块链运行。然而,...阅读全文

博文 2019-09-27 17:02:46 链客

2019-06-27

TSBS数据库性能测试 使用须知由于TSBS是由go语言编写所以安装TSBS之前需要进行go语言的安装以及环境的配置(linux) 一、go语言环境的搭建 1、安装包的下载wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz 2、将压缩包解压指定的文件夹 tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz 3、 配置go的环境变量使其可以在根目录下使用 打开profile并在最后进行配置(vim /etc/profile) export PATH=$PATH:/usr/local/go/bin 4、查看go语言是否安装成功 go version 二、TSBS的安装1、使用go ge...阅读全文

博文 2019-06-27 20:02:44 白羊伯玉

1.go安装

本小结介绍如何安装和使用golang 开始之前 开始之前先介绍几个概念1.go语言的环境变量我们只介绍GOROOT和GOPATH GOROOT golang 的安装路径,当你安装好golang之后其实这个就已经有了 GOPATH go命令依赖的一个重要环境变量:$GOPATH 可以把这个目录理解为工作目录 -- bin // golang编译可执行文件存放路径 -- pkg // golang编译包时,生成的.a文件存放路径 -- src // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。 2.go语言的常用命令这里只介绍三个我们用到的命令 go run 编译并直接运行程序,它会产生一个临时文件(但不会生成 .exe...阅读全文

博文 2019-02-21 15:36:22 wz669

[易学易懂系列|rustlang语言|零基础|快速入门|(2)]

我们今天来配置下vscode+rust。vscode开发rust很方便。但配置有点坑,我们都认为vscode很简单,很完善。但这里很多同学也出现不少问题。我们在这里简单记录下win7下配置的过程,跟着我一步步来,应该就可打造你的屠龙宝刀。首先,我们安装插件:Rust Extension PackRust Test Explorer然后打开上一篇文章的工程:hello-rust,见:https://www.cnblogs.com/gyc567/p/11887935.html打开command palette (Ctrl-Shift-P):输入:build,然后选择:Tasks: Configure Default Build Task,再选择:Rust: cargo build vscode会...阅读全文

go语言渐入佳境-网络[5]-tcpaddr

TCPAddrtype TCPAddr struct {IP IPPort int}ResolveTCPAddr函数用于创建TCPAddr其中参数net是“tcp”,“tcp4”或“tcp6”之一,addr是由主机名或IP地址组成的字符串,后跟“:”后面的端口号,例如“www.google.com:80“或”127.0.0.1:22“。客户端测试服务器ListenTCP为服务器监听端口,Accept代表锁住,等待客户端连接多线程服务...阅读全文

博文 2020-01-15 01:33:12 jonson_jackson

Go语言基础(二)—— 基本常用语法

前言: 本专题用于记录自己(647)在Go语言方向的学习和积累。 系列内容比较偏基础,推荐给想要入门Go语言开发者们阅读。 目录如下: Go语言基础(一)—— 简介、环境配置、HelloWorld Go语言基础(二)—— 基本常用语法 Go语言基础(三)—— 面向对象编程 Go语言基础(四)—— 优质的容错处理 Go语言基础(五)—— 并发编程 Go语言基础(六)—— 测试、反射、Unsafe Go语言基础(七)—— 架构 & 常见任务 Go语言基础(八)—— 性能调优 本篇将介绍如下内容: 1.如何编写一个Go测试程序? 2.变量、常量的定义 3.基本数据类型 4.指针类型 5.运算符 6.条件与循环 7.数组与切片 8.Map 9.字符串 10.函数 (注:可根据数字快速定位本篇内容) ...阅读全文

博文 2020-01-29 18:34:15 奇舞647

维基链WICC | 项目进展周报第25期(3.4~3.10)

技术&产品周报应用建设维基时代钱包更换新节点,整体进度 40%。维基时代活动天地: 前端H5页面开发完成,前后端接口联调中,整体进度 40%(“活动天地”可展示维基链线上、线下活动,用户可通过发帖的形式,对活动主题进行讨论)。维基时代国际版: 前端H5页面开发完成,前后端接口联调中, 整体进度 50%。区块链小游戏开发完成,代码已经上传到github,链接:https://github.com/WaykiChain/wicc-betgames-webuiT2D2建设维基链与志愿者协作开发的浏览器钱包插件测试完成,上线公测版本v0.1.0。维基链与CSDN达成技术培训项目合作,CTO陈晓东将于3月21日受邀做客CSDN技术直播。简易版智能合约部署调用工具开发完成。与链客达成合作,针对开发者发布...阅读全文

博文 2019-03-12 22:34:41 维基区块链

互融云数字货币永续合约交易系统

永续合约 是一种衍生品。从交易的角度来说,它类似于传统的期货合约,但又有一些不同之处。首先它没有到期或结算日,永续掉期合约类似于一个保证金现货市场,因此它的交易价格接近于标的参考指数价格,这与期货合约不同,由于基差的原因,期货合约的交易价差可能存在显著的不同。其次锚定现货价格的主要机制是资金费用。互融云推出的永续合约交易系统支持双向交易,多杠杆,多风险控制,风险管控分为警戒线,禁止开仓线,强平线,降低用户风险率;并且平台引入了用户和平台对赌,以及代理商推荐返佣机制,推动了平台用户的发展。1)系统角色 2)交易流程 互融云数字货币永续合约交易系统介绍:1)合约模型设计交易方式:市价交易、限价交易合约周期:无定时交割时间,用户可自由选择交割时间隔夜费设置:用户购买每超过24小时则会收取隔夜费合约...阅读全文

博文 2019-08-19 20:02:47 互融云软件

Centos7 安装golang-1.12.7环境

本人也是今天正式开始步入Golang语言的学习,希望大家一起共同学习。官网地址:https://studygolang.com/dl 系统要求 Operating system Architectures Notes FreeBSD 10.3 or later amd64, 386 Debian GNU/kFreeBSD not supported Linux 2.6.23 or later with glibc amd64, 386, arm, arm64, s390x, ppc64le CentOS/RHEL 5.x not supported. Install from source for other libc. macOS 10.10 or later amd64 use the ...阅读全文

博文 2019-07-24 18:04:39 东666

Rust学习笔记9 测试与评测

github地址:https://github.com/bradyjoestar/rustnotes pdf下载链接:https://github.com/bradyjoestar/rustnotes/blob/master/Rust%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0.pdf 参考: https://rustcc.gitbooks.io/rustprimer/content/ 《RustPrimer》 https://kaisery.github.io/trpl-zh-cn/ 《Rust程序设计语言-简体中文版》 第九章 测试与评测 在rust中内部构建了测试和评测模块,虽然目前bench模块仍然在nightly ch...阅读全文

博文 2019-07-08 14:32:52 bradyjoestar

nginx请求连接限制笔记

之前也有写过有关于爬虫的实战练习:go语言爬取珍爱网 当时爬取时当并发过大的时候,请求就会出现卡死的情况。其实这可能就是珍爱网对请求和连接进行了限制。 爬虫和反爬是个“一边攻,一边守”的技术,但我们亲爱的爬虫工程师们也一直遵守着“只攻不破”的原则。网站服务器对爬虫一直在做限制,避免服务器流量异常,负载过大,防止恶意的攻击带来带宽和资源的浪费,甚至影响业务正常运行。往往办法是限制对同一个IP的连接数和并发数进行限制。今天我们就来看看nginx的连接频率limit_conn_module和请求频率limit_req_module 限制模块。 HTTP请求建立在一次TCP连接基础上,一次TCP请求至少产生一次HTTP请求。 连接限制: 语法如下: Syntax:limit_conn_zone ke...阅读全文

博文 2019-10-18 10:02:57 小碗汤

深度性能测试:功能决定现在,性能决定未来!

摘要: 深度性能测试能协助测试人员发现APP中存在的深层次性能问题,直接定位多项性能问题及瓶颈的根本原因,方便开发者快速提升APP性能表现,使得APP运行得更加稳定。MQC深度性能测试能够帮助开发者发现深层次的性能问题,更精准地定位问题。 功能决定现在,性能决定未来! 一、 内存泄漏   内存泄漏是指由于代码编写不当导致不再使用的对象无法得到及时释放。内存泄漏产生的内存垃圾不仅浪费资源,拖慢运行效率,甚至还可能造成内存溢出,直接导致应用崩溃。    对于Android应用,比较容易发生泄漏的是Activity、Fragment对象,此类对象的共性是其都有一定的生命周期。以Activity为例,一个Activity实例的生命起始于onCreate(),终结于onDestroy()...阅读全文

golang 单元测试与性能分析 入门篇

平时我们写了的一些方法,想测试时一般在main包中的main函数中去调用我们写好的函数,这样测试不是很专业。golang自带test工具非常好用,我们可以手动写测试代码,也可以在ide中使用快捷键先创建,我们使用下面的例子来说一下 代码测试,性能压测,性能分析等。 **例子 demo.go** ```golang package demo import "time" //字符串长度 func strCount(str string) int { var l int l = len([]rune(str)) return l } //计算函数 func algorithm(a int,b int) int { time.Sleep(time.Millisecond*100) return a+...阅读全文

博文 2020-01-31 21:03:57 duzhenxun

容器开启数据服务之旅系列(一):Kubernetes如何解自建PostgreSQL运维之痛

摘要: 通过阿里云Kubernetes容器服务,开启你的数据服务之旅 (一)云上运维自建数据库之痛,使用容器服务自动恢复数据库postgresql实例 概述 本文为大家介绍一种容器化的数据服务 posgresql db on ACK,通过使用云盘自动挂载实现的块存储PVC来做到数据库的免运维恢复。 **容器开启数据服务之旅系列(一):Kubernetes如何解自建PostgreSQL运维之痛** **概述** 本文为大家介绍一种容器化的数据服务 posgresql db on ACK,通过使用云盘自动挂载实现的块存储PVC来做到数据库的免运维恢复。借助阿里云Kubernetes服务与阿里云存储资源的深度整合,打造数据库实例的免运维异地(ECS)恢复的不死神话。 **先...阅读全文

ARTS 第6周

[TOC] Algorithm 717. 1-bit and 2-bit Characters 难度:[easy] [思路] 可以抽象为:以1开头,向后移两部;以0开口,向后移一步 判断最后一次是移一步还是两步:一步True,两步False [参考代码] func isOneBitCharacter(bits []int) bool { i := 0 lens := len(bits)-1 for { if i >= lens { break } if bits[i] == 0 { i++ } else if bits[i] == 1 { i+=2 } } if i == lens { return true } return false } Review https://medium.fr...阅读全文

博文 2019-05-05 21:34:59 陈卧虫

配置一个独立的 SFTP 服务器

SFTPGo 是一个全功能和高度可配置的 SFTP 服务器软件,这是 XXX 上作者对这个软件的介绍。Full featured and highly configurable SFTP server software项目地址:https://XXX.com/drakkan/sftpgo整体使用下来也名副其实,符合我的需求。但是因为官网上安装引导文档比较含糊,就记录一下自己折腾的过程。以下的操作过程均基于一个全新安装的 Ubuntu 18.04.2 LTS (Bionic Beaver) 操作系统,按道理 Debian 也适用。因为我自己只想配置一个独立的 SFTP 服务器,利用 SFTPGo 来协助管理账号,所以没有使用 MySQL / PostreSQL 之类的数据库,而选用了 SQLi...阅读全文

博文 2019-12-27 21:33:09 云翔怡长花想容

手动部署 Fabric 2.0 测试网络

1、环境准备 docker docker-compose golang,GOPATH 环境变量已经配置好 fabric-samples 代码: git clone https://github.com/hyperledger/fabric-samples.git fabric 代码,需要使用 fabric 代码编译出 cryptogen 、configtxgen 工具: mkdir -p $GOPATH/src/github.com/hyperledger cd $GOPATH/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric.git 编译 cryptogen 、 configtxgen 工具...阅读全文

博文 2020-02-04 11:32:41 阳有白

Golang expvar原理

前言 在学习go的metric的过程中,有些实现支持prometheus、expvar等,expvar是什么,竟然在sdk的库中?另外,发现jaeger(github.com/uber/jaeger-lib)也支持这种metric数据暴露方式。 分析 expvar提供将变量暴露出去的机制(暴露到http接口等),java中也有类似的机制。 原理 go默认创建一个全局并发安全的map,可以将key为string,val为实现Var的实例保存进去;同时,将所有的key保存到列表中。 http暴露原理,注册http接口到默认的mutex中,返回数据是所有key,val的结果。 实现 expvar.Int实现接口Var,创建Int时,会将实例添加到map,并将key设置到list中。 func Ne...阅读全文

博文 2019-12-12 00:32:45 huiwq1990

Golang学习笔记-测试

Go的标准库提供了几个与测试有关的库,其中最主要的是testing包,testing包需要与go test命令以及源代码中所有以_test.go后缀结尾的测试文件一同使用,一般测试文件的名字都会与被测试源码文件的名字相对应,例如main.go的测试文件名为mian_test.go。 功能测试 为了测试源代码,我们需要在测试文件中创建具有以下格式的测试函数,其中Xxx首字符必须是大写的英文字母,在测试函数的内部,我们可以使用Error,Fail等一系列方法表示测试失败。 func TestXxx(t *testing.T){...} testing.T结构有几个非常有用的方法: Log():将给定的文本记录到日志。 Logf():根据给定的格式,将给定的文本记录到日志。 Fail():将测试函...阅读全文

博文 2019-12-29 14:32:39 土豆吞噬者

游戏测试怕踩坑?快来围观最佳实践!

一、项目背景 《僵尸猎手小明》是由成熟团队精心打磨的2D横版射击游戏,融合僵尸题材、超强武器库、Q萌宠物系统、爆笑漫画系列等元素,更有171个精心制作的关卡,多种特殊挑战,49篇神秘日记,狸猫市的惊天大秘密等你来解开!为玩家呈现最爽快的射击体验!    高质量的手游离不开高质量的测试,只有经过严格的质量把关才能打造出高水准的手游,《僵尸猎手小明》对游戏品质方面的要求做到极致,要求从多个角度出发将各项指标都进行专业的测试。 二、初探兼容性测试    《僵尸猎手小明》团队非常重视版本的兼容性问题,在经过仔细分析对比之后,最终采用MQC的游戏行业解决方案进行了第一次完整的兼容性测试。经测试,《僵尸猎手小明》Android版和很多手游产品一样,在版本初期暴露出了很多兼容性问题,...阅读全文

【Binance AMA】Cocos-BCX 年终回顾展望2020

Binance:现在AMA活动正式开始,我们首先请到 Cocos-BCX 团队发起人陈昊芝先生。欢迎陈总!陈昊芝:感谢主持人 Doris,大家好,我是 Cocos-BCX 发起人陈昊芝。Binance:再次欢迎陈总~我们请陈昊芝先生先对 Cocos-BCX 项目做个介绍。陈昊芝:大家好,我是 Cocos-BCX 发起人陈昊芝。Cocos-BCX 下一代游戏数字经济平台,目标是打造一个完整的多平台游戏运行环境,即为区块链游戏开发者提供开发过程中的便利性和完善性,同时也为区块链游戏用户带来全新的游戏体验和超越以往的游戏形态,所有在游戏内获得的资产将完全属于用户。2018年获得币安实验室、OK Blockchain Capital、NEO全球资本和500 Startups等机构领投4000万美金。...阅读全文

博文 2020-01-22 13:32:41 CocosBCX

Go 笔记之 Go 命令快速体验

上篇文章利用go run和go build命令分析介绍了GO的编译执行流程。GO提供给我们的命令当然远不止这两个。本文将在所能及的范围内,尽量地介绍GO提供的所有命令,从而实现对它们有个整体的认识。 概述 除了gofmt与godoc外,GO中的命令一般都可通过go命令调用,这些命令可理解为go的子命令,查看下命令列表,如下: $ go Go is a tool for managing Go source code. Go是管理Golang源码的工具 Usage: 使用方式: go [arguments] go <命令> [参数] The commands are: 涉及的命令包括: bug start a bug report 提交bug报告,执行后会开启浏览器并转到g...阅读全文

博文 2019-07-30 16:02:54 波罗学

Linux + Golang + Oracle 11g + XORM + go-oci8 的数据库驱动测试

一、系统环境介绍: Linux archlinux 4.20.11-arch1-1-ARCH Oracle 11g 64bit OCI -> instantclient-basic-linux.x64-11.2.0.4.0.zip OCI SDK -> instantclient-sdk-linux.x64-11.2.0.4.0.zip go version go1.11 linux/amd64 二、安装pkg-config # pacman -S pkg-config 三、安装go-oci8 项目开源地址:https://github.com/wendal/go-oci8 四、下载Oracle 的 OCI和SDK 1、下载OCI和SDK https://www.oracle.com/tec...阅读全文

博文 2019-08-19 20:02:43 承诺一时的华丽