开坑新项目——团子博客DangoBlog,此博文为项目开发日志。
Table of Contents
项目简述
DangoBlog🍡,中文名团子博客🍡,定位为个人练手项目。 旨在通过项目开发熟悉Go语言,熟悉常用的web应用开发流程,并享受数据流动的乐趣。
项目地址
https://github.com/sptuan/DangoBlog
期望功能
- 文章和附件发布修改
- 多媒体附件管理
- 搜索和标签系统
- ...
参考教程
https://github.com/sausheong/gwp
https://books.studygolang.com/gopl-zh/
价值观
开心是第一要务!
进度(自评)
开发日志
2020年09月19日
- 参照教材,构建基础入口框架
- json配置文件设置和读取
- 构建utils,当前包含config结构
- 引入logger日志
当前的一些想法:
1 当前想到的未完善的要点
- 单元测试、集成测试,构建
- 数据库结构设计和实现
2020年09月20日
- 研读了 ServeMux
- Go语言http库的Request接口
- Cookies机制
当前的一些想法:
1 关于前端后端
根据之前的了解,本项目实现可以使用直接在后端使用模板引擎的方式构建整个网页。也可以使用React等前端框架实现渲染和拉取,后端使用api的形式实现。和fandy讨论后,决定暂时使用模板引擎的方式,因为主要是用来熟悉go语言和一般的web编程。
2020年9月21日
- 加入初始的sql表结构
今天知识性地学习了教材上的模板方法和sql初始化。其中对于这个项目现在的复杂程度,数据库表设计不算难。
又看了看前后端分离的方案,node.js在服务端添加一个代理负责api请求,挺巧妙的。
前端我不太会弄框架或者布局。我将尝试先使用教材提供的模板。然后尝试能否移植wordpress主题或hexo主题。
2020年09月24日
自此《Go Web编程》教材书中的样例已经全部照着实现一遍了。当前功能下的增改删查不是特别复杂,逻辑依赖于模板。照着实现的过程中,增改删查没有想象中的那么难,不过稍微一不留神就有数据库操作的错误,还是需要细心。
当前比较疑惑的是这种Web编程的测试,比如针对数据库或者请求的单元测试如何编写?还有一个自动化持续构建部署的了解。
接下来:
- 引入MD编辑器和富媒体
- Tag标签
2020年10月07日
趁着国庆假期,主要是把mysql的东西看一下。为什么要看mysql呢?因为之前的wordpress、nextcloud等优秀的PHP软件后端数据库都是使用的mysql,运维面板有完善的phpmyadmin管理(虽然pg也有pgadmin)。
之前都是作为wordpress的使用者,也上过数据库的核心课程,但从来没作为一个开发者去CRUD数据。
看了一些mysql的使用实践指导,个人理解使用查询时,相当于将好多操作通过sql懒惰地交给了数据库去做。CURD的sql语句虽然能很快地写出来,但是这个东西绝对是对性能有很大影响的,尤其是需要理解一些内部原理才能写出高效的查询。
2020年12月24日
硕士答辩结束,恢复学习与开发
2021年1月5日
答完辩竟然来了一场重感冒……
考虑用 gin 框架重新构建
hexo好像挺简约大方,就是功能少
@yuge 自己造个轮子试一下