我的第一段实习

63 阅读4分钟

前言

七月底,我的第一段前端开发实习结束了,历时三个多月。时间跨度并不长,但在这段日子里还是学到了很多东西,现在回过头来总结一下。

初入公司

初来乍到,我的项目经历少的可怜,只跟着视频写过一个小程序,对于实际开发的流程一问三不知,对于工作的一切知识都来自道听途说。还记得刚来公司时,根本不懂从哪里上手工作,第一个任务是为已有项目添加一个按钮和弹窗,接收后端数据并以列表形式展示,每次更新数据刷新列表。现在看起来这是一个有手就行的任务,但对于当时的我来说确实还蛮棘手,毕竟克隆代码到本地后,光是找到要修改的位置就花了不少时间。另外,公司使用的项目杂糅了vue2和vue3,对于只会vue3的我来说很多时候都是现学现卖。(后来慢慢习惯了,其实公司使用的很多工具、知识,自己其实都没有基础,都是边学边用)

步入正轨

刚开始的多半个月,相当折磨,每天面对一知半解、读不懂的代码硬着头皮写,不会就拷打AI,没有结果就看官方文档,经常因为苦恼公司的工作而睡不好。(不过公司的同事和组长都很好,没有难为我,直到现在我也很感谢他们)后来有了一定的积累,在五月我终于摆脱了先前那种低迷的状态,找到了自己的节奏。实际开发经常使用的一些工具慢慢熟练、对公司项目的开发流程逐步建立起了认识、组长为我指派的任务难度也逐渐上升。

独立交付

这个是在公司做的第一个完全由我负责的项目,也是最后走之前完成的项目,是这段实习的终点。需求是接收腾讯数智人的视频流,包含原始视频流和alpha视频流,将两者合成为透明背景的视频流,并通过TCPlayer(腾讯的播放器)展示到页面,将上述流程封装为SDK。说实话,我本来没觉得这个会很难,因为最复杂的视频合成处理部分的代码,公司先前已经有实现过类似的功能,唯一的区别是已有的为本地视频合成,而我要实现的是实时视频合成。但是很显然,是我想简单了,哪怕是最开始接入腾讯数智人,导入视频流到TCPlayer都卡壳了一段时间。后续根据公司提供的视频合成处理部分的代码来修改实现实时视频流合成时,最开始使用的是纯canvas方案,可以实现,但是每次运行时电脑温度都会直线上升,被pass了。之后经过一些我自己都记不太清的修改,终于使用three.js和canvas配合实现了实时视频流合成,但是作为一个组件来讲,它的大小还要在保证比例的前提下可以自由调整,这一部分也花了一些时间。(其实本质上还是不了解three.js和canvas)之后还有一些错误处理机制、缓存逻辑的完善,包括websocket失败重连、重试获取签名、token存储优化等等...

尾声

第一段实习算是圆满结束吧,收获很多,也认识到自己的不足。下个月会再次开始投递简历,争取在9月开启自己的下一段实习,希望能够找到心仪的公司吧。

实习工作内容(不全,仅包括回忆起的部分)

1. 为后台管理系统添加按钮和弹窗,实现数据新建、编辑

f12c22bfb0df02ca40e530bf6ffcb4e6.png

2. 为项目添加上传热词、更新热词功能,并增添热词说明页面,支持i18n国际化

a4811c27aa27eac43bcd4e7557c2854e.png

3. 为项目添加语速控制功能

image.png

4. 增加瀑布流页面,展示用户上传的素材

2bb04d01de6bc46311494a3350b90346.png

5. 完成海报页面,点击跳转添加企业微信

6. 增加个人主页页面

7. 封装腾讯数智人SDK

image.png

8. 为数字人编辑后的预览页面添加背景音

image.png

9. 修改封面显示比例

694e8605fbc943287abb16ebf0c3cf82.png

10.为小程序添加新用户的邀请码机制以及配套页面

image.png