研一上总结

翻看了小半年来的工作总结,决定还是写点东西,给自己研一上的生活作下总结。

0. 起点

我的研究生起点应该从19年7月末算起,怀着期待、激动的心情来到学校。或许是来到新环境的不适应,又或许是自己做事还很欠考虑。这段时间,不论是在生活上、学习上都经历各种倒霉的,不好的事情,所以研究生起点并不算好。最后,我并没有在学校呆太长的时间就选择回家“浪”完整个暑假。

1. 开学

虽然起点经历了很多曲折的事,但是却让我提前适应了学校的生活。9月,学校正式开学,一切开始真正地步入正轨。忙着选课、上课。虽然我是学硕,但是并没有读博的远大理想,所以一开始就是做好找工作的准备。实验室的主要语言属于C/C++系列,而我本科时主要使用java和python,于是9月中旬把各种事情安顿好后,就去图书馆找了本C++的书籍(《Acclerated C++》)看,说实话收获不算很多,主要是自己也懂C++的基本语法,STL库也使用过。9月中下旬,老板也开始给我们布置论文看(师兄师姐说,研一上基本都没项目,主要是看论文),在组会上汇报。我正式看的第一篇文章是《Finding and Fixing Performance Pathologies in Persistent Memory Software Stacks》,由于是第一次看且要进行汇报。所以看的很仔细,在nvm上我算是完全的新人,且由于自身跨专业的原因,整个过程是比较痛苦的:基本上是读一段就需要查一堆东西。还记得log-structure文件系统、journal文件系统我就查了很久的资料,consistency和coherence区别也模糊了很长的一段时间。虽然最终也没完全弄明白文章是怎么做的,但是脉络理清楚了。接下来就到了第一次组会的时间,这时候才发现自己的知识有多薄弱–师兄师姐说的东西基本上对我而言是在听天书,最多能听点概念。我们研一的报告显得就很苍白了,不过老板和师兄姐们也没为难我们。这段时间我也在琢磨怎么看论文更合适,使用zotero的笔记功能,使用过markdown。最后决定还是使用onenote比较好。比如对于一篇文章可以这样:

一个文章建立一个分区,一个分区可以有很多页。可以对这篇文章做做总结。目前来看这样的方法还可以。当然了,目前还在等liquidtext的PC版本,所以liquidtext放出后,可能会改用liquidtext。

2. 上课&补课

过了国庆后,课程也开始逐渐增多。于我而言,研究生的课程真的是非常没有必要,至少在我的学校是这样的。所以后辈们可以尽量选些水课,然后多泡实验室,实验室能学到的比课上多多了。但是既然选了课,那就还是必须重视,至少不能挂啊。我的个性又是尽力去做好,所以不懂的课程课下在加强,不懂的课程也在上网课(为了过高级计算机体系结构,我看了计算机组成和计算机体系结构的网课)。然后就是补了补计算机的一些基础课程,虽然没有完全补完,但是至少要懂点名词是啥意思。选了csapp(是本好书,但是砖头书,并没有看完),汇编(课程和论文中会用到,所以补了),数据库(很多论文中出现了,没补完,且目前感觉用处不大),C++(买了C++ Primer看,同样是砖头书,没看完),OSTEP(讲操作系统的,对应的中文好像叫 操作系统导论? 其实英语不差的,可以配合翻译软件看看这本书,当然了,我在本科时就补了操作系统,这本书我依然没看完,但可以说是深入浅出的一本书)。

3. 中期

中期事情就更多了,课程进一步加多,老板布置论文,各类课程也布置论文然后汇报(没错,很多课就是这样,基本就不上课,就是让学生们看论文,然后上课汇报就完了),加上自己给自己补的课。让我不得不调整先前的规划,课程和老板布置的东西得优先,自己补的东西挑重点补。生活围绕着“宿舍–教室–实验室”转。宿舍也如前辈们说的那样,逐渐变成一个只是供你休息的地方。

4. 期末

熬过了各类课程的上课后,也迎来了各类的课程的结业考试或结业报告。老板可能知道这段时间研一生比较忙,没有布置任务,甚至也不要求我们参加组会。但是时间也并不充裕,还记得到体系结构和计网一共只留给了我们4天时间来复习。最忙的一段时间,一星期准备2个报告,还要考好几门试。

5. 一点小总结

  1. 研究生课程大部分真的没什么用
  2. 研一上代码都很少碰,所以自己为了不生疏代码,时不时写点算法或者小app来找点代码的感觉。虽然放假时老板布置了项目,但是现在新型冠状病毒事件,目前还不知道会怎么样
  3. 论文一定要看精的,本科时觉得IEEE上的文章好厉害,后来觉得IEEE上也有不少垃圾文章。所以找自己领域的相关顶级期刊是不会错的。推荐一个工具:HistCite

6. 一些软件推荐

研一上用过的一些软件推荐:

  • Zotero,开源文献管理器。看文章还在用文件夹管理总不好吧,有个自己的知识库还是很重要的。
  • Onenote,上课记笔记,看论文,做工作总结,做待办事项,存文件。反正onenote赛高就完事儿了。遇到同步问题,可参看https://www.ravenxrz.ink/archives/8db8ac8b.html
  • Understand & SourceInsight, 看开源代码必备。前者的Graph相关功能相当牛逼,但是要是看kernel这种级别的代码,似乎除了SourceInsight我还真找不到合适的了(Sourcetrail和Understand都会卡顿)。

武汉加油!

2020年1月28日 14:31

在家隔离的12天

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×