2020年终总结

  2020年是我人生重要的转折点。我走出了温柔乡,开始直面外面的世界。
  我会把完整的我展示给你们看,希望能够给大伙以勇气和信心:原来peter是这样子的。

春季

  2020的春季可以说是我人生的低谷,因为疫情原因,迟迟不开学,我整天在家呆着,起床就刷疫情人数,看各种报道。那个时候我一天吃两顿饭,因为起床时就已经中午了。彼时的我,甚至不知道我起床后应该做什么。
  然后我被前女友甩了,在白色情人节──3月14日,因为性格不合。
  2020夏季我去参加了敝校两个工作室的考核(学校教授开的学生廉价外包机构),都是基于java的。一个考核的是做一个类似闲鱼的购物商场,基于web的,要有聊天功能;一个是做一个比图书馆管理系统更难的景区管理系统,要求用java的那套GUI工具,限期一个月。
  两个同时进行,然后我都挂了。到ddl到时,我只学了点java web的皮毛,和前端的皮毛。当时我在看的还是b站黑马程序员的教程,笑。我根本就不知道什么是设计模式,代码堆在一起,写了堆*山。
  被甩后我个人精神状态极其脆弱,没办法正确的分割应该学习的内容。现在想来,考核内容包括了前端、java web和数据库,再加上点java GUI。我应该选择java web那一套,放弃java GUI的项目。如果我大一上学期就开始学习CS,不是去生物实验室闲逛的话,我应该可以做出来一个demo。但是彼时我真的是没办法,我沉浸于我感情的失败中。

夏季

  我是在2020年四月份加入推特的。我最初是把推特当成一个类似树洞的东西,每天放放自己的代码小demo、美味的小零食等等。让时间一点点修复我的内心。当时我的关注者非常少,每个推只有几个赞,彼时只有cwksc啊柠檬茶啊DGideas啊等几位会和我互动。我每天和大伙们小打小闹的,好像日子就会这样一天天循环……
  然后我开始学习计算机网络和C语言。计算机网络是第一个让我了解到计算机之美的学科。当时我看的是《计算机网络:自顶向下》,书写得非常好。我辅以mooc上的哈工大基于本教材的网课,学得非常开心!《C primer plus》的话我则是看了五百多页,把示例代码敲了一遍,还做了大部分的课后习题。指针当时给我带来了非常大的理解阻碍,我为此看了《C和指针》相关部分的章节,直到我能够理解相关的题目和代码。
  大概是六七月份?我前女友有了新男友。彼时的疫情还没有结束,大家都在家隔离着。之前我还想着,我开学后应该去找她复合,因为我不希望我们之间这么轻易的分开。之后我就删除了彼此所有的联系方式,不管怎么样,我的初恋结束了。
  我最难过的时候,曾经在推特问,“If anyone can save me”。现在想起来真的是黑历史。推上的各位,或许是觉得我很可怜,或许是出于怜悯,大家和我分享他们分手的经历,鼓励我,告诉我一切都会过去。我一直对此非常非常感激,感谢你们陪我度过那段荒唐和痛苦的时光。
  我一直在责备自己,怪自己不够强,不够富有,不够帅气……如果我可以做得更好,或许事情就会有一些变化。我在相当长一段时间内觉得痛苦,不喜欢自己,甚至难过得想要自杀。但是我不得不在父母面前表现出一幅若无其事的样子:因为我不想和父母透露任何关于我的感情生活。

