Skip to content

Commit

Permalink
[refactor] upgrade Issue Template from Markdown to YAML
Browse files Browse the repository at this point in the history
[optimize] update article-webpage-to-markdown-action to v2
[fix] some posts meta
  • Loading branch information
TechQuery committed Aug 6, 2024
1 parent ed93d84 commit 88baadf
Show file tree
Hide file tree
Showing 10 changed files with 105 additions and 60 deletions.
12 changes: 0 additions & 12 deletions .github/ISSUE_TEMPLATE/translation.md

This file was deleted.

24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/translation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: 文章翻译
description: 外文优秀技术、开源文章翻译
title: (译文中文标题)
labels:
- Article
- Translation
body:
- type: input
id: page_link
attributes:
label: 文章网址
description: 一个 issue 只能填一个
validations:
required: true
- type: textarea
attributes:
label: 翻译须知
description: 如有其它需要注意的事项,请注明以帮助译者。
value: '@FreeCodeCamp-Chengdu/team-1'
- type: markdown
attributes:
value: >-
This template was generated with [Issue Forms
Creator](https://issue-forms-creator.netlify.app)
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
@FreeCodeCamp-Chengdu I create a Pull Request to close #issue_number
@FreeCodeCamp-Chengdu/team-1 I create a Pull Request to close #issue_number
25 changes: 21 additions & 4 deletions .github/workflows/fetch-Web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,34 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: freeCodeCamp-China/article-webpage-to-markdown-action@v1
- id: issue-parser
uses: stefanbuck/github-issue-parser@v3
with:
newsLink: "${{ github.event.issue.Body }}"
markDownFilePath: "./_drafts/Article/Translation/"
template-path: ".github/ISSUE_TEMPLATE/translation.yml"

- id: fetch-md
uses: freeCodeCamp-China/article-webpage-to-markdown-action@v2
with:
pageURL: "${{ steps.issue-parser.outputs.issueparser_page_link }}"
markdownFolder: "./_drafts/Article/Translation/"
githubToken: ${{ github.token }}

- name: 将输出发至评论区
run: gh issue comment "$NUMBER" --body "$BODY"
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.issue.number }}
BODY: |
- 原文网址: [${{ steps.fetch-md.outputs.title }}](${{ steps.fetch-md.outputs.original_url }})
- 原文作者: [${{ steps.fetch-md.outputs.author || 'anonymous' }}](${{ steps.fetch-md.outputs.author_url }})
- Markdown 文件: [点击编辑](${{ steps.fetch-md.outputs.editor_url }})
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "${{ github.event.issue.title }}"

- name: Lark notification
- name: 飞书通知
uses: foxundermoon/feishu-action@v2
with:
url: ${{ secrets.LARK_CHATBOT_HOOK_URL }}
Expand Down
15 changes: 10 additions & 5 deletions _posts/Article/Translation/Recent-Docker-BuildKit-Features.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
---
title: Recent Docker BuildKit Features You're Missing Out On
title: 你正在错过的最新 Docker BuildKit 功能
date: 2024-05-13T00:00:00.000Z
authorURL: ""
originalURL: https://martinheinz.dev/blog/111
translator: ""
reviewer: ""
authors:
- luojiyin1987
original: https://martinheinz.dev/blog/111
categories:
- Article
- Translation
toc: true
---

随着 BuildKit 的引入,Docker 的构建后端得到了显著改进,并增添了许多强大的新功能。然而,很多用户并不了解这些新功能。因此,本文将向你介绍那些你绝对应该了解并开始使用的 BuildKit 功能,助你更好地利用 Docker。

<!-- more -->

## Debugging(调试)

让我们从最常见的任务 - **调试** 开始。一直以来,调试 `docker build` 都是一件痛苦的事情。当 `RUN``COPY` 命令失败时,你很难查看上下文并调试问题所在,通常只能求助于添加 `RUN ls -la` 等命令来获取更多信息。
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
---
title: "从零开始构建容器:层"
title: 从零开始构建容器:层
date: 2024-06-07T03:14:58.423Z
authorURL: ""
originalURL: https://depot.dev/blog/building-container-layers-from-scratch
translator: ""
reviewer: ""
authors:
- luojiyin1987
original: https://depot.dev/blog/building-container-layers-from-scratch
categories:
- Article
- Translation
toc: true
---

