跳转至

这是什么

本页列举了你应当掌握的一些基础技能。如果你 完全没听过 或 几乎没有了解,那么你需要开始学起来了。

基本技能

科学上网

即便是最基本的读论文、读代码、读手册,都需要一些不可言说的办法来访问到我们需要的资料。

会用搜索引擎

STFW(Search The Fxxking Website) 是常见的说法。如何利用搜索引擎查找特定关键字?如何搜索特定站点的内容?如何保证关键字的完整性?这些都是搜索技巧的一部分。此外,比起臭名昭著的 Baidu,更加好的选择会是 Bing 和 Google。比起CSDN和博客园,更好的去处是 StackOverflow 和 Stackexchange。会搜索,才能在互联网时代立足。

提问的智慧

戳我

当然,提问的智慧不代表打压提问、不代表不能提问。我相信如果你能正确探索你的问题、正确描述你的的问题、礼貌而友好地提出你的问题,那么是不会有人拒绝你的。同时也要知道,回答问题并非他人的义务,最终解决问题的人只能是你自己。

NJU-box

NJU-box 是校内为师生免费提供的云盘服务,比X度云高到不知道哪里去了。我们也搭建了 ics资料库 这一共享仓库,现在已经开放给了20、21级的同学。

写文档

一些现代的、流行的文本格式将会帮助你更好管理自己的文档、与他人写作维护内容。

Markdown

.md 结尾的文本文件,格式简单,上手很快,通常用在轻量的文档编写中。某些markdown渲染支持内嵌LaTeX公式,可以用来日常写作业。

配置好的 vscode 就能有非常良好的编写+即时渲染体验。

LaTeX

NJU-tex 上有完整的 LaTeX 入门教程和文档,支持在线编译,提供了一些模板。也可以用Overleaf

写代码

一些写代码的工具、方法、技巧需要你了解,因为你是计算机系的学生。

Git & GitHub

Git 是开源的版本控制工具,支持查看历史版本、回退、比较、多分支协作等等功能。利用 Git 管理你的作业、代码都是非常好的习惯。

GitHub 是热门的代码托管平台,你可以上传你的本地仓库(作为云盘)、搜索有用的资料、Follow很棒的开源仓库。GitHub的访问需要一些科学上网技巧,如果你不能很好地解决这个问题,可以考虑用NJU-git代替。

IDE/Editor

掌握几个常见的IDE/Editor。之所以说“常见”是因为使用广泛的产品有更好的官方支持、更好的社区氛围、更多的第三方插件。例如 VSCode, JetBrains全家桶, 甚至 Vim 以及更新潮的 NeoVim

好的编辑器往往有优秀的提示功能、代码补全(Copilot)、更友善(炫酷)的界面,这些都是你尝试它们的理由。

编程语言

熟练掌握1~2门编程语言,能用来写出真正可用的健壮程序,而不是仅仅满足于做一些OJ题目。

面向过程的语言

考虑到南大的教学特点,学好 C/C++ 是不会错的稳妥选择。

面向对象的语言

C++ 是个一直在发展的现代编程语言,你可能需要更多地了解C++11、C++17、C++23引入的各种新内容,尝试思考:为什么这些专家要制定这样的标准?为什么我们需要这些特性?一些OO的概念(对象、类、继承、多态)也需要你去了解,这些是面对大型工程时不可或缺的理论和知识。

Java 这样老牌的OO语言,依靠JVM有很广泛的应用,至今仍在发展。如果你的目标是毕业后跑路进厂CRUD,那么你最好了解一下 Java 相关的技术栈。

函数式语言

作为新兴的编程范式,函数式的语言一直在影响新的语言风格。javascript 是一个入手的不错选择,或许你听说过 haskell, Coq 这类比较小众的语言,多多深入尝试就一定会有新体会。

脚本语言

批量 .md.pdf, 服务器登录统一身份认证,甚至是健康打卡,都离不开脚本(script)的编写。学会一门脚本语言将极大提升你的工作效率。

评论