自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Go 100个容易犯的错误总结(下篇)

有的时候我们定义函数的时候返回值会加上一个具名的字段,比如下面接口里面的方法定义,就能看到这个里面的函数的具体每个结果返回的含义是什么。上面的 (2) 里面我们其实已经逻辑出错了,但是 err 并没有赋任何值,导致上游的调用其实返回的 error 是一个空的 nil。从 Go 1.13 开始,error 的类型的判断请使用 As,判断是否是特定的 error 请使用 Is,不要使用 ==好的 error 处理是只打印一次 error 日志,并且能够通过 error 的信息观察到知悉具体的函数调用的过程。

2024-07-29 00:53:58 925

原创 Go 100个容易犯的错误总结(上篇)

Slice 底层其实也是利用的数组,但是数组是一个固定的结果,也就是无法动态扩容,所以原来切片的底层数组只能存储到元素4空间就满了,当我们继续 append 新的元素时,就会触发数组的拷贝。假定一种情况,我们接受到 IntConfig 结构体,但是在我们的逻辑里面只关心怎么获取对应的配置的具体的值,我们不想任何人修改或者更新,就是要禁用 Set 操作。为了避免灵活性降低,一个好的函数返回参数应该避免是接口,而是一个具体的类型,因为如果返回的是接口类型,那么上层调用的所有客户端必须都依赖一个同样的抽象。

2024-07-21 21:46:35 1032

原创 Ekuiper-快速上手

LF Edge eKuiper 是物联网数据分析和流式计算引擎。它是一个通用的边缘计算服务或中间件,为资源有限的边缘网关或设备而设计eKuiper 采用 Go 语言编写,其架构如下图所示:使用 eKuiper,一般需要完成以下三个步骤。创建流,就是你定义数据源的地方写规则为数据分析写 SQL指定一个保存分析结果的目标部署,并且运行规则源从其他系统(如 EdgeX foundry)将数据输入到 eKuiper,这些系统被定义为流。

2024-05-26 21:09:57 1121

原创 k8s的几种client的区别

明白了上面问题的原因后我们仔细思考,因为我们线上服务多实例,但是只有一个主实例会做 Reconcile 操作,理论上是不会存在其他的 controller 来对这同一资源进行操作的;于是我们将问题的怀疑源头转移到这两个 client 上,是不是这两个 client 混用导致的,这两个client 的区别到底在哪里呢。但是我们观察对资源更新操作的时候,发现我们的资源更新的 client 居然是混着用的,下面这两者都有使用。代码如下,如果一个k8s的 Reconcile 结构体,用来同步node相关的信息。

2024-05-12 23:32:31 810

原创 k8s网络

单机容器网络这里以 docker 为例进行分析原理每启动一个容器, docker 会给对应的容器分

2024-04-28 09:23:52 936 1

原创 FRP内网穿透

是一个专注于内网穿透的高性能的反向代理应用,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网;只需要通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟代理组间的负载均衡端口复用,多个服务通过同一个服务端端口暴露。

2024-03-24 21:25:54 1827 1

原创 K8S集群安全机制

由于API-Server 是 Kubernetes 集群数据的唯一访问入口,任一 Kubernetes API 的访问都属于以下三种方式之一:以证书方式访问的普通用户或进程,包括运维人员及 kubectl、 kubelet 等进程以 Service Account 方式访问的 Kubernetes 的内部服务进程以匿名方式访问的进程两种用户账号集群内部的 Service-Account,但它并不是给 Kubernetes 集群的用户(系统管理员、 运维人员、租户用户等)用的,而是给运行在 Pod 里的进程用

2023-08-27 15:19:48 626 3

原创 Go 后端服务通用架构

Delivery层:暴露接口给外部调用,该层主要目的是请求参数校验和 response 的结果返回,不处理任何业务逻辑。依赖关系就是:delivery 层依赖 usecase 层, usecase 层依赖 repository 层。Repository层:只用操作数据库,执行数据库的增删改查;我们在 go-clean-arch 的基础上,稍加改进形成下面的代码工程架构。Model层:用来存放接口的实现以及一些相关的结构体struct。对各个层进行的单元测试可以对接口使用。进行 mock 测试。

2023-05-28 13:32:14 635 1

原创 数据库迁移应该怎么做

数据库迁移应该怎么做

2023-05-17 08:59:07 419

原创 Pod 内是如何与 APIServer 进行交互的

Pod 如何访问 API-Server 的

2023-04-24 23:53:21 693

原创 git remote prune origin 的用法

在团队开发项目中,我们经常会存在协作开发的问题,这就会出现一种很常见的现象,有的分支在远程其实很早就被删除了,但是你在本地由于之前的缓存仍然能看到这些远程已经删除掉的分支。比如我这个代码库,可以看到我这个远程分支其实只有 develop 和 master 两个分支。,可以发现现在本地缓存的远程分支已经被删掉了,只剩下两个远程确实存在的分支信息。也能发现确实只有两个有效的远程分支了。发现我们本地其实缓存了好多远程分支。也能发现这里确实缓存了好多远程分支。

2023-04-05 16:38:44 994

原创 golang的Context

  为什么需要 Context:在并发程序中,由于超时、取消操作或者一些异常情况,往往需要进行抢占操作或者中断后续操作  举个例子:在 Go http 包的 Server 中,每一个请求都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和 RPC 服务,用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的token、请求的截止时间。 当一个请求被取消或超时时,所有用来处理该请

2022-03-06 20:24:30 2792

原创 Linux 下利用 PicGo 配置 Github 图床

第一步: 进入 https://github.com/Molunerfinn/PicGo/releases 下载PicGo, 注意 Linux 下下载后缀名为 APPIMG 版本第二步: 安装 PicGo 即可第三步: 鼠标右键设置 Github 图床即可 第四步: 上传太慢需要配置 CDN 加速器...

2021-11-28 19:55:48 966

原创 非科班学生党的2022秋招之路 -- 一路艰辛

自我介绍楼主非科班,本科就读于某一所二本学校,专业为土木工程;之后研究生到一所一般的985院校读了力学相关专业,因为读研期间会用到C++语言,去年九月份就决定去互联网参加工作,之后便开始了今年的秋招之路顺便说一句,互联网大厂真的欢迎任何对技术有热爱的同学,希望像我这般非科班而且学校又不是太好的同学千万不要对自己持怀疑态度啊收获情况先来说说 BAT 吧,估计大家都投了这些大厂百度:提前批就投递了,结果一个半月没有人约我面试,最后等到正式批次将近9月中旬才给我发笔试链接。。。,因为后来想好了.

2021-10-16 21:15:21 1203 3

原创 释放容器内存的三种方式

首先明确容器中的 size( ) 函数是用来返回当前容器中的元素的个数;而 capacity( ) 函数则是用来返回容器内存空间即缓冲区的大小;1.方法一:直接声明同一个匿名容器类型与原有容器交换,匿名容器会自动销毁;vector( ).swap(num);2.方法二:先声明一个临时对象,然后与目标容器交换数据;...

2020-08-17 19:25:20 2048 1

原创 Windows下使用teamviewer连接Linux桌面端的技巧

1.teamviewer是一款非常好用的远程连接工具,需要远程连接的两端只要各自下载好软件,再登录teamviewer所出现的ID号即可连接成功。下面介绍连接的几点注意事项(利用Ubuntu演示):1.teamviewer最好连接双方都下载最新版,而且连接方和被连接方的teamviewer版本要完全一样才可(比如:连接方安装的是64位的版本,被连接方安装的是32位的版本,这种情况可以连接上,但...

2020-04-28 15:04:57 1728

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除