大学 – 一只橙梓一个窝 https://blog.orangii.cn 可能会长出二叉树? Wed, 16 Mar 2022 06:32:11 +0000 zh-CN hourly 1 https://wordpress.org/?v=6.5.5 https://static.orangii.cn/avatar/logo.png 大学 – 一只橙梓一个窝 https://blog.orangii.cn 32 32 3月14日 近期状况 https://blog.orangii.cn/2022/mar-14-recent/ https://blog.orangii.cn/2022/mar-14-recent/#comments Mon, 14 Mar 2022 13:54:13 +0000 https://blog.orangii.cn/?p=483 很久没有更新文章了,自从上次更新以来,首先是突然的开学和考试,因为考的也不好,后面就什么都不想干,还懒,现在又要上课。

假期前的视频

假期前加入了一个社会实践,主要是疫情期间为同学们分享生活中的事情的,在公众号发了,还没在其他地方发,这里再发一遍吧。

开学及考试

本来1月24号才放假回家的,以为原定的2月28号返校会推迟,觉得至少会到3月以后,结果正常开学了,并且开学之后马上就考试,我一个软件学院的竟然要考信号与系统,很无语,学不进去,4小时速成也没起很大作用,结果就是考的不好。也影响了心情,还消费了一波。

寒假很多Todo都没有完成

寒假做了很多待办,本来期待着能完成很多东西,但是低估了疫情以来的懒惰,很多都没有实现。在这里再列举一下

那个新网站,想要自己搞一个大工程,是博客圈里面的相关项目,目前还在学习阶段,还在学习Spring、Neo4j以及其他相关的技术,希望我可以再考研这一年里完成吧。

开学后的事情

开学之后首先就是考了试,然后就是各种各样的乱七八糟的事情,搞得也没有什么心情更新;并且还在准备考研又没有什么方向,还是比较烦的。

近期西安疫情又严重起来,又赶上一些重要事情,从今天开始再次封校两周,快递也不通了、体育场教师也不通了,我的游泳课前5节课都不能下水,很难受。

参与面试

最近也投递了很多的简历,包括腾讯、阿里内推之类的,不得不说字节跳动的效率真的高,我上周六上午投递的简历,还不是内推,下午就收到电话联系我今天(周一)的面试。但是因为准备的真的不充分,感觉是要凉的架势。

这次面试我也感受到了自己学到的知识真的不全面也不深入,面试官问了很多问题没有答上来,手写代码的阶段因为紧张也没有很好的发挥,总之就是感觉有些凉。

3月16日更新:没过

这里也说一些题外话,很想吐槽很多“知其然不知其所以然”的人,我认为对于自己所掌握的知识应该保持一种谦逊的态度,因为一定有人在某方面比你有更深入的了解、学习、研究,学习新知识了想要分享是很正常的,但是去炫耀、去和别人攀比就是很令人讨厌的。所以如果我看到了初学者开始学新知识出现问题的时候,会帮忙纠正,大家都是从0开始的没什么可嘲笑的;但是如果我的文字被无理由的反对的时候,我反正是之后不会很好地对待这个人了。

其他杂谈

我写Todo的时候好像想要讨论一下关于开源协议的问题,确实,现在国内的开源环境非常差,一旦开源一个稍微好一点的软件/程序,有可能会被各种商家删了版权信息售卖、有可能会被各种资源分享博客改了版权信息发布(还可能收费),作者本身还没办法去申诉。我自己的Github的Profile就被人复制粘贴走然后把我的ID全部替换自己用去了,这种人不知道上Github干什么。

还有一些破解资源的相关话题,我不反对用破解,因为不是所有人都能付得起一些软件的昂贵的授权,但是至少不应该用出优越感,至于还分享出来还甚至收费的,那就看版权方会不会找上门吧。


写的也很长了,就到这里吧。虽然叫近期状况但是还是写了很多自己的个人观点。文章观点极其主观,如有建议可以一起友善讨论,留言如果很离谱就会被删除。

]]>
https://blog.orangii.cn/2022/mar-14-recent/feed/ 19
西安加油! https://blog.orangii.cn/2021/stay-strong-xi-an/ https://blog.orangii.cn/2021/stay-strong-xi-an/#comments Wed, 22 Dec 2021 14:11:20 +0000 https://blog.orangii.cn/?p=271 2021年不比2020年少了哪点魔幻,还在拖2021年年度总结并且在积极准备考试的时候,疫情就来了。

