自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (5)
  • 收藏
  • 关注

原创 解决日常 99% 的需求!! Linux find 常用命令参数和用法合集

命令则可以接收来自其他命令的输出作为参数,并将这些参数提供给其他命令作为输入。这两个命令的组合使用可以非常强大。命令可以非常方便地组合使用,以便在 Linux 系统中执行各种文件和目录操作。欢迎和我一起学习进步, 如果有什么问题, 可以给我私信留言。文件并对它们执行某个操作,比如删除。命令可以用来查找文件和目录。命令将每个文件路径作为占位符传递给。结尾的文件,并将它们的路径传递给。命令将每个文件路径作为参数传递给。结尾的文件,并将它们的路径传递给。命令可以用于查找文件和目录,而。命令,从而删除这些文件。

2023-03-24 10:45:50 155

原创 一款 k8s kubectl 命令 “人话” 翻译插件!! 离升空操作只有一步之遥

变量,则将使用Azure OpenAI服务。否则,它将使用OpenAI API。请注意,插件不知道集群的当前状态(尚未?),因此它将始终生成完整的清单。插件,使用OpenAI GPT生成和应用Kubernetes清单。欢迎和我一起学习进步, 如果有什么问题, 可以给我私信留言。API密钥和端点以及有效的Kubernetes配置。我的主要动机是避免在开发/测试时找到和收集随机清单。OpenAI分支的工作,该分支基于。

2023-03-24 09:42:26 167

原创 「Golang反射实战2」 只有接口也能实现深拷贝(deepcopy) 「抽奖送书」

而在自己实现编码的时候, 大部分情况的是可控的, 实现方式可以适当简化, 不用与 deepcopy 完全相同。搞一个 struct 创建并初始化接口, 可以携带和组织更多的信息。上面代码中, 我们将通过断言, 将 Operator 转称 OperatorIniter。在实现了初始化方法之后, 可以再定义一个接口。通常这种情况, 在自己写代码的时候,可以增加一个。是某个接口, 具体实现方法,我们可以不需要理解。在不增加新接口的情况下, 可以在反射创建的过程中。需要注意的是, 通过上述方式创建的出来的新对象。

2023-03-21 10:30:34 194

原创 Docker 连夜发文称强制清理免费组织, 是收割还是真穷?

申请加入, 但是有一定条件, Docker 会进行人工审核。从申请表格上来看, 已经列举了很多授权协议, 应该会限制很多商业公司的白嫖行为。如果你是开源项目, 并且想继续使用免费组织授权, Docker 提供了一个名为。不用担心, 如果在审核队列中, 可以忽略以上时间节点, 所有功能继续正常使用。欢迎和我一起学习进步, 如果有什么问题, 可以给我私信留言。对镜像进行分类管理。没什么了, 就是说付费好付费妙, 付费不导数据睡懒觉。2023年4月14日限制访问, 30天后清理内容。很遗憾, 从用户的角度来看,

2023-03-17 10:40:05 277

原创 Golang Context 生产应用案例(01): 链路追踪

文章中举了一个例子说明讲解 Context 的值传递, 其中说到了 刘备-关羽-张飞 之间使用 Context 传递 曹操军队人数,现在假设有 6 个服务, SvcA 1-3 , SvcB 1-3, 这 6 个服务可能分布在不同机器上面。后来业务出了问题, 除了靠记忆, 就只能现场看代码找调用链路。因此, 这次我们通过生产实际应用, 来说一下 Context 的值传递。OpenTelemetry 在链路追踪上的实现,更完善, 更强大。排查问题就非常重要了。, 就知道哪些服务在某个请求下, 是有关系的。

2023-03-16 10:02:49 229

原创 Golang Block 到底是什么? `i:=i` 合法? 为什么能解决闭包变量冲突?

Blocks。

2023-03-14 11:07:58 178

原创 「Go」 通过一个案例解释清楚 interface 的用法和注意事项

Golang 接口(interface) 简介和入门使用如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。状态: 未更新原文链接: https://typonotes.com/posts/2023/02/28/devopscamp-interface-sample/ 上下文 interface 应该是 Go语言 中一个极其重要的 基石 概念了。这里有一篇 Go 语言设计与实现 - 接口 interface , 是目前我学习的资料中 完成度 和 友善度 都很高的一篇文章

2023-03-01 16:06:03 142

原创 Linux 工具命令(04): envsubst2 一个比 envsubst 更省心的配置渲染工具

