熬夜会秃头——Beta冲刺总结随笔
| 这个作业属于哪个课程 | 2301-计算机学院-软件工程社区-CSDN社区云 |
|---|---|
| 这个作业要求在哪里 | 团队作业—beta冲刺+事后诸葛亮-CSDN社区 |
| 这个作业的目标 | 总结Beta冲刺 |
| 团队名称 | 熬夜会秃头 |
| 团队置顶集合随笔链接 | 熬夜会秃头——Beta冲刺置顶随笔-CSDN社区 |
目录
一、Beta冲刺开始前设立的任务完成情况
二、改进计划完成情况
三、项目链接
四、项目各功能的运行结果
五、各成员在冲刺阶段的心得体会
六、各成员的贡献度
一、Beta冲刺开始前设立的任务完成情况
| 需要改进完善的部分 | 完成情况 |
| WEB端的逻辑功能 | 50% |
| APP端的逻辑功能 | 100% |
| WEB端增加视频与图片的功能 | 100% |
| 后端接口交互 | 100% |
| 后端图片处理 | 100% |
| 后端视频处理 | 100% |
| 后端下载功能 | 100% |
二、改进计划完成情况
前端投入更多的成员进行开发,移动端大体上已按照计划完成,web端还有所欠缺。
工具流程没有改进计划。
三、项目链接
| WEB端 | WEB端代码 |
| APP端 | APP端代码 |
| 后端 | 后端代码 |
四、项目各功能的运行结果






