1.熟练掌握Python和SQL相关知识,具备良好的面向对象编程和面向函数思想,并熟悉常用的设计模式(如单例、工厂设计模式);
2.熟悉Nginx等Web服务器
3.能够独立编写自定义的Web框架,并熟练使用各种框架,如Flask、Django
4.熟练操作MySQL数据库,熟悉MySQL的集群的搭建;
5.熟练使用Linux常用的操作命令,熟悉shell脚本编程
6.熟悉Redis的分布式缓存架构,在项目中使用二、三级缓存处理,降低服务和数据库的负载
掌握RabbitMQ消息队列;
7.熟悉多进程和多线程编程、熟悉网络编程和TCP/IP协议;
8.熟悉SQLAlchemy相关的ORM框架,基于业务设计出各种数据的关联关系;
9.熟悉定时调度,Limiter限流器和基于JWT 的Token认证服务;
10.熟悉JavaScript,HTML5,CSS,Ajax,jQuery,ElementUI,Bootstrap,Vue技术栈等,有前后端分离的项目开发经验;
11.熟悉使用Pycharm、IDEA、Git、项目管理和项目构建工具,可以管理和创建项目分支;
12.熟系掌握Nginx的项目部署,可以构建基于共享缓存的集群服务,了解微服务设计方案和原理,可以在Docker容器中部署各种微服务;
13.熟系常用的数据结构和算法:包括树、二叉树、分区排序、快速排序等;
2022/1—2022/5 芒果头条社交内容平台(一期)
项目架构: Python+Django + JWT+ Redis+ MongoDB + Mysql+ Vue +Elasticsearch + RabbitMQ + FastDFS + Docker + Nginx
开发工具: Pycharm
项目描述: 为了适应用户的习惯,社交内容平台往往是终端多样化的,包括平板、手机和PC端。之前的多服务器架构已经不能满足要求。必须要采用前端和后端的隔离设计。该项目包括:用户管理、文章管理、自媒体管理等模块
技术实现: 1. 整个项目采用前后端完全分离的架构;
2. 基于Vue来开发前端,并且兼容各种终端平台;
3. 基于RabbitMQ采用生产者和消费者设计模式;
4. 海量小文件的存储方案采用FastDFS来实现;
5. 支持基于Elasticsearch的全文检索功能,能做到100毫秒内的关键词搜索;
6、完成CORS跨域访问的问题;
7、完成基于Docker和Nginx的服务器部署;
2021/9—2021/12 咚宝商城(一期)
项目架构: Python+Flask+ SQLAlchemy + JWT+ Redis+ Mysql+ Vue + Nginx
开发工具: Pycharm
项目描述: 商城目前的模块大致分为用户模块、商品模块、库存模块、订单模块、购物车模块、支付模块、搜索模块。我们采用类淘宝典型电商的SPU、SKU数据结构设计,支持动态扩展商品属性。前后分离(前端采用 Vue2.0 + Iview,后端)
技术实现: 1. 整个项目采用前后端完全分离的架构;
2. 基于Vue来开发前端,并且兼容各种终端平台;
3、去掉了Session机制,采用JWT + Redis 替换用户Session
4、采用Flask-Limiter限制限制刷单,和短信发送的频率
5、对接阿里的短信平台,自动发送短信验证码;
6、对接支付宝、微信接口实现商城支付功能;
7、完成基于Uwsgi 和Nginx的服务器部署和负载均衡
责任描述: 负责基于restful风格的后端开发,采用的技术是Flask-RestFull,完成用户管理模块,订单模块,商品模块,解决Token认证问题。完成支付模块开发和短信接口开发。了解支付宝的支付接口使用。
责任描述: 负责基于restful风格的后端开发,完成用户管理模块,解决多平台用户,包括QQ、微信等用户的认证问题。完成支付模块开发。了解支付宝的支付接口使用。
解决的问题: 随着数据量和文章内容的增加,用户的全文搜索变得非常慢和卡顿。采用Elasticsearch和数据库对接,完成实时索引。在千万级别的数据量下可以做到毫秒级别的全文检索。