https://github.com/summerblue/goblog
Goblog 是一个基于 Go 标准库构建的博客系统。此项目非常适合作为 Go 新手的第一个上手项目。
https://github.com/summerblue/goblog
Last synced: 2 months ago
JSON representation
Goblog 是一个基于 Go 标准库构建的博客系统。此项目非常适合作为 Go 新手的第一个上手项目。
- Host: GitHub
- URL: https://github.com/summerblue/goblog
- Owner: summerblue
- Created: 2020-07-27T09:21:55.000Z (almost 5 years ago)
- Default Branch: G01_1.22
- Last Pushed: 2024-03-12T09:34:00.000Z (over 1 year ago)
- Last Synced: 2025-04-09T16:12:59.834Z (2 months ago)
- Language: Go
- Homepage:
- Size: 11.8 MB
- Stars: 210
- Watchers: 2
- Forks: 73
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
## 说明
Go 非常适用于开发 Web 应用程序,但是因其简单的语言特性,入门经常会遇到问题,以至于让人觉得不知所措。
你有没有这样的情况:
> 在阅读了无数悠长的课程 如 [《Go 入门指南》](https://learnku.com/docs/the-way-to-go) 、大量的免费快速入门的博文(语法、数据库连接、标准库教程等…),以及看了无数代码示例后,仍在疑惑自己是否真正掌握 Go 编程?
问题在于 **我们阅读的每个教程都过于简化**,我们需要的是一门综合课程,展示所有部分如何协同工作。
## 盖房子
学习 Go 语法或简单的示例无法让你学会构建 Web 应用。这有点像有人递给你一个工具箱,教我如何使用每种工具,你仍然无法掌握『盖房子』一样。
开发 Web 应用需要复杂的系统性知识。涉及的知识点非常广泛,例如表单验证、登录授权验证、共享数据库连接、密码哈希、代码组织(MVC/RESTful)等,我们需要利用一个项目,把这些知识点组合在一起。
本课程,我们会开发 goblog 这个项目,从打地基开始,一起感受盖房子的所有过程。
## 最佳实践
本课程虽是构建 Web 程序,但也可作为学习 Go 编程的入门课程。
编码上我们遵循 Go 官方推荐的编码规范和最佳实践。
功能的开发上,我们会优先使用 Go 标准库来解决一些特定问题,且会告诉你标准库的局限性,然后我们会使用第三方库来做重构,以期在掌握 Go 基础知识的同时告知你解决此问题的最佳方案。Go 标准库好用,但是大部分情况下我们会选择构建在其之上的第三方库来完成任务,因为工作中我们就是这么干的。
我们构建的不是一个玩具项目,而是可直接拿来用在生产环境中,或者作为某个大型项目的地基项目。而构建此项目的知识,你可以放心的在工作生产中使用。
> 讨论请前往:[公告:最适合 Laravel 开发者学习的 Go Web 实战课程](https://learnku.com/go/t/51595)
## 运行代码
### 1. 下载代码
```
git clone https://github.com/summerblue/goblog.git
```### 2. 配置环境变量
```
cd goblog
cp .env.example .env
```使用编辑器打开 .env 文件,并对里面的信息做相应配置,尤其是数据库信息。
### 3. 运行代码
```
go run .
```### 4. 访问 goblog
http://localhost:3000/