Markyan04
Markyan04
发布于 2025-01-07 / 89 阅读
1
1

【年终总结】2024 - Part1

刚准备动笔写的时候感觉2024似乎又是平平淡淡的一年,但随着思绪一步步向前追忆,发现还是有不少故事,被我遗忘在角落里了。借着这个时机,把他们一并捡起来,回忆一下我的2024。

初步规划一下,感觉内容可能有点多,因为这个小站是24年年底才创建的,年终总结就相当于直接把今年没写的Blog都写了一遍。年终总结初步分为3个Part,Part1主要是和我专业相关的,软工专业大学生求生实况;Part2主要是动漫和游戏;而Part3主要是生活日常。也因此,年终总结或许要拖来拖去,差不多一个月才能挤出来吧...估计是赶不上1.1当天发出了(毕竟刚好卡在期末周上了)。嗯,开始吧!

2025年4月的我,Part2和Part3咕咕了...

夹带私货:真的好喜欢BA联动初音的这张,活泼萌系的初音

用来练手的一些小东东

2024年的一大半时间,都处在我转专业到软件工程的新大一时间段。转专业后嘛,由于不需要修读那些通识课和大类课,学业压力显著低于其他同学。因此也“没事找事”,做了些小项目来充实一下自己的生活,简单实践一下技术。

阿伯丁学院综合预约平台小程序

项目仓库链接:https://github.com/AbdOfficeHour/AbdOfficeHour

这个项目其实准确来说是从2023年9月开始筹备并完成demo的,2023年12月正式投入使用。整个项目难度不大,技术栈就是微信那一套SDK和微信云开发。并且整个项目呈现着一种屎山的美......这算是我第一次进行软件开发实战,虽然代码很烂,不过这项目也不知不觉运行1年多了,处理了学院内大大小小几百个预约事件。算是我开发的启蒙吧。(但是屎山是真屎山,不敢改一点了......😭)估计这个小程序也要下架了,Web端准备上线了。

舌诊宝 - 基于机器学习的中医舌象健康诊断

项目仓库链接:https://github.com/TonguePicture-SKaRD/TongueDiagnosis

这个是用来参加大创的项目,起始于2024年1月,比较惊喜的是申到了省级大创,因此项目也和当下比较热门的CV领域结合了一下(其实就是水了一下......这标题一看就很好拿来给大学生写项目)。在做这个项目之前,我都没有学习过AI领域相关的任何技术。不过学完后做了之后发现,我个人的确不太喜欢AI领域的那些技术栈。在此方向上,未来的目标暂时定为会调包,能训练简单模型即可。同时,我们组内的成员其实职业规划都更倾向于开发岗,或者说相对传统的软工岗位,所以这个项目发完软著,成功结项后估计不会太深入了,就在Github开源挂着了,供未来的同学们参考水项目用(有点难崩🤣)。现在这个项目已经有41个star,8个fork,和2个issue,这也是让我感到比较意外的,虽然不多,但是很宝贵,这也是我第一次在Github上被他人注意到,真的很感谢他们的支持🥰。

扯了好多有的没的,讲讲项目如何实现的吧。在应用层面,开发的是一个相当传统且轻量的Web应用,前端是Vue3 + Axios + Element Plus,后端是FastAPI + Sqlite3 + PyTorch。用户上传舌苔图像后,我们就通过模型进行分析。在模型层面,图像先通过YOLOv5进行定位,将定位标记后的图像传递给SAM(Segment Anything)进行舌象切割。完成图像预处理后,最后将切割后的舌象传递给我们训练的模型进行分析,模型架构主要是ResNet残差神经网络结合SqueezeNet挤压神经网络,通过模型的分析,提取出舌象在四个维度的特征(也就是一个多分类问题)。不过从结果来看,当前模型的准确率还不够看的......从1月初到3月底,我们估计会抽时间再对应用进行一次优化。同时采用其他的方案,以提高模型的准确率。

阿伯丁学院综合服务平台 - 预约平台

项目链接(部署后平台):https://abdnims.scnu.edu.cn/sso/login

预约平台只是综合服务平台的一部分,第一次涉及到大范围多人协作开发,要注意的事情也多了不少,开发/部署流程也标准化了一些(以前多人协同开发就只是组内协同,就5个人左右)

其实项目要实现的东西还是比较简单,就是将小程序端的教师Office Hour预约和教室预约功能迁移到Web平台上,额外需要注意的地方大多是非功能性需求导致的。同时,项目大约在2024年6月开始筹备并立项校级金种子项目,在设计系统架构的时候,就完成了详细的技术文档,开幕即屎山的场面估计也消失了(但是经历未来无限长周期的维护后可不好说了)。

项目技术选型上,前端还是Vue3 + Axios + Element Plus + Pinia,后端是SpringBoot + MyBatis/Spring Data JPA + MySQL,开发后的预约平台应用和综合服务平台的其他平台一并部署于学院服务器上,并且统一接入学院其他小组开发的SSO单点登录系统,进行用户鉴权后,访问各个子系统,下图是大致的架构图。

GoodsExchange - 校园二手交易平台

项目仓库链接1(前端仓库):https://github.com/GoodsExchangeSCNU/GoodsExchangeFrontend

项目仓库链接2(后端仓库):https://github.com/GoodsExchangeSCNU/GoodsExchangeBackend

