2020年终总结

  我的前十八年好像一场梦一样,忽然间梦就醒了,走进了大学。

入学

  有点不好意思,说是2020年的年终总结,但我还是忍不住把大一上那小半年包含了进来,蒙混其中。
  我不是一个天赋够高的人,所以能在一个每年理科生有近40万的地方,考进前四万,上了还算可以的双非一本,我就已经很知足了。更幸运的是,我进入了CS专业。
  刚进大学我不知道学什么,通过知乎收藏的一堆大佬的回答,当然现在回想起来,其中不乏一些不懂装懂。我听说java很火,就买了java核心技术和java编程思想这两本书,当时的我没有一点计算机基础,所以看得很慢,看了一个月才看了不到半本书。就想着走些别的途径,买了java的课,足足花了1500买了java的基础,html、css、js的基础,现在想起来这些视频也没啥技术深度,就能卖这么贵。。。不过当时的我热情高涨,立马狂看一个月,可是越学越感觉不对,总感觉没学到啥东西,就不看了。
  这两个月的时间(包括军训15天)的java web入门到此为止,书只看了一半,草草收尾,连个简单的项目demo都没有做,让人哭笑不得。
  之后我初步定下了c的学习,干劲十足,先是看了Mooc上的c入门,然后一个半月看完了 C primer plus 和 k&r C 并做完了大部分习题。大一上就一门C语言专业课,还有一门讲计算机导论,但是老师上课真是照ppt念。剩下的就是一门高数有点难度,英语老师上课真是和上高中英语课没啥区别。由于我自学的C进度比老师讲的快的多,而且学校用的教材就是那本"著名"的书,干脆我除了高数课听讲,其他所有课都自学去了。
  我又去看c++ primer,真的厚,硬是啃完了全书和大部分习题,不过效果很一般,有些内容没用过真的很难深刻理解。
  后来听说acm校队招人,我就去看mooc上的数据结构和配套的《数据结构》书。当时我被鼓吹,现在想想真是无聊,我反正是对刷算法题没兴趣。之后我就去学汇编了,为了给未来的专业课打基础,看的是王爽的那本,书是好书,讲的也清晰,就是太古老了。当时的我第一次听说汇编,很楞地看着网上的大佬激烈争辩需不需要懂汇编,最后觉得多学一点好就去学了。(现在想想很无语,那些当时网上说一点汇编都不用的,是不是连计组都没学过)于是大家复习高数的时候我在看汇编,不过幸好高数过了。寒假里学完了王爽那本汇编,大部分习题练习都做了,不过真是吐槽书太老了,已经不再适合新一代看了。
  2020年的噩梦来了,原本我在老家过年,当下立断回来,逃过了之后的全国封城。

春季

  进入2020年,疫情原因迟迟不开学,一开始很兴奋,但是久而久之感受到浪费了好多时间。由于上网课,我除了高数和物理就不听别的课了,荒谬的是计算机大一下竟然没有专业课,唯一有关的课就是一个认识实习,我看着同学们热情地与一个搞培训班的讲师热情互动,那个老师上了三次课,讲了点html、css的知识,我全程挂机打游戏。
  因为在家,所以总是和朋友开黑,效率真的很一般。我当时被鼓吹搞竞赛,于是重刷了数据结构和配套pta,看了竞赛紫书的一半,刷了一些uva和poj,过了两个多月醒悟,我是对这些真没兴趣,把竞赛书扔了。当然这些基础的数据结构和常用的算法知识还是很有用也很有意思的,我只是不喜欢把时间花在没啥意义的刷题上,刷刷leetcode就够了。
  看了三遍陈越的数据结构,半本紫书,差点被拐进竞赛坑,人生也真是有意思。

夏季

  经过了大半年的学习,我终于有了辨别能力,这个时间我疯狂地在各种平台上搜集经验,在知乎上疯狂关注,我终于学会了翻墙,打开了新世界的大门。我在学校官网上找了专业培养规划,在各种招聘网站看招聘的能力要求,了解了计算机的许多大方向,我不想考研,相对于一些与其说是计算机不如更说是属于数学专业的方向(数学当然重要,我这里指的是数学知识学得比计算机知识还多的各种方向,我更喜欢搞搞工程),我初步定下后台开发的学习方向。
  与此对应我的学习时间的确有点少,继续着基础数据结构和算法的学习,打着游戏,听着网课,时间过得飞快。
  我开始看CSAPP,第一次我只是看书,看完之后把习题做了,配合着网上的答案来学习,似乎一切没有什么不同。
  八月底提前返校,匆忙复习一周考上学期推迟的期末,夏天就这样匆匆忙忙地过去了。