在 Depot,我们专注于为容器镜像提供最快的构建服务。我们主要通过以下方式实现这一目标:


1. 提供对强大计算和存储的即时访问。
2. 优化构建过程本身以使其尽可能快。

Expand All @@ -19,6 +21,8 @@ reviewer: ""

为了更好地理解其中一些优化,了解 OCI 容器镜像层格式本身很有帮助。

<!-- more -->

## 层格式

它们只是 tar 包!
Expand Down Expand Up @@ -118,7 +122,7 @@ Whiteout 文件是带有特殊名称的空文件,它告诉容器运行时应

## Overlay filesystems(叠加文件系统)

像 containerd 或 podman 这样的容器运行时负责在运行容器之前将镜像的层(tar 包)解压到一个目录中。这被称为容器的`rootfs`或根文件系统。
像 containerd 或 podman 这样的容器运行时负责在运行容器之前将镜像的层(tar 包)解压到一个目录中。这被称为容器的 `rootfs` 或根文件系统。

实际上,对于每个启动的容器,依次将每一层解压到 rootfs 目录中,并注意应用文件修改或删除 whiteout 文件,这将非常缓慢。相反,容器运行时通常使用特殊的文件系统来有效地将各层组合成一个单一的文件系统。

Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
---
title: 浏览器开发者工具中不应该再有秘密
authorURL: ""
originalURL: https://christianheilmann.com/2021/11/01/developer-tools-secrets-that-shouldnt-be-secrets/
translator: ""
reviewer: ""
date: 2021-11-01 15:21:00
authors:
- luojiyin1987
original: https://christianheilmann.com/2021/11/01/developer-tools-secrets-that-shouldnt-be-secrets/
categories:
- Article
- Translation
toc: true
---

2021 年 11 月 1 日星期一下午 3:21

> **更新**: 由于这篇文章[正在 Hackernews 上热传][1],我在每个标题后的括号中为每个提示添加了支持环境的信息。当我说明 `Chromium 浏览器` 时,指的是所有使用 `Chromium` 内核并具有所有开发者工具的浏览器。这包括 `Chrome` 浏览器、`Microsoft Edge``Brave` 以及其他更多浏览器。在此提醒一下: `Microsoft Edge``Windows 10/11` 系统自带的浏览器,基于 `Chromium`,因此从平台角度来看与 `Chrome` 浏览器类似。它们在用户体验和核心服务方面有所不同。`Edge` 开发者工具与谷歌密切合作,将我们添加到产品中的工作带回 `Chromium` 核心。但是,我在这里谈到的一些东西是微软 `Edge` 的实验和独有功能,它可在 `Windows``Mac``Linux` 上使用。有些功能只能通过 [Edge DevTools for VS Code 扩展][2]`Visual Studio Code` 中使用。
这是我今年 9 月在 [CityJS][3] 上发表的演讲。我是 `Microsoft Edge` 开发者人员工具的首席产品经理,这些都是我在开发工具、记录工具和查看用户反馈时遇到的问题。

你可以在 Youtube 上观看[演讲视频][4]

<!-- more -->

下面是我所写的所有内容:

## 1. Console 远不止是打印日志!
Expand Down
19 changes: 11 additions & 8 deletions _posts/Article/Translation/everything-I-know-about-ssd.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
---
title: Everything I Know About SSDs 2019
authorURL: ""
originalURL: https://kcall.co.uk/ssd/index.html
translator: ""
reviewer: ""
date: "2019-03-01"
title: 我所知道的关于固态硬盘的一切
date: 2019-03-01
authors:
- luojiyin1987
original: https://kcall.co.uk/ssd/index.html
categories:
- Article
- Translation
toc: true
---

# 我所知道的关于固态硬盘的一切
使用 NAND 闪存的固态硬盘,它们与机械硬盘的区别,以及它们如何影响文件删除和恢复。

