介绍一款Go项目热编译工具-gowatch

使用场景 在golang项目编写过程中,需要对项目不断的进行构建go build并调试以快速发现问题,而我们每次进行手动的进行go build又太重复,所以写了这么一个工具gowatch来实时的监听文件的改动并编译。 快速入门 安装使用 go get github.com/silenceper/gowatch 安装完成之后,在main包目录下执行gowatch命令: gowatch 高级用法 支持的命令行参数: -o : 非必须,指定build的目标文件路径 -p : 非必须,指定需要build...阅读全文

阅读:2648 评论:0

go-kit 微服务 系列文章归档

## go-kit 微服务 系列文章归档 - go-kit 里面核心的东西有三层分别是:Transport、Endpoint、Service + Transport 层主要负责与网络层相关逻辑 + Endpoint 层主要负责请求数据与返回数据格式的转换,以及公用中间件逻辑 + Service 层业务逻辑 ### go-kit 更像是一个微服务的工具集,而不是一个完整的框架,里面包含了限流,日志,服务注册与发现,熔断,服务监控,链路追踪等相关工具方法 ...阅读全文

2020-01-15 09:13:09 hwholiday
阅读:1193 评论:1

[Golang软件推荐] RSA公私钥加解密(解决Golang私钥加密公钥解密问题)

安全是软件开始中很重要的一个环节,在金融场景以及设计资产的场景下更是如此,在加密算法中主要使用较多加密方式分别是对称加密和非对称加密,对称加密中的代表是AES,DES,3DES等,非对称加密中使用比较多的是RSA,ECC等,最近火热的比特币中就使用ECC椭圆曲线算法,本篇文章主要是笔者在使用Golang在使用RSA中使用私钥加密公钥解密中遇到的问题,以及寻找的解决方案进行阐述,希望可以帮助到大家! 附上: 喵了个咪的博客:w-blog.cn gorsa-Github地址:https://gith...阅读全文

2020-02-21 14:32:48 文振熙
阅读:1622 评论:0

golang 解析html时把url转绝对路径

golang 解析html时把url转绝对路径 在golang解析html时,常遇到img、a标签的资源地址为相对路径[../,./]的情况,这时就需要一个方法把这些地址转换为绝对路径。 // 返回url的绝对地址 // currUrl 当前url func absUrl(currUrl, baseUrl string) string { urlInfo, err := url.Parse(currUrl) if err != nil { return "" } if urlInfo.Schem...阅读全文

2020-02-25 22:32:52 _老七
阅读:1496 评论:0

EMQ百万级MQTT消息服务(TLS Docker Golang)

在这里插入图片描述 附上: 喵了个咪的博客:w-blog.cn EMQ官方地址:http://emqtt.com/ EMQ中文文档:http://emqtt.com/docs/v2/guide.html 1.TLS证书验证 为了保障安全.我们常常会使用HTTPS来保障请求不被篡改,作为MQTT使用TLS加密的方式来保障传输安全 EMQ默认使用的TLS加密的端口是8883端口,默认证书在EMQ目录下etc/certs: 对应的配置文件在emq.conf中,可以修改你的端口和配置文件路径 liste...阅读全文

阅读:688 评论:0

微信用户加密数据解密 -golang版本

背景 因为小程序先前端获取的用户数据的openId和UnionId属于用户隐私数据,需要进行对用户加密数据进行解密才能获取,官方提供的有解密demo有php,python,C++等语言版本的,但是没有golang版本,所以今天写下博客,写下golang版的解密。 加密数据解密算法 接口如果涉及敏感数据(如wx.getUserInfo当中的 openId 和 unionId),接口的明文内容将不包含这些敏感数据。开发者如需要获取敏感数据,需要对接口返回的加密数据(encryptedData) 进行...阅读全文

阅读:3114 评论:0

手把手教你写一个完美的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 ....阅读全文

阅读:2289 评论:0

职场新手引导-Golang后端开发流程演示

对于职场新手来说,进入一家新公司,除了要搭建一下开发环境,还需要了解一下项目组的开发流程。只有在了解了开发流程后,才能真正参与到项目的开发中,那么接下来我就介绍一下常见的开发流程,并用Github仓库来一步步演示如何开发。首先介绍一下开发流程的10个步骤: 开发流程 接受需求任务 创建需求分支 编写需求代码 编写测试代码 Push需求分支 提交Pull Request 触发CI代码检测 人工代码Review 合并到主干分支 完成需求任务 接下来我就会在Github中演示一下开发流程,演示的Git...阅读全文

2020-03-29 01:33:08 撩课学院
阅读:1162 评论:0

golang validator参数校验 中文

今天在改后台页面,参数校验错误时输出全是英文,使用着很难看懂到底时什么错了 故而决定去做i18n前端国际化. 改的时候踩了很多坑,故而记录一下,顺便记录以下查问题的方式。 效果 从原来的Title is required变为标题为必填字段 完成后的代码: 这里主要定义了初始化了一个中文的trans和Validate的变量,并对其做初始化 初始化主要做了以下事情: 注册了TagName函数 // RegisterTagNameFunc registers a function to get alt...阅读全文

2020-04-06 04:32:42 darcyaf
阅读:4540 评论:0

想获取唯一ID?常见发号器、ID分配器方案对比介绍

发号器应具有的特性: 发号器作为一个独立的系统对外提供服务、满足高可用、高并发、弱依赖、不存在单点问题 服务自我监控与治理 现有系统接入成本低 ID具有唯一性:不能出现重复的ID号 趋势递增 实现方案目前常见的发号器实现方案如下1.UUID UUID(Universally Unique Identifier)的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的36个字符,示例:550e8400-e29b-41d4-a716-446655440000。 优点: 性能非...阅读全文

