实习第三周:内存泄漏惊魂、空仓库惊吓与Jenkins疑云

67 阅读4分钟

各位掘友们,我又来分享实习周记了!第三周的剧情可谓是跌宕起伏——从内存泄漏惊魂到Gitlab空仓库惊吓,最后以Jenkins构建疑云收尾,每一刻都在考验着我的心脏承受能力。

Day 15:内存战争升级版

周一的主题是「与Mac运存的殊死搏斗」。完成了多个模块的封装和样式校正后,成功通过iframe将前后台项目链接起来。测试显示各个模块样式正常且支持动态配置,这本该是值得庆祝的时刻⋯⋯

然而,公司配发的Mac在同时运行两个项目时卡成PPT,严重影响工作效率。我深刻体会到了「工欲善其事,必先利其器」的道理——硬件限制真的是开发效率的隐形杀手!

Day 16:内存泄漏惊魂

周二完成了所有模块的封装和样式还原,后台动态配置功能也顺利实现。但就在胜利在望时,遭遇了编译卡住的诡异问题。

尝试回滚配置文件无效,最终只能将整个项目回滚到稳定版本。根据日志和个人猜测,问题可能出在内存泄漏——编写最后一个模块时,prompt没有给出明确的模板和约束,导致AI生成的代码可能存在隐患。

血泪教训:使用AI生成代码时,一定要给出明确的模板和约束条件,否则后果自负!经过一个半礼拜的努力,这个大任务终于完成。虽然没人带教全靠自己研究很花时间,但通过这次经历,基本掌握了老项目升级的完整流程,算是痛苦的成长了。

Day 17:从零开始的Gitlab之旅

周三完成了两个项目的启动文档和注意事项,并上传共享。接着开始探讨如何实现两套导航栏的兼容方案——导航栏是内置的,根据添加模块加载,需要确保新老版本都能使用。

更刺激的是:获取Gitlab权限准备下一个任务时,发现仓库里只有一个空的README文档!这是要我从零开始的节奏啊⋯⋯

在文档中,我详细记录了开发过程中遇到的坑和解决方案,希望后来者不用再像我一样「摸着石头过河」。毕竟,前人栽树后人乘凉嘛!

Day 18:渐进式更新的艺术

经过团队讨论,最终决定通过checkbox控制两套CSS来实现新老导航栏的切换,这样既能实现渐进式更新,又不会浪费资源。

其实做两个组件切换也可以,但两套CSS的方案更轻量。至此,这个大任务基本完工,代码层处理完毕,就等测试结果了。

技术思考:在项目迭代中,渐进式更新往往比推倒重来更实用,既能保证稳定性,又能逐步优化。

Day 19:Jenkins构建疑云

周五的任务是将项目部署到测试环境。先在本地运行yarn lint,发现不少错误,使用AI辅助逐一修改。两个项目的lint错误都修复后,开始提PR的过程。

这里遇到了版本控制的挑战:首先clone原仓库分支进行修改,然后fork主分支到个人仓库,最后要将修改推送到fork后的分支提PR。在AI的帮助下,终于完成了这个看似简单实则复杂的过程。

但最诡异的是:Jenkins构建显示成功,页面上却看不到任何变化!是因为PR还没通过?还是构建流程有问题?另一个开发大哥已经下班,这个谜团只能留到下周解开了⋯⋯

本周成长总结

  1. AI协作规范化:学会了为AI提供明确的模板和约束,避免生成问题代码

  2. 项目文档的重要性:详细记录开发过程中的注意事项,利人利己

  3. 渐进式更新策略:通过轻量级方案实现平滑过渡,平衡创新与稳定

  4. 版本控制进阶:掌握了复杂场景下的Git操作和PR流程

最大的感悟是:在工作中,除了技术能力,文档编写、问题排查和协作沟通同样重要。这些软技能往往决定了项目的成败。


互动话题:大家在使用AI辅助开发时有没有遇到过「智能变智障」的情况?或者在版本控制上踩过什么坑?欢迎在评论区分享你的血泪史!