寒假计划

记得从大一上结束的时候开始接触前端,其实没有做什么实际的网页效果出来,JS也是半懂不懂,CSS盒模型呀,定位呀,什么的,也是模模糊糊的印象,被js的闭包,上下文this折腾得死去活来。到了大一下,突然发现了nodejs这个东西,可以不用花什么学习成本,就能去搞后端了,我特别的兴奋,于是找了本10年,清华一个叫郭家宝的大大写的《nodejs开发指南》,结果13年nodejs升级几个版本了,很多东西都迁移了,做为一个初学者,解决这些问题,简直是一件无法逾越的高峰,看到后面直接放弃了,后来再cnodejs社区发现了一个不错的文章,满足最新的版本,跟着那个文章学了下来,慢慢学会了,用express框架做web,再后来自己也写点小东西,写些爬虫,写些人人机器人,大概熟悉了一点。但是nodejs异步的,什么都要放在回调里面,真的和正常的思维是反人类的。我是这样发展的,同步写出来各种BUG,强迫去写异步,写异步就回调呀,回调回调嵌套就多了呀,嵌套层数多了,代码就非常冗余了,然后就不得不依靠一些流程控制库,把一层层的回调剥离出来。最后我还接触了coffeescript,一个js的解释器,封装了一层js的语法。代码写起来,就有点高大上动态语言的感觉了。这也是我整个js到web的学习之路。靠着这个算是入了门吧,不过走过来,感觉真的不适合用nodejs入门web,真心,难搞,特别是js的语法。

  到了大二的上的时候,在cnodejs社区知道了golang这门语言,顿时兴趣大增,好歹也是谷歌在撑腰,然后上网买了本《go web编程》来看,了解了一些语法,但是又一个难搞的事情是,以前都是写异步的代码,什么都是回调,突然一下接触了一门同步的言语,又有一些新的概念出现了,并发,有并发就有锁呀。然后就是各种搞不定,搞不定。除了锁之外,golang还有通道,通过同步通信来进行并发。主要是golang的语法很有意思,相对来说比较简单,而且golang是C系的,保留了指针,但是又有GC,不用内存管理。还有就是,支持对象也支持函数式编程。反正感觉各种舒服,而且背后有google支持,使我走上了golang的道路。

  技术上就接触了这两门语言,但是在学习的过程中,我觉得很多东西要看,比如说在看别人写的golang源码的时候,语法你都知道,但是就是看不懂那些协议(其实机组还是满有用的,有些东西就是一个BIT一个BIT处理的,最小的整数也就8位,没有一位的数据单元,只能用整数的位移运算)。我还记得在知乎问过怎么学习go语言,有人就说推荐看net包,我还尝试看beego这个中国人写的开源框架的代码,但是都看不懂。这个时候我发现我缺少什么,缺少对底层机制的认识。我从开学的时候就买了一本UNIX程序设计,结果一直都没找到功夫看,很多东西堆在那,排序的时候就把那本书给排到最后面了。但是这样一本书,的确也不是一朝一夕可以明白的。反正为了,看懂别人的源码,我这个寒假准备好好看一看 TCP/IP详解 和 htpp权威指南 这两本书。

  这个寒假读书计划除此之外还要看看 java,基本上寒假就看这些。

  寒假有两件事情要做,首先要做学校的创新项目,帮老师把android日语听说作业布置的应用做好,可惜我java半生不熟,然后android也是刚刚接触,各种不懂,正在摸索之中。后端我准备用golang写,而且不用框架,尽量从底层写,参考beego的代码。(其实我很希望,把现在比较流行的beego(国内)和revel(国外)的代码好好看看,综合一下,能够开源自己的框架,虽然这个对于我来说非常遥远)。另外就是实验室做的一个数据挖掘的项目,现在数据样本拿过来了,拿到以后,回家要出一个算法,猜出用户在哪里,(擦,算法是我这种人写的出来的么?),管他呢,先出个解决方法再说,不管质量了。

  下学期,就一门概率统计和操作系统,都是比较重要的课,概率统计重要的原因是因为……数据挖掘真的很要这个东西,数据大起来,靠概率来提取数据,不分析全部(比如说布隆过滤),要有统计呀,都发展成机器学习了。应该好好学一下,但是软院…………呵呵…………

  最近很关注一些招聘信息,我还试着投一些简历,没有回的,主要是没经验,而且技术不成熟,再加上没有作品,所以感觉大二下学期是一个很重要的阶段,我要完成一些比较完整的作品,而且要提升一下对底层机制的认识,这个很重要。

  寒假计划就这么多啦,写出来好提醒自己,不要浪费时间。

posted @ 2014-01-07 23:38  ggaaooppeenngg  阅读(259)  评论(0编辑  收藏  举报