less than 1 minute read

身为一个计算机领域的科研民工,两年多的搬砖生涯让我深切地体会到趁手的工具对效率的提升。因此,在此稍微总结一些有用的工具集,以及其中仍有待提高的一些挑战。

Intro: 任务分类

宏观上说,总结的是我在计算机领域做科研所用到的工具。但从整个科研的流程上,依然可以分解出许多的子任务。而每个子任务又有着很大的区别,适用的工具自然也有所差异。因此,首先总结一下到底有哪些子任务,再对应整理相应的工具。

  • 搜索:找资料是开始一个项目的第一步,只有总结了前人的工作之后,才能开始新的研究。
    • 学术搜索:首先要解决的问题就是,去哪里找论文。
    • 论文整理:论文归档工具可以快捷地整理论文,并且方便创建参考文献。
  • 编程:想法总是要实现出来的。
    • 代码编写:第一步,写出代码。
    • 远程执行:把它在集群上跑起来。
    • 多人协作:一群人一起完成项目时如何同步。
  • 写作:把有用的想法整理出来。
    • 正文:写作本身很难,好的工具能排除掉写作之外的问题。
    • 实验:处理数据和画图,很多时候并不像想象中那么容易。

搜索

学术搜索

众所周知,不要用国内的搜索引擎。最次也应该用bing。但对于学术搜索,需要更专业的搜索工具。

搜索引擎

Google Scholar 是最常用的,可以方便地找到需要的文献。

dblp 在计算机领域会更全一点,提供的bibtex引用也更完整,但比较慢。

中国知网 (cnki.net) 不只可以拿来查中文文献,还可以查专利。

Stack Overflow 不要再用CSDN了!

辅助网站

ccf-deadlines (ccfddl.github.io) 整理了各会议的DDL。

Sci-Hub (hkvisa.net) 自由地获取文献。

浏览器插件

Google 学术搜索 PDF 阅读器 在使用浏览器打开pdf文献时,支持通过点击引用自动弹窗显示Google Scholar的搜索结果。

CCFrank - Microsoft Edge Addons 可以在学术搜索引擎中显示搜索结果所发表会议/期刊的CCF评级。

论文整理

Zotero 是一款很好用的整理软件。当然,在加装了对应的浏览器插件之后才完整,拉满常用插件才算完全体。

官网的教程有点难用,可以基于 Zotero 中文小组 上手这个软件,他们也提供了一系列插件的整理。

编程

代码编写

IDE根据编程语言的不同而不同。作为主力Java的开发者,首选的IDE自然是 IntelliJ IDEA 。学生党可以白嫖教育优惠。

除了常用的编程语言,临时使用其他语言的最优IDE大概是 Visual Studio Code 。这同样也是个插件大于本体的软件,插件可以很方便地在IDE自带的商店里下载,按需取用即可。

快速上手不熟悉的语言,推荐使用 菜鸟教程

远程执行

理论上,连接个终端就可以远程执行了。如果需要图形化的操作体验,使用VSCode的远程插件即可,可以进行文件传输和可视化管理、编辑。

如果有个人用户,把终端的shell配置成omz可以优化体验,参照 zsh 安装与配置 这个教程。

多人协作

多人协作的最佳选择毫无疑问是 GitHub ,当然可能有人会更喜欢 Gitee ,毕竟访问起来更方便。

Git的使用可以参考菜鸟教程或 Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)

写作

正文

文字写作

Overleaf 可以用于方便地Latex写作,不需要本地部署环境,而且还支持方便地多人协作。

Word偶尔也会被用到。在Word里加参考文献一般用交叉引用,但很难用。

需要一个能和原生交叉引用无缝切换的加参考文献方案

Typora 是本地记笔记的首选,markdown兼顾便利和格式美观,很适合记笔记和作不那么严肃的写作(比如写博客)。有钱可以直接入正。没钱找找它1.0之前的版本,只要不升级,那些版本是不用钱的。或者用其他编辑器平替,但目前还没找到能和其0.9版本匹敌的markdown编辑器。

Notion 支持比markdown更复杂的格式,其大量模板有效扩展了它的应用场景。我目前用它进行更复杂情况下的材料整理和日程安排。它甚至可以多人协作。

语法纠错使用 Grammarly ,除了多端的软件可用于本地纠错之外。也有Overleaf插件可以直接在Overleaf的文档上纠错。

LLM出现之前,翻译我会推荐DeepL。但有了大模型,翻译首选自然是大模型。

在我所在的实验室里,画图最方便的工具是PPT,但与其他软件不同。画图软件的选择很大程度上取决于同实验室的环境,以方便协作。画图导出的PDF可以用我之前写的 脚本 裁白边(Windows环境),Mac环境似乎有自带的方法。

实验

无论是数据处理还是实验画图,用下来最方便的工具还是Python。更严格的说,是Jupyter Notebook。使用Jupyter Notebook+VSCode的组合,实现近所见即所得的数据处理和画图。

可以通过anaconda+VSCode的Jupyter Notebook的方式快捷部署环境。

使用Python的Pandas处理数据,数据导出成csv或者excel,excel都能打开。

plt画图,在Jupyter Notebook中可以很方便地渲染结果和调整。plt实际支持非常丰富的语义,可以满足各种需求,但其中很多在搜索引擎里是找不到的。之前我会建议去看文档,但现在大模型基本上可以告诉你这个需求转成代码怎么写。在有基础知识的情况下,数据处理同样也可以交给大模型。

Updated: