自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 【创新实训 - 个人报告】09 - WebGL跨域渲染图片

开始之前在本周进行开发时,我遇到了WebGL不能跨域渲染图片的问题。图片是以这样的方式获取的:'http://xxx.xxx.xxxx/get_img?id=1'如何在不能使用服务器转发的情况下,解决跨域渲染问题呢?设计思路最原始的LoadImage:Graphics.loadImage = function(src){ return new Promise((resolve) => { Graphics._image = new Image(); Graphics

2021-06-07 22:37:43 162

原创 【创新实训 - 个人报告】08 - 功能选项卡

开始之前在本周进行开发时,我们需要新增功能选项卡。功能选项卡可以增加功能面板的数量,有利于我们新增更多的功能。设计思路首先新建选项卡的变量:data () { return { tab: 2, tabs:[ {icon: 'mdi-account', text: '用户菜单', login: false}, {icon: 'mdi-cloud-outline', text: '云功能菜单', login: true},

2021-06-02 10:27:13 116

原创 【创新实训 - 个人报告】07 - 层次结构:多边形融合算法

开始之前在本周进行开发时,我们遇到了非常有意思的一个需求。对文章进行层次化处理,需要把字按照词、句子、段落、文章、书籍的顺序组合起来。每个字都有一个多边形,因此词、句子、段落、文章、书籍就需要把这些多边形组合起来显示。如何写这个算法是重中之重。设计思路多边形的存储方式是一个有序点数组。例如:[[0, 0], [0, 1], [1, 1], [1, 0]]如果这时又来了一个多边形,要和上面组合呢?[[0, 0], [0, 1], [-1, 1], [-1, 0]]我们需要剔除公共边:[[0,

2021-05-16 14:48:23 329

原创 【创新实训 - 团队报告】06 - 第九周开发笔记

截止到本周,我们完成了大部分预期成果。基本的功能已经实现了。本周成果:W同学为引擎增加了层次化处理操作,可以对文字进行标记,划分出词、句子、段落、文章、书籍。W同学的个人报告:【创新实训 - 个人报告】06 - 向引擎注册插件Q同学本周解析了sdudoc的文档结构,实现了数据向MongoDB和solr的批量存储Q同学的个人报告:创新实训(10)——sdudoc文档的解析与存储Y同学本周完成了搜索功能以及搜索数据的显示,这里重点介绍了一下如何实现分页,在数据量比较多的时候,分页是必要的。Y同

2021-05-10 20:28:05 79

原创 【创新实训 - 个人报告】06 - 向引擎注册插件

开始之前在上文中,我们提到了几样基本工具之间的配合。然而,基本工具也需要向引擎注册才能使用。在此基础上,我们需要给引擎写一些模块用来适配。设计思路最基础的工具类,告诉引擎这是一个工具:// ================================================================================// * Tool <SDUDOC Engine>// ----------------------------------------

2021-05-09 00:06:08 102

原创 【创新实训 - 团队报告】05 - 第五周开发笔记

本周我们和指导老师碰头,进一步交流了服务器部署及相关优化的问题,获得了一台新的服务器用来做solar搜索。指导老师对我们的后端优化提出了一些建议。本周成果:W同学为引擎增加了模板功能,该功能能够对页面进行快速切割,完成优化操作。W同学的个人报告:【创新实训 - 个人报告】05 - 直线工具和点工具的配合Q同学本周在linux服务器上成功部署了solr,并且和两台数据库服务器成功实现了连接。对于MySQL数据,使用solrimporter成功导入了数据,但是对于mongoDB数据,直接导入并不成功,

2021-04-22 00:22:26 93

原创 【创新实训 - 个人报告】05 - 直线工具和点工具的配合

开始之前在上文中,我们提到了直线工具的设计思路。然而,直线工具和点工具不能独立存在,它们二者之间需要建立配合,才能保证软件质量。设计思路关于点工具,点有三种创建方式:自由点,交点、从属点。后两种创建方式需要依赖直线。RenderManager.addRenderer(new Renderer("dot.mouse", 100, DotFactory, function(ctx){ if(DocumentManager.getCurrentPage() <= 0) return; le

2021-04-19 10:54:52 82

原创 【创新实训 - 团队报告】04 - 第四周开发笔记

本周我们和指导老师碰头,交流了服务器部署及相关优化的问题。指导老师对我们相对薄弱的数据库部分提出了一些建议。同时,前后端均已在上线的过程当中。本周成果:W同学为引擎增加了撤销、恢复(历史记录)以及保存、读取、导出(文档基础功能)等因素,并导出了范例文档以供后端数据分析使用。W同学的个人报告:【创新实训 - 个人报告】04 - 直线工具的设计思路Q同学本周实现了springdata对数据库的操作,并简要实现了使用solr来进行数据搜索,其中,导入mongodb数据相对困难,网上很少有合适的教程,探

2021-04-12 19:07:30 79

原创 【创新实训 - 个人报告】04 - 直线工具的设计思路

开始之前在上文中,我们提到了点工具的设计思路。几何学中,第二基础的元素是什么?是一维的线。通过线可以快速构建网格布局,进行快速切片,帮助用户快速完成相应功能。设计思路二维空间中,线的设计相对简单,它由两个端点确定一条线段。所以我们需要这两个基本属性,并构建Line基类:// ================================================================================// * Line// ===================

2021-04-10 21:23:18 98

原创 【创新实训 - 团队报告】03 - 第三周开发笔记

本周我们和指导老师碰头,交流了关于输入法和Unicode的问题。通过ttf编辑软件新建字符,并且为输入法写入对应的码表,我们就可以实现输入对应的新增文字。这部分内容我们打算在后期再进行配置。另外,我们拿到了学校的四台服务器,这周的精力主要花在服务器搭建上面。本周成果:W同学去机房安装了实体服务器,并且优化了一下引擎架构。W同学的个人报告:【创新实训 - 个人报告】03 - 点工具的设计思路Q同学本周简要设计了一个jsonParser的demo,并设计了mongoDB在springboot的层次

2021-03-29 19:10:58 102 1

原创 【创新实训 - 个人报告】03 - 点工具的设计思路

开始之前在上文中,我们提到了绘图引擎和插件加载。在本次项目的编辑器中,每一个工具都视作一个插件。几何学中,最基础的元素是什么?是零维的点。在任何维度的空间中,想要形成几何体,都必须有点作为支撑。在我们这个项目之中,对图像进行标记、切割,需要依赖点来完成。这就是第一个插件编写点的原因。设计思路二维空间中,点具有两个维度的坐标x, y。所以我们需要这两个基本属性,并构建Point基类:// ========================================================

2021-03-29 13:11:56 150

原创 【创新实训 - 团队报告】02 - 第二周开发笔记

本周我们和指导老师碰头,交流了关于架构设计和文档格式的问题。在与老师的交谈中,老师提到了使用对象数据库来存储图片。我们原本打算把图片存储到服务器上,MySQL数据库仅存储图片的路径信息,但是这是传统的存储方式,使用对象数据库将是我们的一个创新点。我们初步打算使用db4o来存储图片,但是因为对象数据库对我们来说是一个全新的领域,我们在之前并没有过多的涉及,因此现在还在研究当中,而且如何把db4o与springboot结合到一起也是一个难点。另外,我们进一步完善了xml文档格式,并且在xml格式上进行了修

2021-03-21 21:39:02 103 1

原创 【创新实训 - 个人报告】02 - 几何绘图引擎架构和插件加载

开始之前书接上文,在上一篇报告中我谈到了关于插件加载的问题,这和本次创新实训项目的需求有很大联系。一个古籍管理系统的编辑器,可能会产生大量的需求变动和功能增减,而这些内容在项目初期很难被全部考虑进去,需要通过多次版本迭代来实现。因此,项目需要有很强的可维护性,便于快速添加新功能。这就是为什么我要写一个绘图引擎的原因,因为写完引擎之后,所有的“工具”都可以通过插件的形式快速添加。模块划分Input/MouseInput:事件分发器,它们向浏览器页面注册键盘/鼠标事件,分发监听器监听到的事件给引擎内需

2021-03-20 13:34:50 134

原创 【创新实训 - 团队报告】01 - 第一周开发笔记

本周我们和指导老师碰头,交流了关于SDUDOC文档的格式。通过组内协商,每位成员确定了分工:W同学负责前端编辑器开发,Z同学负责后端服务器开发,Q同学负责后端数据库和数据分析,Y同学负责搜索引擎前端和文档格式。项目背景现阶段国内对于古文字没有一个方便且功能全面的研究平台。国内可以进行古籍查找的网站并非少见,但是与我们的预期背道而驰。国内的网站可以分为这么几类,一是线上阅读并且能全文检索,二是可以阅读到扫面版古籍原貌,三是可以下载古籍的网站,四是以上三种搭配组合。但是,就以上几种网站来说,能够提供全文检

2021-03-14 19:17:41 180

原创 【创新实训 - 个人报告】01 - Vue中动态添加全局JS脚本

【创新实训】个人报告01 - Vue中动态添加全局JS脚本开始之前在我们的创新实训中,针对于古文字图像切片的前端编辑器需要做大量图形处理的工作,对于一个需要复杂绘图计算的web应用程序,将全部代码都放在.vue文件里显然是不现实的,需要一个三千行以上的代码包来处理这一复杂的架构。javascript可以利用"prototype"来实现类似面向对象编程,也是我们在项目中采用的方式,例如:function Dot2D(){ this.initialize.apply(this, arguments)

2021-03-13 03:58:51 729 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除