概述
本章比较随性,写到哪算哪,旨在为大家讲解做毕业设计的基础知识。内容比较发散,后续也可能继续更新。学生在高校的学习体系偏向于理论和基础,如果不是自己业余去主动参加一些项目,直接上手就能做一个工程简直是天方夜谭。因为做一个项目是比较系统性的工程,首先需要对技术栈进行选型,然后需要进行架构设计,接下来是框架的搭建,最最后才是编程,把业务逻辑抽象为代码填充进去。如果大家不对自己要求高些,只会最后一步填充代码,那也就是一个纯粹的码农了,只需要会一点框架知识,学会编程语言逻辑,然后会crud就成了。所以本章是希望先给大家补补课,带大家了解业界对编程的工程实践的知识。
下面先从最最基础的内容开始说起。
编程语言
首先,先为大家强调不要被编程语言所局限,一个程序员不应该被局限于Java工程师,Python工程师这种名号。编程语言是有共通性的,只要学会了一门语言,再学习其他语言无非就是学习语法。所谓的高级特性,各种语言就算有,也差别不大或者在实际开发中很少用到。
那编程语言在我们的工程中起到什么作用呢?起到一个转化的作用。科班出身的应该了解,计算机是理解不了高级语言的,所有命令对于计算机来说都需要转成汇编语言转成二进制才能够执行。编程语言的作用就是让我们使用人类能够理解的高级语言,把业务逻辑抽象出来,通过编译器转换成为机器能够理解的语言。所以学习一门新的语言对于一个稍有经验的程序员来说是没有太大难度的,无非是把一句话换两种不同的语法描述一遍。
比较流行的语言有哪些?
Java是万年常青树,python近些年热度激增。对于绝大多数学校来说,一般是教c++或者Java。还是那句话,大家不要被编程语言所局限,要根据实际需求来决定。可以说做毕设,最后才需要考虑编程语言。
个人推荐JavaScript,大有一统江山的趋势,上手简单通用性强,框架丰富既可以做web端移动端,也可以做server端。同时市面上需求量大。
架构
无论大家是准备做什么,都需要先设计架构。以常见的xx管理系统来看。最基本的架构,应当是分层。最简单的先分为前端,后端和数据库三层。复杂点就加上消息队列和缓存。然后每层再分框架和模块。比如后端先分为业务模块(内部再细分),权限管理模块,用户管理模块等等。良好的架构是基础,也是毕设吹牛逼的地方,具体的业务逻辑实际是没人关心的,代码写的如何也没人去看,也就是认真看看架构图就能大概看出你做的东西到底有没有点真材实料。
框架
目前不推荐徒手造轮子,一般人的能力也很难造一个好的轮子。但是同时不要放弃对基础知识的学习,框架只是手段。如果不学习基础知识,是完全不明白为什么框架要这么设计,也不明白框架是替你省了多少开发工作。以我们这个系列准备讲的为例,一个vue和spring boot开发的前后端分离的xx管理系统。
那只有写过html和jQuery的,才会明白vue框架能替你省多少开发量。写过jsp的才明白,前后端分离多么重要。不靠框架撸一个后端,才明白spring boot能为你省多少工作。
当然不局限于这些框架,用python的可以考虑django和flask,用node.js的可以考虑koa和express等等,最好根据你的实际项目需求和自己的基础来选择框架。
开发和调试
这部分没有什么需要太着重要说的,开发这个事情没必要培训,只有多学多练实践出真知。最佳的方法是找别人的代码拿来看拿来敲,这个技能入门只需入一次,一旦学会了一种语言一种框架的开发,然后再了解一些设计模式,上手其他语言只不过是花十几个小时的事情。
测试
自己做一个项目实际是做一个全栈工程师,多了解一下测试知识也无可厚非。应该了解一些基本的单元测试知识,具体自行百度。各种框架也都带的有。
部署
业界目前人人挂在嘴边的时髦词汇就是devops,建议大家为了找工作准备了解一下devops和CI/CD的流程,最好是能够在毕设中实践一下绝对大有裨益。如果想要做的更出彩,可以考虑买个服务器,部署在公网上,现场演示效果更好。同时买个服务器可以练习一下Linux水平,学会基本的操作和运维知识。
如果还嫌不够给力,那就搞容器化部署,把各个组件打包成all in one的,或者每个组件一个容器,然后通过容器部署。
老师,还能再给力些嘛?
那就搞serverless,更前沿的概念,搞出来这个不只是毕设,面试也可以拿来吹逼。
运维
建议掌握基本Linux知识,最好自己装个centos的虚拟机,然后找个入门教程敲一敲。想学点更贴近运维知识的可以参考我另一份文章,搞个rhcsa看看。
搜索引擎
最基本的能力,绝大码农你去问他,他应该回答你的是面向搜索引擎编程。所以最重要的一个技能就是使用搜索引擎,编程和其他工作最大的一个区别就是互联网上有太多免费的知识可以学习。不像其他行业有很深的知识壁垒,信息流动成本很高,编程这一行对于全世界一视同仁,只要你有搜索引擎,就没有任何知识壁垒来阻挡你学习进步。
为了找工作做准备
如果你是想要从事和计算机相关的行业,尤其是想要成为工程师。那么最佳的建议是,找到你心爱的公司,挑选你中意的职位。然后找到这个职位校招和社招的要求,按照要求去学习准备,并且在自己的毕业设计项目中实践。
————————————————
版权声明:本文为CSDN博主「半世浮华殆尽」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_18497785/java/article/details/103249573