~momoji.技术架构及算法~
选取python3为开发语言,版本python 3.7.3;
web架构为pyramid;
数据库访问采用sqlalchemy;
使用jinja2模板,也提供api,但非完全前后端分离;
前端使用了echarts2;
考虑该站点依靠iis挂了几个应用,80端口已占就用iis做了application request routing 和 url rewrite,后续考虑换为nginx;
数据库mysql,版本mysql 8.0.16.0;后续考虑换位文件系统;
存储结构具有为单父属性的节点,即tree或者multi-tree;但最终实现可成环的有向图,非dag(因为有向且成环);
momoji.技术架构及算法 by 飞~甜 @ 2019-06-11 14:56:51
切到该章
收藏
从此续写
~python,pyramid,sqlalchemy~
这是我第一次用python和pyramid来写web站点,之前用的较多的是java/c#/asp.net/asp/php;python给了我全新的体验:
pyramid的route配置;简洁的语法;简洁的对象生成:dict/list/tuple/json;
sqlalchemy也秉承了python简洁的特点,orm没有hibernate的繁琐,不用写各种interface和implements;
美中不足:
虽是脚本语言,但是强类型,没有编译过程,也就没有编译期检测,需要在运行期发现类型错误,在request参数获取后,没有转换为正确的数据类型(比如int)而踩坑;
用缩进作为代码作用域范围;tab和空格问题;
----总体说来,快乐大于痛苦:)
python,pyramid,sqlalchemy by 飞~甜 @ 2019-06-11 15:17:25
切到该章
收藏
从此续写
~emoji utf8mb4~
development.ini文件[app:main]端中修改sqlalchemy mysql连接配置增加:?charset=utf8mb4
sqlalchemy.url = mysql+pymysql://user:passwd@localhost/storyhub?charset=utf8mb4
mysql库,查看支持的字符集,需要支持utf8mb4:
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
业务表具体字段属性:
Charset/Collation: utf8mb4 / tuf8mb4_0900_ai_ci:
ALTER TABLE `storyhub`.`story`
CHANGE COLUMN `content` `content` VARCHAR(2000) CHARACTER SET 'utf8mb4' COLLATE 'tuf8mb4_0900_ai_ci' NOT NULL ;
emoji utf8mb4 by 飞~甜 @ 2019-06-25 12:03:31
切到该章
收藏
从此续写
last by 飞~甜 @ 2019-06-25 12:03:31
章节模式
复制地址