毕业设计的技术选型

本贴最后更新于 1917 天前,其中的信息可能已经时过境迁

啊啊啊啊啊转眼就大四了,第一次来黑客派的时候刚大三开学,还是因为折腾 manjaro,然后找 linux 的百度网盘然后找到 BND 来的。

现在快毕业了,毕业设计选题是 web 项目,主要是一个选课题的项目,老师可以选学生,学生可以选老师。然后老师指导学生完成这个课题的流程,包括论文修改、流程记录啥的。想问问大家有没有什么好的技术选型。

有些问题不知道采取什么技术选型,想问问社区大佬的意见:

  1. 需要填写很多资料,而且资料字段可以自定义的那种 —— 我想到就是 mongodb,系部主任可以自定义表格的字段,一次课题就是一个文档,第一次尝试,不知道这样可以不。mysql 肯定不够用了。
  2. 前端要对 pdf 文件进行标注,学生上传了 pdf,老师可以看到并且直接批注修改——目前我真的不知道前端有啥比较好的解决方案。
  3. 前端必须适配——我打算使用 material design 的设计风格适配,所以考虑 flutter 还是 react 还是 react native(不用 vue,因为前面写的项目全是 vue 的)。flutter 也可以做 web 但是支持没那么好。想请 V 姐给点建议 T T
  4. 测试驱动开发——每个地方都要写测试用例,前端准备 jest,后端就是 junit5 了。
  5. 要牛逼!——这个真的必须要有的,必须牛逼,目前想到的就是数据可视化,但是只有那一堆图其实感觉并不牛逼,总想拿得出啥出来,人工智能深度学习感觉自己是没时间去学了 T T。想问问 D 大有没有啥好的建议啊。
  6. 要全面,开发出来是直接给我们系用的,所以一些中小企业级的东西要有的——目前打算是微服务开发,初步选择是 webflux + spring cloud 阿里巴巴和一些 vert.x 服务。使用 kotlin 来写。但是最近朋友去公司实习,才发现公司还有好多东西和技术,比如 Ansible、Zabbix 这些,想问问中小企业一般都会有哪些框架或者技术啊?
  7. 通知,能够通过 QQ 或者微信发送通知——这个我还没有找到啥好的解决方案,倒是有几个机器人可以用,但是还有没有尝试,大家有没有推荐啊?

自己做的有点大,但是没办法啊,到我毕业答辩的时候人估计会有很多,我是我们学校第一届这个专业的,然后是“名声在外”的那种,好多人都给我说我毕业答辩那天一定叫他们去看。所以我必须做的牛逼能够震得住场子的东西,但是自己也就会 web 啊 -0- web 无非就是那么点东西,前后端 + 运维。所以求大佬给点建议。。。到时候实在不行只有上一点数据可视化啥的了 T T 然后考虑下哪方面可以用以下区块链技术,如果有必要就去学习一下。