全员核酸检测,从12月18日到23日,一共经理3轮核酸检测,西安封城、学校封校、多地出现中高风险地区,高铁飞机没有证明文件不允许离开西安,快递没办法进来……

本来已经买好了2022年1月2日的高铁准备回家过年,但是这突如其来的疫情真的让人感觉到了绝望,甚至感觉今年可能要在学校过年了。

12月18日第一次核酸检测排队场景。
12月18日第一次核酸检测排队场景。

好在我们有强大的医疗团队,强大的后勤保障,在第二轮核酸检查中搭建了集中检测点,由国际医学中心的医生前来支援,20个检测台同时进行检测,效率平均1s可以完成一个人,全校2.4w人仅用了半天多,其中还有一段时间是因为西安一码通大数据平台崩溃延误了一段时间。

其中学校也招募了很多志愿者帮助录入信息以及检测前的必要操作,每个人都穿着白大褂,帮助全校同学,他们有的一干就是几个小时,为抗疫付出了自己的力量。

12月18日的核酸检测现场
也是12月18日的核酸检测现场,志愿者和医护人员

在搭建的核酸检测场地使用了1台交换机保证网络交换,5台路由器负责所有检测人员电脑的网络,全千兆网络支持,保证了网络不出现问题和高在线率。

我们的校长也亲自视察了工作,询问了具体安排,人员保障等,还贴心提示要志愿者多穿一些(晚上挺冷的)。

检测问题
老师正在检查出现的问题

总之还是希望疫情能够早日过去,希望能给所有人过一个安心的年。

相信西安一定能给所有人一个满意的结果,大家共同努力,度过难关。

12月22日长安新增风险区
核酸检测场地
核酸检测场地近景
校长视察
校长来查看场地状况
医护人员交接班
医护人员交接班
核酸检测场地网络保障设备
网络保障设备
航拍核酸检测场地
航拍核酸检测场地
图片都是自己拍的,转载必需注明出处,如有侵权请联系删除
]]>
https://blog.orangii.cn/2021/stay-strong-xi-an/feed/ 5
记一次大作业中出现的问题 https://blog.orangii.cn/2021/web-course-project/ https://blog.orangii.cn/2021/web-course-project/#comments Mon, 06 Dec 2021 15:42:44 +0000 https://blog.orangii.cn/?p=227 零、 前言
大段纯文本字又没有图片警告。虽然我知道这样可能阅读兴趣不高,但是实在没有配图了,请当故事看吧

这次大作业是Web应用系统开发技术与实践的大作业,有很多选题可以选择,我们小组选择的是企业级论坛系统。本来老师要求的是使用Java + Spring(或者再加一个Spring Boot)用MVC框架实现,需求很简单,就是基本你能想到的论坛该有的功能,其他需求的表述老师自己可能都不知道。我们准备模仿百度贴吧和Discuz

后来我们觉得JSP页面开发起来有些麻烦,就改用了前后端分离的写法,前端使用Vue 3开发,后端使用Spring加一些后端的东西来开发接口,接口使用Restful API规范。前后端分离的写法最大的好处就是它可以让前后端分别注重自己开发的部分,不需要后端根据前端页面进行修改,不需要前端在页面中进行逻辑操作,并且JSTL的自定义标签和Vue的自定义组件我认为在一定程度上其实是一样的,这种方式的缺点也很明显,其他开发者想对这套系统添加新功能时不好开发补丁插件(因为要同时修改前端和后端的东西)。例如Wordpress就是前后不分离的程序(当然Wordpress提供的Restful API接口,想的话还是可以分离的),因此想要添加功能仅需要安装插件就行,当然也要得益于Wordpress提供了非常多的钩子。

我负责的是前端的部分,项目使用vue-cli创建,使用Element Plus;API接口文档及调试使用Apifox

一、 最大的问题:时间分配

大概是11月初布置的大作业,原定于11月28日提交,在DDL前,依次分布着:网络与分布计算考试(11月14日)、软件测试考试(11月19日)、算法分析与设计考试(11月29日),还有以上课程实验课的作业。最后因为一些同学的请求,实验截止时间改为了12月5日

因为各种各样的事情交加,后端根据基本初步完成了API的编写,但是我们前端一直没能给出原型图和初稿,导致了后期很多字段不匹配的问题,一定程度拖延了进度。

二、 组内合作问题

