Risc-v学习平台-项目实训第一次总结-SDU

项目名称

山东大学RISC-V公共开放平台

平台简介

学习平台背景

​ 受互联网+概念的催化, 按照市场领域细分为:学前教育、K12教育、高等教育、留学教育、职业教育、语言教育、兴趣教育以及综合平台,其中,职业教育和语言教育的市场优势突出。 根据Analysys易观发布的数据显示,预计2019年中国互联网教育市场交易规模将达到3718亿元人民币,未来三年互联网教育市场规模保持高速增长。

目前为打破x86或ARM构建的民用生态堡垒,需要选择合适指令集开发,经比较RISC-V(读risk-five)指令集可能是最适合中国国情的,它的方针与我国秉持的开放共享、互利共赢的发展理念完美贴合。国外的巨头如谷歌、高通、三星等现在都已经加入RISC-V Foundation基金会并开始布局RISC-V处理器架构的开发了,国内公司跟进的却不多(目前已知的仅有中天微、华为、高云、乐鑫、华米、中科院计算所等),情况令人担忧。在如今国家倡导创新型经济的时代,国内公司应该抛弃短视与急功近利的被动跟随者模式,以积极的方式加入基金会并主动引领技术发展以为将来获得更多话语权

项目开发目的

​ 受互联网+概念的催化,当今中国在线教育市场的发展可谓是百花齐放、如火如荼。本平台将基于在线学习的思想,提供RISC-V专业在线学习的开放平台和资源整合一站式服务。

开发团队介绍

本平台将由李卓航,李明浩,宋欣鹏,杨传祥,李牧霖和王永帅等项目成员进行开发,目的为山东大学开发出面向本科生的RISC-V自主学习平台,为学生提供RISC-V国内外资源搜集整理,相关新闻,知识图谱和热力图,并支持学生在线运行RISC-V代码并及时输出结果和详细运行细节。

核心功能
模块功能描述
RISC-V资源知识库整理国内外主要的RISC-V开源资源,包括源代码、工具软件等,形成国内首个RISC-V知识库
RISC-V在线模拟器基于QEMU设计和实现RISC-V的模拟器,支持RISC-V程序的在线编译,在线模拟运行
RISC-V代码特点分析利用机器学习算法对RISC代码进行智能分析
业务描述

在这里插入图片描述

工作情况

个人分工
  • 平台后端开发
  • 数据库表设计
  • 前端界面开发(一小部分)
三月工作内容
  1. 实现文章数据接口
  2. 实现知识图谱后端数据返回
  3. 前后端交互接口说明、记录
  4. 设计后端方法测试注解用于测试运行效果
  5. 完善部分数据库设计
  6. 学一下Postman的使用

代码相关

相关实体类设计

统一接口返回Result:

用于前后端的数据统一

/**
* @Description: 统一结果返回
* @Author: lmh
* @Date: 2022/3/6 21:35
*/

@Data
@AllArgsConstructor
public class Result {

    private boolean success;

    private Integer code;

    private String msg;

    private Object data;

    public static Result success(Object data) {
        return new Result(true,200,"success",data);
    }
    public static Result fail(Integer code, String msg) {
        return new Result(false,code,msg,null);
    }
    public static Result failupload(Integer code,String msg,Object data){return new Result(false,code,msg,data);}

}

文章实体类BlogVo(由于不需要标签,所以后续不再使用):

@Data
public class BlogVo {
    /**
    * @Description: 作为展示文章列表的一个小标签
    * @Author: lmh
    * @Date: 2022/3/6 22:30
    */
    private Long id;

    private String title;

    private String author;

    private Date createTime;

    private String introduction;

    private int views;

    private String cover;

    private int collect;

    //标签列表
    private List<TagVo> tags;

    //文章类型列表
    private List<TypeVo> types;

}

知识图谱实体类RoleVo:

/**
* @Description: (起点Entity,终点Entity,关系)
* @Author: lmh
* @Date: 2022/3/25 14:35
*/
@Data
public class RoleVo {
    private String source;
    private String target;
    private RelationVo relation;
}

分页查询实体类:

@Data
@AllArgsConstructor
public class PageParams {
    /**
    * @Description: 数据暂定
    * @Author: lmh
    * @Date: 2022/3/6 22:22
    */
    private int pageNum;

    private int pageSize;

    public PageParams(int pageNum){
        this.pageNum = pageNum;
        this.pageSize = 20;
    }
    public PageParams(){
        this.pageSize = 20;
        this.pageNum = 1;
    }
}
部分数据返回逻辑示例

以返回博客内容为例:

Controller层

/**
 * @Description: 查询所有的blog,首页展示文章列表,展示除正文以外的内容(作者、标签、等)
 * @Author: lmh
 * @Date: 2022/3/6 21:34
 */
@PostMapping("blogslist")
public Result blogs(PageParams pageParams){
    List<BlogVo> blogs = iBlogService.listBlogsPage(pageParams);
    return Result.success(blogs);
}

Service层;

@Override
public List<BlogVo> listBlogsPage(PageParams pageParams) {
    QueryWrapper<Blog> queryWrapper = new QueryWrapper<>();
    Page<Blog> page = new Page<>(pageParams.getPageNum(),pageParams.getPageSize());
    Page<Blog> blogPage = blogMapper.selectPage(page, queryWrapper);
    //填充内容
    List<BlogVo> blogVoList = copyList(blogPage.getRecords());
    return blogVoList;
}

private List<BlogVo> copyList(List<Blog> records) {
    List<BlogVo> blogVoList = new ArrayList<>();
    for (Blog blog : records) {
        //根据需求判断是否带标签、类型等数据
        BlogVo blogVo = copy(blog,true,true);
        blogVoList.add(blogVo);
    }
    return blogVoList;
}

前后端接口文档

用于前后端的接口对接,便于交流:
请添加图片描述

第一次总结

  1. 和后端队友完成了一部分的基础后端搭建
  2. 部分简单的业务逻辑已经写好了:分页返回Blog、知识图的后台接口等
  3. 撰写了前后端接口说明
软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip软件工程实践案例分析+报告(微信小程序+mysql数据库+web后台管理).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值