From 3e134d94fccffb7c7024476116f2c99b221e647f Mon Sep 17 00:00:00 2001 From: eryajf Date: Thu, 28 Mar 2024 22:23:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=80=BB=E7=AC=AC152?= =?UTF-8?q?=E6=9C=9F=E5=91=A8=E5=88=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- ...第11周.md => 12.学习周刊-总第151期-2024年第12周.md} | 2 +- .../13.学习周刊-总第152期-2024年第13周.md | 120 ++++++++++++++++++ 3 files changed, 122 insertions(+), 2 deletions(-) rename docs/04.2024年/{12.学习周刊-总第151期-2024年第11周.md => 12.学习周刊-总第151期-2024年第12周.md} (98%) create mode 100644 docs/04.2024年/13.学习周刊-总第152期-2024年第13周.md diff --git a/README.md b/README.md index fc156ac..fcab60b 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ | [第 140 期](./docs/04.2024年/01.学习周刊-总第140期-2024年第01周.md) | [第 141 期](./docs/04.2024年/02.学习周刊-总第141期-2024年第02周.md) | [第 142 期](./docs/04.2024年/03.学习周刊-总第142期-2024年第03周.md) | [第 143 期](./docs/04.2024年/04.学习周刊-总第143期-2024年第04周.md) | | [第 144 期](./docs/04.2024年/05.学习周刊-总第144期-2024年第05周.md) | [第 145 期](./docs/04.2024年/06.学习周刊-总第145期-2024年第06周.md) | [第 146 期](./docs/04.2024年/07.学习周刊-总第146期-2024年第07周.md) | [第 147 期](./docs/04.2024年/08.学习周刊-总第147期-2024年第08周.md) | | [第 148 期](./docs/04.2024年/09.学习周刊-总第148期-2024年第09周.md) | [第 149 期](./docs/04.2024年/10.学习周刊-总第149期-2024年第10周.md) | [第 150 期](./docs/04.2024年/11.学习周刊-总第150期-2024年第11周.md) | [第 151 期](./docs/04.2024年/12.学习周刊-总第151期-2024年第11周.md) | -| 第 152 期 | 第 153 期 | 第 154 期 | 第 155 期 | +| [第 152 期](./docs/04.2024年/13.学习周刊-总第152期-2024年第13周.md) | 第 153 期 | 第 154 期 | 第 155 期 | | 第 156 期 | 第 157 期 | 第 158 期 | 第 159 期 | | 第 160 期 | 第 161 期 | 第 162 期 | 第 163 期 | | 第 164 期 | 第 165 期 | 第 166 期 | 第 167 期 | diff --git a/docs/04.2024年/12.学习周刊-总第151期-2024年第11周.md b/docs/04.2024年/12.学习周刊-总第151期-2024年第12周.md similarity index 98% rename from docs/04.2024年/12.学习周刊-总第151期-2024年第11周.md rename to docs/04.2024年/12.学习周刊-总第151期-2024年第12周.md index 77fcca7..0be2222 100644 --- a/docs/04.2024年/12.学习周刊-总第151期-2024年第11周.md +++ b/docs/04.2024年/12.学习周刊-总第151期-2024年第12周.md @@ -1,5 +1,5 @@ --- -title: 学习周刊-总第151期-2024年第11周 +title: 学习周刊-总第151期-2024年第12周 date: 2024-03-22 07:46:36 permalink: /pages/417af1/ categories: diff --git a/docs/04.2024年/13.学习周刊-总第152期-2024年第13周.md b/docs/04.2024年/13.学习周刊-总第152期-2024年第13周.md new file mode 100644 index 0000000..4714e08 --- /dev/null +++ b/docs/04.2024年/13.学习周刊-总第152期-2024年第13周.md @@ -0,0 +1,120 @@ +--- +title: 学习周刊-总第152期-2024年第13周 +date: 2024-03-28 22:20:39 +permalink: /pages/36ea62/ +categories: + - 周刊 + - 学习周刊 + - 2024年 +tags: + - +feed: + enable: true +description: 学习周刊-总第152期。一个简单的构建框架,具有快速、可重复的构建和立即熟悉的语法 - 就像 Dockerfile 和 Makefile 一样。 +--- + + +### 0 ,前言 + +周刊维护在:[https://github.com/eryajf/learning-weekly](https://github.com/eryajf/learning-weekly) 欢迎投稿,推荐或自荐项目 /文章 /博客,请提交 issue 。 + +周刊核心为运维周刊,还会侧重Go语言生态,Vue相关技术生态的项目,以及 GitHub 上优秀项目或经验。 + +你也可以在我的博客 [https://wiki.eryajf.net/learning-weekly/](https://wiki.eryajf.net/learning-weekly/) 查看汇总周刊。 + +🔥 有不少人想单独从博客通过 RSS 订阅周刊的更新,现在它来了,你可以使用这个[🔗 链接](https://wiki.eryajf.net/learning-weekly.xml)进行订阅。 + +### 1,优秀项目 + +--- +- 项目地址:[go-jsonstruct](https://github.com/twpayne/go-jsonstruct) +- 项目说明:一款能够将 JSON 内容转换为结构体的命令行工具。 +>执行如下命令: +```sh +echo '{"age":37,"user_height_m":2}' \ + '{"age":38,"user_height_m":1.7,"favoriteFoods":["cake"]}' \ + | gojsonstruct +``` +>将会得到如下输出: +```go +package main + +type T struct { + Age int `json:"age"` + FavoriteFoods []string `json:"favoriteFoods,omitempty"` + UserHeightM float64 `json:"user_height_m"` +} +``` +--- +- 项目地址:[earthly](https://github.com/earthly/earthly) +- 项目说明:一个简单的构建框架,具有快速、可重复的构建和立即熟悉的语法 - 就像 Dockerfile 和 Makefile 一样。 +比如有如下 go 代码: + +```go +// main.go +package main + +import "fmt" + +func main() { + fmt.Println("hello world") +} +``` + +指定 earthly 配置如下: +```sh +# Earthfile +VERSION 0.8 +FROM golang:1.15-alpine3.13 +RUN apk --update --no-cache add git +WORKDIR /go-example + +all: + BUILD +lint + BUILD +docker + +build: + COPY main.go . + RUN go build -o build/go-example main.go + SAVE ARTIFACT build/go-example AS LOCAL build/go-example + +lint: + RUN go get golang.org/x/lint/golint + COPY main.go . + RUN golint -set_exit_status ./... + +docker: + COPY +build/go-example . + ENTRYPOINT ["/go-example/go-example"] + SAVE IMAGE go-example:latest +``` +然后执行 `earthly +all` 命令进行构建: +![](https://t.eryajf.net/imgs/2024/03/1709946777385.gif) +可以考虑作为构建工具集成到流水线当中。 +![](https://t.eryajf.net/imgs/2024/03/1709946870638.png) + +--- +- 项目地址:[lobe-chat](https://github.com/lobehub/lobe-chat) +- 项目说明:一个开源、现代设计的 ChatGPT/LLM UI/框架。支持语音合成、多模态和可扩展(函数调用)插件系统。一键免费部署您的私人 ChatGPT/Gemini/Ollama 聊天应用程序。 + ![](https://t.eryajf.net/imgs/2024/03/1710041727504.png) +--- + +### 2,优秀文章 + +--- +- [using curl command in pod lifecycle poststart hooks](https://stackoverflow.com/questions/68947359/using-curl-command-in-pod-lifecycle-poststart-hooks) +- 如题,在 k8s 的 yaml 中,如果 command 中的 curl 命令引用了运行时的变量,需要注意使用 `${}` 的方式来引用,而不要直接引用,否则变量会被解析,且解析为空。 +--- +- [How to solve ptrace operation not permitted when trying to attach GDB to a process?](https://stackoverflow.com/questions/19215177/how-to-solve-ptrace-operation-not-permitted-when-trying-to-attach-gdb-to-a-pro) +- 如果 docker run 运行容器之后,使用 strace 抓取进程调用报错,此文给了解决方案。可以通过在启动命令增加 `--privileged --cap-add=SYS_PTRACE --security-opt seccomp=unconfined` 参数来解决。 +--- + +### 3,优秀博客 + +--- +- 博客地址:[敖武的博客](https://z.wiki/) +- 简单说明:很优秀的博主,博客内容很好,值得一读 +--- +- 博客地址:[HTMLrev](https://htmlrev.com/) +- 简单说明:汇集了大量免费优美的 html 模板的站点。官网,落地页,产品页,都可以在这里寻找。 +---