Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: link in course #125

Merged
merged 19 commits into from
Dec 17, 2024
2 changes: 1 addition & 1 deletion docs/course/proxima-book/proxima-book.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: '本书通过GoFrame框架,以比邻英语本项目实战为例

## 本书简介
---
**比邻英语本**是 GoFrame 中级实战教程。与初级教程[星辰英语本](https://goframe.org/course/starbook)不同,**微服务**开发是本书的主旋律。
**比邻英语本**是 GoFrame 中级实战教程。与初级教程[星辰英语本](../starbook/starbook.md)不同,**微服务**开发是本书的主旋律。

## 编写本书的动机
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ database:
debug: true
```

`gprc`字段定义了两个字段,微服务名称和监听端口。微服务名称会用作服务注册,监听端口不必多言。这两个是必要的,其他的配置见[配置模板](https://goframe.org/docs/micro-service/config#%E9%85%8D%E7%BD%AE%E6%A8%A1%E6%9D%BF)。
`gprc`字段定义了两个字段,微服务名称和监听端口。微服务名称会用作服务注册,监听端口不必多言。这两个是必要的,其他的配置见[配置模板](../../../docs/微服务开发/服务端配置.md)。

## 启动运行
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 第五章-进一步的学习方向与建议
title: 第五章-进一步的方向
hide_title: true
sidebar_position: 99
slug: /course/proxima-book/appendix
Expand Down
12 changes: 6 additions & 6 deletions docs/course/starbook/starbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,30 @@ description: '本书通过GoFrame框架,以星辰英语本项目实战为例
---
已经对`Golang`有初步的掌握,想学习`GoFrame`框架的朋友都适合本书。

本书不会设计到任何的前端开发,即便你完全不了解任何前端技术也可以无障碍阅读
本书不会设计到任何的前端开发,即便您完全不了解任何前端技术也可以无障碍阅读

### 在校学生
如果你是一名在校学生,对`Go`语言感兴趣,想要学习如何使用`Go`语言开发一个有趣的项目或者毕业设计,为以后的职业生涯夯实基础,那么这本书可以作为你敲开编程的大门,引导你如何成为真正的程序员
如果您是一名在校学生,对`Go`语言感兴趣,想要学习如何使用`Go`语言开发一个有趣的项目或者毕业设计,为以后的职业生涯夯实基础,那么这本书可以作为您敲开编程的大门,引导您如何成为真正的程序员

### 新手程序员
如果你已经是一名程序员,但是对`Go`了解不深,想要进一步掌握`Go`语言或者学习`GoFrame`框架,那么这本书可以帮助你快速上手`GoFrame`框架,让你更快的融入`Go`语言的世界,进一步扩充你的技术栈
如果您已经是一名程序员,但是对`Go`了解不深,想要进一步掌握`Go`语言或者学习`GoFrame`框架,那么这本书可以帮助您快速上手`GoFrame`框架,让您更快的融入`Go`语言的世界,进一步扩充您的技术栈

## 阅读建议
---
本书是一本操作向的书籍,唯一的建议就是跟着书籍一步一步的操作。纸上得来终觉浅,绝知此事要躬行!

在跟着本书操作过程中,最好结合[官方开发手册](https://goframe.org/docs/design),尝试举一反三,才能更好的理解和掌握。
在跟着本书操作过程中,最好结合[官方开发手册](../../docs/框架设计/框架设计.md),尝试举一反三,才能更好的理解和掌握。

## 联系作者
---
在编写本书的过程中,不可避免的会有一些错误或者不足之处,如果你有任何问题或者建议,可以在下方留言,也可以联系我,我会尽快回复你
在编写本书的过程中,不可避免的会有一些错误或者不足之处,如果您有任何问题或者建议,可以在下方留言,也可以联系我,我会尽快回复您
- 邮箱: `[email protected]` `[email protected]`
- 网站: [https://oldme.net](https://oldme.net)
- 微信: `NobodyIsRight` 来者请备注来意哦!

## 遇到问题
---
在开发中,遇到各种问题都是正常的。如何解决问题才是关键,在遇到问题时,请先尝试自行解决。查阅`GoFrame`文档,使用搜索引擎都是不错的解决问题的方式。如果实在无法解决,可以联系我,我会尽力帮助你解决问题
在开发中,遇到各种问题都是正常的。如何解决问题才是关键,在遇到问题时,请先尝试自行解决。查阅`GoFrame`文档,使用搜索引擎都是不错的解决问题的方式。如果实在无法解决,可以联系我,我会尽力帮助您解决问题


import DocCardList from '@theme/DocCardList';
Expand Down
2 changes: 1 addition & 1 deletion docs/course/starbook/第一章-基础信息/1.2.MVC.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ slug: '/course/starbook/about-mvc'
keywords: [MVC,Model,View,Controller,GoFrame,程序设计架构,前后端分离,数据管理,用户界面,业务逻辑]
description: '了解MVC(Model-View-Controller)程序设计架构,其中Model负责应用程序的数据和业务逻辑,管理数据与数据库交互;View负责显示数据和用户界面,与用户交互展示数据;Controller处理用户输入和请求,作为模型与视图之间的中介。前后端分离中,注重Controller和Model层。'
---
如果你已经对`MVC`有所了解,那么可以跳过本节。如果你是新手,则需要了解一下`MVC(Model-View-Controller)`程序设计架构。
如果您已经对`MVC`有所了解,那么可以跳过本节。如果您是新手,则需要了解一下`MVC(Model-View-Controller)`程序设计架构。

`MVC`将应用程序分成三个主要部分:Model、View 和 Controller。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: '本书在某些部分使用命令行,其中使用美元符号作
---
## 命令行
---
本书会在一些地方使用命令行,我将使用 `$` 符号作为提示符,你不需要输入这个符号。比如,如果我写了 `$ echo "Hello, GoFrame!" `,你只需要输入 `echo "Hello, GoFrame!" ` 即可。
本书会在一些地方使用命令行,我将使用 `$` 符号作为提示符,您不需要输入这个符号。比如,如果我写了 `$ echo "Hello, GoFrame!" `,您只需要输入 `echo "Hello, GoFrame!" ` 即可。

```bash
$ echo "Hello, GoFrame!"
Expand Down
22 changes: 11 additions & 11 deletions docs/course/starbook/第一章-基础信息/1.4.环境准备.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ description: 'GoFrame 是一个基于 Go 语言的 Web 后端框架,要求 Go
## 基础环境
---
### Go 环境
`GoFrame`是基于`Go`语言的 Web 后端框架,首先,我们需要拥有一个`Go`语言的开发环境,才能进行后续的学习。确保你的`Go`版本在`1.20`以上即可。
`GoFrame`是基于`Go`语言的 Web 后端框架,首先,我们需要拥有一个`Go`语言的开发环境,才能进行后续的学习。确保您的`Go`版本在`1.20`以上即可。
```bash
$ go version
go version go1.22.2 windows/amd64
```

### 数据库
软件程序在使用过程中会产生许多数据,这些数据最后需要存储到数据库中。所以你需要准备好一个数据库,本书以`MySQL`为例,示例项目的数据库名称为`star`。
软件程序在使用过程中会产生许多数据,这些数据最后需要存储到数据库中。所以您需要准备好一个数据库,本书以`MySQL`为例,示例项目的数据库名称为`star`。

除`MySQL`外,`GoFrame`还支持`MariaDB`、`TiDB`、`PostgreSQL`、`SQL Server`、`SQLite`、`Oracle`、`ClickHouse`、`DM`多种数据库。只需要简单的修改配置、引入相关的驱动即可,这点会在使用时详细说明。

### 接口测试工具
接口开发完成后,我会使用`curl`命令来测试接口是否符合预期。但是命令行总是不方便的,所以推荐你准备一个接口测试工具,将`curl`命令转换到工具中进行测试。比较流行的测试工具有`Postman`、`Apifox`、`Apipost`等,它们大同小异,你可以根据自己的喜好选择一个
接口开发完成后,我会使用`curl`命令来测试接口是否符合预期。但是命令行总是不方便的,所以推荐您准备一个接口测试工具,将`curl`命令转换到工具中进行测试。比较流行的测试工具有`Postman`、`Apifox`、`Apipost`等,它们大同小异,您可以根据自己的喜好选择一个

## 安装 GF CLI 工具
---
Expand All @@ -40,22 +40,22 @@ Env Detail:
...
```

> 本书的开发环境是`Go 1.22.2`和`GoFrame v2.8.0`,如果你的版本和我不一致,也无需担心,`Go`和`GoFrame`都有着强大的向下兼容性。
> 本书的开发环境是`Go 1.22.2`和`GoFrame v2.8.0`,如果您的版本和我不一致,也无需担心,`Go`和`GoFrame`都有着强大的向下兼容性。

### Github 不能访问
在国内由于网络原因,访问`Github`可能会失败,这是国内程序员必然会遇到的问题,你可以在网上找寻一个可用的`Github`镜像来解决此问题或使用其他代理工具。
在国内由于网络原因,访问`Github`可能会失败,这是国内程序员必然会遇到的问题,您可以在网上找寻一个可用的`Github`镜像来解决此问题或使用其他代理工具。

## 初始化项目
---
准备好环境后,我们就可以正式初始化项目了。找好你要存放程序的目录,执行以下命令:
准备好环境后,我们就可以正式初始化项目了。找好您要存放程序的目录,执行以下命令:
```bash
$ gf init star
initializing...
initialization done!
you can now run "cd star && gf run main.go" to start your journey, enjoy!
```

`star`是项目名称,代表星辰英语本的意思,你也可以取一个你喜欢的名字。接下来进入目录并运行项目。
`star`是项目名称,代表星辰英语本的意思,您也可以取一个您喜欢的名字。接下来进入目录并运行项目。

```bash
$ cd star && gf run main.go
Expand All @@ -76,14 +76,14 @@ build running pid: 13628
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------|-------------------------------------------------------|----------------------------------
```
因为演示使用的是`Windows`系统,所以生成的是`main.exe`文件,如果你使用的是`Mac/Linux`系统,生成的是`main`文件。
因为演示使用的是`Windows`系统,所以生成的是`main.exe`文件,如果您使用的是`Mac/Linux`系统,生成的是`main`文件。

然后我们在浏览器中输入[http://127.0.0.1:8000/hello](http://127.0.0.1:8000/hello),或者使用接口测试工具访问,看到`Hello, GoFrame!`即表示你已经成功启动了一个`GoFrame`项目。恭喜您走出了伟大编程的第一步!
然后我们在浏览器中输入[http://127.0.0.1:8000/hello](http://127.0.0.1:8000/hello),或者使用接口测试工具访问,看到`Hello, GoFrame!`即表示您已经成功启动了一个`GoFrame`项目。恭喜您走出了伟大编程的第一步!

> 如果你使用的编辑器是`IntelliJ IDEA`或者`GoLand`,可以安装[GoFrame Helper](https://plugins.jetbrains.com/plugin/23324-goframe-helper)插件,以提供更友善的代码提示和自动补全功能等功能。
> 如果您使用的编辑器是`IntelliJ IDEA`或者`GoLand`,可以安装[GoFrame Helper](https://plugins.jetbrains.com/plugin/23324-goframe-helper)插件,以提供更友善的代码提示和自动补全功能等功能。

### 升级项目
默认安装的`GoFrame`不一定是最新版本,你可以在项目目录下执行`up`命令升级:
默认安装的`GoFrame`不一定是最新版本,您可以在项目目录下执行`up`命令升级:
```bash
$ gf up
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ description: '星辰英语本项目的用户注册功能的开发,详细阐述

经过映射后,我们可以通过操作对象来处理数据表,而避免直接编写`SQL`语句。这不仅提高了代码的可读性和维护性,还从安全性上避免了常见的 `SQL` 注入问题。

`GoFrame`通过 [gdb](https://goframe.org/docs/core/gdb) 组件内置了`ORM`功能,提供了便捷常用的`SQL`操作。
`GoFrame`通过 [gdb](../../../docs/核心组件/数据库ORM/数据库ORM.md) 组件内置了`ORM`功能,提供了便捷常用的`SQL`操作。

举一个例子:
```go
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: '在数据库中创建名为users的数据表用于储存用户信
---
## 建立数据表
---
在你的数据库中执行以下`sql`语句创建一张名为 `users` 的数据表,用于储存用户信息。
在您的数据库中执行以下`sql`语句创建一张名为 `users` 的数据表,用于储存用户信息。

```sql
CREATE TABLE users (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ done!

这里生成的四个文件,我们只需要关注`users_v1_register.go`即可,它用作接收`HTTP`请求,并调用`Logic`完成业务流程。

> 如果你已经安装了[GoFrame Helper](https://plugins.jetbrains.com/plugin/23324-goframe-helper)插件,会自动执行`gf gen ctrl`命令。也可以使用官网提供自动生成方式:[教程配置](https://goframe.org/docs/cli/gen-ctrl#%E8%87%AA%E5%8A%A8%E6%A8%A1%E5%BC%8F%E6%8E%A8%E8%8D%90)。
> 如果您已经安装了[GoFrame Helper](https://plugins.jetbrains.com/plugin/23324-goframe-helper)插件,会自动执行`gf gen ctrl`命令。也可以使用官网提供自动生成方式:[教程配置](../../../docs/开发工具/代码生成-gen/接口规范-gen%20ctrl.md#自动模式推荐)。

## 编写Logic
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ type RegisterRes struct {
}
```

多个验证规则使用`|`隔开,`required`表示此字段必填,`length`表示位数在`3-12`之间,`email`表示只接受合法的邮箱地址。所有可用的验证规则可在[开发手册](https://goframe.org/docs/core/gvalid-rules)中查阅。
多个验证规则使用`|`隔开,`required`表示此字段必填,`length`表示位数在`3-12`之间,`email`表示只接受合法的邮箱地址。所有可用的验证规则可在[开发手册](../../../docs/核心组件/数据校验/数据校验-校验规则.md)中查阅。

发起一个空用户名请求测试:
```bash
Expand All @@ -46,7 +46,7 @@ $ curl -X POST http://127.0.0.1:8000/v1/users/register -H "Content-Type: applica

`The Username field is required`提示我们用户名不能为空。

如果你对英文提示不满意,还可以使用框架提供的`i18n`组件改成中文提示。
如果您对英文提示不满意,还可以使用框架提供的`i18n`组件改成中文提示。

### 参数校检i18n
从[Github](https://github.com/gogf/gf/blob/master/util/gvalid/testdata/i18n/cn/validation.toml)下载文件并且存放到`manifest/i18n`目录,直接从下文复制也行。
Expand Down
2 changes: 1 addition & 1 deletion docs/course/starbook/第六章-附言/第六章-附言.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ description: '本书提供了一系列开发功能的优化建议,包括中间
- 实现`JWT`的黑白名单机制;
- 新增/编辑单词时没有对入库数据进行验证,比如单词掌握程度。

在优化这些业务的同时,你需要大量的查询相关文档,在这个过程中,你会加深`GoFrame`乃至`Golang`的理解。
在优化这些业务的同时,您需要大量的查询相关文档,在这个过程中,您会加深`GoFrame`乃至`Golang`的理解。

## 来杯咖啡
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ slug: '/course/starbook/word-overview'
keywords: [GoFrame,CRUD操作,单词管理,RESTful架构,Web服务,HTTP方法,增删查改,资源管理,URI,客户端接口]
description: '程序员的核心技能CRUD操作,通过创建、读取、更新和删除操作完成单词管理。RESTful是一种设计原则,实现资源管理的简单灵活的Web服务架构,使用URI访问资源,通过GET、POST、PUT、PATCH、DELETE等HTTP动词进行操作确保系统之间的通信'
---
在本章中,你将学习到程序员的核心技能——大名鼎鼎的增删查改操作,即`Create`(创建)、`Read`(读取)、`Update`(更新)、`Delete`(删除),简称为`CRUD`。这些操作构成了大多数应用程序的基础功能,通过它们我们将完成以下业务:
在本章中,您将学习到程序员的核心技能——大名鼎鼎的增删查改操作,即`Create`(创建)、`Read`(读取)、`Update`(更新)、`Delete`(删除),简称为`CRUD`。这些操作构成了大多数应用程序的基础功能,通过它们我们将完成以下业务:
- 新增单词;
- 编辑单词;
- 单词分页列表;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ type CreateRes struct {
}
```

你是否注意到,`CreateReq`结构体中与之前定义的`model.WordInput`高度相似,我们能不能复用一下,使`api`和`logic`保持一致,精简代码呢?像这样:
您是否注意到,`CreateReq`结构体中与之前定义的`model.WordInput`高度相似,我们能不能复用一下,使`api`和`logic`保持一致,精简代码呢?像这样:

*api/words/v1/words.go*
```go
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: 'This book uses the Proxima Notebook project as a practical example

## Introduction
---
The **Proxima Notebook** is an intermediate-level practical tutorial for GoFrame. Unlike the beginner-level tutorial [Star Notebook](https://goframe.org/course/starbook), this book focuses primarily on **microservices** development.
The **Proxima Notebook** is an intermediate-level practical tutorial for GoFrame. Unlike the beginner-level tutorial [Starbook](../starbook/starbook.md), this book focuses primarily on **microservices** development.

## Motivation
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ database:
debug: true
```

The `grpc` field defines two essential parameters: the microservice name and the listening port. The service name is used for service registration, and the listening port is self-explanatory. These two are mandatory; for other configuration options, refer to the [configuration template](https://goframe.org/docs/micro-service/config#%E9%85%8D%E7%BD%AE%E6%A8%A1%E6%9D%BF).
The `grpc` field defines two essential parameters: the microservice name and the listening port. The service name is used for service registration, and the listening port is self-explanatory. These two are mandatory; for other configuration options, refer to the [configuration template](../../../docs/微服务开发/服务端配置.md).

## Starting the Service
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ If you are already a programmer but not very familiar with `Go` and want to furt
---
This is a hands-on book, and the only suggestion is to follow it step by step. Learning from books alone can be superficial; practical experience is essential!

While following the book, it's best to refer to the [official development manual](https://goframe.org/docs/design) and try to extrapolate on it to better understand and master the content.
While following the book, it's best to refer to the [official development manual](../../docs/框架设计/框架设计.md) and try to extrapolate on it to better understand and master the content.

## Contact the Author
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The `GoFrame` framework has an excellent code layering design, with a clear and

After mapping, we can handle data tables by manipulating objects, avoiding the need to write `SQL` statements directly. This not only improves code readability and maintainability but also prevents common `SQL` injection issues from a security standpoint.

`GoFrame` provides built-in `ORM` functionality through the [gdb](https://goframe.org/docs/core/gdb) component, offering convenient and common `SQL` operations.
`GoFrame` provides built-in `ORM` functionality through the [gdb](../../../docs/核心组件/数据库ORM/数据库ORM.md) component, offering convenient and common `SQL` operations.

Here's an example:
```go
Expand Down
Loading
Loading