欢迎光临
我们一直在努力

golang

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

Go语言使用TCP_NODELAY控制发包流量

admin阅读(50)评论(0)赞(0)

编写健壮且高性能的网络服务需要付出大量的努力。提高服务性能的方式有很多种,比如优化应用层的代码,更进一步,还可以看看垃圾回收器,操作系统,网络传输,以及部署我们服务的硬件是否有优化空间。 TCP/IP协议栈中的一些算法会影响到服务性能。本文...

Golang sql.DB 优化配置

admin阅读(38)评论(0)赞(0)

原文: Configuring sql.DB for Better Performance 网上有很多教程介绍 sql.DB , 以及如何使用它来执行SQL数据库查询和语句, 但是大部分都没有介绍 SetMaxOpenConns() 、 S...

golang-module代理设置-IT技术资讯

golang-module代理设置

admin阅读(36)评论(0)赞(0)

在Go 1.13版本中,GOPROXY代理比较成熟了,可以很方便的设置代理。      设置GOPROXY代理 目前国内比较好用的代理,可以用goproxy.cn 设置GOPROXY代理 go env -w GOPROXY=https://...

golang异步kafka生产者

admin阅读(32)评论(0)赞(0)

在实际业务场景中,为了提高系统的实时性,减轻日志存储压力,需要将日志直接生产至消息中间件,减少flume或flumted收集所导致的延时及性能压力,本文实现了一下功能: 实现了一个静态调用的异步生产者    AsyncProducer 封装...

kafka的go版本api使用

admin阅读(48)评论(0)赞(0)

概述 go语言版本的kafakaAPI 准备 golang sarama 简单使用 生产和消费的过程都是通过一个配置开始的. 生产者 //设置配置 config := sarama.NewConfig() //等待服务器所有副本都保存成功后...

go http 服务器编程-IT技术资讯

go http 服务器编程

admin阅读(31)评论(0)赞(0)

1. 初识 http 是典型的 C/S 架构,客户端向服务端发送请求(request),服务端做出应答(response)。 golang 的标准库 net/http 提供了 http 编程有关的接口,封装了内部TCP连接和报文解析的复杂琐...

使用 pprof 和火焰图调试 golang 应用-IT技术资讯

使用 pprof 和火焰图调试 golang 应用

admin阅读(57)评论(0)赞(0)

什么是 Profiling? Profiling 这个词比较难翻译,一般译成画像。比如在案件侦破的时候会对嫌疑人做画像,从犯罪现场的种种证据,找到嫌疑人的各种特征,方便对嫌疑人进行排查;还有就是互联网公司会对用户信息做画像,通过了解用户各个...

记一次golang的内存泄露-IT技术资讯

记一次golang的内存泄露

admin阅读(33)评论(0)赞(0)

程序功能 此程序的主要功能是将文件中数据导入到clickhouse数据库中。 【问题描述】 服务器内存每隔一段时间会耗尽 【问题分析】 由于使用的是go语言开发的,所以采用了业界流行的工具pprof。 参考URL: https://cizi...

Go 语言 2019 调查报告发布-IT技术资讯

Go 语言 2019 调查报告发布

admin阅读(39)评论(0)赞(0)

Go 官方博客昨日公布了 2019 年 Go 语言调查报告。本次调查收到的回复达到 10,975 份,约为去年的两倍。 这些受访者的反馈意见将被选取用于改进 Go 语言的发展。 以下是 2019 年度的调查报告摘要: 此调查中,受访者的受众...

golang中的new和make的区别-IT技术资讯

golang中的new和make的区别

admin阅读(48)评论(0)赞(0)

Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似。不过解释两者之间的不同也非常容易。 new new 的主要特性 首先 new 是内建函数,你可以从 http://golang.org/pkg/builtin...

Go基础系列:Go slice详解-IT技术资讯

Go基础系列:Go slice详解

admin阅读(48)评论(0)赞(0)

切片是 引用类型,底层指向是同一片地址 切片是 引用类型,底层指向是同一片地址 切片是 引用类型,底层指向是同一片地址 slice表示切片(分片),例如对一个数组进行切片,取出数组中的一部分值。在现代编程语言中,slice(切片)几乎成为一...

通过实例入门Golang

老王阅读(38)评论(0)赞(0)

如果想学会一门新语言,不仅要多读文档,还要多看别人写的代码,更要强迫自己用新语言多写代码。我在学习 Golang 之前,读过好几本相关的书籍,不过总感觉没真正学会,于是我决定动手用 Golang 写一个能用的工具试试,因为 Golang 最...

学习Golang的HTTP中间件机制-IT技术资讯

学习Golang的HTTP中间件机制

老王阅读(34)评论(0)赞(0)

因为 Golang 内置的 net/http 天生就支持 HTTP 中间件机制,所以即便不用 gin 之类的 Web 框架,我们也可以写出扩展性很好的 Web 应用。   假如你不了解 Golang 的 HTTP 中间件机制的话,...

如何实现一个定制的智能合约地址-IT技术资讯

如何实现一个定制的智能合约地址

老王阅读(37)评论(0)赞(0)

