个人笔记,零碎小记录

文章讲述了在IT项目中的开发经验,强调了敏捷开发中需求澄清的重要性,详细介绍了代码结构,特别是多线程和数据库操作的流程。还涉及到了加密算法的使用,QTcpSocket的注意事项,以及在遇到问题时如何通过源码学习和解决问题。作者提倡利用好工作时间,学习新技术,同时提醒不要忽视代码的清晰性和功能的完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2023.03.13
1.整理:
1.敏捷开发第一步,最最重要,不然后面无用功,需求一定要问的清清楚楚 双方确认了再做, 不然做出来没用,这是敏捷开发的第一步
2.不了解的工程,自己先想一想再问,就这个组名片和 组共享一个做成 名片外发了,一个直接在
盘里获取,还有接口调用的时候,要想清楚,传参什么的,代码能简洁就简洁,不要一感觉重复就嘎嘎全复制,如果变动不大,可以通过三目,或者来个标记 区分,这样代码更减少
3.要不是翁哥帮你问了一下,你这需求到提交日能出来么,没确认好需求就去做,白做
2023.03.29
一 加密服务器总结


流程:设备管理->分发任务->服务器下载->加密->服务器上传
        即:成功连接设备后,就可以通知任务模块去搜索任务了,搜到任务后就会整理,然后告诉ftp去下载,下载完成后就会通知加密模块去加密,全部加密完成,就可以上传了  !!
1.整体最大的框架就是,一个主函数,去开启不同的继承qt线程的类,
       1.第一个大类就是数据库类:
                1.该类涉及到知识点数据库的操作,单例模式,定义接口,数据库初始化连接,以及sql语句的使用
        2.第二大类是设备管理类:
                1.该类涉及到知识点动态库的加载,以及单例模式,然后就是我们的设备业务流程,就是枚举,这个里面主要就是搜索usb还有 启动加密 ,真正加密是还有一个类
                2.这里类run函数中会写一个循环一直跑,当fpt下载好后会调用函数到这里并且把需要加密的idList也传过来了,这时候就是第四大类的数据管理模块来调用我们了,因为数据管理模块以及全部把文件拉下来了,所有就该通知我们去加密了并且把该函数的循环里面的状态制成加密,然后我们这个循环就会根据idlist去数据库里拿文件信息这个结构体包含文件路径目标路径什么的
       3.第三大类就是加密管理了:
                1.这个模块没什么好讲的,就是相当于加密软件,里面有组加密,名片加密这些封装的函数,这个模块好理解,就单独对一个文件进行加密,加密好一个(其实这时候还在类二里的循环里,因为循环的文件要全部加密完嘛)拿着就顺理成章的连起来了 ,加密完成之后你要干嘛,上传啊,哈哈哈哈,这个上传也是在类二的循环里面,等待全部文件加密完成后,类二的循环里面就发出一个加密完成的信号,注意是类二发的信号,加密完成,其实类三就相当于一个过度,类二完成后发信号并且带着完成的列表给类四
        4.第四大类就是ftp的类了:
                1.由类五分发完成后开始ftp下载,其中ftp涉及到的就是利用qftp,但是这个是异步的就是都是通过发射信号的形式,比如连接上服务器会发出信号,并有信号,连接上之后,我们就该调用list去拉文件,这时候也是有信号连接返回的如果拉取完成后会返回结束的信号,所以ftp一定要理清思路:就是ftp会有一个绑定的信号,这个信号都是你所有操作执行完成了才会出发commandFinish,比如你调了filelist然后服务器就会发出获取文件列表的信号,slotFilelist这个是我们的对应的槽函数自己写的,然后 发出信号与槽函数一起执行完成之后,qftp才回去发出commandFininsh信号来告诉你我完成了哪个操作。就是你的ftp 的filelist发出一个信号就会调用一次自己写的slotFileList槽函数,假设我们要循环拉取文件列表,当第一个文件拉取完成之后,slotFilelist此时是完成了一个列表,这时候完成了的话,整个ftp就会发出大信号commandFininsh
里面会有case对应到是文件拉取filelist的信号,这时候我们在这个大信号里继续调用ftp->filelist,这样又会发出list信号又会进去自己写的slotFilelist,这样就达到循环一直获取文件的效果了,当然你这个要判断结束,别一直下去了,判断结束的标志就是,给你一个路径,这个路径下用isdir函数判断是不是目录,是目录的话就创建两个list一个保存,一个临时用,这俩第一次都会被插入一个新的目录路径,判断结束的标志就是当我么完成信号commandFininsh过来的时候,在这个结束里面判断你刚刚拉取的临时列表里面的路径因为他已经被判断出是目录了,这时候我们就根据这个临时列表的大小(里面此时只有一个)如果他大于0那么就继续ftp->fileList(记得加斜杠这样又表示一个新的目录路径)这样就又开始了新的循环,此时不要忘了临时列表记得remove掉,也就是来一个加载一个然后把它移除等待新的这样的循环,直到这个列表小于等于0这时候,就是真正的把所以列表都循环出来了,大于0来个else 就是小于等于0,这时候,这个最终的commandFininsh收到的就是正在列表循环的最后一个结束信号了这时候你就可以打印debug或者做你下一步想要做的操作,所以循环判断的精髓就是比较大小,要么跟0比,要么两个listsize比较
        5.第五大类就是分发类了:
                1.该类是分发任务 ,当类二准备就绪后,会通知分发类,然后分发类就会一直循环去判断数据库里的任务进行选拔,一旦查询到有任务后,就会给类四数据管理模块进行获取工作列表的操作也就是从数据库里拿需要下载的文件就是会给你个文件路径嘛把这个文件路径下的文件全部下载下来,这里用到的知识点是 利用一个标记减少代码的重复量,并且利用
QFtp *ftpHandle = qobject_cast<QFtp *>(sender());
即利用object对象来辨别出过来的是哪个服务器全局变量,这个用法是用在信号浴槽的时候的,要写在槽函数中,所以这个变量就知道信号过来的是的什么对象了
2023.03.30
一、加解密总结
        1.普通加解密,自己生成密钥然后导入到容器1 进行密钥管理,如果有数据来了并且告诉是本地加密就用容器1
        2.名片加解密,别人生成一个名片,这个名片中是带有公钥信息的,也就是对方的公钥,然后我们拿到对方的公钥后,会调用私人接口拿对方的公钥再生成一串密钥也叫做生成数字证书,这个证书是放在文件头key4里的,这时候我们要加密,就会导入会话秘药,此时导入的数据是一串随机数,因为刚刚调用了私人的指令,所以底层是知道你要用容器二并且调用私人命令的时候就已经把那个公钥生成的数字证书记录下来了,然后你导入的随机数,就是作为随机秘药的一串组合数据吧,就是我会让这个随机数参与这次密钥加密,但解密的时候不管是名片还是组解密 都是用的那串固定数据0x64什么什么这里没理解,反正解密 的时候名片解密会调用cmd名片解密命令 组解密会调用组解密命令,他们的共同点都是 把名片里的公钥信息给倒进来了,也是就是刚刚提到的对方名片加密过的数字证书,解密是把那个数字证书倒进来解密了,那这么说飞来飞去的都是公钥,私钥都在u盘里提前生成好的,这个会话密钥的是随机数还是固定的就不要管了,下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值