秋季

  CSAPP这本书就算是单看书也非常的有魅力,埋头苦读,转眼一个月过去了,我也大致读完了这本书。
  但CSAPP是我的转折点,我终于发现了CMU15-213这门课,知道了原来有配套的Lab,我也发现之前我读的不充分,于是我配合着Lab重读了一遍CSAPP,成功地确立了我对计算机的认知,我更加发现了计算机的美,计算机也不再是黑盒。
  我开始懂得国外名校公开课和配套lab的珍贵,可以说找到了学习的主线,真的是比学校的教育水平高出太多太多了,在此方面上我真是对美国大学的教育制度和优秀的老师和助教表达诚挚的感谢。
  我终于开始使用linux,刚开始我足足有好几天迷茫有没有必要用vim和gdb,但是现在vim用的爽的飞起,gdb调试加上tui窗口,强大而顺手。甚至IDE我都想装上vim插件。
  我遇到了一系列工具,学习6.Null这门课,我对基础工具终于有了了解。
  我听说了github已经很久了,但是我一直到当时连git和github都分不清,我在知乎上看到了google大佬建的cs学习兴趣群(里面大佬好多),入群条件是把做的CSAPP的Lab放到github的repo,我从而开始学习git。
  学习git的经历挺有意思,我第一次在w3c学了基本操作,然而过了没几天就遇到了各种各样的错,从而google搜索了一些博客来学习指令和内部的模型,之后半个月多看了6.Null这门课又了解了一些,最后就是半个月前看CS61b的时候第一个就有git的学习,感觉就在两个月前听都没听说过git,到现在每过一阵都遇到一次git的问题,好奇妙(当然具体原因是我开始用github了)。
  在11月初我的csapp的lab全部做完,十分感慨。
  之后我开始了操作系统的学习,我选定的是mit的6.S081这门课(6.828拆分两个课,一个课给研究生上,6.S081给本科生上),配合这xv6 book的阅读,我还买了一本操作系统概念(这本书的部分内容过于高级,我只能大致看看,不过这本书本来就是概要介绍,很多东西讲的非常粗,我做这6.S081的lab就没做这本书的lab了,不是很推荐)来配合学习。

冬季


  xv6 lab做的有点难但有挑战性,而且经过经过大量阅读英文我的英语水平倒是稳步提高,从lab1都看不懂要我干什么,到现在绊绊卡卡独立做完了lab 8,让我印象深刻的lab3的实验足足花了我几天,还记得在上毛概课的时候用手机在piazza问了个xv6的问题,结果10分钟不到就有人给了解答(我当时看最近问题时间都是一周前的,真想不到这么快有人回复,而且完美解答)。
  最近正在学cs61b,配合着onjava8,打算拾起java顺便复习下数据结构。然后就是xv6暂放因为复习期末实在没太多的心力读paper(不知道为什么后面的课在讲论文,有点害怕)
  我是今年12月才使用twitter的,起源是因为刷知乎的时候发现我刚关注的一个人是一年前关注的退乎转推大佬的小号。于是玩起了twitter,感觉比知乎好多了。

2020年的最后一天和对未来的展望

  之前说过我刚入学的时候一心想着本科毕业进大厂,可现在越来越觉得路远不止如此,我最想的是读一个美国或加拿大的master,但经济条件不允许,所以我更倾向于去外企,并随后转到国外工作。我觉得996和35岁的大环境实在是不适合我,我希望我能把我的生命投入到我热爱的方向上来,学到死亡,这样过完我的一生足矣。
  2021年上半年的打算是学完CS61b,CS144,TCP/IP1,APUE,UNP,linux多线程服务器,一门数据库的课程,更深入的学习下c++,做一个和网络有关的项目(这么多书估计只能看一半左右,课差不多能上完),如果能在大二暑假就能找到一份不错的实习就再好不过了。
  twitter用了半个多月了还没有人给我点过爱心。。。非常欢迎有人能和我交朋友,交流技术之类的(不过我很菜)。