golang调试工具Delve

Devle是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试。 线上golang服务出现问题时,Devle是必不少的在线调试工具,如果使用docker,也可以把Devle打进docker镜像里,调试代码。 安装Devle 安装Devle非常简单,直接运行go get 即可: go get -u github.com/derekparker/delve/cmd/dlv 如果你的go版本为1.5请先设置环境变量GO15V...阅读全文

51CTO博客 2019-11-20 14:50:03 阿泽Aze

golang rabbitmq的使用(五)

先说一个实际的业务场景:Client端有一个请求需要进行耗时处理或者查询,这个处理在Server端做。Server 端处理完后通知给请求的Client端。这种场景可以称之为RPC(Remote Procedure Call) 有两个点说明一下: <1>Client端发送请求给Server端可以简单定义一个Queue。Client作为Producer发布消息,Server端作为Cosumer消费消息 <2>Server端处理完耗时处理后需要将处理结果返回给请求的客户端。 可以在Client声明一个...阅读全文

Segmentfault 2019-11-21 00:32:49 麦穗儿

Go 中 recover 与 panic 区别

概念panic 与 recover 是 Go 的两个内置函数,这两个内置函数用于处理 Go 运行时的错误。 panic用于主动抛出错误, recover 用来捕获panic 抛出的错误。 func main() { //捕获 异常 defer func() { if p := recover(); p != nil { fmt.Printf("panic recover! p: %v", p) //类型判断 str, ok := p.(string) if ok { err := errors....阅读全文

Segmentfault 2019-11-21 00:32:48 风云

从go的channel谈起

先来温故一下channel的概念: Channels are a typed conduit through which you can send and receive values with the channel operator, <-. 一种管道类型,通过<-操作符接收或发送数据,我们通过一个实例来了解一下管道的特性 启动两个线程, 一个输出 1,3,5,7…99, 另一个输出 2,4,6,8…100 最后 STDOUT 中按序输出 1,2,3,4,5…100 初看一下,很容易想到要用...阅读全文

go mod使用踩坑

尝试使用了go mod去管理包,按照官方的文档指引https://blog.golang.org/using-go-modules进行实践。 整个过程中出现了几个问题: gomod文件应该放在哪里? 首先项目得在GOPATH以外的任意目录,再执行 go mod init [根目录名] 目录组织结构: wwwroot-------go.mod -------main.go -------hello/hello.go ------------/hello_test.go 使用go mod 时依赖包下...阅读全文

简书 2019-11-20 19:32:48

golang中文件以及文件夹路径相关操作

获取目录中所有文件 使用包: io/ioutil 使用方法: ioutil.ReadDir 读取目录 dirmane 中的所有目录和文件(不包括子目录) 返回读取到的文件的信息列表和读取过程中遇到的任何错误 返回的文件列表是经过排序的 FileInfo type FileInfo interface { Name() string // base name of the file Size() int64 // length in bytes for regular files; system-...阅读全文

手把手教你,COS公链互动操作!

作为领先的内容公链,COS公链的代码全部开源免费。开源地址:https://github.com/coschain/ 看过上一篇文章《0基础,开启COS公链本地化运行》的朋友,相信已经在本地搭建了COS公链。这次,我们开启COS公链互动模式,看看都有哪些好玩儿的互动? 区别于中心化的内容平台,Contentos内容生态里的账户系统分为“本地账户”和“链上账户”两种。 本地账户是一份 keystore 文件,放置在 ~/.coschain文件夹下。一个本地账户存储了一对 contentos 的公私...阅读全文

Segmentfault 2019-11-21 00:32:47 内容链Contentos

GO代码实现判断字符编码格式及编码格式转换(utf-8、gbk)

# 引入 C/C++的实现请看[https://www.jianshu.com/p/a83d398e3606](https://www.jianshu.com/p/a83d398e3606) 最近使用go开发http服务,在使用http进行通信时,发现接收报文中如果包含中文字符(非utf-8编码),直接使用go将二进制格式数据转换成字符串文本会出现乱码的情况。因为golang中的字符编码格式是utf-8,如果是其他类型的编码,例如gbk,那么直接转码后出现乱码也就理所当然了。 ...阅读全文

Go语言中文网 2019-11-20 16:23:24 bubbleGarden

Golang ServeMux 是如何实现多路处理的

之前出于好奇看了一下 Golang net/http 包下的部分源码,今天想还是总结一下吧。由于是第一次写文章且抱着忐忑的心情发表,可能有些语义上的不清楚,谅解一下,或者提出修改的建议! 简介 net/http 包里的 server.go 文件里注释写着:ServeMux is an HTTP request multiplexer. 即 ServeMux 是一个 HTTP 请求的 "多路处理器",因为 ServeMux 实现的功能就是将收到的 HTTP 请求的 URL 与注册的路由相匹配,选择...阅读全文

开源游戏服务器框架汇总(2019-11-20)

有哪些开源游戏服务器框架,值得学习呢。基于node.js 、java、C#、golang 、c++、python 等技术栈有各种各样的游戏框架。 本文收集一些比较常用的 github上star和fork有一定数量的较为完整的框架 skynet 云风大神的框架这个基本上使用很多的, c+lua的框架。 skynet只能算是网络层的轮子但是因为其众多的用户还是很不错的 https://github.com/cloudwu/skynet A lightweight online game framew...阅读全文

Java程序员,到底要不要转行大数据?

前几天有个朋友在群里提问:如何看待大数据的未来?有必要转大数据方向吗? 关于这个问题,谈谈我的思考。伴随公有云厂商的兴起,大数据的应用进入了2.0时代。 传统大数据那种需要大量购买机器以及Hadoop发行商版本的时代一去不复返了,企业可以非常便利的按照自己的需要,在云端弹性的分配资源,并按照使用量付费。这使得大数据技术不但进入到了传统意义上的大中型企业,更是深入到了各行各业的小企业和创业者。另外一个方面,数据驱动这个伴随大数据兴起的理念,在10年前还有点前卫,到如今伴随谷歌,脸书,阿里,今日头条...阅读全文

DCRM 5.0发布,Defi时代真正到来

FUSION Foundation成立于2018年,旨在创建一个数字世界中无边界且互联的金融系统。从一开始,FUSION便专注于此类系统所需的基础部分:“分布式控制权限管理(DCRM)”的跨链和跨系统解决方案。FUSION 很高兴地宣布,最新版本DCRM 5.0将在 11月25日作为开源实施发布。该版本提供了灵活的模块,能够供企业和个人于所在的环境和工作流程中进行创新。在此版本中,FUSION 仍然恪守其开源承诺,利用社区广泛的影响力来加速全球创新。 为什么互操作性如此重要 互操作性的重要性已在...阅读全文

Service Mesh 落地负责人亲述:蚂蚁金服双十一四大考题

2019 年的双十一是蚂蚁金服的重要时刻,大规模落地了 Service Mesh 并顺利保障双十一平稳渡过。我们第一时间与这次的落地负责人进行了交流。采访的开头:花肉:“这次大规模上了 Service Mesh ,双十一值班感觉是什么?”卓与:“Service Mesh 真的稳。” 图为卓与 TOP100 北京峰会分享现场图 落地负责人介绍Service Mesh 是蚂蚁金服下一代架构的核心,今年蚂蚁金服大规模的 Service Mesh 落地,我有幸带领并面对了这个挑战,并非常平稳的通过了双十...阅读全文

golang rabbitmq的使用(四)

之前几篇说了类似广播的fanout类型的Exchange,支持分类的direct类型的Exchange。在使用direct类型的Exchange中使用了log的例子,我们可以区分info, debug, warn, error类型的log。但是实际中可能还会有更进一步的需求类似,我希望看到系统内核的error日志信息,希望看到请求耗时最长的接口的debug日志。对于这样的需求就可以使用topic类型的exchange。 使用topic类型的exchange方法如下 (1)在producer和co...阅读全文

Segmentfault 2019-11-21 00:32:47 麦穗儿

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...阅读全文

|必拿offer系列|算法|你真的会写冒泡法吗?

# 什么是冒泡法? 冒泡法是基本排序算法的一种,它是稳定的排序算法,其时间复杂度是O(n^2) 下面引用冒泡法的wiki解释 > 冒泡排序(英语:Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 我现在使用go语言来实现一下go版本的...阅读全文

Go语言中文网 2019-11-20 11:35:24 googege