github编辑

求生手册

Survival Tips

circle-info

指导准则: Don't panic.

我想, 在大家的游戏生涯里肯定遇到过许多挫折的时刻, 例如在团队竞技里大逆风, 在硬核的游戏里疯狂受苦, 等等. 同时, 在你的学习生涯里, 也必然会遇上艰深的内容, 遇上难解的试题......

这些时刻会让人感到沮丧, 你很可能会决定放弃, 开摆. 想想你是怎么挺过这些至暗时刻的! 我们本次的训练营希望传递一个信息: 那就是不要怕. 坚持下去!

仔细阅读本文档

可能细心的你已经发现了, 文档里存在大量的外部链接. 请不要认为它们无关紧要! 通常来说它们是我们文章的参考资料, 以及一些验证过好用的工具和优秀的学习资源.

circle-check

仔细阅读, 你可以挖掘很多潜在的信息. 有些问题的答案你可以在文档里找到. 同时, 保不准你能发现一些 Typo 或者错误. 这对于我们双方都是有益的!

circle-info

Q: 为啥我觉得我啥也没学到?

A: 啥也没学有些言过, 我们对自己的内容还是有些信心的: 但事实上, 跟着我们的文档走, 你可能只会那很局限的一部分内容. 重申一下我们的职责: 为大家提供合理的学习路线, 以及一个交流的平台.

学会编写文档

如何写好技术文档

STFW

如果你不知道这四个字符的含义, 那么, 你会怎么做?

同样的, 在文档里, 你也很可能会遇见自己不认识或者不了解的概念. 在大部分情况下, 我们会像上面一样不多做解释.

动手检索是一项极为重要的能力, 它可以节省你大量的时间与人交流. 如今大部分的问题你都可以在 StackOverflow arrow-up-right类似的技术网站上找到解决方案.

在这个过程中, 你可能需要了解一些搜索引擎的技巧, 例如 -csdn, site:zhihu.com 等. 一个合适的搜索引擎 Edge(海外版), Google 也会帮助巨大.

circle-exclamation

其实还有RTFM的说法, 我们希望大家能够变为不需要教程也能解决问题的猛男, 这时候你唯一的参考资料可能就是这些天书般长的文档. 同时, 后端天生就需要编写文档, 学会阅读文档也是大有裨益的一件事.

2023 2024年了, 你还可以 AskGPT! 如果你看不懂示例代码, 可以问问 GPT 会怎么理解. (但在使用的时候, 记得小心求证)

THE UNDERTAKER!

补充阅读: 提问的智慧arrow-up-right 在提问之前, 至少表现得你为了解决问题付出了相当的努力.

当然了, 不要因此而对提问感到羞愧或恐惧. 小伙伴们都是很 nice 的. 就算我们不会, 我们还可以找外援, 在社交媒体上发问, 等等.

配置好你的编程环境

接下来我们会给出一个完备的编程环境清单(checklist). 你可以按照自己的情况添加补充.

安装好必备的工具

  • 安装好 JDK(其实IDEA安好了是自带的)/Python 3.6 以上的版本.

  • 对于JAVA 方向的同学, 安装好 Maven. 这是一个很方便的依赖管理工具. 参考这篇文章arrow-up-right.

    • 对于 Python 方向的同学, 你需要安装 pip, 但 Python 自带 :)

  • 安装好 MySQL 8.0 以上版本. 它是本次训练营将用到的数据库管理系统.

    • 虽然说主流版本是 5.7, 但我们并不需要考虑兼容相关的问题.

    • 如果你是 WSL, 安装方式很简单, 只需要你按照文档arrow-up-right apt install 即可 (这也是为什么我们推荐你使用 Linux).

    • 如果你是 Windows, 参考这篇文章arrow-up-right. 唯一要注意的一点是, 你需要将 mysql 加入到你的系统环境变量中.

circle-exclamation
  • Git: 重要的版本控制系统. 至少在任何CS开发相关的工作中你都会用上它.

  • 安装好 ssh server: 在后面我们可能会讲到连接服务器的相关操作.

  • 安装arrow-up-rightPostmanarrow-up-right: 一个很强大的测试工具

    • 虽然说 curl 或者浏览器模拟请求也是可以的, 但 Postman 确实值得我们学习.

  • 安装好 Dockerarrow-up-right: 它是一个很强大的容器化工具, 轻量, 且方便构建.

选择一个好的 IDE

工欲善其事,必先利其器.

一个好的 IDE 能够节省你大量的时间与精力. 虽然不是硬性要求, 但我们推荐你使用专门的开发工具.

我们举个例子, Python 开发你可以使用 IDLEarrow-up-right(官方自带的代码编辑器), 经过配置以后, 也可以实现代码补全, 快捷键, Code Snippets 等功能.

或者你也可以用 vim (去配置 vimrc, 你还有 neovim 可以用), nano 这样的文本编辑器(我想你可能甚至没听过), 这也是一种选择, 但显然配置也很复杂(你甚至可以把 vim 配置成 vscodearrow-up-right 的模样), 并且操作也显然不是一个 beginner 能够立马接受的.

Vim 很强大, 但学起来也是真的累 (

我们更推荐你使用 Anacondaarrow-up-right(或者 minicondaarrow-up-right), Visual Studioarrow-up-right, Visual Studio Codearrow-up-right(严格上说它不算是IDE, 但配置好插件后等同于一个IDE), 或者 PyCharmarrow-up-right 作为你的 Python 开发环境. 使用这些 IDE 的好处就在于简单, 方便, 同时足够强大.

circle-exclamation

值得一提的是, Pyharm 可以通过学生认证免费获得 Jetbrain 全家桶专业版: 学生专业版申请指南arrow-up-right

对于Java的开发环境, 我们推荐 Jetbrain 的 IntelliJ IDEAarrow-up-right, 按照上面的方法你也可以白嫖到专业版.

你也可以按照下面的方法申请 Github 学生包arrow-up-right, 然后用这个 Github 账号登录就可以获取学生专业版了.

一个Linux系统会有帮助

虽然不是必要的, 但一个 Linux 的编程环境能够让你理解更多 CS 相关的内容(例如命令行, 服务器等). 你有下面的这些选择:

本次训练营的许多内容都将在WSL Ubuntu 22.04.6 LTS上展示.

circle-info

Q: 为什么文档里的这段代码在我的电脑上报错啊?

A: 我们是 Unix 系统下的工作流, 你可能需要一个 WSL 或者买一个 Mac. (这并不是因为我们很残忍, 但这确实更有利于大家去学习)

Yes, it's me

熟悉CLI相关工具

在你安装完了 Linux 之后, 你就可以开始着手试试这些命令行工具了!

可以提前了解下 git.

一个合适的终端: zsharrow-up-right

上面提到的 vim. 试试在 bash 里键入 vimtutor

The art of command linearrow-up-right

Modern Unixarrow-up-right

查询文档的工具: tldr 或者 man

最后更新于