回想曾在学校做“三小”的日子
在我大二的时候,我也曾想象着把自己修炼成一个“技术大神”,于是我也毫不犹豫地选择“三小”,看起来似乎更容易接触的一个方式,那时,如同军训时那样一腔热血。二话不说就一头扎了进去。开始找老师沟通想法,各种鬼扯,说得天花乱坠。想象力爆棚!现在想想那确实是断很值得反思的日子!
其实对于一个小白来说。拿到一个做三小的机会似乎特别不易,简直能找到一万个不到黄河不死心的理由!当我们开始时,我们似乎满怀热情,就好像就此走上人生巅峰一样信心满满,各种疯狂地入手资料、任务分工......但似乎只是徒劳无功,只是想一群无头苍蝇一样到处乱撞,也不知道该学什么,知道该学什么也学不会,学会了也用不上......经常遇到奇奇怪怪不知所以然的问题,解决也解决不了,也不知道整个的实现方法......总之,没有比发现自己不行更糟糕的问题了!慢慢地,当初设想的一切好像都瓦解了!面临的似乎是要重新开始,而重新开始意味着重新认识、重新思考!
当我们经历过这样的阶段,内心几乎是崩溃的,我也差一步就选择了放弃。当时间越来越紧迫,压力越来越大时,我冒着经常不上课的风险在实验室死磕,我也不知道在干嘛,反正就是在看......当我真正想明白整个问题时,其实已经差不多要结束了,那时我们选择了放弃完全靠自己的设计,无奈中我们选择了更改需求,并且我们选择了借鉴成品。于是一场模仿之站打响。这个时候,我们一切的目标就只是看懂成品的设计资料了,知道我们能看懂整个结构与思路,最后我们是在基于成品基础上更改我们的需求才勉强完成了这个让我倍受煎熬的项目。
那时的我们太急于求成了,以至于最终可能离最初的目标都相差甚远!从现在的角度可以清晰地看出其中许多值得反思的问题。其实可以说对于整个项目,一开始就必须有一个清晰的概念,而我们却没有。我们设计的项目是一个物联网的应用系统,系统这个东西本身很复杂,涵盖的内容很多,但其实实际内容并不在于技术难度多高,因为这是一个实践应用型的项目,并非一个研发型创新技术型的项目。这也是我们思路局限的一个原因,导致我们喜欢想设计这种系统性的项目,但其实忽略了一点,正因为我们大多数人对所学的内容了解也不是很深,所以很难纵深地去挖掘,但与此同时选择系统性的项目难度就在于知识面。因为系统设计需要很多实际的项目经验和综合知识的结合,简单来说,这种项目从计算机体系的最底层到应用层可以说全部包含,对于大二大三的我们,可能大多数人接触的知识面有限,也缺少这种系统的经验,如果直接从书面知识跳到这样一个层面,我不得不承认很难!
为什么我们最后会考虑不再完全靠自己开发设计出来甚至减少需求降低要求,原因在于我们们真的一开始就并没有搞清楚重点在哪,其实并不是哪一个知识点的问题,比如编程语言只是借助于实现需求的工具,而这中间非常重要的一步是需求到实物转换概要、框架、接口设计。我觉得至关重要的一个问题,也是我曾经经历项目的时候的根本问题,就是这么多个层次以及每一个模块是如何协同工作起来。我觉得关键是要明白这样一个系统构建的一个重要点就是计算机网络!所有的这些通信,上层与底层之间、模块与模块之间都是要靠计算机网络实现的!如果我们当时能把这个问题想清楚,或许各个模块就是独立的了!而分工也就明确了,而不是大家都在解决同一个解决不了的问题,更不至于有人选择放弃。
模块一旦独立,就是不管是节点与节点、前台与后台、节点与后台之间,所有的数据都是必须通过网络传播,每一条数据通路的出口和入口协议一致,这就是通信协议,用于解析标准数据。比如节点与节点之间有一致的数据格式,发送方按照标准格式封装数据,接受方按照标准格式解析数据,这样才完成了一个网络连接。而前台与后台之间,它需要依靠软硬件平台自身的通信模块将数据从服务器后台获取回来然后解析出结果通过展示模块显示出来或者发送指令到后台,然后节点去获取后台的指令包进行解析完成触发。
可能还有很多人会对三小项目问题存在疑惑与困难,但又想接触,我很鼓励新手们上前一试,但要量力而行,可能会遇到一系列问题,可能也还会有具体实施思路的问题,这是大方向,不过不论遇到什么,心态要好,要懂得缓解压力,一定不能让一起努力的小伙伴感觉丧失信心,那样可能不久之后就会多了放弃的人,那只会其更消极的作用!建议先去学习类似的实现成品,关于资料通过网络应该是能搜索到的,有了了这些资料之后,就是开始看,直接看教程,分工好,没必要先去学一下这学一下那之类的,因为比如你去学JAVA开发也是只会去看一些语法什么的,但是这并没有什么用,直接面对别人做好的模型可能是最实用的,不懂再去查,想尽一切办法去看懂别人做的,然后再根据自己的需求去修改,重点是要知道如何实现的实现了什么,这就是直接从别人的经验上基础上开始,弥补经验的不足,就是一个学习已有的过程然后去改变,不是从0到一,而是从0.7到一,这要容易多了。
尽管可以尝试,但不要向像们一样抱着非此不可的想法,因为人是活的,学习的方法和方式太多,只是需要你去留心观察去发现去探索,在我看来,只要你知道不停地去看去学,总会有收获,即使是一次性的收获,也会让你多一些学习的经验。