项目回顾—框架

发布时间 2023-11-21 09:52:27作者: 游客0721

2023年11月20日20:45:29 从今天开始到月底,课程比较闲,必须拿下这个项目,16号有四级开始需要复习三天左右,到20号需要开始复习期末考试,需要时间紧任务重

1.体会到了封装项目开发框架对于项目开发效率的重要性,如有字符串操作、xml操作,时间操作,目录和文件,日志文件,网络通讯,进程通讯,ftp客户端,数据库操作。

细节补充:

  • 封装细节:
    • 字符串:最实用的如分割字符串文件、正则表达式匹配文件,解析xml字符串常用于解析参数或者带xml文件

    • 文件: 支持格式化输出字符串常用于日志

    • 时间: 字符串和整数的时间能够互相转换用于日志记录时间,简洁的定时器日志和守护进程心跳服务

    • 日志:日志程序的运行时间,运行阶段的状态,处理数据的情况,很方便进行排查错误,多线程日志加锁,超过日志大小切换切换日志文件,日志文件命名,时间和文件相关名字拼接

    • 网络通讯:封装了socket通讯的基本客户端服务端编写,输入必要的参数,简化了流程,粘包问题,有一个参数存放单次打算接受的数据,设置超时机制

    • 文件目录:最主要的线程冲突,文件操作没有锁机制,根据生成临时文件并且改名的方式

    • 进程通讯:信号量用于互斥锁和生产者消费者模型,进程心跳,把当前进程的信息加入共享内存进程组中,更新共享内存进程组中当前进程的心跳时间,超时时间释放

    • 封装ftp:ftp使用github上现成的ftplib库进行个性定制保留项目需要的api,用户不需要特别安装ftp客户端,额外保存失败的原因记录到日志当中,能够额外将上传下载获取列表以文件的形式额外保存起来

    • 封装oracle,orcale的oci库很麻烦,直接在网咯上找到大佬的oracle库封装一下就行了

  • 怎么使用:注释详细,掌握使用方法和一些小细节,刚开始写的代码都忘干净了,并且框架迥异能实现效果就行,研究业务而不是沉迷于技术当中
  • 可能询问:
    • xml:使用xml等上述框架是因为项目现成的 XML 解析模块无法满足。比如在将不同的数据转化成xml数据的时候现成的解析模块无法处理,处理大文件的时候性能不好,还有个性化要求。将网上的xml模块进行封装

    • 刚开始不知道有这些框架,跟随开发东一点西一点,还有才知道有个freecplus类似,锻炼代码能力,另外你招我进去不就是要求我写业务吗?

    • 粘包怎么解决:分隔符:发送方在每个数据包之间加入特定的分隔符,比如换行符或者其他特殊字符。接收方根据分隔符来切分数据包,确保每个数据包都能正确解析。