2020-04-16 19:32:34 Charles_Wong
阅读:1308 评论:0

【实践】从零开始一个文件分块上传【后端为Golang】

此系列皆为实践系列,看到一些demo主动去实现它并与之分享。 今天刚好看到了一片文章分块上传的文章,自己并没有实现过。思来想去实践一下并且前后双端进行实现。文笔不好请多担待,不明白评论看到即回。俗话事吃水不忘挖井人,附上文章链接 大规格文件的上传优化---凹凸实验室 整体思路 文件分块上传: 主要利用前端Blob进行Slice切块。然后后端这边把这几个分块合并成一个完整的文件(File是继承Blob对象) Blob MDN参考链接 断点续传 该功能也是在文件分块上传的基础上进行实现的。我们把一个...阅读全文

2020年05月15日 Stranger
阅读:3567 评论:1

Golang用300行代码实现内网穿透

原因分析 我们经常会遇到一个问题,如何将本机的服务暴露到公网上,让别人也可以访问。我们知道,在家上网的时候我们有一个 IP 地址,但是这个 IP 地址并不是一个公网的 IP 地址,别人无法通过一个 IP 地址访问到你的服务,所以在例如:微信接口调试、三方对接的时候,你必须将你的服务部署到一个公网的系统中去,这样太累了。 这个时候,内网穿透就出现了,它的作用就是即使你在家的服务,也能被其人访问到。 今天让我们来用一个最简单的案例学习一下如何用 go 来做一个最简单的内网穿透工具。 整体结构 首先我...阅读全文

2020-05-26 09:32:45 LinkinStar
阅读:1696 评论:0

Golang常规加密算法

前言 为了使平时工作更加高效,自己使用golang对常规加密算法进行了封装,方便在以后的工作中直接使用。 项目地址 实现功能 实现的功能如下: 对称加密 Type Mode Padding DES ECB/CBC PKCS5/PKCS7/Zero/None 3DES ECB/CBC PKCS5/PKCS7/Zero/None AES ECB/CBC PKCS5/PKCS7/Zero/None DES CFB/OFB/CTR/GCM 3DES CFB/OFB/CTR/GCM AES CFB/OFB...阅读全文

2020-06-12 06:32:43 心中的日月_pyihe
阅读:894 评论:0

Golang技巧之默认值设置的高阶玩法

从别人的代码中吸取养分!让自己成长 最近使用 GRPC 发现一个设计特别好的地方,非常值得借鉴。 我们在日常写方法的时候,希望给某个字段设置一个默认值,不需要定制化的场景就不传这个参数,但是 Golang 却没有提供像 PHP、Python 这种动态语言设置方法参数默认值的能力。 低阶玩家应对默认值问题 以一个购物车举例。比如我有下面这样一个购物车的结构体,其中 CartExts 是扩展属性,它有自己的默认值,使用者希望如果不改变默认值时就不传该参数。但是由于 Golang 无法在参数中设置默认...阅读全文

2020年06月24日 大愚Talk
阅读:5388 评论:0

golang 设置程序图标

在 Windows上每次build出来的程序图标,都是Windows的默认图标,贼拉丑 给我们的程序配上一个好看的图标,为啥不给Linux配? 因为服务器多是文本界面的命令行 你配置上去也不会显示,哈哈哈 第一步: 建立一个 后缀为 .manifest 的文件, 本示例使用ico.manifest,写入内容 下面的内容为通用内容,直接复制就好,啥都不用改 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns...阅读全文

2020-07-14 07:32:56 一玖玖肆
阅读:4722 评论:0

golang mysql实现

按照python思想,简单实现新增、查询、修改、删除接口 package utils import ( "fmt" "strings" "database/sql" _ "github.com/go-sql-driver/mysql" ) // DBWorker ... type DBWorker struct { Dsn string Db *sql.DB } // 内部通用方法提取 func commomOperate(db *sql.DB, sql string, args ...inte...阅读全文

2020-08-26 17:32:47 最爱啥都想
阅读:868 评论:0

Golang创建私有仓库

Git配置 GitLab远程仓库配置 代码仓库选择的是GitLab 在GitLab创建代码仓库的群组,这里不要创建子组,否则,在go get的时候,无法获取tag,这个是GitLab的问题。创建之后的路径demo:gitlab.domain.com/group/project。 由于是公司内部使用,所以项目的Visibility Level 设置为 “内部” 即可。 在GitLab的设置中,设置“访问令牌”,Scope 选择 read_repository。 本地Git配置 在本地的git中设置...阅读全文

2020-09-08 15:54:16 田佳伟
阅读:5862 评论:0

智能风控决策引擎系统可落地实现方案(一)规则引擎实现

内容转自微信公众号,技术岁月 techyears,关注第一时间获取最新文章 I.决策引擎系统介绍 风控决策引擎系统是在大数据支撑下,根据行业专家经验制定规则策略、以及机器学习/深度学习/AI领域建立的模型运算,对当前的业务风险进行全面的评估,并给出决策结果的一套系统。 image 决策引擎,常用于金融反欺诈、金融信审等互金领域,由于黑产、羊毛党行业的盛行,风控决策引擎在电商、支付、游戏、社交等领域也有了长足的发展,刷单、套现、作弊,凡是和钱相关的业务都离不开风控决策引擎系统的支持保障。决策引擎和...阅读全文

2020-09-23 02:32:40 贺鹏Kavin
阅读:2534 评论:0