语言
- 为什么还是Python?
- 它是我真正用来谋生的一门语言。
- 广度和深度的把握,一直以来我都是学得多但是深入的少。这门语言撩完撩下一个,需要深入学习。
- Python简单易学, 受众面广,现有技术框架更成熟,代码量更少。这虽然是我个人的一个学习项目,但是也可以给大家参考。
web框架
这里我仍然打算用Flask,源于17年的时候做过一段时间web开发,使用flask的话个人觉得比django稍微简单好上手一点。
工具
工欲善其事必先利其器,所以我这里采用Pycharm做开发工具,其实用什么不重要,sublime也好,记事本也好,只要开发效率高,顺手就行。
大致目录结构(后续可能发生变化)
image.png
- server
这是Lamb的后端服务,由app、logs、config.py、run.py组成。
- config.py
这是一个存放项目配置的文件,由于目前配置较少,只存放了当前项目的根路径和日志文件名。
- app目录
- controller
控制器层,我个人的理解,这里使用blueprint编写路由信息,通过dao进行数据处理并返回http response。 - dao
这里主要是负责和db层的交互。 - db
db主要是mysql, mongo等连接类。其中会用到flask_sqlalchemy简化我们对db的读写操作。 - middleware
主要处理mail, mq等。 - models
根据sqlalchemy将db表映射至Python cls对象。 - utils
app中需要使用的工具包如log和装饰器类等。
- logs
日志文件存放。
- requirement.txt
用例包含库,类似node的package.json。