Linux 工具命令(04): envsubst2 一个比 envsubst 更省心的配置渲染工具如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。状态: 未更新原文链接: https://typonotes.com/posts/2023/02/22/envsubst2-usage/ 对于配置文件的渲染, 通常我们会使用 envsubst。 这个工具基本上在 Linux 各个发行版上都可以通过官方源进行安装。安装# alpine$ apk add --no-c

2023-02-24 17:37:58 170

原创 Linux 工具命令(03): 使用 envsubst 渲染配置文件

Linux 工具命令(03): 使用 envsubst 渲染配置文件如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。状态: 未更新原文链接: https://typonotes.com/posts/2023/02/22/envsubst-usage/ envsubst 替换 shell 字符串或脚本中的环境变量。 这个一个非常有用的命令, 在 nginx 容器镜像中, 就使用了这个命令进行了 启动文件的初始化。在日常工作中, 也常常用来渲染 环境变量 到配置文件的

2023-02-23 16:57:50 555

原创 DevOpsCamp 第三期(202302-b) 作业发布

DevOpsCamp 第三期(202302-b) 作业发布本来这期想直接开始写 dnscli 命令行工具的, 但是在准备的时候发现, 还是把 interface 和 Context 说一下会比较好。另外, 最近比较忙, 所以这期内容发布时间晚了接近一周。作业地址还是在 Github: https://github.com/devops-camp/semi-plan-homework如果你愿意分享自己的学习经历, 可以参考这篇文章操作 DevOpsCamp 主站改版及作业仓库变更通知(20230207

2023-02-21 09:58:03 97

原创 DevOpsCamp第2期:从 《cobra - 06 持久化命令》 开始聊聊 Go语言 指针类型的使用注意事项

DevOpsCamp第2期:从 《cobra - 06 持久化命令》 开始聊聊 Go语言 指针类型的使用注意事项如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。状态: 未更新原文链接: https://typonotes.com/posts/2023/02/19/devopscamp-cobra-06-persistent-run-and-flags/ 嗯, 在 cobra 中提供了一种叫做 Persistent 的 状态, 定向支持 函数 与 参数。下面这段代码是

2023-02-20 10:51:44 110

原创 Golang 的 cobra 是如何实现使用链表实现命令树的

Golang 的 cobra 是如何实现使用链表实现命令树的在 cobra 中, 每个 命令 都是独立的。 通过 parent.AddCommand(children) 的形式进行串连。var root = &cobra.Command{}var child = &cobra.Command{}func init() { root.AddCommand(child)}没了, 应用上就这么多。cobra 命令树如果你用过 gin 的路由树的话, 可能会对 cobra

2023-02-17 21:43:43 154

原创 DevopsCamp 第 2 期作业: 《cobra - 05 Cobra 的子命令》 简单说下 cobra 命令树和 gin 路由树的实现差异

DevopsCamp 第 2 期作业: 《cobra - 05 Cobra 的子命令》 简单说下 cobra 命令树和 gin 路由树的实现差异原文链接: https://typonotes.com/posts/2023/02/14/devopscamp-cobra-05-subcommand/ cobra 的子命令在 cobra 中, 每个 命令 都是独立的。 通过 parent.AddCommand(children) 的形式进行串连。var root = &cobra.Comman

2023-02-15 09:32:07 157

原创 DevopsCamp 第 2 期作业: 《cobra - 05 Go 项目的目录结构》

DevopsCamp 第 2 期作业: 《cobra - 05 Go 项目的目录结构》原文链接: https://typonotes.com/posts/2023/02/13/devopscamp-cobra-05-layout/ Go 项目的目录结构Go 项目的目录结构, 通常都会参考该项目 Go语言规范/项目结构 - Github 。 这是一个社区规范, 遵守这个规范, 大家都会很轻松。 但并不是严格的 Go 语言标准, 实际操作中各个公司可能会有自己的标准。 另外, 在上述的 Git

2023-02-13 15:25:51 139

原创 Hugo 网站优化(9): 实施更新与缓存加速兼顾, 使用 Github Action 主动预热 CDN 缓存

Hugo 网站优化(9): 实施更新与缓存加速兼顾, 使用 Github Action 主动预热 CDN 缓存原文链接: https://typonotes.com/posts/2023/01/04/hugo-qcloud-cdn-purge-and-push/ Github Page 实现的 纯静态 网站加 CDN 就是麻烦。 缓存时间设置短了, 回源网站打开慢。缓存时间设置长了, 发布新文章又很长时间无法展示。于是, 我又盯上了 Github Action 的实现发布文章后主动预热网站

