毕业设计的技术选型

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

啊啊啊啊啊转眼就大四了,第一次来黑客派的时候刚大三开学,还是因为折腾 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

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

  • 88250

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

    1 回复
  • adlered

    辣鸡路过,暖

  • hjljy

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

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

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

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

    希望我的见解可以帮到你

    2 回复
  • namelysweet

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

    1 回复
  • hjljy

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

  • lizhongyue248

    感谢,很有帮助!

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

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

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

  • lizhongyue248

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

  • lizhongyue248

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

  • lizhongyue248

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

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

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

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

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

    1 回复
  • lizhongyue248

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

  • lizhongyue248

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

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

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

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

    1 回复
  • SignV

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

    1 回复
  • Eddie

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

    1 回复
  • ellenbboe

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

  • 咦 定位是东京trollface

  • lizhongyue248

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

    1 回复
  • lizhongyue248

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

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

  • Eddie 1 赞同

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

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

    1 回复
  • 加油 😂

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

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

推荐标签 标签

  • PostgreSQL

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

    21 引用 • 22 回帖
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 24 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    198 引用 • 120 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    60 引用 • 287 回帖
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 9 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    53 引用 • 85 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6510 引用 • 29259 回帖 • 247 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 38 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 455 关注
  • 酷鸟浏览器

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

    3 引用 • 59 回帖 • 22 关注
  • Ngui

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

    7 引用 • 9 回帖 • 345 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 1 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 438 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    169 引用 • 799 回帖
  • 倾城之链
    23 引用 • 66 回帖 • 96 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 298 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 454 关注
  • 自由行
    1 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    129 引用 • 793 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 1 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    51 引用 • 37 回帖 • 1 关注
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 458 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 182 关注