四年随笔

第一部分:结缘计算机

  至于为什么要选择计算机,就只是单纯的因为计算机接触的比较多。从小学就开始玩电脑游戏,从盛大玩到腾讯,网易,steam。接触的多,就更有亲切感。高中这个充满臆想的年纪,对黑客的钦佩之心也是词不达意的。现实生活中,更多是因为高中九门学科中,对数学和物理有偏好,所以报考的时候选择理工科。前后二者综合就报考了软件工程专业。自然比不得这些博主,一不是名校毕业,再者没有傲人的成绩和这些博主的天赋与执念。但所庆幸的是多年摸索也算是找到了自己感兴趣的方向。现今对于单台主机的性能优化已然达到瓶颈,使用服务器集群显然比对单台服务器的硬件或代码优化都要优秀。在大并发量和大数据的驱动之下,分布式开发也许会成为一种趋势,再加上个人对JAVA和网络及算法方面比较有兴趣,所以个人毕业之后想走分布式发开方向。

  大一:学习C,JAVA,数据结构,对编程有一定认知。用C可以实现基于控制台交互的项目,用JAVA使用GUI能画出简陋的FRAME和组件。但是也有一个想法困扰着当时的我”为什么学了这么多东西,还是对如何写出一个像样的软件摸不着任何头绪?”。

  大二:学习汇编,计组,Web,操作系统,计算机网络。没有认真的学习,所以对于知识掌握很不牢固,只能粗略懂得操作系统和计算机组成原理这两个概念的存在,并不能构建起一个计算机世界的框架,后来才渐渐意识到,任何高级语言的运行其实都是需要将其翻译成操作系统所能识别的代码,通过操作系统去调用其指令,并由CPU控制执行。通过计算机网络可以帮助我构建一个互联网的七层模型的概念,从最简单来说,七层协议就帮助我更好理解"为什么访问一个项目时需要’协议://IP:端口号/项目名’?"。

  大三:学习SSH框架,数据库原理,软件工程,面向对象,编译原理,学习SSH明白框架的便利之处。更多的是当你对框架的原理不理解,盲目的使用框架时的许多无奈之处和一堆躲都躲不掉的麻烦。一个框架既能便利你也能束缚你。数据库原理让我明白设计数据库表的时候要最好要遵循三范式。在理论设计表时是会有外键存在,但是在实际操作中,因为数据库的繁琐和报错不友好等原因,通常会通过代码层面来代替这个“外键”。面向对象和软件工程帮助我了解一个完整的项目开发流程,目前也都在使用敏捷开发、快速迭代。面向对象最重要的就是23种设计模式,其中最经常在框架中见到也最浅显的就是工厂模式和适配器模式。这种设计思想上的认知还是需要更多的代码堆积和遇见、思索才能一步步提升。

第二部分:在计算机系里学习
  你对你的大学生活有什么想要吐槽的地方吗?
    有,学习方向单一,整个大学的课程就是JAVAWEB方向,并没有选择方向的权利。当然这也跟我们自身的实力有关系。
  国内外的大学生活有什么区别?
    没有接受过国外教育,不做回答。
  你理想的大学教育应该是什么样子的?
    教育是引导和启发,促成而不督促。
  跟学校给你的有什么区别?(必答)
    学校采用较为保守的教学方式。
第三部分:未来规划
  对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?
    我希望可以成长为优秀的分布式架构师。
  你准备怎样来规划你技术道路,职业道路和社会道路?(必答)
    我希望可以一毕业就从事分布式开发,一往无前。或者毕业之后从事JAVAWEB的开发,寻找合适的平台去学习和积淀,拓展自身的视野,慢慢的往分布式开发转型。
  在这半年之内可以学习好JAVA并发编程和JAVA网络编程以及数据结构和算法。如果可以,时间充裕就把LintCode的刷一遍。
踏踏实实地打好基础 ,而不要被层出不穷的新技术遮蔽了视线”第一篇文章的这句话我感受颇深,先进框架的更新速度是越来越快,新的技术层出不穷。如果一直疲于追逐新的技术,会有点舍本逐末。因为对于还未毕业的我们来说,我们现在学习一个框架之后,也许毕业之后就不再使用这个框架了,SSH就是一个最好的例子。而基础的知识是永远不会被淘汰的,就比如爬虫看似一门新技术,但其实其根本就是对于HTML格式的页面的读取,解析:爬虫将整个互联网看成一个大的图,使用图的广度遍历方式去对大量页面进行读取解析。而其最好用的Jsoup类库则是使用类Dom4J的操作方式去解析网页。而其Dom树本质上就是数据结构中的树结构。再说JAVA中的LInklist本质就是数据结构中的链表。再说爬虫使用队列存储待爬取的URL,是因为其先进先出的原则。
  但是放眼公司招聘要求,熟悉Html/Css/Javascript,会使用jquery,bootstrap,redis,mongoDB等等。许多的企业都是希望人才既招既用,而不会在乎其发展。而就自身发展而言,如果放弃对于基础的学习,在技术并不牢固之时,转而一头栽进一个技术之中,也许能乘时势混的一时温饱,但是当这门技术的浪潮褪去,就悔之莫及了。
  更者是,使用高级框架开发如同于站在巨人的肩膀之上,俯瞰大地,众多山河湖海皆为手中棋子,只要一句简单的调用就能实现强大的功能,这种爽感是不用赘述了。相比之下,基础知识的学习和使用是枯燥又乏味,写了长篇代码,但是其功能却不及框架一句的十分之一。
  所以这个浮躁的时候,这句“踏踏实实地打好基础 ,而不要被层出不穷的新技术遮蔽了视线”就如一盏明灯一般,分外亮。
  对于选择计算机这个领域,我是庆幸的,因为这个领域,能满足你当一个科学家的梦,也能满足你赚钱的想法。这一切都要感谢为这个领域做出贡献的所有前辈们。
 
posted @ 2017-08-29 17:07  vambo  阅读(231)  评论(4编辑  收藏  举报