golang
文章平均质量分 88
Not_a_penny_to_name
这个作者很懒,什么都没留下…
展开
-
Go内存模型
go 内存模型介绍go 内存模型是在特定的情况下可以保证一个goroutine观察到的数据和另一个不同的goroutine写入的数据一致。happens before在一个goroutine中,写和读必须按照程序定义的顺序去执行。也就是说,只有在指令重排序不会改变语言规范定义的goroutine中的行为时,编译器和处理器才可以重新排序在单个goroutine中执行的读和写操作。 由于指令重排序,一个goroutine 观察到的是顺序可能和另外一个goroutine 观察到的顺序不同。例如 a=1;b翻译 2021-04-27 23:41:56 · 174 阅读 · 0 评论 -
provisional headers are shown问题排查
问题背景在业务中实现一个上传文件的功能,为了减少文件在服务器流转的次数,直接给前端在目标服务器上开放了一个api,用于上传文件, 在对接时前端发送请求时出现了 provisional headers are shown 报错请求直接被取消了。前端同学 搜索了下 就说是跨域问题,可以后端明明写了允许跨域,但问题依然存在。通过搜索引擎发现该问题出现的原因无外乎以下几点:跨域,请求被浏览器拦截请求被浏览器插件拦截服务器出错或者超时,没有真正的返回强缓存from disk cache或者from me原创 2020-06-30 12:53:48 · 16747 阅读 · 1 评论 -
【k8s】pod健康检查和可用性检查
【k8s】pod健康检查和可用性检查kubernetes 对pod的健康状态可以通过两种探针来检查:livenessProbe 和ReadinessProbe, kebelet 定期执行两类探针来诊断容器的存活状态。LivenessProb: 用于判断容器是否存活即Running状态,如果LivenessProbe探针探测带容器不见康,kubelet将会杀死该容器并根据重启策略做出对应的处...原创 2020-03-30 16:47:46 · 619 阅读 · 0 评论 -
【Golang】细数go语言中的各种占位符
【Golang】细数go语言中的各种占位符占位符作用%s正常输出字符串%5s正常输出字符串且最小宽度为5,不足前面补充空格%-5s正常输出字符串且最小宽度为5,不足后面补充空格%q输出字符串,并加引号%#q输出字符串,并加反引号%x输出小写16进制% x输出带空格的小写16进制% X输出带空格的大写16进制%d...原创 2020-03-22 14:41:16 · 1291 阅读 · 0 评论 -
【Golang】 golang 访问控制框架casbin
一。 开始Casbin 是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。ACL (Access Control List, 访问控制列表)具有超级用户 的 ACL没有用户的 ACL: 对于没有身份验证或用户登录的系统尤其有用。没有资源的 ACL: 某些场景可能只针对资源的类型, 而不是单个资源, 诸如 write-article , read-log 等权限。...原创 2020-01-12 22:26:10 · 897 阅读 · 0 评论 -
【harbor 源码学习】harbor中的访问控制
一 前言harbor 是 vmware 开源的一个企业级的容器镜像服务,他的访问控制使用了 casbin 框架。Casbin 是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。二 casbincasbin 支持以下的访问控制模型,harbor 就是支持支援角色的 rbac:ACL (Access Control List, 访问控制列表)具有超级用户 的...原创 2020-01-12 15:57:48 · 777 阅读 · 0 评论 -
【harbor 学习】Registry 配置基于token的认证
【harbor】Registry 配置基于token的认证1. 前言registry默认配置下是没有认证授权的,在没有认证的情况下用户可以在registry种为所欲为,需要认证授权则需要额外配置。基于token认证的方式可以很好的将registry和认证中心解耦,并能具有很高的安全性。harbor也是基于token的认证方式2. docker login之前的文章写到过docker lo...原创 2019-12-11 17:53:27 · 3452 阅读 · 1 评论 -
goland 调试docker容器中的go代码
goland 调试docker容器中的go代码前言:为什么需要去远程容器中的go代码?最近正在看Harbor的源码,由于本人电脑是windows 无法直接启动进行debug,后来搭了一个CentOS 的桌面环境,又发现启动需要很多很多环境参数…而且还有很多其他组件都是运行在docker上,使用linux系统启动的方案又失败了!后来查了好多资料,找到delve这个插件,该插件可以在docker容...原创 2019-12-03 19:54:43 · 4040 阅读 · 0 评论 -
【Go学习笔记】 使用Beego创建Mvc项目
【Go学习笔记】 使用Beego创建Mvc项目安装beegobeego的安装是典型的Go安装包的形式:$ go get github.com/astaxie/beego安装bee 工具$ go get github.com/beego/bee创建项目beego 创建项目通过 bee 命令来创建$ bee new image-service输出:______| ___ \...原创 2019-11-10 13:10:13 · 225 阅读 · 0 评论 -
【Go学习笔记】go指南练习题牛顿法
【go学习笔记】go指南练习题牛顿法最近在学习golang 在它的教程网站上有一道练习题练习题地址package mainimport ( "fmt" "math")/*** x 被开方的数* y 循环次数 次数越多越准确**/func newton(x float64,y int) float64{ z := 1.0 for i := 0;i<y ;i++...原创 2019-10-16 13:01:57 · 270 阅读 · 0 评论