Golang库集合

golang用于创建和发送电子邮件的库 douceur - HTML 邮件中的内联 CSS email - 一个健壮的、灵活的 email 库 Go-dkim - DKIM 库,用于对 email 进行签名和验证 Go-imap - IMAP 库,用于客户端和服务器 Go-message - 用于触雷互联网消息格式和邮件的库 Gomail - Gomail 是一个非常简单且强大的库,用于发送电子邮件 Hectane - 轻量级 SMTP 客户端,提供 HTTP API hermes - 一个用于...阅读全文

2018.09.14 11:24* 大胡子商人
阅读:12337 评论:0

golang中的加密方式总结

缘起 因为项目中使用mysql的AES_DECRYPT方法,欲使用golang实现该方法, 但是研究了半天没明白怎么回事, 最后才发现golang当前默认支持CBC的方式,但是mysql当前使用的是ECB模式, 所以需要使用者分组分块加密,特总结一下golang中的各个加密算法 关于密码学 当前我们项目中常用的加解密的方式无非三种.对称加密, 加解密都使用的是同一个密钥, 其中的代表就是AES非对加解密, 加解密使用不同的密钥, 其中的代表就是RSA签名算法, 如MD5、SHA1、HMAC等, ...阅读全文

阅读:16822 评论:1

go-grpc环境搭建

前言: 随着微服务的兴起,现在 越来越多的 rpc 框架 开始出现,前段时间自己学习搭建了一下 grpc ,在这里记录一下,方便以后查阅和与大家一起分享一下。 第一步安装protobuf: protobuf 是Google推出的 一种高性能的 数据结构。和 json 和xml 一样 用于传输 数据。它的性能巨好。。。 先下载这个文件 https://github.com/protocolbuffers/protobuf/releases/download/v3.6.0/protoc-3.6.0-...阅读全文

阅读:837 评论:0

Kratos--安装及配置

安装GO环境 安装protoc以及相关的包和插件 https://www.jianshu.com/p/6942a361e455 安装Kratos Go version>=1.12 and GO111MODULE=on go get -u github.com/bilibili/kratos/tool/kratos 提示:安装过程中可能会出现部分包下载失败,可以手动下载包然后拷贝至相应文件目录。 快速开始 cd $GOPATH/src kratos new kratos-demo cd krato...阅读全文

2019.06.26 11:06* 凉初透的风
阅读:5571 评论:1

Go-module使用

以前都是通过govendor来做包管理,这个新项目打算用官方的go module实现包管理,用起来很简单,但是。。。坑也真大。 感谢中国的互联网环境让我们不被外界的不良声音所打扰,但是也对开发者有一些不便利的影响,比如下载包的时候被墙。 通过查阅资料,最后一些golang.org或者google.golang.org下的包可以通过github引入,而cloud.google.com/go就没有成功,最后clone了github上的项目,引入的本地包。 最后go.mod献上: module tra...阅读全文

2019.07.05 01:04 clawhub
阅读:650 评论:0

Golang常用的中间件使用总结

从接触go到现在大概接近一年时间了吧,主要用它来开发GPU集群管理的client端以及一些小的工具,例如:服务端mock测试、ID生成器等,给我的感觉就是高性能、低消耗、够轻量,所以在目前容器化、微服务化火热的今天,其扮演着重要角色,如:docker、k8s、istio、prometheus等都是基于go开发,国内很多一线大厂都开始主推go作为他们的服务端开发语言,如:头条、B站、流利说等,其生态也在不断的发展,今天主要将我之前用到过的常用组件和中间件总结分享一下,便于后续快速搭建开发环境。 G...阅读全文

2019.07.14 17:26 _男猪脚
阅读:657 评论:0

高性能高扩展golang http路由库erouter

erouter erouter是高性能高扩展http路由库,具有零内存复制、严格路由匹配顺序、代码复制度低、组路由、中间件功能、默认参数、常量匹配、变量匹配、通配符匹配、变量校验匹配、通配符校验匹配、基于Host路由这些特点功能。 设计说明 基于eudore框架路由分离,修改中间件机制并移除MVC。 RouterRadix RouterRadix使用基数树实现,具有零内存复制、严格路由匹配顺序、组路由、中间件功能、默认参数、常量匹配、变量匹配、通配符匹配功能。 example: package ...阅读全文

2019年07月25日 eudore
阅读:346 评论:0

gorm的缓存中间件

###### gcache是gorm的中间件,注入后gorm即刻拥有缓存。 ## Overview - 即插即用 - 旁路缓存 - 数据源使用 Redis - 防击穿 - 防穿透 #### 安装 ``` $ go get -u github.com/8treenet/gcache ``` #### 快速使用 ```go import ( "github.com/8treenet/gcache" "github.com/jinzhu/gorm"...阅读全文

2019-09-19 14:43:18 8treenet
阅读:3624 评论:1

golang面试常考问题

1.golang 1.进程模型 2.读写锁 3.syncMap 4.grpc 5.垃圾回收机制 2.mysql 1.优化案例 2.索引原理 3.docker 1.多步构建, 2.cgroup 4.k8s hpa 5.istio 6.elk 7.五种io模型 https://www.jianshu.com/p/a95bcb116765 8.如何实现分布式锁 9.channel 10.分布式算法 1.一致性hash 2.raft 3.时间轮阅读全文