2023-02-12 23:30:37 217

原创 Golang 库: 为什么 Golang slog 库不支持 `slog.Fatal` API

Golang 库: 为什么 Golang slog 库不支持 slog.Fatal API原文链接: https://tangx.in/posts/2023/01/06/why-dont-golang-slog-support-fatal-api/ 使用 slog 默认不支持 Fatal如果直接把 slog 当成 log 使用, 会有一点点头疼func main() { slog.Debug("debug") slog.Info("info&quot

2023-02-11 16:48:58 387

原创 2月14日快到了, 把 ChatGPT 调教成了情诗王子, 为你守护你的爱情

为你们把 ChatGPT 调教成了情诗王子原文链接: https://tangx.in/posts/2023/02/09/chatgpt-write-poem/ 2月14日 直男处刑日快到了, 光 送礼物 差点意思。 如果能在 送礼物 的同时, 来上这么一段小情诗, 礼物的附加价值瞬间翻倍。(重点我已经加粗了)为了让这个附加价值有够浪漫 , 我帮你们把 ChatGPT 调教成了 情(zhong)诗(yang)王(kong)子(tiao)不过,由于公众号的接口原因, 描述内容不能太长。 所以各位还

2023-02-09 10:58:51 2821

原创 这些关于 Golang timezone 时区的坑, 我已经帮你踩过了

这些关于 Golang timezone 时区的坑, 我已经帮你踩过了原文链接: https://tangx.in/posts/2023/01/09/golang-timezone-issue/ Golang 中一些不太注意的时区问题1. time/tzdata 库Golang 内置的一个时区文件。可以在程序中任意位置被导入。 导入后, 如果程序 找不到本地 时区文件, 就会使用该库的数据。本地 指的是 运行环境, 可能是实际的服务器, 也可能是容器。通常, 应该在 main.go

2023-02-08 15:46:47 1098

原创 「Golang 反射实战」 - 我用 Golang 反射写了一个配置库 - envutils , 应用再也不会少变量了

「Golang 反射实战」 - 我用 Golang 反射写了一个配置库 - envutils , 应用再也不会少变量了原文链接: https://tangx.in/posts/2023/01/27/golang-envutils-config/ 用习惯了 struct 之后, 我想所有东西都通过 struct 管理。 学习了反射之后, 我总要找点事情做来练习。 于是我整合了 Golang环境变量操作 和 Golang反射, 以及解决了我认为的其他一些配置管理的痛点, 便有了这个项目。一篇文章

2023-02-08 15:46:24 97

原创 DevOpsCamp 主站改版及作业仓库变更通知(20230207)

DevOpsCamp 主站改版及作业仓库变更通知(20230207)之前 https://www.devopscamp.cc 是一个主站, 多个作业子站的规划。 然后运行中发现, 不仅在各站之间切换非常麻烦, 而且没有任何联系, 无法统一展示数据。于是做了一些优化1. 网站展示将所有内容都在编译的时候合并在一起了, 在展示上, 所有数据都可以通过在 TAG 分类例如, 查看某个朋友的作业分享 https://www.devopscamp.cc/tags/calacaly/或者, 某个作业的所

2023-02-07 14:25:27 72

原创 《istio-in-action系列》3. istio VirtualService 和 k8s Ingress

《istio-in-action系列》3. istio VirtualService 和 k8s Ingress可以简单的认为 Ingress 是 k8s 中提出的流量入口转发的一个 标准定义规范(只是认为)。 怎么实现, 需要根据不同的 IngressController 的逻辑。VirtualService 的部分功能就承担了 Ingress 的这一功能。1. Ingress 与 VirtualService 的定义k8s Ingress 配置apiVersion: networking.k8

2023-02-03 17:39:46 289

原创 《istio-in-action系列》4. 使用 istio Gateway 允许外部访问

使用 istio Gateway 允许外部访问仅仅是简单的创建了 VirtualService 是不能实现集群外部的访问的。在 Istio 中, 还有一个 Gateway 的概念。 顾名思义, Gateway 就是大门保安, 只允许具有特定特征的流量通过。1.1. 创建 Gateway先来创建一个 Gateway---# https://istio.io/latest/docs/reference/config/networking/gateway/apiVersion: networkin

2023-02-03 17:38:05 331

空空如也

空空如也

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

TA关注的人

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