[go] Gin中间件中获取request.body
背景 参考issue 线上有个中间件开发需求,需要对请求内容进行部分过滤。由于默认http.Request.Body类型为io.ReadClos
背景 参考issue 线上有个中间件开发需求,需要对请求内容进行部分过滤。由于默认http.Request.Body类型为io.ReadClos
背景 Go依赖包的管理一直是个诟病,不管是google groups社区还是gopherchina一些会议和meetup,大家都会常聊到相关话题
[TOC] golang-lru包学习 - 2Q算法 2Q算法 代码:2Q 论文:A low overhead high performance buffer replacement algorithm 2Q算法的描述: 2Q与LRU/2对于LRU的改进在某种程度上存
[TOC] #golang-lru包学习 - ARC算法 ARC算法 代码:ARC Wiki:Adaptive replacement cache 论文:A low overhead high performance buffer replacement algorithm ARC算法的描述 ARC算法是为了整个LFU和LR
[TOC] 放春节长假的前一晚,线上有需求留在公司加班,下班回来已经快到凌晨睡不着,兴起干脆把总结也写了。 在学习上,今年收获比较多的主要是两个事情,一
[TOC] golang-lru包学习 - simple-lru simple-lru 代码:simple-lru LRU算法核心是把最近使用的条目放到靠近缓存的顶部位置,最少使用的条目自然会被移
[TOC] 分布式学习路线 博客 名称 简介 地址 Leslie Lamport Paxos作者,分布式系统专家 http://lamport.azurewebsites.net/pubs/pubs.html 论文 相关资源地址:https://github.com/DennisMa
并发模型 写了一个示例代码,讲解一些实际工作中用到的并发模型(生产者/消费者组合)和一些并发下的函数处理方案. 在使用go并发时候有以下内容需要
[TOC] go module workflow 原作者: github.com/ofree8 夜读群里的叶飞 参照视频 一、创建新工程 > mkdir /tmp/test-project && cd /tmp/test-project > # > go mod init github.com/ofree8/test-project 二、增加三方库 > # 方式一: > go get -v go.uber.org/zap > # 方式二: import (go.uber.org/zap) // in file source.go
[TOC] 背景 收集了一些比较好的微服务和DevOps的Roadmap,后续会整理出一套完整的脑图,由于近些年新的组件层出不穷Roadmap会不断更新
基础 分布式Log概念 分布式锁-redis 数据库 关系型 分库 方案虽好,成本先行:数据库Sharding+Proxy实践解析 mysql中间件研究(
[TOC] B-tree 库介绍 btree本库是go语言的Btree的一个实现。Btree跟二叉树相比,它是多路搜索,支持范围搜索而且搜索效率稳定。 使用方法 测试代
[TOC] Harbor Harbor的定位可以看以下Docker Container的生命周期图 而Harbor的作用就是让企业可以搭建私有的Docker Regis
背景 有群友在使用gin作为服务端后台,给vue前端处理跨域请求时候遇到点问题。前端使用Axios发送Post请求时候增加了自定义的Heade
[TOC] 背景 The Google File System 在6.824中以谷歌的分布式系统作为例子对分布式系统架构与实际应用做了介绍,也是对分布式系统的一个基本印象,以下为自己的一些学
[TOC] 背景 在学习6.824时候lab2需要研究分布式一致性算法,课程为了方便学生理解,算法由Paxos改成Raft。本文是在阅读《In Search of an Understandable Consensus
背景 同事在使用Dep拉取依赖包时候发现构建执行时部分资源文件丢失导致执行失败.但是go get和git clone下的$GOPATH/src/g
背景 最近有个程序灰度上线,一周会有两次异常退出,检查程序的日志未发现异常,想起可以通过检查Linux系统的日志找出具体问题。整理了一下常用的
背景 如同在走HTTP开发,在用grpc做服务时候也会有遇到需要获得请求端地址做统计或计算的需求,现有的api没有能像net/http库封装那
背景 项目中由于需要底层业务需要动态调整,调研后组里决定使用plugin方法来解决动态加载业务的问题。 在使用过程中发现,当公共库更新后,只要平
解决Go Http服务出现大量Timewait 背景 运维反馈得知有少部分机器上出现了大量的TIME_WAIT,上面运行着一个老版本的Go写的Ht
使用Minikube搭建模拟本机K8s实验环境 [TOC] 前言 由于研究istio需要,准备在本机搭建一套k8s环境,测试完成后再部署到线上。通过搜集了
Go源码-map类型与实现 go项目分支:release-branch.go1.5 代码地址:https://github.com/golang
【Go】版本控制-dep介绍与应用 [TOC] 介绍 Go Dep工具是官方实践也是推荐的一款Go语言工程依赖管理工具。用法跟govendor相似。原理都是把
前言 工作中遇到转来使用Go语言的朋友或者同事,基本都是从现有语言,像C++和JAVA转来。所以在平时交流时候多少会需要引用到以前所学的一些概
前言 之前在捣鼓爬虫时候,顺便整理了下常见的HTTP状态码。后面参与web服务开发,更深入理解,故又重新整理。如有描述不正确的地方,欢迎指出,
日常整理的优秀博客和资源站点 Go 雨痕 Dave Russ Cox mattn 日文的要翻译 xargin(曹春晖) Ciro (cncf/linux/go) mzh Go汇编,Arm平台优化 Linux thegeekdiary 中间件 王亚普 美团基础架构 中间件
日常整理一些的经典技术书籍和文章。 精彩文章 2019 2018 2017 论文与刊物 计算机科学刊物 计科顶刊 usenix 操作系统、体系结构、存储 后端 基础 编程之法:面试和算法心得 算
日常整理的技术和组件开发文档和工具网站,方便日常使用。 工具站 IP地址查询 Linux指令 Linux Top指令 系统镜像与安装包 数据库 关系型 MySQL MySQL 5.7 变量快查
到了年末,谈谈这一年的收获与坑。 所参与的项目从C++转到Go有两年,产品今年已经正式投入到线上商用运行。自己也从刚开始的基础模块设计开发,逐
背景 年中时候着手用hugo搭建自己的技术博客。由于hugo同hexo一样,生成出的都是纯静态的页面。因此可以使用github来作为服务器存放
基础 git-flow 图示 Linux 内核網路部分文章集合 后端开发Roadmap 数据库 关系型 MySQL_千万级的大表要怎么优化(读写分离、水平拆分、垂直拆分) Post
实现方法 Beego 在controller处理上提供了GetFile和GetFiles方法,以获取MultipartForm里的文件内容。详细说明查看
背景 在项目中有遇到JSON格式的数据流,对接的数据源其内容格式会有变化,但是内部会有字段表示其内容的类型,比如以下结构: type DataJson struct { JsonType string `json:"json_type"` Data interface{} `json:"data"`
基础 数据库 关系型 非关系型 深入理解etcd Etcd v3 服务注册与发现 Go代码 架构 高并发 分布式 设计模式 DDD TDD,BDD,FDD&ATDD 业务 AWS开发工具包发布适用Go 2.0的开发者
前言 译者: Razil 本文译自: System monitoring with InfluxDB vs Elasticsearch 系统的监控一直都扮演着重要角色。它能帮助我们了解系统的健康情况,发现问题甚至能预测问题。 如今,由于以下这些
背景 前些天用Python实践了一下爬虫功能,强大的requests库、re库、beautifulsoup库和scrapy框架以及其附属的分布
websocket是什么? Websocket最起初是在HTTP协议的基础上发展而来,后独立成为了一个标准。其特点是只要建立一次连接,即可保持
Proto3 是什么? 最近正在使用gRPC,当前版本gRPC使用的是google开发的Proto 3版本,因此顺带写一篇。Proto 3全称是 Protocol buffers v3.0,
gRPC是什么? gRPC是由谷歌开发的一款高性能,通用的开源RPC框架,基于HTTP/2协议标准设计.支持全双工、双向流、流控制、头部压缩单
应用 在Beego Orm中,作者使用了go的反射机制,实现 1、通过数据模型建立数据表 type DataSheet struct { Name string orm:"NOT NULL" json:"name" //表名称 Type string orm:"NOT NULL" json:"type" //周期类型 日/月/
最近在调用golang.org/x/net出现这个错误。经检查后解决方法如下。在调用外部包时候出现这种情况,应检查以下设置 > 1.目标外部包的
/*********************************************************** *名字 golang 正则工具 *功能 支持数字,字母,字符,常用信息(电话,邮箱)等的正则匹配 *作者 Razil ************************************************************/ package models import ( "regexp" ) type RegexCheck struct { } /************************* 自定义类型 ************************/ //数字+字母
目标功能 使用go语言实现基本http服务 访问 localhost:8080 时能够返回 “hellodocker” 将工程部署到docker,并在后台启动 环境介绍 docker: golang: host(宿主机环境): Mac os 10.12 重
常见加密方案 1、对称加密 即加密方和解密方都使用相同的加密算法和密钥,这种方案的密钥的保存非常关键,因为算法是公开的,而密钥是保密的,一旦密匙
C VScode c/c++开发环境 有趣项目 Go redis 3.0源码注释 redis源码 beego go语言web框架