3
2
3
五、各成员在冲刺阶段的心得体会
| 成员 | 心得体会 |
| 102101228陈少桐 | 终于结束了牢底坐穿的开发阶段,第一个感觉就是如释重负。一开始的开发是觉得写页面还挺轻松的,后来遇到了subnvue子窗体,卡了一段时间。然后就开始坐牢,先是因为uni-app的自带方法不支持app端的一个文件上传,然后去插件市场找插件,找到了一个基于webview插件,但是这个插件他的方法晦涩难懂,只能看他的文档(为数不多的文档详细插件),然后开始修改他的样例。然后之后又遇到了第二个坐牢点,md5加密算法,先是用jsMD5,但是会跟后端不一致。然后更换了sparkMD5,虽然不报错了,但是自此开始真机调试结束(sparkMD5不支持app),只能先用其他文件代替subnvue,因为他只能在app上使用。然后是uni.request的局限性了,居然不能传输formdata格式的参数,就因为这个跟后端联调了4天,后面还是换用axios,直接秒杀了。再者是文件的分片上传,折磨。。。。虽然最后做得不是很完美,但是可以上传大文件了,也算是个人的进步。然后紧接着就是页面传参,学得不够扎实,用vue3老是报错,但总归结果还是好的。然后还有一个就是文件的下载,这个也很无语。uniapp依旧是在app端不能去用方法,只能用h5在用的方法。最后则是打包,这个倒也很曲折,先是很呆地打包app云打包,后面一直白屏,这样3次后才想起来有的东西方法app不能运行,于是先将文件转成h5网址,然后利用h5+app来打包。总的来说就是开发app,个人觉得最好原生开发,uniapp只能说是兼容多端,但是bug极多。 |
| 102101510梁菲汎 | 在编写前端代码的时候要及时跟核对代码规范的的同学和写后端的同学进行对接防止造成代码损失,还有在写接口的时候时间一定要分配好以免压力过大。在写代码的过程中遇到了一些困难,通过上网查资料和请教同学得以解决,说明还是得不断地学习,才能在计算机这方面走得更远。 |
| 222100405陈知菲 | 后端技术涉及的知识很多,需要持续地学习和实践,花费较多的精力。经过了这一次的软件开发,也学会了很多:学习了spring-boot-starter-cache Spring缓存机制集成redis的使用,了解了@Cacheable,@CachePut,@CacheEvict注解的作用与区别;学会了利用cGetService拉取服务列表,调取Feign将文件以流的形式写回response中返回以及文件的下载缓存逻辑;学会了利用使用netty自定义文件传输协议,流水线pipeline中添加hander,处理文件拉取、文件合并、心跳检测等工作;深刻理解了关于访问层、nginx负载均衡、业余层、基础服务层、数据访问层五层解耦的对象存储。在分布式系统中,文件列表的获取会涉及到大量的IO操作,为了提高性能,可以考虑引入缓存策略。 |
| 102101218李恒欣 | 经过这一阶段的冲刺工作,提高了我的代码能力,从项目启动到项目发布,我完整体验了应用程序开发的流程,加深对于面向对象开发的理解,在与有着丰富后端开发经验的同学的交流过程中也不断拓展自己的知识面。设计数据库时,需要注意数据的范式化,避免数据冗余和更新异常。视频的处理功能对于网络传输的效率要求高,进行前后端交互时必须尽可能地提高传输效率。在完善接口时,需要充分考虑异常处理,对于可能出现的异常情况,应该有相应的处理机制,避免程序崩溃或者出现错误。如果一个项目中有多个接口,需要保持接口的一致性,包括参数、返回值、异常处理等方面的一致性,可以提高代码的可读性和可维护性。 |
| 102101219邱思源 | 在对后端代码进行单元测试时,我意识到了编写测试代码的重要性,在开发过程中,我们往往会直接编写实现功能的代码,而忽视了测试代码的编写,然而,实践让我认识到,测试代码的重要性不亚于实现功能的代码,好的测试不仅可以保证我们的代码按预期工作,还可以防止未来的更改破坏现有的功能,这是一种对代码质量和稳定性的保障。我学习了并实践了“测试先行”的开发理念,这种理念强调在编写实现功能的代码之前先编写测试代码。这样可以帮助我们更清晰地理解需求,设计出更好的API,并写出更健壮的代码。 |
| 102101220宋芳鑫 | 几天冲刺下来,让我可以更加熟练地使用Vue进行前端开发,进行前后端数据的交互、组件之间的联动也更加得心应手。在完善web端功能时,首先要理解用户的需求,通过了解用户的需求,可以更好地定义功能、设计界面和交互方式,从而提升用户体验。web端的开发还要注意性能,例如,对于表单提交,如果能够添加自动保存和记忆功能,就可以提高用户的使用效率。一个慢速的网站不仅会影响用户体验,还会增加服务器的负载,因此还需要关注性能优化,例如减少页面加载时间、优化图片大小等。 |
| 102101221张一凡 | 为了使前端代码的单元测试更加有效,需要编写可测试的代码,这包括模块化、高内聚、低耦合的设计,使得每个函数或组件的功能独立且易于测试,同时,还需要避免全局状态的使用,以减少测试过程中的干扰因素。编写代码时,应该注重提高代码的可读性,这包括采用清晰易懂的变量名、缩进和注释,以及遵循一致的命名规则和格式,这样可以方便其他开发人员阅读和理解代码,也有助于后期维护和修改,还应该尽可能避免冗余代码,减少代码的重复和不必要的逻辑。 |
| 102101233林承桢 | 调查用户反馈,编写测试文档、用户使用情况文档是项目开发至关重要的一步,脱离用户需求进行开发是不可取的,加入了用户使用反馈后测试文档更加丰富,功能测试更符合客户需求,使测试人员能精准地进行功能测试。用户反馈是动态变化的,会根据实现的不同发生改变,因此需要不断地跟进,将反馈交予开发人员,在一次次修改中将业务完善。只有不断地进行尽可能全面的单元测试,努力涵盖项目已实现功能可能出现的各种情况才能使单元测试文档完善、符合要求。 |
| 102101239黄才栋 | 在此次冲刺辅助进行APP端开发中,我了解到APP端开发需要考虑不同操作系统和设备的兼容性问题,针对Android和iOS平台,需要分别进行开发和适配,确保在不同设备上都能获得良好的用户体验。APP端开发还需要进行充分的测试和优化,测试过程中要覆盖各种场景和条件,确保应用的稳定性和可靠性,同时,针对性能瓶颈进行优化,提升应用的响应速度和运行效率,因此要与进行测试的同学多交流沟通。APP端开发还需要处理网络通信的问题,由于移动设备的网络环境复杂多变,需要合理处理网络中断、弱网等情况,保证应用的稳定性和可用性。 |
| 102101243谢怀广 | 在实现WEB端功能的过程中,我深刻体会到了需求分析的重要性。在开始编码之前,对需求进行充分的理解和沟通,能够避免很多不必要的返工和修改,同时,我也学会了如何利用各种前端框架和库,提高开发效率,实现复杂的功能需求。在绘制项目燃尽图的过程中,我更加直观地感受到了项目进度的变化,通过燃尽图,我可以清晰地看到剩余工作量与时间的对应关系,从而更好地预测项目的完成时间,同时,我也学会了如何利用燃尽图进行项目管理和团队协作,通过定期更新燃尽图并与团队成员分享,我们可以共同了解项目的进展情况,及时调整工作计划和资源分配。在核对代码规范的过程中,我深刻体会到了代码规范的重要性,一份良好的代码规范可以提高代码的可读性、可维护性和可扩展性,降低后期维护的成本。 |
六、各成员的贡献度
| 学号姓名 | 工作内容 | 贡献度 |
| 102101228陈少桐 | 答辩、工作整理审核、APP端功能实现 | 13% |
| 102101510梁菲汎 | WEB端功能实现 | 11% |
| 222100405陈知菲 | 后端框架搭建、主要接口实现 | 15.5% |
| 102101218李恒欣 | 撰写每日Beta冲刺随笔、完善前后端交互模块、优化数据库、完善接口 | 9% |
| 102101219邱思源 | 撰写每日Beta冲刺随笔、对后端代码进行单元测试 | 9% |
| 102101220宋芳鑫 | 撰写Alpha冲刺阶段问题总结随笔 | 8% |
| 102101221张一凡 | 撰写凡事预则立随笔、撰写代码规范、对前端代码进行单元测试 | 8.5% |
| 102101233林承桢 | 撰写用户使用调查报告、制作答辩PPT、进行功能测试、编写测试文档 | 9.5% |
| 102101239黄才栋 | 撰写Beta冲刺总结随笔、辅助APP端开发 | 8% |
| 102101243谢怀广 | WEB端功能实现、绘制项目燃尽图、核对代码规范 | 9.5% |
相关文章:
熬夜会秃头——Beta冲刺总结随笔
这个作业属于哪个课程2301-计算机学院-软件工程社区-CSDN社区云这个作业要求在哪里团队作业—beta冲刺事后诸葛亮-CSDN社区这个作业的目标总结Beta冲刺团队名称熬夜会秃头团队置顶集合随笔链接熬夜会秃头——Beta冲刺置顶随笔-CSDN社区 目录 一、Beta冲刺开始前设立的任务完成…...
C++函数模板案例
利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序排序规则从大到小,排序算法为选择排序分别利用char数组和int数组进行测试 #include<iostream> using namespace std;template<class T> void myswap(T& a, T& b) {T…...
同旺科技 USB TO RS-485 定制款适配器--- 拆解(三)
内附链接 1、USB TO RS-485 定制款适配器 ● 支持USB 2.0/3.0接口,并兼容USB 1.1接口; ● 支持USB总线供电; ● 支持Windows系统驱动,包含WIN10 / WIN11系统32 / 64位; ● 支持Windows RT、Linux、Mac OS X、Windo…...
Vue学习计划-Vue2--Vue核心(六)过滤器和自定义指令
1. 过滤器 定义:对要显示的数据进行特定格式转换再显示(适用于一些简单逻辑的处理)语法: 注册过滤器:Vue.filter(name, callback) 或 new Vue{filters:{}}使用过滤器:{{ xx | 过滤器名 }} 或 v-bind:属性 …...
Codeforces Round 913 (Div. 3) (A-G)
后天就是 I C P C ICPC ICPC杭州站了,今天把之前做的 d i v 3 div3 div3题补一下,打完这场杭州站这赛季除了 E C F i n a l EC\,\,Final ECFinal就结束了,以后应该要多打 c f cf cf比赛练习保持手感,争取下赛季冲一下金牌。 感觉这…...
CSS——sticky定位
1. 大白话解释sticky定位 粘性定位通俗来说,它就是相对定位relative和固定定位fixed的结合体,它的触发过程分为三个阶段 在最近可滚动容器没有触发滑动之前,sticky盒子的表现为相对定位relative【第一阶段】, 但当最近可滚动容…...
Redis hash表源码解析
1、 整体数据结构 链式hash解决hash冲突、采用渐进式hash来完成扩容过程。 /** 哈希表节点*/ typedef struct dictEntry {// 键void *key;// 值union {void *val;uint64_t u64;int64_t s64;} v;// 指向下个哈希表节点,形成链表struct dictEntry *next;} dictEntry;…...
dll动态链接库【C#】
1说明: 在C#中,dll是添加 【类库】生成的。 2添加C#的dll: (1)在VS中新建一个Windows应用程序项目,并命名为TransferDll。 (2)打开Windows窗体设计器,从工具箱中为窗体…...
Linux 系统设置cpu频率
source_code: https://github.com/emagii/cpufrequtils cpufreq-set - A small tool which allows to modify cpufreq settings.(修改内存频率的工具) cpufreq-set allows you to modify cpufreq settings without having to type e.g. “/sys/devices…...
git基本概念
一、版本控制概念 1.1 什么是版本控制 1.1.1 手动管理文件版本 1.1.2 版本控制软件 概念:版本控制软件是一个用来记录文件发生的变化,以便将来查阅特定版本修订情况的系统,有时也叫“版本控制系统”。通俗的理解就是把手工管理文件版本的方…...
多个HTML属性
在HTML中,属性用于提供有关HTML元素的附加信息。在这篇文章中你将学习多个HTML属性,它们可以增强网站的视觉吸引力。 接下来开始吧!🚀 Accept 属性 您可以将accept属性与<input>元素(仅用于文件类型ÿ…...
基于运算放大器的电压采集电路
一、运算放大器 运放推导的两个重要概念:虚短、虚断。 1、差分放大器 以差分放大器为例进行推导分析。 虚断–运放的"-“端、”“端的引脚电流接近为0; 根据基尔霍夫电流定律可知:iR1iRF,iR2iR3; iR1(Ui1-(V-…...
数字图像处理(实践篇) 十六 基于分水岭算法的图像分割
目录 一 分水岭算法 二 利用OpenCV实现分水岭算法的过程 三 实践 一 分水岭算法 基于任何灰度图像都可以视为地形表面,其中高强度表示山峰和山丘,而低强度表示山谷。首先,开始用不同颜色的水(标签)填充每个孤立的山…...
快速学习PyQt5的高级自定义控件
Pyqt5相关文章: 快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图(Item View) 快速弄懂Pyqt5的4种项目部件(Item Widget) 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的10种容器&…...
Python中读写(解析)JSON文件的深入探究
目录 一、引言 二、如何读取JSON文件 三、如何写入JSON文件 四、如何解析JSON字符串 五、错误处理和异常处理 六、使用第三方库提高效率 七、总结 一、引言 在Python中,我们经常使用JSON(JavaScript Object Notation)格式来存储和传输…...
我获取股票和期货数据的常用函数
记录一下获取数据所使用的函数,以防止遗忘和方便查找。 # 获取掘金的数据 # 需要打开并登陆掘金终端 def get_data_juejin(symbol"bu2112",start"2021-8-1",end"2021-8-30 23:00:00",frequency"1800s",fields"eob,sy…...
高并发场景下的httpClient使用优化技巧
1. 背景 我们有个业务,会调用其他部门提供的一个基于http的服务,日调用量在千万级别。使用了httpclient来完成业务。之前因为qps上不去,就看了一下业务代码,并做了一些优化,记录在这里。 先对比前后:优化…...
用php上传图片到阿里云oss
如果你想自动创建目录并将文件上传到新的目录下,你可以使用阿里云 OSS 的 createObject 方法来实现。下面是更新后的示例代码: php <?php require_once __DIR__ . /vendor/autoload.php; // 引入 SDKuse OSS\OssClient; use OSS\Core\OssException;…...
服务器适合哪些使用场景_Maizyun
服务器适合哪些使用场景 在当今的数字化时代,服务器作为互联网基础设施的核心组件,被广泛应用于各种场景。本文将探讨服务器适合哪些使用场景。 一、Web服务器 Web服务器是服务器中最常见的一种,用于托管和运行网站。它负责处理来自客户端…...
发布“最强”AI大模型,股价大涨,吊打GPT4的谷歌股票值得投资吗?
来源:猛兽财经 作者:猛兽财经 谷歌在AI领域的最新进展,引发投资者关注 在谷歌-C(GOOGL)谷歌-A(GOOG)昨日发布了最新的AI大模型Gemini后,其股价就出现了大幅上涨,更是引发了投资者的密切关注&a…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