这个应用是我们软件工程导论课程的期末大作业,算是个小娱乐练习吧,因此没有考虑性能问题,安全问题。整个应用主要由买卖事件,聊天对话组成。前端又是Vue3 + Axios + Element Plus(绷不住了一个技术栈用了一年),后端则是Django + Sqlite3。这个应用也是我第一次使用WebSocket通信协议的应用(之前全是RESTful API),之前很少有双向通信的需求,没有实践过WebSocket通信。

写到这里,感觉得致谢一下几个有趣的人类,他们基本和我一并参与了上述所有平台的开发(有些没有太固定的社媒ID,就没有写啦):

@tainya3:性别男性取向男,重度病娇爱好者,洛杉矶生物钟研究员......咳咳,其实是 真 · 组内指定全栈技术大拿,开发经验相当丰富,疑难杂症专科主任医师!😂😂,总之就是难以描述的nb(各种意义上)!

@HOWARD-mzYANG:组内乐子来源地,前天写后天忘的践行人!玩笑归玩笑,其实是爱玩抽象的开发主力干将,以上项目早期时,他和@tainya3,我共同构成铁三角,承担了大部分的开发任务。

@stardrophere:和@HOWARD-mzYANG共为乐子来源地,语出惊人代表人物。前端主力,界面设计相当简洁动态美观!为何没有早点让你入组呢,我那个前端审美简直没得看啊😭还让我写那么多CSS,沟槽的CSS还在追我😭

@Bt1Q:通过预约平台运维认识的,怪我前半年闷在宿舍内没有大范围和同学沟通,相见恨晚啊!对技术相当有激情的开发者兼运维,聊的相当来(目前还在探索其人物背后的抽象本质,或许明年总结就会有一把抽象形容词了)

不知为何结上孽缘的前端开发

今年刚开始的时候的,其实主要想做后端开发的。前端的CSS实在是把我折磨的受不了,个人其实对后端开发中系统的设计与架构更感兴趣一点。不过阴差阳错,在一次次项目的”补位置“中,我基本次次都分配到大量的前端任务,虽然也和组员一块进行了应用体系结构的设计,但是毕竟没有太实际投入到后端开发中,还是觉得比较可惜的。不过都陆陆续续也有一年了,就当打基础了。毕竟作为后端开发也不可能完全不知道前端开发的内容,都是一碗饭下面的。(也为抽象的”前后端分离,人不分离“做准备......)

回忆一下今年在前端上,主要学的 + 用的就是Vue3开发。在此之外,补了补JS ES6的特性(毕竟没系统学过JS,写小程序时就是赶鸭子上架的水平),然后用了些基本的组件库,像Element Plus,Vuetify。用RESTful API时用了用Axios(确实比Fetch好用多了),用WebSocket的时候用用WebSocket库。由于计算机网络还没有专门去学过,感觉好多时候都在给这个补课,但摸爬滚打了一年也算是简单入了个门了(但是我的审美水平真的地狱啊,找不到可以借鉴的UI,界面简直变得牛头不对马嘴,主打一个功能实现......)。

今年了学习/实操的前端开发技术:

  • HTML5、CSS3、JavaScript

  • Vue3、Element Plus、Pinia

  • Axios、RESTful API、WebSocket、GraphQL

  • 微信小程序开发(WXML、WXSS)

想去干但最后没咋干成的后端开发

正如上节所讲,今年后端开发实践实在偏少!(难受)直到现在说实操的还行的框架就Python的FastAPI,一个轻量型框架。FastAPI的意义主要是在中医舌苔的项目,和Python实现的模型更好的结合,不然大概率也不会选它。其他时候就在跟着黑马学学JavaWeb,SpringBoot和SSM。

数据库方面嘛,其实好久没有写过SQL了,也就年初帮”学长“写数据库大作业的时候写过纯SQL了,其他时候框架的ORM都帮你解决这个问题了。除此之外,写小程序的时候,因为云开发不支持关系型数据库,只支持一个神似MongoDB的奇妙玩意,因此了解了一下文本型数据库。(还记得一直叫他键值对型数据库,叫错了好久)

今年了学习/实操的后端开发技术:

  • Spring Boot、Maven、Mybatis-Plus、Spring、SpringMVC

  • FastAPI、Node.js、Express

  • MySQL、SQLite3、MongoDB

基本还没接触过的服务器技术

对这一块的了解无限趋近于0,要不是今年下半年遇到了一个同级的做运维的兄弟@Bt1Q,我都还没意识到服务器端还有这么多有趣的内容等着探索。并且作为一个软工的学生,还不能熟练使用Linux实在有点说不过去。今年就用过3次服务器,第一次是为了玩游戏,甚至装的Windows数据中心版的系统;第二次是部署软件工程导论大作业的应用,初步学习使用了一下Nginx,但是完全不深入;最后一次就是这个小站,但是依然偷懒,用的1Panel面板搭建的🤣。这也算是一块巨大无比的短板了,服务端技术学习也是25年的目标之一。

25年展望与规划

CS这个领域,越是了解,越是发现自己懂得太少,未知的领域太多。不过保持着对新技术的激情,总有动力去探索那一片片未知的领 域。

2025着重补齐2024的阴差阳错带来的小遗憾——后端开发,其次就是去掌握住Linux等服务端技术。希望25年的自己可以保持住当初转专业时对一切未知的热情,扩展自己未知的边界。

这差不多就是Part1的全部内容了,感兴趣的话可以移步Part2,下个Part主要介绍今年看的动漫和玩的游戏✌️✌️。(来自2025年4月的自己,Part2和Part3咕了...某得时间写)


评论