在项目创建之初,我就在Gitee仓库中初始化了项目,使用Vue3,但是中间另一个和我合作的同学(没有系统学习过前端),自己新建了一个项目,明明在一开始有教过Git基本操作,npm基本操作和使用,想不明白为什么要新建一个项目,如果还是Vue3的也好,她的新项目是 Vue2 + Element UI,导致后期她的代码push不到仓库,又整合不起来,花了很长时间重构。虽然说是初学,但是也应该在已有仓库项目上操作啊,如果安装依赖包的时候安装不上也应该及时来问啊,为什么还要新建一个项目,导致后面版本和以来都不一样了,做了很多无用功。(Element UI在Vue3中为Element Plus,语法和迁移都有一定困难)。其实她还自己按照网上的方法封装了axios请求和Vuex的store,但是本来Vue全局就已经导入了axios并配置了默认Authorization的Header,并且store的结构也是网上的,而不是项目的user结构。

在最开始的时候分工也没有分配好任务,最开始分配给那个同学写某一个组件,后来没有了音讯,没有做好项目管理,没有及时跟进进度。后来那个同学没有写那个组件,我也把前台静态页面写完了,好在她写的管理员后台,没有冲突(假设整合不了不算冲突)。

三、 接口问题

3.1 接口命名

在完成前端的设计稿、绑接口之前,根本没有注意过接口内容,等到绑接口的时候才知道接口的命名有多奇怪。例如帖子blog而不是post,板块tag而不是forum(并且也没有预想中的板块头像、板块描述,当然这是因为UI设计图没有给到),获取所有一级二级评论叫做 ‘/firstLevel’, ‘/secondLevel’,而不是’/comment’, ‘/subcomment’,诸如此类。虽然说影响不大,但是主要是看起来别扭。

3.2 接口请求参数

以下是一个样例:

重置邮箱验证码API

明明是一个POST请求,参数却放到了query里(就是url中?后面的部分),如果不仔细看可能就直接放到POST body里了,感觉很反常。

更严重的是下面这张图:

注册接口

不同注册信息直接放到了不同位置,既有query又有body,非常难搞。(而且password还在query中)

另外还需要注意的一点:如果参数规定格式是application/x-www-form-urlencoded,则应该使用qs.stringify(data)对参数进行序列化,否则Spring收到的对象请求对象就会是null

登录接口
import qs from 'qs'
// ...
this.$axios.post('/user/login',qs.stringify({email: email, password: password})).then(resp => /*...*/)

3.3 接口返回值问题

和后端沟通的时候一定要确保他们理解了你的意思!!!

最开始与后端沟通的时候,本来预想的是每个一级评论中包含2条二级评论,以防止一级评论获取后再重复发送请求再获取二级评论,等待用户点击显示更多时再去获取,这是我预想的结构

data: { // 返回的一级评论结构
  // ...
  subComment: [{}, {}]
}

后端成功的理解成了:

data: [
  {}, // 获取的一级评论
  {}, // 第一条二级评论
  {}, // 第二条二级评论
]

因为的的组件只能接受一个参数,所以多余的两条二级评论直接废弃了。

<PostReply :replyObject="data[0]" />

然后后来突然什么时候接口给改了,数组没了,页面突然崩了,就是那个我好好的什么都没干就崩了,怎么回事呢的那种感觉,一检查发现data变成一个对象了,要把绑定内容从data[0]改成data。所以后端改接口的时候也要及时说。


还有一个地方,就是返回文章列表的时候,我们感觉常识应该是返回文章对象数组,所以没有说,也就是这种格式:

data: [{}, {}, {}, {}]

结果后端成功给我们返回成了对象:

data: {
  "Blog1": {},
  "Blog2": {},
  // ...
}

我使用的时原生v-for,对这种还是支持的,但是写管理员页面的同学使用Element Plus 的 el-table就不是很支持了,导致页面频频出错,后来只得让后端去改接口返回值,才解决问题。

<el-table :data="data"> <!-- 这里的data只能是数组 -->
  <!-- ... -->
</el-table>

四、 总结

最终在赶DDL中,我们成功在12月5日23:56 提交作业,虽然还有很多bug没有修复……

在这里还是总结以下出现的问题:

  1. 前期一定要定好需求文档、界面原型图和接口文档
  2. 一定要做好项目管理跟踪进度,最好使用一些DevOps平台监工
  3. 组内合作一定要明确,并且流程要清楚。

今晚就先写到这吧,希望本片文章可以帮助一些团队避免一些开发中的问题。项目成果展示之后再贴在这里。


代码时间统计:(截止2021年12月6日)

wakatimewakatimewakatime41 hrs 48 mins41 hrs 48 mins

项目成果展示:

首页
个人中心
板块页
贴子内页
]]>
https://blog.orangii.cn/2021/web-course-project/feed/ 20