一直以来总有一种缺乏安全感的感觉,计算机的世界确实是太大了,我总是想去抓住它,越是想抓到却越是抓不到,真的是太大了。开始,以为做一个能在浏览器里显示的页面,做一个能在windows系统下运行的图形界面的软件,做一个在手机上的helloworld的app,真的好了不起,瞬间感觉高大上。后来当自己真的去实现了这些东西后,反而感觉越迷茫了,这些只是些比较高层的东西,我所做的这些对外行人来说很NB的东西其实都是依赖于底层的。
刚进学校时,学院给我们开了acm宣讲会,看完会,我就立马决定了要加入到学院的acm大军中。大一上学期,根据学长的指点在oj上刷了一些题目,也参加了学校组织的寒假实训,那种花几个小时终于ac了一道题感觉真心感觉太爽了。可能是我比较喜欢新鲜事物,也可能当时没认识到算法的重要性,在大一下学期,跟同学参加了一个老师的项目---搭建一个学校的系里的网站。用的是asp.net。当时懂的计算机的东西比较少,而且对于web编程也是才刚开始了解。我做的工作是前端,也对后端的asp.net有所认识。在整个项目的实现过程中,我最大的感受就是像是在玩乐高积木一样,我只需要按照说明书的去做就可以了,我不需要知道积木是怎么做的。比如要实现某些好看的效果,只需要在网上下载js源码,然后修改下源码便可占为己用。(也曾学习过js语法,尝试编写js程序,看别人写的js代码,然而发现兴趣不在此,发现还有好多东西可玩︿( ̄︶ ̄)︿,便与js别过了)。就这样,原本以为可以学到好多计算机知识的项目实践就这样结束了(事实上学到了蛮多东西,可能与自己预想的不同),而我也深深地感受到了码农意味着什么。后来我又接触了bootstrap框架,学习了php和它的框架thinkphp,搭积木的感觉越来越重了(>﹏<),这我心目中的所想的很不一样。当时我也想自己也去个积木?然而很快发现根据我现有的知识和经验,短时间内不可能写出一个拿的出手的框架。这样,我又返回到了专业课上的学习,修炼内功。大二下学期,好多同学都参加了老师的项目组,都是干的一些比较高层的东西,类似javaweb,Android的。因为以前有参加项目的经验,感觉基础知识不足,学那些东西要理解本质的东西要绕很多弯路,便没有加入了。事实上,很多人学得跟气球一样,看是鼓鼓的,其实是空心的。然而,一直学习基础知识也是无聊的,我又学习了cmd中的基础命令,认识了批处理这样一个脚本语言和powershell进而接触linux的shell(然而并没有深入)。最近学了计算机网络后,我又仿佛进入了一个新的世界,终于系统的了解到了网络中信息的传递过程。但是我好像又掉到了另一个洞里。我开始查找有关网络安全的知识((¬_¬)不就是黑客吗),用cdlinux破解别人的wifi密码,用sniffer抓包分析之。
事实上,挺迷茫的,尽管除了上面提到的还做了很多其他事,然而并没有深入进去。记得以前带我做项目的老师说过,大一就多了解一些东西,大二就开始选择方向了。学了这么多专业课,对计算机已经有了一个大体的概念。快到大三了,现在的我是不是应该找一个点深入进去?或者继续走马观花,了解更多东西?自己很多次先想过这个问题,每次都是想着选择一个方向,linux?网络安全?web前端?shell脚本开发?可是这些都想学,时间不够,精力不够,怎么办?