阅读:1008 评论:0

Golang程序员开发效率神器汇总!

一. 开发工具1)sql2go用于将 sql 语句转换为 golang 的 struct. 使用 ddl 语句即可。例如对于创建表的语句: show create table xxx. 将输出的语句,直接粘贴进去就行。http://stming.cn/tool/sql2go.html2)toml2go用于将编码后的 toml 文本转换问 golang 的 struct.https://xuri.me/toml-to-go/3)curl2go用来将 curl 命令转化为具体的 golang 代码....阅读全文

2019年11月29日 Gundy
阅读:2697 评论:1

手把手教你写一个完美的Golang Dockerfile

引言 对于dockerfile而言,何为完美? 我认为应该满足以下三点: 体积小 构建快 够安全 话说不说,直接上拿走可用的Dockerfile。 FROM golang:1.13.5-alpine3.10 AS builder WORKDIR /build RUN adduser -u 10001 -D app-runner ENV GOPROXY https://goproxy.cn COPY go.mod . COPY go.sum . RUN go mod download COPY ....阅读全文

阅读:1680 评论:0

多阶段构建Golang程序Docker镜像

### Docker简介 Docker是基于Linux容器技术(LXC),使用Go语言实现的开源项目,诞生于2013年,遵循Apache2.0协议。Docker自开源后,受到广泛的关注和讨论。 ##### Docker在开发和运维中的优势 * 更快的交付和部署 使用Docker,开发人员可以使用镜像来快速构建一套标准的开发环境,开发完后,测试和运维人员可以直接使用完全相同的环境来部署代码,实现了生产环境的无缝运行。 * 更高效的资源利用 Docker容器的运行不...阅读全文

2020-05-06 21:00:14 939496716
阅读:482 评论:0

Golang 监控全局变量

前言 你是否曾经遇到过这样的情况,在开发环境排查问题,因为一些数据保存在了一些全局变量中,这些变量往往是一个 map 或者是一个数组,想看看在运行过程中,这里面究竟存放了什么数据,有时不得不在运行的时候将它输出到日志中,那么如果我想实时看到这些数据的情况又怎么办呢? 其实 golang 中已经存在这样的库,就是来做这个事情的 expvar 使用案例 废话不多数,直接上案例 package main import ( "expvar" "net/http" ) var ( s map[string...阅读全文

2020-06-15 10:33:06 LinkinStar
阅读:707 评论:0

本地环境进行https测试

使用openssl生成密钥privkey.pem: openssl genrsa -out privkey.pem 1024/2038 使用密钥生成证书server.pem: openssl req -new -x509 -key privkey.pem -out server.pem -days 365 证书信息可以随便填或者留空,只有Common Name要根据你的域名填写。 我输入的是 *.helailiang.com image.png 3.启用https服务 (golang) log....阅读全文

2020-07-14 07:32:56 亮子_a8be
阅读:902 评论:0

从最近的面试中学到了什么

面试经过 我第一场面试是面试的斗鱼,挺紧张的,不知道会面试我什么内容,后面面试完就释然了,听hr说面试官说很肯定我的技术,我还因此沾沾自喜。也没对那些问到我不会的东西去熟悉学习。同一天下午是腾讯面试,面试官一上来就是五道面试题,但是当时太紧张了,感觉自己表现不好。但是面试还是过了。 刚开始面试的节奏挺紧的,也都过了,腾讯三面也进入评估了,但是因为还有其他人对比评估,后边被刷掉了,说是工作经验的问题,因为大部分都是三年工作之后跳槽,我工作两年也挺吃亏的,就被刷了。后面hr帮我推给了其他部门,但是那...阅读全文

阅读:2095 评论:1

谈服务可用性监控

# 谈服务可用性监控 一个服务的监控从整体考虑,要达到哪些才能算是完善的?我想,如果没有一个全局性的监控思考,一个服务的监控即使加的再多也是会有监控盲区的。 # 监控的层次 从基础机器到上层业务,分为三个不同层次:系统,应用,业务。不同的层次都应该有其不同的监控目的。 ## 系统监控 这个层次监控服务所在服务器的可用性。服务器的各项基本指标是否正常。包括服务器的CPU,服务器的磁盘,服务器的内存等。 有的服务器会进行服务混布,这种监控更为重要。因为其他服务导致的服务器...阅读全文

2020-12-24 10:06:58 jianfengye110
阅读:540 评论:1

Go语言HTTP/2探险之旅

平台开发 360云计算 女主宣言大家都知道,Go的标准库HTTP服务器默认支持HTTP/2。那么,在这篇文章中,我们将首先展示Go的http/2服务器功能,并解释如何将它们作为客户端使用。PS:丰富的一线技术、多元化的表现形式,尽在“HULK一线技术杂谈”,点关注哦!在这篇文章中,我们将首先展示Go的http/2服务器功能,并解释如何将它们作为客户端使用。Go的标准库HTTP服务器默认支持HTTP/2。 HTTP/2 服务器首先,让我们在Go中创建一个http/2服务器!根据http/2文档,所...阅读全文

2021-03-21 19:42:02 mob604756f04b77
阅读:303 评论:0