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类似,锻炼代码能力,另外你招我进去不就是要求我写业务吗?
-
粘包怎么解决:分隔符:发送方在每个数据包之间加入特定的分隔符,比如换行符或者其他特殊字符。接收方根据分隔符来切分数据包,确保每个数据包都能正确解析。
-