我学习智能合约的一个主要途径就是在 DappRadar 看各个热门应用的源代码,前些天我在看  dice2win 的时候发现一个有趣的现象:虽然它自从上线以来已经多次部署过智能合约,不过让人好奇的是这些地址有一个特点,都有一个和名字很像的 ...

如何解密keystore文件-IT技术资讯

如何解密keystore文件

老王阅读(44)评论(0)赞(0)

如果你用 geth 创建过账号「geth –datadir /path/to/data account new」,那么多半知道 keystore 文件,它通过一个 password 加密保存着账号的私钥: keystore 如果我想拿到加密...

golang —rune与byte

admin阅读(61)评论(0)赞(0)

golang内置类型有rune类型和byte类型。 rune类型的底层类型是int32类型,而byte类型的底层类型是int8类型,这决定了rune能比byte表达更多的数。 在unicode中,一个中文占两个字节,utf-8中一个中文占三...

Go 语言十年而立,Go2 蓄势待发-IT技术资讯

Go 语言十年而立,Go2 蓄势待发

admin阅读(59)评论(0)赞(0)

在21世纪的第一个十年,计算机在中国大陆才逐渐开始普及,高校的计算机相关专业也逐渐变得热门。当时学校主要以C/C++和Java语言学习为主,而这些语言大多是上个世纪90年代或更早诞生的,因此这些计算机领域的理论知识或编程语言仿佛是上帝创世纪...

golang fmt.Printf

admin阅读(37)评论(0)赞(0)

package main import "fmt" import "os" type point struct { x, y int } func main() { //Go 为常规 Go 值的格式化设计提供了多种打印方式。例如,这里打印了...

在Golang的HTTP请求中共享数据

老王阅读(39)评论(0)赞(0)

首先,我们需要先明确一下问题的描述:本文所要讨论的共享数据可不是指的 cookie、session 之类的概念,它们描述的是在「请求间」共享数据,而我们关注的是在「请求中」共享数据,也就说是,在每个请求中的各个 middleware 和 h...

To panic or not to panic

老王阅读(57)评论(0)赞(0)

大家都知道 Golang 推荐的错误处理的方式是使用 error,这主要得益于 Golang 方法可以返回多个值,我们可以很自然的用最后一个值来表示是否有错误,这一点是其它很多编程语言所不具备的,不过这多少让那些习惯了 exception ...

如何优化Golang中重复的错误处理

老王阅读(40)评论(0)赞(0)

Golang 错误处理最让人头疼的问题就是代码里充斥着「if err != nil」,它们破坏了代码的可读性,本文收集了几个例子,让大家明白如何优化此类问题。   让我们看看 Errors are values 中提到的一个 io...

Golang之Context的迷思-IT技术资讯

Golang之Context的迷思

老王阅读(45)评论(0)赞(0)

对我而言,Golang 中的 Context 一直是谜一样的存在,如果你还不了解它,建议阅读「快速掌握 Golang context 包,简单示例」,本文主要讨论一些我曾经的疑问。   Context 到底是干什么的? 如果你从没...

在Go语言项目中使用Zap日志库

admin阅读(44)评论(0)赞(0)

本文先介绍了Go语言原生的日志库的使用,然后详细介绍了非常流行的Uber开源的zap日志库,同时介绍了如何搭配Lumberjack实现日志的切割和归档。 在Go语言项目中使用Uber-go的Zap Logger 介绍 在许多Go语言项目中,...

go操作etcd-IT技术资讯

go操作etcd

admin阅读(35)评论(0)赞(0)

etcd是近几年比较火热的一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现,本文主要介绍etcd的安装和使用。 etcd etcd介绍 etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,...

Go标准库Context

admin阅读(65)评论(0)赞(0)

在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一...

第三方日志库logrus使用

admin阅读(36)评论(0)赞(0)

日志是程序中必不可少的一个环节,由于Go语言内置的日志库功能比较简洁,我们在实际开发中通常会选择使用第三方的日志库来进行开发。本文介绍了logrus这个日志库的基本使用。 logrus介绍 Logrus是Go(golang)的结构化logg...

Go语言基础之单元测试-IT技术资讯

Go语言基础之单元测试

admin阅读(32)评论(0)赞(0)

不写测试的开发不是好程序员。我个人非常崇尚TDD(Test Driven Development)的,然而可惜的是国内的程序员都不太关注测试这一部分。 这篇文章主要介绍下在Go语言中如何做单元测试和基准测试。 go test工具 Go语言中...

gRPC快速入门-IT技术资讯

gRPC快速入门

admin阅读(52)评论(0)赞(0)

RPC算是近些年比较火热的概念了,随着微服务架构的兴起,RPC的应用越来越广泛。本文介绍了RPC和gRPC的相关概念,并且通过详细的代码示例介绍了gRPC的基本使用。 gRPC RPC是什么 在分布式计算,远程过程调用(英语:Remote ...

GORM入门指南

admin阅读(36)评论(0)赞(0)

gorm是一个使用Go语言编写的ORM框架。它文档齐全,对开发者友好,支持主流数据库。 gorm介绍 Github GORM 中文官方网站内含十分齐全的中文文档,有了它你甚至不需要再继续向下阅读本文。 安装 go get -u github...