秋季

  彼时ddavid和genres正好开始了一个关于《公主连结Re:Dive》bot的项目,要把他们qq bot上的东西搬到web上。这个项目让我度过了最艰难的一段时光,我捡起了前端,当时用的是Bootstrap和JQuery(现在看来都是落伍的技术了),糊了登录注册界面,写了相关js,搭了网站大体框架,并且从那个时候开始思考我应该走什么的路。
  彼时的我没有能力独立去完成一个网站的前端,即使后来有另一位前端的前辈加入了这个项目,这个项目也是无疾而终的结束了……明明他们是那么好,从来都没有嫌弃菜鸡的我,还给予我指导,我一直因此对ddavid和genres心怀愧疚。
  后来我结束了期末考,彼时已经八月份了。我开始看各种各样的书,每天去咖啡厅敲代码,看网课视频。开始学习JavaScript和Linux运维,想要写一个类似hexo的博客框架,但是后来因为难度太大而搁置。大概就是从那个时候起,我开始以一个CS learner的身份自居。
  时间帮助我慢慢的修复自己破碎的心。我改名为peter,象征着和过去的我决裂。
  曾经的我,觉得我只要待在我ex身边就够了,但是至此我开始改变,走出了我ex身边的温柔乡,暑假给了我一些时间学习计算机相关知识,我开始把我的感悟和收获在推特上和各位分享,借此结交了许多朋友。。
  我觉得让我转变最大的,第一个是被甩,这让我意识到了我不能够继续待在自己的舒适区。第二个是公主连接bot开发项目的失败,它让我意识到,什么样的水平揽什么样的活。
  我意识到如果想变得像样点,第一就是要多和别人沟通,和强者待在一起。第二就是我需要变强,要有我自己的一套技术栈。
  后来的日子渐渐的就变得好一些了。
  迟先生关注我时,我推特当时还只有一两百关注者。迟先生是关注我的第一位大v,虽然迟先生一直卖菜,但是我一直知道他非常强并且是乐于助人的。
  有一天我鼓起勇气私聊了himself65,我至今十分感谢himeself65能够和当时的我聊天,解答我一些困惑。他还拉我进了他的私人群,那是我第一次加入推特中文圈的tg群。我当时问过面包,应该如何从一个普通的前端人员进阶成为node.js的core member,彼时他答应了我要写一篇博客讲讲这件事,但是后来因为发生了种种事情他就一直鸽到现在,笑。

冬季

  漫长的居家日子结束了,我们开学了。在大学有着固定的作息表,学习效率大幅提升了。
  有一天我在推特看到了Alendia发布的她的打算休学的博客文章,想起我高三休学时的经历,便主动私聊Alendia。我当时根本就不知道Alendia是个女孩子!我只是觉得我应该给予参加和我有一样想法的人以建议和提醒。即使Alendia后来没有休学,但是她的勇气给我留下了深刻的印象。
  因为认识Alendia,我认识了千里冰封(英文名是Tesla Zhang,我喜欢称呼他为冰)。
  冰可能是改变我人生的一个人?彼时我完全没办法想象有一天我会和这么强的大佬一起喝酒吃饭,成为朋友。
  冰是搞PLT(programing language theory)的,我对PL领域其实是不太懂的,但是冰让我第一次看到了一个人居然可以对cs领域如此的热爱。我不是计算机科班生,在此之前我只和ex和我高中的几位朋友交流过编程的事情。我一直闭门造车,走了许多的弯路,这是我今后应该警惕的。
  此前,我以为计算机就是前端、后台和运维。和冰聊完我发现了PL、计算机图形学、编译器、分布式计算、操作系统……我知道了设计模式,我知道我以后除了在国内996或许还有其他的活法,那就是:把生命投入在自己喜欢的、伟大的事物上。
  后来冰和面包因为一些事吵架了,我觉得真的是十分遗憾。我真的希望在我的有生之年能和冰和himself65在同一张饭桌吃饭聊天。
  我渐渐的通过各位认识了推特中文CS圈的许多朋友。我认识了全干富二代工程师柠檬、认识了字节蹦哒前端工程师鹅哥、认识了本科毕业两年成为阿里p7的纯爷、认识了磷、阿寒、色扑、认识了学识渊博的麦吃姐姐、认识了可可爱爱的光量子、认识了可怕的硬哥、认识了wayslog老师、认识了一心想读数学的Claude、认识了joly、认识了几个公司的hr。还有许许多多给予我帮助的推友,在此限于时间和空间限制我没办法全部展开,但是我非常喜欢和你们一起度过的时光,今后的日子里还请多多指教。
  彼时我试着学习过计算机图形学,但是我薄弱的数学功底提醒我我不适合这个方向。然后接触了Vue,写了一些网页,非常感激在此过程中柠檬给予我的指导。
  我开始看英文原版的计算机教材,看伯克利、MIT等名校的网课。
  在敝校的一门选修课上,我对GFW如何阻挡我们连接国际互联网产生了强烈的兴趣。于是我收集查找了许多资料,亲自做了一些实验,最后汇集成了一个超过三万字的slide报告。我借此项目和选修课的老师成为了好朋友,一起吃了烧烤哈哈哈。我在里面分析和推测了GFW的规模和它的攻击方法,并且承诺开源。但是由于我现在几近实名上网,所以目前打算等我抵达安全的环境时再对其进行开源。我借此项目结交了一些机场主和网络工作的从业者。在惊叹GFW庞大的规模和耗费资金的巨大之余,我感觉网络方向比较符合我的学习习惯和研究兴趣,或许今后会选择相关方向的研究工作。
  之后我一头扎进了java,给一个开源的java爬虫程序做了个GUI。
  最近是在看伯克利的CS61b,学习数据结构的相关内容。
  12月,我去了深圳一趟参加中国第一届Rust China Conf(再次感谢wayslog老师的赠票)。参会时其实许许多多的内容我是听得一知半解,其实让我收获最大的是和那批70后、80后程序员们的长谈和聊天。他们深厚的代码功底和不停学习的精神让我感慨良多。
  承蒙错爱,居然有四千多位关注者愿意在推特听我的碎碎念,如今GitHub也有了三百多关注者。作为一个学习了一年多计算机的菜鸟,有幸得到诸位关注,实在是不胜感激,诚惶诚恐。希望我的推文和工作能够给诸位带来一点点启发和宽慰,也非常欢迎各位可以和我交朋友,聊技术。

