一、实习背景与目的
作为一名计算机专业的学生,我深知理论与实践结合的重要性。为了更好地掌握专业知识,提高实际工作能力,我选择参加为期一个月的实习。本次实习的目的是参与全省医疗单位会计核算数据标准接口对接的项目,通过对授权码进行SM3加密和数据进行SM4加密,提升自己在加密算法应用方面的能力。同时,我也希望通过实习能够独立开发一个功能强大的发票识别验真系统,将理论知识应用到实际项目中,提高自己的问题解决能力和编程技巧。
二、实习过程与任务
在实习期间,我主要参与了以下任务:
1.参与全省医疗单位会计核算数据标准接口对接项目
在这个项目中,我负责了对授权码进行SM3加密和数据进行SM4加密的工作。由于加密算法涉及到数据的安全性和完整性,我对算法的实现细节进行了深入研究,并参考了相关文档和资料。通过与团队成员的沟通协作,我成功地完成了加密算法的应用,并参与了接口的对接测试。
在这个过程中,我不仅熟悉了加密算法的具体实现细节,还学会了如何将理论知识应用到实际项目中。通过与团队成员的交流和合作,我提高了自己的问题解决能力和编程技巧,也更加深入地了解了项目开发的流程和规范。
2.独立开发发票识别验真系统
除了参与项目外,我还独立开发了一个功能强大的发票识别验真系统。这个系统整合了硬件高拍仪和百度AI接口,实现了自动识别、验真和生成Word文档的功能。
在开发过程中,我遇到了很多困难和挑战。首先,我需要解决图片上传的问题。由于活字格软件提供的上传URL的接口文档错误,导致上传失败。我通过在论坛里向官方求助,自己查看浏览器开发者工具找到真实的上传URL,最终解决了这个问题。
其次,我需要解决PDF和图片的合并展示问题。由于高拍仪拍照图片只有Base64编码而无法直接显示URL,我使用了富文本编辑器嵌入<img>标签来显示图片和URL嵌入页面来显示PDF文件的方式,成功解决了这个问题。
最后,我还需要解决高拍仪的通信问题。虽然学习了WebSocket理解了其通信方法,但仍然无法与高拍仪软件对接。我通过学习本地存储器(LocalSession)来传递信息,成功解决了通信问题。
通过不断地尝试和思考,我最终成功地完成了系统的开发和测试。这个系统的开发不仅提高了我的编程技巧,还让我更加深入地了解了实际应用场景中的需求和问题。
三、实习中遇到的困难和挑战
在实习期间,我遇到了很多困难和挑战,其中包括:
-
SM国算加密算法的应用问题:
在我参与的全省医疗单位会计核算数据标准接口对接项目中,一个关键的挑战是应用SM国算加密算法对授权码进行加密。虽然网络上存在现成的代码示例,但这些代码通常是针对独立应用或特定环境编写的,并不能直接与我们现有的系统进行整合。
由于我们的系统具有特定的架构和数据流程,我需要确保加密算法能够无缝地集成到现有的数据处理流程中。这意味着我不仅要理解SM3和SM4加密算法的基本原理,还要深入了解它们的实现细节,以便能够根据系统的实际需求对算法进行适当的修改和优化。
在理解算法的基础上,我开始对源码进行逐行分析,找出与现有系统不兼容的部分。我遇到了诸如能够调用的库不匹配、接口调用方式不一致等问题。为了解决这些问题,我反复阅读算法文档和源码注释,同时与团队成员进行多次讨论,共同商讨解决方案。经过数日的努力,我成功地修改了算法的源码,使其能够与现有系统完美整合。在对接测试中,加密后的授权码得到了正确的验证和处理,确保了数据传输的安全性和完整性。
这个问题的解决过程不仅锻炼了我的编程能力,还让我深刻体会到了理论知识与实践应用之间的紧密联系。我明白了只有将理论知识与实际项目需求相结合,才能够真正发挥出算法的价值和潜力。同时,我也学会了如何面对挑战和困难,通过不断尝试和思考找到最佳的解决方案。
-
图片上传问题:
在我独立开发的发票识别验真系统中,图片上传功能是一个至关重要的环节。我原本计划按照活字格软件提供的官方接口文档来实现这一功能,但很快就遇到了问题。按照文档提供的上传URL进行图片上传时,系统始终返回上传失败的提示。
为了解决这个问题,我首先检查了上传的图片格式和大小,确保它们符合系统的要求。然后,我仔细检查了上传的代码逻辑,确保没有编程错误。然而,这些尝试都没有解决问题。
于是,我开始怀疑官方接口文档的准确性。为了验证这一点,我转向了在线论坛,向其他开发者求助。在论坛中,我详细描述了遇到的问题,并提供了相关代码和错误信息。很快,就有热心的开发者回复了我,指出官方接口文档中的错误,并提供了一个正确的上传URL。
为了验证这个URL的正确性,我打开了浏览器的开发者工具,对网络请求进行了详细的分析。通过对比分析,我确认了论坛中提供的上传URL是正确的。于是,我立即修改了代码中的上传URL,并重新进行了测试。这次,图片成功地上传到了服务器,问题得到了解决。
这次图片上传问题的解决过程让我深刻体会到了解决问题的艰难和乐趣。在面对问题时,我没有放弃,而是积极地寻求帮助和解决方案。通过不断地尝试和学习,我最终找到了问题的根源,并成功地解决了它。这次经历也让我更加相信,只要坚持不懈地努力,就一定能够克服任何困难和挑战。
这次实习经历不仅让我学会了如何解决问题,还让我更加深入地了解了软件开发的过程和技巧。我相信,在未来的学习和工作中,我会继续遇到各种问题和挑战,但我也相信自己会不断成长和进步,为行业的发展做出更大的贡献。
-
PDF和图片的合并展示问题:
在发票识别验真系统中,另一个我面临的关键问题是如何将高拍仪拍摄的图片和PDF文件合并并正确展示。由于高拍仪拍摄的图片是以Base64编码的形式存在,而不是常见的URL链接,这给我的展示工作带来了不小的挑战。
在尝试多种方案后,我决定采用富文本编辑器来解决这个问题。我首先使用富文本编辑器将Base64编码的图片转换成<img>标签的形式,这样就可以直接在网页中展示图片了。这个过程中,我需要对Base64编码进行解码,然后将其嵌入到<img>标签的src属性中。
然而,PDF文件的展示又带来了新的问题。由于PDF文件无法直接通过URL嵌入到网页中,我需要找到一种方式来在网页中展示PDF文件。经过一番研究,我发现了可以通过将PDF文件的URL嵌入到一个新的页面中,然后在主页面中提供一个链接来打开这个新页面,从而实现在主页面中展示PDF文件的效果。
这个解决方案虽然在一定程度上解决了问题,但也带来了新的问题。由于<img>标签和PDF文件链接是分开处理的,用户在查看发票信息时需要在两个页面之间来回切换,这无疑降低了用户体验。
为了进一步提高用户体验,我开始寻找一种能够将图片和PDF文件合并展示的方法。在尝试了多种方案后,我最终决定采用一个iframe框架来将PDF文件嵌入到主页面中。这样,用户就可以在同一个页面中同时看到图片和PDF文件了。
这个解决方案虽然复杂,但最终实现了我想要的效果。通过不断地尝试和改进,我不仅解决了PDF和图片的合并展示问题,还提高了系统的用户体验。这次经历让我更加深刻地认识到了解决问题的复杂性和挑战性,也让我更加坚定了不断学习和进步的决心。
-
高拍仪的通信问题:
在我负责的发票识别验真系统中,高拍仪作为一个关键设备,其通信问题一直困扰着我。尽管我学习了WebSocket的原理和通信方法,但在实际对接高拍仪软件时,我仍然遇到了诸多困难。
WebSocket作为一种在单个TCP连接上进行全双工通信的协议,本应是实现高拍仪与软件之间实时通信的理想选择。然而,在实际应用中,我发现由于高拍仪软件的设计限制,它并不支持WebSocket通信协议。这意味着,我必须寻找另一种解决方案。
在这种情况下,我开始研究本地存储器(LocalSession)作为信息传递的媒介。通过深入了解LocalSession的工作原理,我意识到它可以作为高拍仪软件与我的系统之间的桥梁。具体来说,我可以在高拍仪软件中将要传递的信息保存到LocalSession中,然后在我的系统中读取这些信息。
为了实现这一目标,我首先在高拍仪软件中编写代码,将需要传递的信息(如图片数据、拍摄状态等)保存到LocalSession中。然后,在我的系统中,我编写相应的代码来读取LocalSession中的这些信息。这样,即使高拍仪软件不支持WebSocket通信协议,我也能够实现信息的传递和通信。
经过多次尝试和调试,我成功地利用LocalSession解决了高拍仪的通信问题。现在,我的系统可以正确地接收和处理高拍仪发送的信息,从而实现了发票的自动识别和验真功能。
这次通信问题的解决过程让我深刻体会到了技术选型的重要性以及面对挑战时的耐心和决心。在未来的工作中,我将继续不断探索和学习新的技术,为解决更复杂的问题做好准备。同时,我也将更加珍视团队合作的力量,与同事们共同努力,共同进步。
四、实习收获与体会
通过本次实习,我深刻体会到了实际工作中所面临的挑战和成长。我不仅学到了专业知识,还锻炼了解决问题的能力和团队协作能力。在实习过程中,我不仅完成了任务,还主动思考如何优化代码和提高系统性能。这种积极的学习态度让我更加深入地了解了计算机行业的发展趋势和前沿技术。
同时,我也意识到了自己在知识和技能方面还有很多不足之处。在实习过程中,我遇到了很多困难和挑战,但通过不断地学习和尝试,我最终都找到了解决方案。这种不断进取的精神让我更加坚定了在计算机行业发展的信心。
在未来的学习和工作中,我将继续努力提升自己的专业技能和综合素质。我将关注计算机行业的发展动态和前沿技术,不断学习和掌握新知识。同时,我也会注重提高自己的团队协作能力和沟通能力,以适应不断变化的工作环境和需求。
五、实习建议与展望
在实习期间,我也发现了一些问题和不足之处。首先,我认为实习单位应该加强对实习生的培训和指导,让我更好地了解公司的文化和业务流程。其次,我也建议实习单位提供更多的实践机会和挑战,让我能够更全面地提升自己的能力和技能。
展望未来,我希望能够在计算机行业中不断学习和成长,为行业的发展做出更大的贡献。我计划继续深造计算机相关的知识和技能,并积极参与各种实践项目和活动。同时,我也会关注行业的发展动态和趋势,不断拓展自己的视野和思路。本次实习让我收获颇丰,不仅提高了我的专业技能和综合素质,还让我更加深入地了解了计算机行业的发展和前景。我将珍惜这次实习的经历和收获,继续努力提升自己的能力和素质,为未来的学习和工作做好充分的准备。通过这次实习,我不仅学到了专业知识,还锻炼了解决问题的能力和团队协作能力。这段经历让我更加坚定了在计算机行业发展的信心,也对未来的学习和工作提出了更高的要求。我将继续努力,不断提升自己,在未来的工作中做出更大的贡献。