使用 NAND 闪存的固态硬盘,它们与机械硬盘的区别,以及它们如何影响文件删除和恢复
<!-- more -->

## 介绍

Expand Down
34 changes: 17 additions & 17 deletions _posts/Article/Translation/understanding-container-image-layers.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
---
title: 理解容器镜像层
date: 2024-06-07T03:12:52.216Z
author: Ken Muse
date: 2024-06-27T03:12:52.216Z
authors:
- luojiyin1987
authorURL: https://github.com/kenmuse
originalURL: https://www.kenmuse.com/blog/understanding-container-image-layers/
translator: ""
reviewer: ""
---


**发布时间:** [6 月 27][5], [2024][6] **阅读时间:** 9 分钟

original: https://www.kenmuse.com/blog/understanding-container-image-layers/
categories:
- Article
- Translation
toc: true
---

容器非常了不起。它们允许简单的进程像虚拟机一样运行。这种优雅的背后是一套模式和实践,最终使一切都能正常工作。设计的根源在于**。层是存储和分发容器化文件系统内容的基本方式。这种设计既非常简单,同时又非常强大。在今天的文章中,我将解释什么是层,以及它们在概念上是如何工作的。

<!-- more -->

## 构建分层镜像

当你创建一个镜像时,你通常会使用一个 `Dockerfile` 来定义容器的内容。它包含一系列命令,例如:
Expand All @@ -26,7 +26,7 @@ COPY content.txt /work/content.txt
RUN rm -rf /work/message.txt
```

在底层,容器引擎会按顺序执行这些命令,为每个命令创建一个 ``。 但这究竟是如何实现的呢? 最简单的理解方式是将每一层都视为一个目录,其中包含所有已修改的文件。
在底层,容器引擎会按顺序执行这些命令,为每个命令创建一个“层”。 但这究竟是如何实现的呢? 最简单的理解方式是将每一层都视为一个目录,其中包含所有已修改的文件。

让我们通过一个可能的实现方法的例子来逐步解释。

Expand All @@ -39,12 +39,12 @@ RUN rm -rf /work/message.txt

继续我们的例子,压缩文件将包含:

| 文件 | 内容 |
| --------------------------------------------------- | ------------------------------------------------------------------- |
| `layer1.tar.gz` | 空文件 |
| `layer2.tar.gz` | 包含 `/work/message.txt` |
| 文件 | 内容 |
| --------------------------------------------------- | ------------------------------------------------------------ |
| `layer1.tar.gz` | 空文件 |
| `layer2.tar.gz` | 包含 `/work/message.txt` |
| `layer3.tar.gz` | 包含 `/work/content.txt` (因为 `message.txt` 文件没有修改) |
| `layer4.tar.gz` | 包含 `/work/.wh.message.txt` (因为 `message.txt` 删除了) |
| `layer4.tar.gz` | 包含 `/work/.wh.message.txt` (因为 `message.txt` 删除了) |
| 文件 `content.txt` 没有被修改,所以没有被包含在内。 |

以这种方式构建大量镜像会导致大量的 `layer1` 目录。为了确保名称的唯一性,压缩文件的命名基于内容的摘要。这类似于 Git 的工作方式。它的好处是在识别文件下载过程中任何损坏的同时,还能识别相同的内容。如果内容的摘要(哈希值)与文件名不匹配,则文件已损坏。
Expand Down Expand Up @@ -80,7 +80,7 @@ RUN rm -rf /work/message.txt

或者,换句话说:

| 镜像 | 父镜像 |
| 镜像 | 父镜像 |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| sha256:635944d2044d0a54d01385271ebe96ec18b26791eb8b85790974da36a452cc5c | |
| sha256:9de59f6b211510bd59d745a5e49d7aa0db263deedc822005ed388f8d55227fc1 | sha256:635944d2044d0a54d01385271ebe96ec18b26791eb8b85790974da36a452cc5c |
Expand Down

0 comments on commit 88baadf

Please sign in to comment.