展望

  目前前路也算是比较清晰。我的未来有两条路,一条是毕业后在国内互联网公司做开发工作,996;一条是去外面广阔的世界读一个master或者直接出国工作。由于家境贫寒,我可能没办法选择去美国或者欧洲读授课型的master,所以目前是希望去日本或者加拿大读master。如果我最后失败了,我就去工作。
  2021的打算是,学完CS61b,看一下SICP和相关网课(CS61a或者其他),完成斯坦福的CS144(计算机网络),看编译器和操作系统相关的网课和书。如果还有时间的话再看一下MIT的数据库课程(6.814或者其他)。然后做一些能够拿得出手的side project(感觉把课程lab写简历上感觉怪怪的)。
  嘛,我一直说,我是个理想主义者。因为我现在过得太糟糕了:糟糕的专业、糟糕的环境,所以我把希望都放在未来了。我希望我可以成为更好的人,能够去回报那些曾经帮助过我的人,也希望能够帮助到有需要的各位。
   我希望能够在大二的暑假,也就是2021年的6、7、8月找到一份开发相关的实习。我的邮箱是 Yangxiaomao6@gmail.com,欢迎各位hr和我联系。

我2020看过的编程相关的书

  • 算法图解
  • Html从入门到精通
  • css权威指南
  • 半本 JavaScript高级程序设计
  • 半本 锋利的JQuery
  • 疯狂Java讲义
  • 半本 Java核心技术卷一
  • Java Web从入门到精通
  • Java 8函数式编程
  • MySQL数据库应用从入门到精通
  • 半本 鸟哥的linux私房菜
  • C primer plus
  • 半本 C和指针
  • 计算机网络 自顶向下方法
  • 图解HTTP
  • 半本 Rust the book

  编程非相关的书的话,就是一堆学校要求的生物专业的教科书和巨量的漫画。
  希望2021年能够补齐我在计算机理论知识上的欠缺,多看黑皮书,把Algorithms和CSAPP看完,并且把去年看一半的书补齐。

  如果您对我感兴趣或者想要和我聊天,可以关注我的 twitter 或者 GitHub,也可以通过电子邮件 Yangxiaomao6@gmail.com 和我联系。我很乐意帮助有需要的各位,就像彼时帮助我各位一样。
  我的2020年终总结全部就是这样啦!感谢各位的帮助和关心,也感谢各位能够看到这里。祝大家新年快乐!新的一年,肯定会变得更好的!