publish: Hello World:从第一行代码到一个可分享的世界
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
# Hello World:从第一行代码到一个可分享的世界
|
||||
|
||||
“Hello World” 往往是一个人接触新编程语言时写下的第一段程序。它几乎没有业务逻辑,也不展示复杂算法,却承担着一个很重要的任务:确认编辑器、运行时、终端和输出链路都已经正常工作。
|
||||
|
||||
这篇测试文章使用中英文、段落、列表、引用、表格、行内代码与多种代码块,目的是验证 Markdown 原文和浏览器 HTML 渲染页都能正常访问与阅读。
|
||||
|
||||
## 为什么第一段程序总是 Hello World
|
||||
|
||||
学习一门新语言时,人们首先需要一个尽可能小、但能够完整运行的例子。它应该回答几个基础问题:
|
||||
|
||||
1. 源文件应该使用什么扩展名?
|
||||
2. 程序从哪里开始执行?
|
||||
3. 如何调用标准输出?
|
||||
4. 如何编译或解释运行?
|
||||
5. 中文、英文和标点能否正确显示?
|
||||
|
||||
当屏幕上出现 `Hello, World!` 时,我们得到的不只是一个字符串,而是一条完整链路已经畅通的证据。
|
||||
|
||||
> 小程序的价值不在于功能复杂,而在于用最低成本证明系统可以工作。
|
||||
|
||||
## 不同语言中的写法
|
||||
|
||||
### Python
|
||||
|
||||
```python
|
||||
def greet(name: str = "World") -> str:
|
||||
return f"Hello, {name}!"
|
||||
|
||||
|
||||
print(greet())
|
||||
print(greet("石记"))
|
||||
```
|
||||
|
||||
### JavaScript
|
||||
|
||||
```javascript
|
||||
function greet(name = "World") {
|
||||
return `Hello, ${name}!`;
|
||||
}
|
||||
|
||||
console.log(greet());
|
||||
console.log(greet("Browser"));
|
||||
```
|
||||
|
||||
### Shell
|
||||
|
||||
```bash
|
||||
name="World"
|
||||
printf 'Hello, %s!\n' "$name"
|
||||
```
|
||||
|
||||
虽然语法不同,但三个例子都完成了相同的数据流:准备输入、构造文本、输出结果。
|
||||
|
||||
## 从输出字符串到工程验证
|
||||
|
||||
在真实项目中,Hello World 可以继续扩展成一组轻量的健康检查:
|
||||
|
||||
- Web 服务返回 `200 OK`;
|
||||
- 数据库连接能够建立;
|
||||
- 配置文件能够读取;
|
||||
- 日志可以写入预期位置;
|
||||
- 中文采用 UTF-8 正确编码;
|
||||
- 外部访问地址可以完成 HTTPS 握手;
|
||||
- 分享链接能够从短域名跳转到最终页面。
|
||||
|
||||
本次发布测试对应的检查关系如下:
|
||||
|
||||
| 检查对象 | 期望结果 | 用途 |
|
||||
| --- | --- | --- |
|
||||
| Markdown 原文 | UTF-8 内容完整 | 便于复制、归档和版本管理 |
|
||||
| Gitea 渲染页 | 标题、列表、表格、代码块正常 | 便于浏览器阅读 |
|
||||
| 短链接 | 返回 302 并跳转到 Gitea | 便于转发 |
|
||||
| 固定链接 | 绑定具体提交 | 保留不可变快照 |
|
||||
|
||||
## 一个更有意义的 Hello World
|
||||
|
||||
当系统逐渐复杂后,最好的测试仍然应该保持简单。测试内容可以丰富,但判断结果应当清晰:页面能打开、正文没有乱码、代码块没有丢失、链接目标正确。
|
||||
|
||||
下面是一段伪代码,描述发布流程:
|
||||
|
||||
```text
|
||||
读取 Markdown
|
||||
↓
|
||||
检查大小和 UTF-8
|
||||
↓
|
||||
确认目标 ID 是否已存在
|
||||
↓
|
||||
创建或显式更新 Gitea 文件
|
||||
↓
|
||||
返回短链接、稳定链接与提交固定链接
|
||||
```
|
||||
|
||||
这条流程刻意避免在访问时抓取并解析 Gitea 的 HTML。短域名只做跳转,因此 Gitea 页面结构升级时,分享服务也不需要同步修改解析规则。
|
||||
|
||||
## 最后的输出
|
||||
|
||||
如果你正在浏览 HTML 渲染版本,说明域名、HTTPS、OpenResty 跳转和 Gitea Markdown 页面已经连通。如果你正在查看 `.md` 原文,说明仓库的公开读取和原始内容链路同样正常。
|
||||
|
||||
```text
|
||||
Hello, World!
|
||||
你好,世界!
|
||||
分享链路验证完成。
|
||||
```
|
||||
Reference in New Issue
Block a user