我的实习踩坑经历

编程导航最近发起了职场日常分享活动,今天我就这个机会 来说一说我之前实习的那些囧事吧! 实习经历很丰富,入职的第二天接到的第一个需求就是将生成的新版excel格式(xlxs)为改成旧版的excel(xls)(背景是老外打不开新版的excel格式 没有WPS 只有老版的office),系统用的是阿里巴巴的easyexcel依赖,需要将把那个枚举值改成旧版的,到最后记不清的报错还是乱码,反正不能用,经过一顿操作,用excel.xlsx.enum这个枚举居然生成旧版的excel,将模板也换成旧版的xls,然后组长又改了什么东西 ,反正最后问题解决了。 然后第二周要做个导入excel批量刷新快照的功能,背景是测试环境数据都是乱的,好多数据跟生产环境上的数据对不上,要补快照数据,这个功能就是运维快照的功能。然后我就定义了要导入的变量,什么do、po、 vo 定义好测试,在debug过程中,excel里有很多数据,但是在controller层的List集合里总是为null,excel字段属性跟实体类一致,不管写了多少行都没用,记得那天是周六,我搁那百度搞了半天发现定义的vo类上加上了lombok的注解 (@AccessChain=true)也就是链式调用开启,而这个导入excel是不能加这个注解或者将true改成false,最后改了这个属性将问题解决了。原因就是下文链接分析的那样,EasyExcel是使用 net.sf.cglib.beans.BeanMap 工具类拷贝的, 这正是造成 使用@Accessors(chain = true)后, EasyExcel解析不到数据的原因所在. https://blog.csdn.net/qq_28036249/article/details/108035369?fromshare=blogdetail&sharetype=blogdetail&sharerId=108035369&sharerefer=PC&sharesource=m0_56653797&sharefrom=from_link

还有在测试接口的时候使用用postman请求工具,在接口调用时,如果heads中不勾选Host,调用接口就会报400 Bad Requests错误,也是我的踩坑发现 在给实体类加拓展字段的时候没有加上@Entity注解,@Entity注解表示该类是实体类,在项目启动时会根据该类自动生成一张表,表的名称即@Entity注解中name的值,如果不配置name,默认表明为类名。在测试环境中数据表加入了这个字段,而生成环境中没有加入这两个字段,导致生成环境报错。最后排查bug发现我没有加上这个注解。 之后的两周在做两个报表,按照时间,费用项分组,我之前不会分组,通过百度和查询项目里大哥写的代码,写了分组,再按组长说的并行流批量处理,加快了处理速度。就是这个报表里面的代码可恶心,它存到数据库是一个汇总的,然后点击其中一个汇总,查看明细,再在业务代码去给它一个一个set VO明细。最后展示到页面上,可是一个汇总下面的明细就有上百条,而我做的报表就是要过滤所有的明细查询出他们想要的数据。最关键的是它设置明细,一个一个set VO ,不是批量的。所以我生成一个报表就要跑好久,最后实在忍不了,学会了组长的并行流,我把那个setVO改成批量的 这才快一点。 报表生成后,要加定时任务,因为是根据台账生成的,万一台账有变动,增加或删除了呢?所以要加个定时任务每小时跑一次生成报表,定时任务我也不会,根据之前大哥写的快照的定时任务模仿着写,多线程批量分页处理,最后在测试环境服务器cpu占有率高达95%,组长夸我是个小可爱!!!后来在网上搜寻资料结合组长的建议修改代码最终上线了。 之后是让看一个bug一个ID为xxxxx的托盘不存在,但是库存里能查到也没有删除,但就是出库不了报不存在的bug,然后我就debug运行了 出库要扣库存 库存减一,但是组长的方法在扣掉库存后又getByid了是要计算什么东西 他这个过程写到扣减库存的后面导致 先扣库存 再select 查询不到报错 事务回滚 出库失败,库存还在,所以这就是通过在数据库中能查到 这个很简单的问题,把计算过程移到扣减库存的代码上面就好了。

之后下一周记忆最深的是要改测试环境的druid监控界面和actuator,因为这是为了方便监控sql日志 关闭它们是要防止安全漏洞扫描,改这个配置很简单,就是true改为fasle 或者直接注释掉,但是奇怪的是 我关了,在本地是生效的,但是打成jar包上传的服务器部署到测试环境的没有生效,就不行,它还是能访问。为此在百度,搞了一下午。晚上9点多导师问我到底有没有搞好,我在坚持发最后一次版,它还是不行,于是我就说了没有,等待我的当然是批评、挨骂,10点半过一次会议,会议上我共享屏幕 给mentor看了配置文件,然后问题就出在服务器上,登录服务器是root根目录,里面整整齐齐的放的是项目需要运行的4个jar包,有个config目录,里面正是所需的配置文件,但是显而易见改了这个地方的配置文件没有用,然后mentor就让我找jar包真实的运行目录,让我运行 ps | ef java 查看进程及所在目录,最后发现是在data 文件夹下的项目名称目录里面改了这里的配置才能生效。 最后项目进入验收阶段了,我就负责写一些文档,整理一些资料,但是这些东西甲方不看但是要有,所以我就灵活应用GPT来生成,再加以修改复制粘贴完事~ 这就是我实习期的踩坑经历。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
小麻雀
下载 APP