这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天
根据青训营学到的东西写个小玩意
前言
科研的实验中用到了 Matlab,由于机器单独安装 Matlab 还是一件挺麻烦的事情。20+G 的体积外加一些正版许可方面的问题。还有就是有些程序运行起来时间是真的长,动则还需要跑很多遍。
相对于 linux 平台直接用服务器的形式,matlab 的单体调用需要更灵活一些,正巧需要整理一下之前做过的东西,就学习了 Vue 3 的前端,用的 Java 的 Springboot 开发系列, 后面在计算的部分参考了 Matlab 的相关文档,找到了 Matlab 的调用接口。
这是一个相当简单的系统,但是从头到尾铺出来的过程遇到了各种坑。在敲的过程中也能理解“开发”这件事是个什么逻辑。这个项目相当简单,目前也处于能够“完成”工作的状态。后面还有很多扩展的地方在。
同时因为这个算是整体的探索发现过程,所以会写的相当细节。并记录下我遇到的各种各样的坑。
项目概述
本项目是基于本人特定需求,对于 Matlab 程序提供一个 web 端的调用和返回结果的项目。
该项目比较简单,但是涉及了前端 vue 3 和后端 Java 的 web 服务器的前后端分离开发方案,还涉及到后端服务器内部进行通信的一些方法。
通体来说应当属于“麻雀虽小,五脏俱全。”
总结这些也是对于整个项目进行一个复盘,同时分析各个部分的细节和坑,也做个记录。
项目各阶段
对于整个项目进行一下分阶段,同时也说明一下后续会写的几个帖子。
第一阶段:前端开发
这部分主要完成项目的前端搭建,涉及到:
- 页面构建
- 路由实现
- 请求和响应等方面
第二阶段:后端开发
这部分主要完成项目的后端搭建,涉及到:
- 环境配置
- 请求和响应
- 鉴权
- 后端服务器内通信
第三阶段:待定==
在写这个复盘的时候,接触到了 GO 语言,发现 Go 语言确实是具有一些便捷性存在的, 后面有机会考虑将 Java 实现的东西用 Go 实现以下。
或者对于这个项目本身是存在一定的拓展性的:例如计算的时候实现多并发的处理方案,引入消息队列,自动绘制结果图等更多方案。有几乎用到再不定期更新吧。
技术栈
1. 前端技术栈
- Vue3/Vite 和 Vue-Router, Vuex, Vueuse 等一套
- ElementUI
- Axios
- Windicss
2. 后端技术栈
- SpringBoot
- Matlab
主要参考网站
Vite | 下一代的前端工具链 (vitejs.dev)
Vuex 是什么? | Vuex (vuejs.org)
Home | Vue Router (vuejs.org)
一个 Vue 3 UI 框架 | Element Plus (element-plus.org)
Home | Windi CSS
SpringBoot 和 Matlab 就是 Idea 和对应的 matlab 了。