github@ifrozenwhale
项目简介<br />个人项目<br />──<br />2021年5月27日<br />github@ifrozenwhale
<br /><br />重庆大学-田润泽<br />重庆大学程序设计共享网络画板Web 框架其他科创与开发项目基于数据挖掘的编程助手研究基于树莓派的生活垃圾智能分类系统基于百度API的人脸分析和轻社交课程实践组成原理/体系结构 | 5级流水线多周期 CPU 的实现计算机网络 | 网络协议实现编译原理 | 简单编译器数字逻辑 | 实验和课程设计大数据与机器学习基于 Spark 的电影推荐和分析系统机器学习与优化算法数学建模网络建模 音乐影响网络元胞自动机 | 计算机模拟 卢浮宫计算模拟不等圆的不重叠随机排列自定义轮廓的随机纹路生成
程序设计 | 科创开发 | 专业实践 | 数据科学
Github 地址 ifrozenwhale
个人博客 地址 blog
一个网络画板,支持本地或者联机同步绘图,多种图形(任意曲线、圆点、直线、矩形、三角形),支持套索工具,样式填充、修改,形状调整、移动,支持 undo 与 redo,支持保存和导出图片等。
特点:
详情见 blog
单点登录系统:基于 CAS (统一认证服务)流程,设计了自己的单点登录、登出系统。code
基于 servlet 的 MVC 框架实现:通过实现 IOC 容器,管理 Java Bean,使用 servlet 实现 GET/PUT 请求处理控制器,并提供 ModelView 模式或 Json 对象。code
返回 JSP 页面的示例:
xxxxxxxxxx
161
2"/app") (
3public class AppController {
4 // 自动依赖注入
5
6 private BookService bookService;
7 value = "/bookpage", method = "GET") // GET 方法 (
8
9 public MyModelView showBookPage(){
10 MyModelView modelView = new MyModelView();
11 List<Book> bookList = bookService.getAllBooks();
12 modelView.setView("bookinfo");
13 modelView.addModel("bookList", bookList);
14 return modelView;
15 }
16}
提供 Restful API,返回 Json 对象的示例:
xxxxxxxxxx
121
2"/api") (
3public class RestController {
4
5 private BookService bookService;
6 value = "/book", method = "GET") (
7
8 public Book getBook( ("id") String sid){
9 int id = Integer.parseInt(sid);
10 return bookService.getBookById(id);
11 }
12}
初学 编程语言时的实现,在当时阶段做了完善的实现,并有一定的拓展。
基于开源项目搭建OJ系统,收集用户编程练习数据,二次开发,利用Java进行数据统计、用户行为分析,并使用微信小程序作为移动前端,进行数据可视化和互动,提供包括编程打卡、错题收集、推荐、习惯记录、任务计划等功能。
个人实现大部分工作,从 web 前端、小程序,到数据库、算法,后端,以及部署,是一次较完整的全栈开发实践。
详见 blog
整个项目由机械结构、电控、识别和展示四个部分构成,自己主要负责识别和展示,以及和部分电控。电控部分主要是基于 arduino,识别和展示基于 Raspberry 4。
使用 keras 做了 InceptionV3/mobile_net 的迁移学习。考虑到树莓派的性能以及比赛的需求,并没有采用对视频流实时进行识别,而是手动设置采样频率,定时取样。
做了较多的交互式展示:
后端将 web 服务、分类算法、电控通信集成在了一起。
基于百度API的人脸检测与分析,并语音播报。详见 blog
特点:
使用 Verilog 实现了一个拥有五级流水线的 MIPS CPU,包含基本指令和异常处理在内的 57 条指令。
实现了写回策略,四路组相连、伪LRU替换策略的cache缓存
基础:在 Linux 上使用 C 语言在数据链路层通信,实现 Ethernet、IPv4 和 UDP 协议以及应用层封装。包括各层数据的校验,IP 分片与重组,最后为两个用户聊天的形式。
扩展:实现 IP-IP Tunnel 隧道协议。
目标实现一个简单 C 语言子集的编译器,生成汇编指令并运行,目前到语义分析阶段。
已经实现的语法分析,支持全局变量声明定义,函数调用等常见的语法,语法分析基于 LL(1) 方案,自顶向下使用栈进行分析,生成一棵语法分析树。
完成了部分语义分析,定义了包括函数在内的 7 种常见的语义错误,以及表达式计算。
主要工作:
最优化实现:单纯形(BigM,对偶)、约束优化(PHR、DFP、黄金搜索)
机器学习基础算法:Logistics 回归,分类决策树与回归树、BP 网络
不等圆的packing问题,基于概率策略化的随机游走。在缝隙处可额外进行补充,使更加丰满。code
体现了数学中的随机美。可以给出图形,在图形内基于 Voronoi 图生成随机纹路,可以进行颜色填充。code