1.优化python函数编程思维 模块复用
2.函数命名有意义
3.思维不严谨 bs基于的大前提为 sorted array
4.避免在二分操作时产生越界的问题
5.使用unittest 进行单元测试 详情请见 http://blog.csdn.net/a542551042/article/details/46696635
1.代码风格不好,比如 , 后面跟个空格 尽量解决代码风格问题
设计方案:
整体服务采用cs架构,client模拟各类消息发送,server收到消息后进行处理返回消息
1.对于客户端,需要考虑的是模拟多类消息类型(邮件、短信),这块消息类型可以用一个type字段模拟。
2.对于服务端,构建多个消息处理模块(如邮件处理器,短信处理器),由于需要进行流量控制,建议实现
工作线程,每次收到消息后启用工作线程处理,超过容量的消息请求放置在队列中等待。
3.客户端服务端通讯采用socket,需考虑数据序列化、分包、粘包等问题处理
4.模块采用unittest保证单元测试覆盖率
5.设置logging,打印日志
技术细节:
定义消息结构:
三类消息为:Email 、SMS 、HI
发送格式如:{'type':'Email', 'content': '我就是条邮件', 'send_time': '2017-12-07 16:44'}
处理后消息为 : {'type':'Email', 'content': 'rep我就是条邮件', 'send_time': '2017-12-07 16:54'}
消息传输过程中基于socket编程,客户端需要构建包头存储客户端信息及发送的包长,服务端先解析包头,之后解析数据
客户端设计:
服务启动、发送消息,接受消息并打印出日志 三个功能模块
服务端设计:
服务启动、消息监听(收到新消息后放置在队列中,有空闲工作线程后进行调度)
处理器模块:
多类消息的处理器
OVER