软件学习之路总结

       已经接触软件快有两年了吧,总想自己写点什么又不知所措,所以借着清闲的时间就想了想自己这两年的软件学习之路,想着想着,就突然想写一写。

        第一年主要学习C#,主要是跟着项目学习的,这样的好处就是学习要快一些,从开始的看一些基础的知识,语法,然后就直接看项目中别人已经编好的代码,加以理解,有不懂的地方就自己多查查手册或者向其他人请教,在不断的了解中,逐步学习了线程,线程池,异步通讯,数据通讯中间件,事件,同时也被微软强大的开发工具visual studio 所折服,强大的语法解析,编译能力,良好的用户界面都是我比较喜欢的,据说今年的发布的vs2017更是让人有好的界面体验,等有时间体验一下。

        学习这些之后,有时间就自己多逛逛开源社区,多去看看别人的代码,学习别人代码的构架,整洁性,不拖泥带水,期间,主要以可视化方面为主,学习了二维开发和三维球的开发代码,中间认识到了C#的一些高级用法,如反射,插件加载机制;当然在项目中也用到了数据库相关知识,所以对于关系型数据库进行了部分研究,如oracle ,mysql ,sql service等,主要学习数据库的sql语句,索引,视图,主键,外键,数据的备份,回收等,通过这些学习,认识到数据库的重要性以及普及性,基本项目开发中都会用到数据库。

        第二年主要以学习java和web为主,乍一看,java和我以前学过的C#好像啊,语法也像啊,不同点就是一种是.net一种是jdk,所以学起来就容易多了,开发的项目中主要用的是java web,所以重点学习了html和java script,css,html主要掌握几个重点的标签就行,js语法业比较简单,其实难点就在于如何让他们联合发挥最大的作用,实现项目。

       java web项目的开发主要以一些框架为主,这些框架的主要作用就是简化开发,让程序员快速有效的开发出自己想要的程序,如spring 框架,还有一些组件,如mybaits ,shiro,luance,rpc等,这里要感谢上的各路大神,是你们的文章与宝贵经验让我学到了这些知识。之后就是了解服务器,如tomcat,apache,反向代理nginx,学习它们如何让你的java web程序在它们上面跑起来。

      休闲之余就是在开源社区上逛逛了,认识了jfinal spring开发框架,使开发更加简洁,用户交互性也比较强,还有spring boot等,然后就是多学习学习java的一些高级用法,如反射机制,并发编程以及性能调优等,不过目前我仍然在探索中。

     当然,有时看的过程中会遇到一些项目用到了python以及go语言,它们也有自己基于 spring开发的框架,和java大同小异,只是表现方式不同,spring的宗旨是不变的。

      还有就是大数据方面的学习了,如hbase,Hadoop,mongo的学习,对于这些非关系数据库,对于数据的存储更加人性化,对于数据的使用也与众不同,这里运用最多的我想应该是hbase了吧,其具体介绍可以参考我的其他文章,这里就不介绍了。

     其实知识的分块还是比较好学的,关键是如何根据项目需求将这些块组合起来,这是比较难的,这不是一蹴而就的,是建立在大量的项目经验基础上的,就像你自己要盖一栋房子,起初只是一砖一砖往上堆,要想真正把房子盖好,需要这样一砖一砖好长时间才能盖出一间好的房子,至于怎么组合就看你怎么运作了,可能最后每个人盖的房子的形状大小都不同,但是感觉舒适的房子还是少数的。

     两年的软件开发经验,程序猿小白一名,以上是自己的一些粗劣学习过程,在这里献丑了。

你可能感兴趣的:(软件学习之路总结)