还有半年的时间,感觉有点多。各位大佬帮帮忙。。。想了几天感觉就那么点。

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • lizhongyue248 via Linux
    作者

    @Vanessa @88250 D 大 V 姐, 给点建议好不好。。。

  • 88250

    底层不需要基于 XXX 学术理论么?当年我的毕业设计做的是基于 Petri Net 的软件过程管理,实现了一个简单的流程引擎。根据你这题目,我觉得存储可以上 IPFS,用于保存论文终版,这样也有亮点。

    1 回复
  • adlered

    辣鸡路过,暖

  • hjljy

    整个大数据的页面,一下子就高大上了。

    1 回复
  • someone48938 via macOS

    又要“牛逼”又要“全面”,两者很难兼得啊。

    要知道毕业设计的目的不是为了让你搞出一个多么牛逼、有多么强的适用性的实际产品出来,而是考察你在校期间学习的专业知识能否学为所用。所以,我觉得你在技术选型的时候,不要想着现在业界都有那些牛逼的技术,然后填鸭式地临阵磨枪,并试图把这些技术都塞到自己的项目里。相反,你要梳理一下你已经掌握的知识和技术,并从中找到自己的强项。接着,分析自己能利用这些强项做到什么,有哪些创新的地方,突破了哪些壁垒,等等。然后,专注于某一点去为你的毕业设计选题。

    拿我自己的本科毕业设计为例,我做的是一个基于深度强化学习的综合能源微网优化调度。这个题目是老师选的(学渣没人权)。由于我不擅长深度学习这一领域,所以我将重点集中在了优化调度的载体上,而不是深度学习模型的构建、调参和训练上。最终,虽然训练出来的 DQN 模型不是很理想(事实上传统数学方法更优),但是我成功地将其集成到 麒麟 970 平台上,利用 麒麟 970 的 NPU 加速神经网络的运算,从而使得在嵌入式平台上实时地应用深度强化学习的手段对综合能源微网进行优化调度变得可行。最终,我的毕业设计取得了还算理想的分数。至于优化 DQN 的工作,后来老师将其交给了一些擅长深度学习领域的研究生去继续进行。

    希望我的见解可以帮到你

    2 回复
  • namelysweet

    比如 Ansible、Zabbix 这些........这些不都是运维层面了么。。。。

    1 回复
  • hjljy

    如果你这都是学渣没人权,那我毕业设计都是混过的算什么

  • lizhongyue248 via Linux
    作者

    感谢,很有帮助!

    我的专业是软件工程,讲究的是项目工程化,软件开发工程化,所以毕设就是做一个项目。而且我的题目是系主任直接指定的,做出来给我们软件工程系用=-=我只能做这个,并且要求就是强适用性。至于牛逼则是为了所谓的“炫技”吧。说大点就是我是我们第一届软件工程的“元老”或者老师们口中的“学霸”,虽然我从来没有这样说过但是老师在给后面的学弟学妹说的时候就把我营造成这么一个形象了,故而要有牛逼,能够让学弟学妹们 wow 出来的东西。

    我们是校企合作,大二开始大部分专业课就是企业来给我们上课(所以你懂的),上的都是 web 开发,前端就是十年前那种程度,上了一年半才到 spring boot。所以我们的毕业设计基本都是开发 web。自己对 web 开发不能说熟悉,但是也是能够上手,所以我上面提到的东西个人觉得半年的时间自己完全能够熟练运用。至于说强项,自己也说不清,从架构到设计,从界面到编码,从测试到运维,自己都做过=-=

    专注于某一点 说的特别好。web 设计大多都是业务逻辑的复杂,亦或是前端页面的适配酷炫交互。但是我不想从这两个点,这两个点不新,要好好思考下从哪个点专注。

  • lizhongyue248 via Linux
    作者

    大数据的页面已经没啥新鲜的了,别说老师了,自己都看腻了。。。

  • lizhongyue248 via Linux
    作者

    啊,确实是。还有 api 网关 kong 啥的。

  • lizhongyue248 via Linux
    作者

    谢谢 D 大,我去了解下 ~ 系主任直接给我指定的题目。。。我也很无奈

  • 选几个自己熟悉的技术做就行了,真正开始做的时候 你会发现可能时间不够。而且你要是临时学其他的技术来做,根本做不完。到了公司你会发现你无论怎么学,跟公司用的东西还是有点差距。运气不好的话,一大堆运维技术都得学。docker,k8s 这些运维要学,开发还得学。让你怀疑人生。

  • 前端上传 pdf,然后批注修改是指在浏览器里面修改 pdf?这个怕是有点复杂。如果是修改 excel 之类的表格还容易一点。😂

    1 回复
  • ZephyrJung via macOS

    中小企业还不至于到微服务的地步吧
    我觉得你做好项目的模块化整体发布就可以了,上微服务徒增复杂性
    你们部署的时候有多机房么,上了微服务,相关的中间件怎么部署,怎么维护呢

    1 回复
  • ZephyrJung via macOS

    我觉得所谓的全面应该是功能上五脏俱全,也就是业务的完整性而不是技术

    1 回复
  • lizhongyue248 via Linux
    作者

    对啊,也不是修改 pdf,就是批注,不过也头疼死了,但是这就是需求。。。我也很无奈。

  • lizhongyue248 via Linux
    作者

    五脏俱全说的很对,刚刚和系主任吃饭谈话,他也是强调这一点。

    不过微服务肯定是要的,机房多啊,我管理的两个机房就有六台工作站,四台刀片服务器,两台图形工作站了。这个校区还有很多这种机房,其他校区也有,还有用来搭建数据中心的机房就有十多台刀片了。而且有几个同学的毕业设计都要接入我写的统一授权中心,这个时候肯定是要微服务了。

    技术主要是希望震场子用 ~

    1 回复
  • 我们公司就比较小,外包公司,全是古董项目。jdk6,Tomcat6。只不过最近在搞容器化,往 k8s 上面迁。最新的一个京东项目直接就是微服务了,我也很无奈。

    1 回复
  • SignV

    和我的毕设差距好大 不过也对 环境不一样 我是学渣 学校也一般 可能要求没那么高 我当时还是用的 JSP + SSM 哈哈哈 现在的话 公司有用微服务 和各种自动化运维 比如 Jenkins+K8S 这些 不过你这项目 需要做那么复杂吗 又微服务 又要搞些测试驱动之类的东西 实际考虑的话 感觉也不需要微服务的样子 普通的 springboot 应该就足够了吧 微服务 加进去 会复杂很多 没什么必要 就不要加进去了 你可以尝试用 docker 部署 如果搞自动化运维也可以 实力允许的话 也不嫌麻烦的话 看起来你们的毕设都好牛逼 我当时的毕设都做得我要生要死 自己搞前后端 还有写 socket 对接信号 项目是我和室友一起搞的 他搞的是嵌入式方面的 我和他对接信号数据 比如他能探测温度 湿度这些 我来进行入库 以及安全报警相关的操作

    1 回复
  • Eddie

    可以,但没必要。不是我打击你,其实老师不怎么在乎你毕业设计做了啥。

    1 回复
  • ellenbboe

    ...我也在搞毕设...

  • 咦 定位是东京trollface

  • lizhongyue248 via Linux
    作者

    这个还真说错了,我给学校做的项目一只手都数不过来了,大二开始做的,两年半学校除了每个月 800 的补助,系主任每次还单独发工资,加起来有 2W+ 了,我是我们系的工作室的主要负责人,我们这个工作室全部人加起来从学校那里拿到的钱也有 20W+ 了。这次项目是系主任指定的题目,经费可能少点,但是肯定是要用的,上次和学院领导开会就提到过这个东西了,还是比较重视的。

    1 回复
  • lizhongyue248 via Linux
    作者

    巧了。我同学也要和我合作,不过是跨专业了,他写的是人脸识别 + 自动签到,要接入我写的授权中心。

    微服务肯定要上的,东西很多,上了好管理点。测试驱动是方便我走了以后别人来接手能够好一点。docker compose 我们给学校写的项目去年已经在用了,准备 k8s 和自动化运维了。

  • Eddie 1 赞同

    我说毕业设计。。。你这种不是。。。

  • ZephyrJung via macOS

    原来如此,厉害了,作为学生做到这点,真令我汗颜
    挺好奇你的架构设计呢,希望楼主将来可以分享一下

    1 回复
  • ZephyrJung via macOS

    加油 😂

  • someone27889 via macOS

    只能说...可怕...真的是后浪推前浪

请输入回帖内容 ...
lizhongyue248
一个天真的小孩儿......https://echocow.cn 东京

推荐标签 标签

  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 297 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 459 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 45 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 176 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 640 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖 • 3 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 3 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖 • 1 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    21 引用 • 204 回帖
  • 笔记

    好记性不如烂笔头。

    311 引用 • 796 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 544 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 397 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 9 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 585 回帖 • 1 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 145 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 86 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    267 引用 • 666 回帖
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 75 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 1 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖
  • 叶归
    5 引用 • 16 回帖 • 8 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    245 引用 • 1338 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 55 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 3 关注