第 6 篇 Scrum 冲刺博客
作业概述
| 这个作业属于哪个课程 | 软件工程 |
|---|---|
| 这个作业要求在哪里 | 作业链接 |
| 这个作业的目标 | 1、站立式会议 2、项目燃尽图 3、代码/文档签入记录 4、项目程序/模块的最新(运行)截图 5、每日每人总结 |
| 作业所属团队 | 就吃西兰花🥦队 |
| 团队成员 | 李嘉鹏、田小古、李境豪、詹炜昊、黄俊强、陈梓杨 |
会议
会议照片

昨天已完成的工作/今天计划完成的工作
已完成
测试评论功能的实现
完善点赞功能
对搜索功能的初步构建
数据库表的设计
计划完成
测试点赞功能
继续编写搜索功能
搜索功能界面编写
整体测试
工作中遇到的困难
-
进入项目最后冲刺,需要保证各个功能的正常运行
-
做好测试
项目燃尽图

代码/文档签入记录

项目程序/模块的最新(运行)截图
最新模块的代码
点击查看代码
const [liked, setLiked] = useState(false);
// 写点击评论
const { isOpen, onOpen, onClose } = useDisclosure();
const btnRef = React.useRef();
return (
<div className="videoSidebar">
<div className="videoSidebar__button">
{liked ? (
<FcLike fontSize={30} onClick={(e) => setLiked(false)} />
) : (
<AiFillHeart fontSize={30} onClick={(e) => setLiked(true)} />
)}
<p>{liked ? likesNum + 1 : likesNum}</p >
</div>
<div className="videoSidebar__button" ref={btnRef} onClick={onOpen}>
<FaCommentDots fontSize={30} />
<p>{commentNum}</p >
</div>
<div className="videoSidebar__button">
<FaShare fontSize={30} />
<p>{shareNum}</p >
</div>
{/* 点击评论的组件 */}
<Drawer
isOpen={isOpen}
placement="right"
onClose={onClose}
finalFocusRef={btnRef}
>
<DrawerOverlay />
<DrawerContent>
<DrawerCloseButton />
<DrawerHeader>这里是评论展示的内容</DrawerHeader>
<DrawerBody>
<Input placeholder="评论。。。。。。" />
</DrawerBody>
<DrawerFooter>
<Button variant="outline" mr={3} onClick={onClose}>
Cancel
</Button>
</DrawerFooter>
</DrawerContent>
</Drawer>
</div>
);
点击查看代码
/**
* 获得文件后缀名
*
* @param filename 文件名
* @return 后缀名
*/
public static String getExtensionName(String filename) {
if (StringUtils.isNotBlank(filename)) {
int dot = filename.lastIndexOf(".");
if ((dot > -1) && (dot < filename.length() - 1)) {
return filename.substring(dot + 1);
}
}
return filename;
}
/**
* 检查文件大小
*/
public static void checkSize(int maxSize, long size) {
if (size > maxSize) {
throw new BusinessException(ResultConstant.FAIL_CODE, "文件超出规定大小");
}
}
/**
* 获得文件的哈希值
*
* @param file 文件
* @return 哈希值
*/
public static String getFileMd5(File file) {
return getByteMd5(getFileByte(file));
}
/**
* 获得文件的字节数组
*
* @param file 文件
* @return 字节数组
*/
private static byte[] getFileByte(File file) {
byte[] bytes = new byte[(int) file.length()];
InputStream in = null;
try {
in = new FileInputStream(file);
} catch (Exception e) {
log.error(e.getMessage(), e);
return null;
} finally {
try {
if (in != null) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return bytes;
}
/**
* 获得字节数组的哈希值
*
* @param bytes 字节数组
* @return 哈希值
*/
private static String getByteMd5(byte[] bytes) {
char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(bytes);
byte[] md = md5.digest();
int j = md.length;
char[] str = new char[j * 2];
int k = 0;
for (byte byte0 : md) {
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
return new String(str);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return null;
}
每日每人总结
| 成员 | 总结 |
|---|---|
| 李嘉鹏 | 撸起袖子加油干 |
| 田小古 | 一台电脑,一张桌椅,便是一个下午 |
| 陈梓杨 | 今收获满满,今天又用了更好的方法来替换以前的功能,性能大提升 |
| 詹炜昊 | 埋头苦干 |
| 黄俊强 | 人生苦短,用好必应谷歌 |
| 李境豪 | 代码测试工作 进展 80% |

浙公网安备 33010602011771号