---
url: https://ain.hmgf.hxcn.space/event/lesson0-2025.md
description: 编程竞赛组第0节课导学内容，包含大学阶段学习方法、目标规划与提问建议。
---

# 从蒟蒻到大佬的第一步

刚刚结束高中三年生活的你们，踏入大学，是不是对一切都感到懵懵懂懂的？(・∀・) 今天这篇文章将为你的大学生活提供一些实用的建议，并为你开启学习之路打好基础。话不多说，我们开始了哦！

## 篇章一：内功心法篇

### 转变思维 (•̀ω•́)✧

思维是决定你前进与选择方向的。如果我们还停留在高中的“保姆式”思维，直接挪用到大学，那可要出大麻烦啦 ( > < )。

在大学，我们超级自由，课后时间非常充沛。没有人会天天督促你学习，在寝室打游戏睡觉也好，在自习室研究技术也好，时间完全由你自由分配。

但这也很“麻烦”... 很多同学会经历一段迷茫期 (´･\_･\`)。因为相比高中，我们突然没有了一个明确的目标。我们可能正在接受思维转变的“阵痛”，这一点非常正常。与初高中的“他律”相比，大学拼的就是“自律”！

所以，我们必须**制定一个明确的目标**，短期的（比如这学期学会 Linux）或长期的（比如进大厂）都行。我们还得培养自己独特的**自学能力**，在技术这条路上，想完全依靠老师是行不通的哦。

### 如何查找自己的“攻略” ＼(ﾟ∀ﾟ)／

我们很多人都容易困在“信息茧房”里。进入大学这个陌生环境，无论是评奖学金的条件，还是企业的招聘信息，学校很少会手把手喂给你。所以，我们必须学会**扩充自己的信息源**。以下是搜索资源、解决问题的依次顺序：

1. 分析自己的代码：如果自己能解决，这个成就感是无与伦比的
2. 看官方文档：一个技术人学到最顶尖时，一定是靠官方文档学习的。官方文档和论坛记录了海量的 Bug 解决方式，这才是“一手资料”！
3. 学会使用 Google、Edge：这两款搜索引擎，界面相对清爽，广告也少 (尤其是 Google)，搜出来的有效信息更多。学会使用搜索引擎是一门大学问，用得好堪称神器！
   ![](https://gastigado.cnies.org/d/others/image-20251023114315236.png)
4. 询问 AI：现在市面上好用的 AI 大模型超多，比如 Deepseek，豆包，GLM（国产模型代码最强）以及国外的 ChatGPT、Gemini等 (oﾟ▽ﾟ)o。AI 更喜欢“吃”文本。就像我们运维有时候遇到了错误日志，不知道咋办，你可以把日志截图喂给 AI，也可以把日志以文本形式投喂给 AI。不用想，当然是第二种（文本）的效果明显更好啦！
5. 问师哥师姐：师哥师姐们其实很乐意回答小登们的问题 (〃∀〃)，但是大家的时间也都很宝贵，所以... (请看下一条)。

### 提问的智慧 ( T\_T ) (非常重要！)

#### 什么是提问的智慧

如何提问，也是一门大学问。详见[这个文档](https://lug.ustc.edu.cn/wiki/doc/smart-questions/)🙏

你们或许在提问题的时候，觉得我们（师哥师姐）很傲慢？

**你以为的傲慢：**

* 师弟：师哥我 VSCode 装不上了怎么办？
* 师哥：(心里MMP) ...你到官网下载安装包，下载完双击它，一直点下一步就安装好了。
* 师弟：官网是什么？
* 师哥：`https://code.visualstudio.com/`
* 师弟：下载按钮在哪？
* 师哥：(截图.jpg)
* 师弟：好了，下载到了，然后呢？哎对了师哥，我这怎么解压还要钱啊，能免费解压吗？
* 师哥：...这个都不会还是别学了。
* 师弟：(感觉师哥很傲慢) ...

**实际上的的“傲慢”：**

* 师弟：(提供了完美提问) 师哥我的电脑是 64 位的 Windows 10，我在 VSCode 官网下载了对应版本，但在安装过程中出现了这个问题（贴图），我使用百度搜索后还是没有办法解决，你能帮我看看吗？谢谢！(〃'▽'〃)
* 师哥：这个都不会还是别学了。
* *(这种情况才是真的傲慢，但 99% 的情况不是这样的！)*

**我们为什么会对某些问题感到厌烦？ (；¬＿¬)**

1. 提的问题“过于简单”（比如“官网在哪”，这明显是自己一搜便知）。
2. 提问题的方式不对（见下文）。
3. 遇到问题**想都不想**就提问（没有展示自己尝试解决的过程）。

#### 到底该怎么问问题？ (o´ω\`o)ﾉ

##### 1. 精确地描述问题并言之有物：

话不在多，在于精。清楚明确地表达你的需求。这并不是要求你简单的就把成堆的错误代码或者资料完全放在你的提问中，如果你的问题是一个很大的是程序挂掉的这样一个代码运行环境，尽量把它剪裁得越小越好。

这样做的好处至少有三点：

* 第一，表现你为简化问题付出了努力，这可以使你得到回答问题的概率增加
* 第二，简化问题使你更有可能得到有用的答案
* 第三，在精炼你的 bug 报告的过程中，你很可能就自己找到了解决方法或者权宜之计

最有可能最有能力给你有用答案的人通常也是最忙的人（他们忙是因为要亲自完成大部分工作）。所以我们对这样无休止无节制的时间黑洞是相当厌恶的。

所以，请界定一下你的问题，使我们花在辨识你的问题和回答所需要付出的时间减到最少。

##### 2. 询问有关代码的问题时：

* **算法**：先去看题解（因为师哥师姐也可能没做过这道题或者这种类型的题），题解能帮你们解决问题。如果实在是看不懂题解，请移步至AI，AI有时候甚至讲的比我们还要清晰。如果都没看明白，再请将原题，你的代码和题解一并发给师哥师姐们，并指出你对哪一块地方不太懂。
* **项目作业问题**：如果是代码出现了报错，请学会自己定位问题，现在的开发软件很智能，会告诉你你的代码错在哪个文件的哪一行。你们可以通过报错去找出问题，如果看不懂，不要直接把问题发给AI，先尝试自己通过翻译软件得知报错问题（我们希望你们能够培养出自己解决问题的能力，不要过度依赖AI）。如果实在解决不了，再尝试交给AI。最后再来询问师哥师姐们，并且将你出现错误的代码和debug（即终端报错）一并发给师哥师姐们。
* **配置安装问题**：在开发中我们可能会安装很多外有库，如果在安装对应的外有库出现了问题，先去查阅外有库的官方文档，上面一般会统计常见的问题。如果无法解决，请善用搜索引擎，将你的问题在搜索引擎中输入，很大可能别人也出现了相同的问题，你就可以按照他们的方法去解决。（CSDN、稀土掘金、博客网、一些牛人的个人博客等等都可能可以帮你解决）。如果都不行再尝试去询问AI或师哥师姐们

千万不要动辄就要求别人帮你去调试有问题的代码，而且也不提示一下应该从何入手。相当于：你玩游戏迷路，直接让师哥师姐上手帮你做跑图这种重复且无趣的工作

张贴几百行的代码，然后说一声：`这段代码有问题`，我们可能完全会忽略这样的问题，而且回都不想回

相比于这个，只贴几十行的代码，然后说一句：`在第七行代码之后，我觉得程序会输出xxx，但实际出现的xxx`更有可能让你得到回应

最有效描述程序代码问题的方法就是提供一段最精简的 Bug 展示的测试用例。

什么是最精简的测试用例？那是问题的缩影；如果你知道哪一行或者哪一段代码会造成异常的行为，复制下来并且加入能够重现这个状况的代码（能让这段异常的代码正常运行）。如果你无法将问题缩减到一个特定区块，就复制一份代码并移除不影响产生问题行为的部分。总之，你发出的测试用例（或代码）越少越好。

##### 3. 如何问师哥师姐们问题？

1. 请不要在吗起手，有问题直接问，师哥师姐们看到就会回复，你一个在吗起手，师哥师姐忙的时候可能不会去搭理这种问题。
2. 不要手机拍照！不要手机拍照！不要手机拍照！ (重要的事情说三遍)
3. 请截图！ (清晰地)
4. 或者直接贴代码块和错误日志 (文本形式)！

![04](https://gastigado.cnies.org/d/others/04.jpg)

5. 那我们该如何正确截屏呢？这里推荐快捷键截图：
   * QQ（Ctrl + Alt + A）
   * 微信（Alt + A）
   * Windows系统自带的截图（键盘上的Print键）或者使用快捷键（Win + Shift + S）
   * Pixpin等第三方截图工具
   * 更多截图方式请看这个视频：【电脑不会截图？我教你啊！】 https://www.bilibili.com/video/BV1ZyFzzREga/
   * 截图后将你的问题和截图一起发送，然后请耐心等待师哥师姐有空的时候给你们解决。

6. 在提问前最好先尝试看官方文档和使用搜索引擎查找，否则可能会收到 RTFM 和 STFW 两个回复

> 有一个古老而神圣的传统：如果你收到`RTFM（Read The Fucking Manual）`的回应，回答者认为你**应该去读他妈的手册**。当然，基本上他是对的，你应该去读一读。
>
> RTFM 有一个年轻的亲戚。如果你收到`STFW（Search The Fucking Web）`的回应，回答者认为你**应该到他妈的网上搜索**。那人多半也是对的，去搜索一下吧。（更温和一点的说法是 **Google 是你的朋友**！）
>
> 当然师哥师姐们没这么恐怖😱

当然，对于很多问题大家都是 0 基础，问很正常，大家不要怕 (･ω<)☆。师哥师姐们都很乐意与小登打好关系，希望大家在学习过程中可以和“老登们”亦师亦友！

### 最后的 Bonus：了解行业/科研需求

另外，建议大家手机里下载一个“BOSS 直聘”之类的招聘软件或者搜索研招网。别急着找工作或者刷绩点，而是去**看一看**，你感兴趣的岗位或者研究方向，到底需要哪些技能 (e.g., Linux, Docker, K8s, Python...)，或者需要哪些努力。

这样，你就能从“企业/院校需求”倒推回你大学四年的“学习目标”，这比瞎学可有效率多啦！(^\_−)−☆

### 3.必备工具

#### 一些懂的都懂的东西

为什么我 github 只能看运气进？为什么我 git 老是推不上去？为什么我项目拉不下来？

首先，可以在必应搜索“xx镜像站”，如“Github镜像站”。

挂加速器可以解决一时之需，无论是游戏加速器还是「Watt Toolkit」，都能加速 github 等一些学术网站。

如果你之后有更深的需求，这里不方便说，来私聊群里的师哥师姐(^\_−)−☆

## 篇章二：AI篇

从 23 年初开始，AI 早就不是什么新鲜玩意儿了，它对整个行业的影响简直是天翻地覆！(ﾉﾟ0ﾟ)ﾉ~

现在，“不会用 AI 的程序员不是好程序员” (ง •̀\_•́)ง 已经快成为共识啦。

但是，**千万不能太依赖AI，千万不能太依赖AI，千万不能太依赖AI！！！**

### 如何正确使用AI

AI 真的可以帮助我们解决超级多的问题，尤其是对初学者来说，简直是“随身老司机”！

1. AI的作用：解释概念、排查错误、生成/补全代码及配置、重构优化代码、梳理文档需求、提供学习路径与思路。
2. 使用前准备：说明环境（系统、语言/依赖版本等）、提供最小可复现代码、完整错误信息与堆栈、说明期望vs实际结果、列出尝试过的解决方法。
3. 提问方式：简述背景（做什么、技术栈）、明确目标、提供输入（代码/错误）、说明约束（平台/版本限制）、指定期望输出形式。
4. 常用Prompt模板：

* 调试：说明语言版本、错误堆栈、代码、期望结果，求分析及修复方案。
* 解释概念：用通俗语言解释，含示例、误区、适用场景。
* 代码优化：说明目标（可读性/性能等），求重构建议及示例。
* 生成测试：指定框架，覆盖正常及边界情况，说明运行方式。
* 环境问题：说明系统、错误、尝试过的方法，求解决步骤。
* 生成配置：指定语言/框架，说明要求，求可用文件及注意事项。

5. 安全与伦理：不泄露敏感信息（密钥、隐私等），因为你的对话数据很有可能被用来训练AI；作业/考试需诚信，以理解和独立完成为前提。
6. 整合流程：用AI做首轮探索（获思路、样板等），自己动手验证，迭代优化prompt，记录建议便于复查。

这里是师哥师姐们精选的几款超棒的 AI 工具，快来 Mark 一下！

### 网页端 AI 助手

**按推荐顺序排列**

#### 海外组

**需要特殊上网环境**

**Gemini 2.5 Pro**

* https://aistudio.google.com/(每天免费100次的Pro模型)
* https://gemini.google.com/ (Pro模型需要付费)
* **(个人强推！(b•̀ω•́)b 个人认为 Gemini 2.5 Pro 是目前最好用的 AI！)**

**ChatGPT** (经典老牌)

* https://chatgpt.com/

**Claude**

* https://claude.com/app-unavailable-in-region
* (P.S. 这家伙**写代码很强**！但别的一般般~)

**Grok**

* https://grok.com/

***

#### 国内组

* **GLM 4.6** （Zai Chat）

  https://chat.z.ai/

* **豆包**

  https://www.doubao.com/chat/

  (P.S. 豆包的功能非常多，平时用起来还是很舒服的 (oﾟ▽ﾟ)o，图片识别能力也很强。只不过... 豆包\*\*“多而不精”\*\*，在面对一些复杂问题时，还是选其他几款 AI 比较好~ (´・ω・\`))

* **Qwen3MAX / Qwen3Coder**（Qwen Chat）

  https://chat.qwen.ai/

  > 为什么使用Qwen Chat/Zai Chat而不是使用通义千问（Qwen）、智谱清言（GLM）?
  >
  > 因为Qwen Chat/Zai Chat虽然和通义千问/智谱清言都是使用同一个模型，但他们其实大相径庭(･ω<)☆
  >
  > 以Qwen Chat为例，相较于通义千问，Qwen Chat整个界面非常简洁，实用。没有眼花缭乱的智能体展示，也没有乱七八糟的资讯推荐，只有一个聊天窗口，但功能丰富。
  >
  > 还有，APP 在对话过程中可能悄悄更换精度更低、性能更差的模型节约成本，
  >
  > 想要深入了解的话可以看一下这个博客 https://www.53ai.com/news/LargeLanguageModel/2025031282630.html

* **Kimi K2**

  https://www.kimi.com/

***

### 编程助手

直接在你的 IDE 里写代码的 AI 伙伴！

#### 模型优先级参考

当你写代码时，AI 的“智商”很重要！这是一个参考排序：

> **Claude 4 sonnet / 3.7 sonnet > Gemini 2.5 Pro > GLM 4.6 > GPT > Qwen3 / Coder > Kimi k2 > Doubao 1.6 > Deepseek V3.1**

#### 神器工具推荐

* **Cursor**：(每月 20$)

  https://cursor.com/cn/agents

* **Windsurf**：(每月免费 25 次)

  https://windsurf.com/editor\`

* **Kiro**：(免费 10 次/天，需要提前申请)

  https://kiro.dev/downloads/

* **Qoder**：(免费两个月)

  https://qoder.com

* **灵码 IDE**：(只有 Qwen 模型)

  https://survey.aliyun.com/apps/zhiliao/Jy4hnFfPp

> 如果你觉得上面的都不满意，你可以尝试自己搭建一个，不比它们差
>
> [国产开源大模型崛起：使用Kimi K2/Qwen2/GLM-4.5搭建编程助手](https://blog.csdn.net/excnies/article/details/149837097?)

***

### 最终奥义

请记住：**AI 没有最好的，只有最适合你的！** (•̀A•́)

每个 AI 都有自己的脾气和擅长的领域，多试试，找到那个和你“电波”最合拍的 AI 伙伴吧！

如果还不知道怎么选，看看 B 站大佬的分析视频：

* [如何科学选择真正适合你的AI？(国内篇)-哔哩哔哩](https://b23.tv/HaT1MMg)
* [如何科学选择最适合你的AI？(海外篇)-哔哩哔哩](https://b23.tv/8XFMnQd)

### 一个最后的警告：千万不要滥用 AI

(o´A\`o) 这一点需要特别注意！我们前面安利了那么多 AI 工具，但**千万不要滥用 AI！**

什么是“滥用”呢？就是你把它当成了“拐杖”，而不是“工具”。

比如，遇到一个问题，自己连想都不想，直接把需求完整地丢给 AI，然后 `Ctrl+C`、`Ctrl+V`，代码能跑就行了... (；¬＿¬) 这种行为是非常危险的。如果你只是当一个“代码搬运工”，**完全不理解**这段代码背后的逻辑和原理，那么你的基础能力会变得极其薄弱。

AI 只能帮你“写”，但不能帮你“理解”。当 AI 犯错时（相信我，它经常会出错！），你甚至都看不出它错在哪里，那不就完蛋了嘛 ( > < )。

所以，我们一定要把 AI 当作一个“高级副驾驶”或者“超级搜索引擎”。用它来**启发你的思路**、**帮你优化代码片段**、**解释你不懂的概念**... 但**思考和理解的主动权**，一定要牢牢抓在自己手里！(•̀ω•́)✧

## 篇章三：开发工具篇

**工欲善其事，必先利其器。掌握这些工具，将极大提升你的学习和开发效率。**

### GitHub

#### 什么是 GitHub？ (・∀・)

简单来说，GitHub 是一个**基于 Git 的代码托管平台**，它就像是程序员们的“社交网站”+“云端硬盘”！(≧▽≦)

它被广泛用于软件开发和**版本控制**。想象一下，它就像一个超级智能的“时光机”，可以帮你：

* **跟踪代码的每一次更改**：再也不怕代码改错或丢失啦！(๑•̀ㅂ•́)و✧
* **轻松管理项目的不同版本**：无论是测试版还是正式版，都井井有条。

GitHub 还提供了一个超赞的**协作环境**，让来自世界各地的开发者可以一起“搞事情”：

* **协作工具**：通过 `Pull Requests`（拉取请求）来审查代码，使用 `Issues`（问题）来跟踪 Bug 和任务，还有 `Project Boards`（项目看板）来管理进度。
* **代码托管**：你可以创建**免费的公共仓库**（所有人可见）或**付费的私有仓库**（只有你和你的团队可见）。
* **社区和开源**：这里是**开源项目**的聚集地！你可以学习大神的项目，也可以为它们贡献自己的代码 (●'◡'●)ﾉ。
* **GitHub Actions**：超酷的**自动化工作流**！可以自动帮你测试、打包、部署代码，简直是懒人福音！
* **安全性**：它会帮你扫描代码，寻找潜在的安全漏洞和依赖问题，保护你的项目安全。

总之，GitHub 不仅仅是存代码的地方，更是一个促进全球开发者协作和创新的**超级社区**！♪

#### 如何使用 GitHub？ (oﾟ▽ﾟ)o

> [【2025版】最新GitHub新手用法详解（适合新手入门）零基础入门到精通，收藏这篇就够了\_github使用详解](https://blog.csdn.net/bdfcfff77fa/article/details/145791820?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522f20296e5fd9f629e42b96b53611e41f2%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D\&request_id=f20296e5fd9f629e42b96b53611e41f2\&biz_id=0\&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-145791820-null-null.142^v102^pc_search_result_base6\&utm_term=github%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B\&spm=1018.2226.3001.4187)

这个方法超级适合新手哦！(•̀ω•́)✧

**GitHub Desktop** 是官方推出的图形界面工具，你不需要记住复杂的 Git 命令，只需点点鼠标 🖱️，就能完成大部分操作，比如：

1. **Clone** (克隆)：把网上的项目复制到你的电脑上。
2. **Commit** (提交)：保存你本地的代码修改。
3. **Push** (推送)：把你的修改“推”回 GitHub 仓库。
4. **Pull** (拉取)：获取项目最新的更新。
5. **Create Pull Requests** (创建 PR)：当你想要向别人的项目贡献代码时，这就是“申请合并”的方式啦！

快去下载 GitHub Desktop，开启你的开源之旅吧！♪ (ﾉ\*･ω･)ﾉ

***

### Git

当然不用！Git 是目前世界上最先进的分布式版本控制系统，用来团队协作很方便。就不用每次上传代码都靠手动 upload files 了

如何安装以及使用看这个👇

[Git 详细安装教程（详解 Git 安装过程的每一个步骤）\_git安装-CSDN博客](https://blog.csdn.net/mukes/article/details/115693833)

[Github配置ssh key的步骤（大白话+包含原理解释）\_github生成ssh key-CSDN博客](https://blog.csdn.net/weixin_42310154/article/details/118340458)

[如何在 Github 上规范的提交 PR（图文详解） - 知乎](https://zhuanlan.zhihu.com/p/584834288)

[解决git下载慢的问题，git安装教程，git国内国外下载地址 - 知乎](https://zhuanlan.zhihu.com/p/5857028723)

[在一台电脑上同时使用多个github账号(亲测有效)\_github共享账号-CSDN博客](https://blog.csdn.net/qq_43199318/article/details/103469792)

***

### IDE

在编程世界里，选对 IDE (集成开发环境) 就像剑客选对了剑，能让你的“战力”飙升！(ง •̀\_•́)ง

目前江湖上有两大“神器”：一个是\*\*“重装战甲”—— JetBrains 全家桶\*\*；另一个是\*\*“轻装刺客”—— VSCode\*\*。

那么，到底该怎么选呢？

#### JetBrains 全家桶

JetBrains 旗下的 IDE 都非常好用，覆盖面也超级全！它们就像是为每种语言**量身定制**的豪华套餐：

* 写 **C/C++**？你有 `CLion`！
* 写 **Python**？你有 `PyCharm`！
* 写 **Java**？你有 `IntelliJ IDEA` (这可是“业界标杆” (￣▽￣)／)！
* 写 **Go**？你有 `GoLand`！
* ...还有 `WebStorm` (前端), `RustRover` (Rust) 等等等。

##### **灵魂拷问：可是...它们都要付费购买欸？**

(¬\_¬) 这个问题不用担心！JetBrains 对学生党超级友好！

**学生都是可以免费使用 Ultimate 版全家桶的！** 只需要完成学生认证就好啦。

**学生认证教程**（校园邮箱申请不到，请使用 `2.3 官方文件` 方法进行申请）：

https://blog.csdn.net/qq\_36667170/article/details/79905198

**破解版**：

https://www.ddkk.com/zhuanlan/jihuo/index.html

**赛博大善人**：

自 2023 年起，JetBrains 陆续将多款核心产品开放为“非商业用途免费”模式。截至 2025 年 10 月，已经正式支持免费使用的 **IDE**工具包括：

* **WebStorm**：主要用于 **Java/Type/Web**前端开发。
* **Rider**：主要用于 **.NET/C#/Unity/ASP.NET**开发。
* **CLion**：主要用于 **C/C++/嵌入式**开发。
* **RustRover**：专注于 **Rust**语言开发。
* **Aqua**：一款自动化测试 **IDE**，但已停止开发。
* **DataGrip**：新增，用于数据库/SQL 开发与管理。
* **RubyMine**：新增，用于 **Ruby/Rails**全栈开发。

此外，IDEA、Pycharm 都有社区版可以免费使用。这些免费工具完全足够我们使用。

##### **JB 的“杀手锏” (为什么选它？)**

相较于其他**IDE**，JetBrains 的核心优势在于\*\*“深度集成”**和**“开箱即用”\*\*：

1. **登峰造极的智能代码补全**：
   * JB 的“感知上下文”能力超强，它的代码提示和自动补全（尤其是在大型项目中）经常被誉为“最懂你的”。
2. **真正“开箱即用”的体验**：
   * 集成了你开发所需**几乎所有**的工具，如调试器 (Debugger)、测试运行器、数据库工具、版本控制(Git)界面等。你几乎不需要额外配置。
3. **强大的代码重构**：
   * 提供“核弹级”的重构选项，如安全地重命名 (Rename)、提取方法 (Extract Method) 等。它会帮你分析整个项目，确保重构不会出错。
4. **无缝的调试 (Debug) 支持**：
   * 内置的调试功能极其强大，断点设置、变量监视、调用堆栈查看等体验非常流畅，是大型项目排错的神器。
5. **高级的项目导航**：
   * 在复杂项目里“跳转自如”，能帮你快速找到某个类 (Class) 的用法、接口 (Interface) 的实现，或者父子类的关系。

**简单说：** JB 像一辆**重型坦克** ，它把所有武器都给你装好了，启动可能慢一点，但一旦跑起来，火力威猛，无所不能。

**安利给谁？**

* **某一门语言的“重度使用者”**（比如你 90% 的时间都在写 Java 或 Python）。
* **大型、复杂项目的开发者**。
* **“懒得折腾”**，希望 IDE 帮你搞定一切的同学。

***

#### Visual Studio Code (VSCode)

“高度定制的轻量王者”。当然，也有很多人会问：

##### “安装好麻烦啊，为啥不直接用 Jetbrains 呢？”

问得好！(ゝ∀･) VSCode 走的完全是**另一条路线**。它不是“坦克”，它是一个\*\*“变形金刚”\*\*的核心！

VSCode 本质上是一个**极其轻量、启动飞快**的文本编辑器。它的所有“神力”都来自于它那**无敌的插件生态**！

##### VSCode 的“魅力点” (为什么选它？)

1. **轻量！启动飞快！**
   * 打开一个文件夹或项目几乎是“秒开”，这在日常修改单个文件或小型项目时体验极佳。
2. **无敌的插件生态**：
   * 你需要什么功能，就去插件市场搜什么。写 Python？装 `Python` 插件。写 C++？装 `C/C++` 插件。你甚至可以装 `Doki Theme` 这样的美化插件 (你懂的 😉)。
3. **高度可定制 (DIY)**：
   * 从主题、字体、快捷键到界面布局，你可以把 VSCode “调教”成**完全属于你**的样子。
4. **跨语言“通吃” (全栈友好)**：
   * 如果你今天写点 Python，明天写点前端 (JS/HTML/CSS)，后天再改个 Markdown... VSCode 是**完美**的选择。你不需要为每种语言换一个 IDE。
5. **完全免费**：
   * 对所有人都完全免费，没有附加条件。

**简单说：** VSCode 像一个**高科技“外骨骼”** ，它本身很轻，但你可以根据任务给它挂载不同的“武器”（插件）。

**安利给谁？**

* **全栈开发者**或**前端工程师**。
* 需要**频繁切换**不同语言的同学。
* **喜欢 DIY**、享受“调教”工具快感的极客。
* 需要一个**轻量级编辑器**来快速查看或修改代码的人。

***

**最终建议：**

* **小孩子才做选择，成年人... 两个都要！** 😉
* **建议的工作流：**
  * 用 **JetBrains IDE** (比如 PyCharm) 来处理你的**核心主力项目**。
  * 用 **VSCode** 来**快速打开单个文件**、修改配置文件、写点前端代码，或者做一些跨语言的小脚本。

这样组合使用，才能发挥它们各自最大的优势！♪

### Markdown

#### 什么是markdown?🤔

简单来说，Markdown 是一种轻量级的**标记语言**。

如果你了解 HTML，可以把 Markdown 看作是它的“极简版”。它的核心理念是：**让你用最简单的纯文本符号，来描述并生成带有格式的精美文档。**

**我们为什么需要 Markdown？**

最直接的答案是：传统的格式排版太复杂了！例如，HTML 标签繁琐，Word 又过于笨重。而 Markdown 让你只需专注于内容创作本身，无需在排版工具上分心。

写好的 Markdown 文本（.md 文件）具有极强的可读性，即便是在纯文本状态下，也能清晰地看出文章结构。当通过特定的渲染器（如网站或编辑器）展示时，它会自动编译成漂亮的网页格式（HTML）。我们常见的 GitHub 项目介绍（README.md）就是它最典型的应用。

Markdown 编写的文档后缀为 `.md`, `.markdown`

[Markdown 基本语法 | Markdown 教程](https://markdown.com.cn/basic-syntax/)

#### 什么地方会用到markdown？

Markdown 的应用极其广泛，是现代数字写作的基石之一：

* **文档与笔记**：无论是个人知识管理，还是团队技术文档，Markdown 都能提供简洁高效的写作体验。
* **博客与论坛**：许多静态博客生成器（如 Hugo, Hexo）、项目文档管理工具（如Mkdocs、Vitepress）和技术社区都原生支持 Markdown。
* **代码版本控制**：Markdown 文件是纯文本，能与 Git 等版本控制系统完美协作，清晰地追踪每一次修改。
* **大语言模型**：你与 AI 大模型（如 GPT, Gemini）的许多交互，其返回的格式化文本就是基于 Markdown 的。

#### Typora又是啥

Typora 是一款将 Markdown 的简洁性发挥到极致的桌面编辑器。

它的核心特性是 **“所见即所得”**。你无需在代码和预览窗口之间来回切换，输入 Markdown 标记后，它会立刻为你渲染出最终效果，优雅且高效。

**Typora 的强大功能包括：**

* **实时预览**：无缝的写作体验。
* **学术支持**：轻松插入 LaTeX 数学公式、图表和流程图。
* **代码高亮**：对程序员极其友好，支持几乎所有主流语言。
* **扩展功能**：支持表格、HTML 标签、文件导出等。

> 这份文档就是使用 Typora 编写的，体验远超传统的 Word。

官网下载就完事了https://typora.io/ （*Typora 目前是付费软件，但官网下载后可无限期试用。*）

学习版：[【惊奇软件】Typora 1.11.6(修改版) - Markdown编辑器 - 果核剥壳](https://www.ghxi.com/typora.html)

#### **其他优秀的 Markdown 编辑器推荐**

* **[Obsidian](https://obsidian.md)**
  * **简介**：不仅仅是一个编辑器，更是一个强大的**双向链接笔记**软件。它能帮助你构建网状的知识库，非常适合用于个人知识管理（PKM）。
  * [obsidian新手不完全指南 - 经验分享 - Obsidian 中文论坛](https://forum-zh.obsidian.md/t/topic/1628)
  * [想一小时上手obsidian？这一篇就够了。【玩转Obsidian的保姆级教程】](https://zhuanlan.zhihu.com/p/428519519)
* **[Notion](https://www.notion.com)**
  * **简介**：一个 All-in-One 的模块化生产力工具。它将笔记、数据库、看板、日历等功能融为一体，虽然其编辑器不是纯粹的 Markdown，但深度支持 Markdown 语法，功能极为强大。
  * [想要玩转 Notion？你需要这份快速上手指南 - 少数派 (sspai.com)](https://sspai.com/post/57464)

## 篇章四：高效学习篇

> 我除了跟着师哥师姐学习之外还能在哪里自学呢？

**有这种自学的意识是非常好的，到了大学之后自驱力是成为强者的必要特质。**

***

### 一、 算法与编程语言学习

#### 1. 算法刷题网站

* **[洛谷 (Luogu)](https://www.luogu.com.cn/)** (・∀・)
  * **简介**：这个网站在国内的 OI (信息学奥赛) 圈子里非常有名！它更偏向于算法竞赛，比如 NOIP、ICPC 这类的。洛谷的社区氛围很好，有很多题解和讨论，非常适合竞赛党入门和进阶

* **[LeetCode (力扣)](https://leetcode.cn/)** (•̀ω•́)✧
  * **简介**：这就是全球最著名的\*\*“面试刷题网”！LeetCode 上的题目非常经典，是专门为科技公司（尤其是海外大厂，如 FAANG）的技术面试\*\*准备的。它的题库覆盖了算法和数据结构的方方面面。如果你想找工作，特别是想进大厂，LeetCode 是绕不过去的。

* **[牛客竞赛 (NowCoder)](https://www.nowcoder.com/)** (oﾟ▽ﾟ)o
  * **简介**：牛客是一个“双面手”！它既有像洛谷那样的算法竞赛板块，更重要的是，它有超级多的面向求职的题库！很多国内大厂（比如华为、腾讯）的校招笔试题、面试经验和模拟考试都会放在牛客上。所以，如果你目标是国内大厂，牛客是必刷的！

* **[Codeforces (CF)](https://codeforces.com/)** ( T\_T )
  * **简介**：这就是“大神竞技场”了... Codeforces（人称 CF）是一个纯粹的、高强度的算法竞赛网站。它非常考验你的思维能力和编码速度，比赛（Rounds）举办得非常频繁，全球顶尖的竞赛选手都在上面玩。它非常权威，能打好 CF 的都是“大佬”级别的人物！(≧▽≦)

* **[vjudge 题单](https://vjudge.net/article/752)**
  * **简介**：一个集合了各大平台经典题目的刷题列表，可以帮助你系统性地进行练习，查漏补缺。

#### 2. 优质学习资源与书籍

* **[OI Wiki](https://oi-wiki.org/)**
  * **简介**：一个内容免费、开源、丰富的算法竞赛知识整合站点，系统性地介绍了从基础到进阶的各类算法知识，非常适合查阅和学习。

* **[Hello 算法](https://www.hello-algo.com/)**
  * **简介**：一本开源的、图文并茂的算法入门书。它通过动画和代码示例，让数据结构与算法的学习变得简单易懂。

* **经典书籍推荐**
  * **《C Primer Plus》**：经典的C语言入门教程，内容详尽，适合初学者。
  * **《C++ Primer Plus》**：经典的C++入门圣经，全面且深入，适合系统学习。
  * **《算法竞赛入门经典（第2版）》 (刘汝佳)**：被国内算法竞赛圈亲切地称为“紫书”，是许多人的竞赛入门导师。
  * **《Linux就该这样学》**：一本广受欢迎的Linux入门书籍，实践性强，适合新手掌握Linux操作。
  * **《Python编程：从入门到实践》**：经典的Python入门书籍，通过项目实践引导学习，非常适合初学者。

***

### 二、 网络空间安全 (CTF)

* **[CTF Wiki](https://ctf-wiki.org/)**
  * **简介**：CTF竞赛领域的“维基百科”，系统性地介绍了CTF竞赛的各个方向（Web, Pwn, Reverse, Crypto, Misc）的知识，是入门和进阶的必备手册。

* **在线攻防平台 (靶场)**
  * **[BUUCTF](https://buuoj.cn/)**：一个题目数量多、种类全的在线CTF训练平台。
  * **[CTFHub](https://www.ctfhub.com/#/index)**：技能树形式的CTF学习平台，可以系统地巩固各个知识点。
  * **[CTFShow](https://ctf.show/)**：一个非常适合新手的CTF入门平台，题目由浅入深。
  * **[ADWorld](https://adworld.xctf.org.cn/home/index)**：XCTF联赛的官方练习平台，题目质量高。

* **文章与资源**
  * **[CTF 入门 | 史上最全](https://zhuanlan.zhihu.com/p/631613398)**：一篇知乎上的CTF入门指南，可以帮你快速了解全貌。
  * **[知道创宇研发技能表](https://blog.knownsec.com/Knownsec_RD_Checklist/index.html)**：知名安全公司的技能要求列表，可以作为学习路线图。
  * **[看雪安全论坛精华集](https://www.kanxue.com/chm.htm)**：国内顶级安全论坛的精华文章集合。
  * **[CTF-Wiki 资源列表](https://ctf-wiki.org/introduction/resources/)**：CTF Wiki 官方整理的各类工具、平台和学习资源。
  * **[Hello CTF](https://hello-ctf.com/)**：一个对新手友好的CTF学习网站。

***

### 三、 综合学习与进阶

#### 1. 在线课程与学习平台

* **[学堂在线](https://www.xuetangx.com/)**：清华大学发起的慕课 (MOOC) 平台，汇集了国内外顶尖大学的优质课程。
* **[AcWing](https://www.acwing.com/)**：一个算法学习和分享社区，提供课程、题库和在线编程环境，内容质量高但多为付费。
* \*\*[Coursera](https://www.coursera.org/explore/ai-dubbed-courses?utm_medium=sem\&utm_source=gg\&utm_campaign=b2c_apac_ai-dubbed-courses_multi_ftcof_explore_cx_dr_bau_gg_pmax_pr_s1_en_m_hyb_25-05_x\&campaignid=22493560989\&adgroupid=\&device=c\&keyword=\&matchtype=\&network=x\&devicemodel=\&creativeid=\&assetgroupid=6572453585\&targetid=\&extensionid=\&placement=\&gad_source=1\&gad_campaignid=22503606895\&gbraid=0AAAAADdKX6azhV6gISS4iWbTtNHVbDEgH\&gclid=CjwKCAjwx-zHBhBhEiwA7Kjq6xp32gJ3aBWqzu-EUxt9gIiSVTkt_5pYmVu6TAWt7uilGClss3wmEBoCexsQAvD_BwE\&isNewUser=true)：\*\*斯坦福教授创办的全球慕课（MOOC）平台，与全球顶尖大学合作，提供课程、专业证书和在线学位（吴恩达的所有课程都出自这里哦~）。

#### 2. 系统性自学指南

* **[CS 自学指南 (CSDIY)](https://csdiy.wiki/)**：一份非常详尽的计算机科学自学路线图，整合了全球顶尖大学的优质公开课资源。
* **[CS@NCU 开学第一课](https://cs4ncu.space/)**：南昌大学的计算机入门课程，为大一新生提供了清晰的学习路径。
* **[Missing Semester (中文版)](https://missing-semester-cn.github.io/)**：MIT的宝藏课程，教授命令行、Git、Vim等“工具”的使用，这些是课堂上通常不教但却至关重要的知识。

#### 3. 大学课程与项目实践

* **[合肥工业大学 COD](https://soc.ustc.edu.cn/COD/)**: 计算机组成原理课程资料。
* **[合肥工业大学 Vlab](https://vlab.ustc.edu.cn/)**: 操作系统课程资料。
* **[USTC LUG 101](https://101.ustclug.org/)**: 中国科学技术大学Linux用户协会的新生入门课程，覆盖了Linux使用的方方面面。
* **[30天自制操作系统](https://github.com/yourtion/30dayMakeOS?tab=readme-ov-file)**：一个经典的开源项目，跟着它一步步写出一个属于自己的操作系统。
* **[杭电教学 Wiki](https://wiki.xyxsw.site/)**：杭州电子科技大学的课程资料分享。

#### 4. 语言与方向深入

* **[Python By Hy](https://www.byhy.net/)**：一个专注于Python爬虫、自动化办公等实战应用的教程网站。
* **[Learn Git Branching](https://learngitbranching.js.org/?demo=\&locale=zh_CN)**：通过可视化的方式，让你像玩游戏一样轻松掌握Git的复杂操作。
* **[Go 语言之旅 (中文版)](https://tour.go-zh.org/welcome/1)**：Go语言官方的互动式入门教程。
* **[Java 全栈知识体系 (JavaBetter)](https://javabetter.cn/)**：一份非常全面的Java学习和面试指南，内容覆盖广。
* **[机器学习课程 (apxml)](https://apxml.com/zh/courses)**：一系列机器学习相关的课程。
* **[大规模预训练语言模型 (OpenBMB)](https://openbmb.cn/community/course/)**：由清华大学自然语言处理实验室等联合打造的大模型学习资料与工具。
* **[CS61A (UC Berkeley)](https://cs61a.org/)**：加州大学伯克利分校的经典计算机科学导论课程。
* \*\*[动手深度学习](https://zh.d2l.ai/chapter_preface/index.html)：\*\*面向中文读者的深度学习教科书，强调通过代码实现模型，提供 PyTorch 等多种框架实现。

#### 5. 优质博客与文章

* **[水论文的程序猿 (博客园)](https://www.cnblogs.com/nickchen121)**：一位B站UP主的博客，内容深入浅出，质量很高。
* **[字节跳动工程师的学习资料](https://www.ddkk.com/zhuanlan/share/index.html)**：字节跳动员工整理分享的学习资源。
* **[Learn CS Site](https://www.learncs.site/)**：一个计算机学习资源导航站。
* **[Duanwxq 的 CSDN 博客 (Python 算法)](https://blog.csdn.net/Duanwxq/article/details/137641008)**：一篇关于Python算法学习的博客文章。
* **[一个算法爱好者的Python之路 (知乎)](https://zhuanlan.zhihu.com/p/486349954)**：在知乎上分享的Python算法学习心得。

***

### 四、 技术社区与资源下载

#### 1. 技术交流社区

* **[w2solo](https://w2solo.com/)**: 独立开发者社区。
* **[Linux.do](https://linux.do)**：一个活跃的Linux技术论坛。
* **[HelloGitHub](https://hellogithub.com)**：分享有趣、入门级的开源项目。
* **[Linux 中国](https://linux.cn/)**：国内知名的Linux技术社区。
* **[It's FOSS](https://itsfoss.com/)**: 一个专注于Linux开源资讯的英文网站。
* **[Arch Linux 中文维基](https://wiki.archlinuxcn.org/)**：Arch Linux用户的“圣经”，文档极为详尽。

#### 2. 资源与软件下载

* **工具软件分享站**
  * [殁漂遥](https://masuit.net/)
  * [高木同学](https://t.me/gaomutongxue)
  * [大眼仔旭](https://www.dayanzai.me/)
  * [奇技淫巧](https://www.qijishow.com/down/index.html)
  * [阿虚同学的储物间](https://axutongxue.com/)
  * [爱软客](https://iui.su/)
  * [新趣集](https://xinquji.com/)
  * [Thuscn](https://thuscn.com/lab/)
  * [小众软件](https://www.appinn.com/)
  * [小众软件论坛](https://meta.appinn.net/)
  * [西部落](https://www.xibuluo.com/?fzg)
  * [423Down](https://www.423down.com/)
  * [APKPure/Combo](https://apkcombo.com/zh) (安卓应用)
  * [UmsBox](https://www.umsbox.com/)
  * [奔跑的奶酪](https://www.runningcheese.com/a)
  * [异次元软件](https://www.iplaysoft.com/)
  * [果核剥壳](https://www.ghxi.com/)

* **操作系统镜像**
  * [MSDN, I tell you](https://msdn.itellyou.cn/) (经典站点)
  * [Next, I tell you](https://next.itellyou.cn/) (新版站点)
  * [MSPUDE](https://www.mfpud.com/)
  * [又要重装系统站](https://www.yyczxt.com/)

#### **3. 设计与资讯**

* **字体设计**
  * [猫啃网](https://www.maoken.com/)：分享免费可商用的中文字体。
  * [标志情报局](https://www.logonews.cn/)：报道全球品牌LOGO资讯。

* **科技新闻**
  * [Hi-Linux](https://www.hi-linux.com/archives/7/)
  * [IT之家](https://www.ithome.com/)
  * [软餐](https://www.ruancan.com/)
  * [蓝点网](https://www.landiannews.com/)
  * [开源周报](https://openingsource.org/weekly/)
  * [科技补全](https://xuanli199.github.io/weekly/)
  * [科技补全(bilibili)](https://space.bilibili.com/67079745/lists/3173076)
  * [潮流周刊](https://weekly.tw93.fun)

***

### 如何系统性地提高你的 Coding 能力

编程是一门手艺，需要持续的练习和正确的方法。除了埋头写代码，我们还需要知道去哪里寻找高质量的资源，以及如何从“基础”到“进阶”逐步深化理解。

#### 善用社区与网站资源

在你遇到问题时，第一反应可能是去搜索引擎。这时，你会遇到形形色色的技术网站。首先是 [CSDN](https://blog.csdn.net/)，这应该是国内最老牌、覆盖面最广的技术社区。但正因其“老牌”，内容质量也最“参差不齐”，你很容易碰到大量灌水、内容缝合甚至纯粹抄袭的文章。因此，一个高效使用 CSDN 的技巧是：**不要使用 CSDN 的站内搜索**，而是在你的浏览器（如 Google）搜索问题，然后从结果中点进 CSDN 的帖子。搜索引擎的权重排名通常已经帮你过滤掉了大部分质量低下的内容。

相比之下，字节跳动旗下的[稀土掘金](https://juejin.cn/)在阅读观感和社区氛围上要好很多，内容也更偏向于前端和新兴技术。但它的缺陷在于，内容的广度和深度可能不及 CSDN，当你搜索一些比较冷门或深入的问题时，可能会找不到答案。

如果你想获得真正高质量的解答，我强烈推荐 [Stack Overflow](https://stackoverflow.com/questions)。这是全世界最知名的技术问答论坛，上面的答案通常经过了严格的同行评审。当然，这对你的英语阅读能力有一定要求，但这是作为程序员必须跨过的一道坎。此外，如果你在学习 Linux 相关的知识，那么 [Arch Wiki](https://wiki.archlinuxcn.org/wiki/%E9%A6%96%E9%A1%B5) 几乎是“圣经”一般的存在，其内容的精准和详尽程度无可匹敌。

最后谈谈视频资源，比如 B 站。B 站上确实有很多不错的UP主在分享知识，但视频内容的质量比文字更加参差不齐。我的个人看法是，**大部分看官方文档就能理解的东西，没有必要浪费时间去看视频。** 视频的检索效率和信息密度远低于文字。除非某个视频资源真的讲得深入浅出、口碑极好，否则它不应是你的首选学习途径。

#### 学会阅读官方文档

我们要明白一个道理：**官方文档是“第一手资料”，是了解一个组件或框架最高效、最准确的方式。** 在你具备了一定的编程基础后，直接阅读官方文档是你入门新技术的不二之选。

很多同学的障碍是语言。没错，许多顶级的项目和库都是国外开发的，文档自然是英文的。但请不要一开始就有“畏难情绪”。技术文档的用词相对固定且专业，只要你跨过了最开始的门槛（大概有大学英语四级的词汇量就足够应付），你会发现阅读障碍并不大。

如果实在觉得吃力，可以先找找看有没有官方的“中文镜像站”，或者使用浏览器的“整页翻译”功能作为辅助。但长远来看，锻炼自己直接阅读英文文档的能力，将使你受益终身。

#### 学会阅读源码

当网站资源和官方文档都无法解答你的疑惑时，恭喜你，你很可能触碰到了这个库或语言的某个前沿问题，甚至是发现了一个 Bug。这个时候，你只剩下一个终极武器——**看源码！** 这已经是一项相当高级的能力。

阅读源码的好处远不止于解决当下的问题。它能真正提高你的 Coding 能力，让你理解那些“魔法”背后的实现逻辑。在求职面试中，面试官也很有可能问到一些底层实现，比如 Go 语言的调度器或 `sync.Map` 的原理。当你觉得某个库的教程讲得太烂时，不妨直接去看看它的源码，也许会发现源码本身就是最好的老师。

学习本身也是从“模仿”开始的。这里说的“抄袭”，是去模仿优秀代码的逻辑、排版风格和项目架构。GitHub 上有无数优秀的开源项目，它们是最好的学习材料。通过阅读、模仿，然后将这些知识融会贯通，你才能真正把这些技巧内化为自己的能力。

### 时间管理能力

> 觉得上了大学之后没有想象中那么轻松？觉得一周里课太多？觉得事情很多忙不过来？

这也是很多同学大一时会犯的通病

首先我们需要明确一个前提：**靠学校教的东西以后出去吃不了饭**

> 如果你的目标是本科毕业直接就业，那么你绝对需要自己好好规划时间

首先说本科毕业就业，那么你对绩点就不需要那么看重了，每科能过就行

大一真的很闲，最重要的就是高数和C，以及大一下开设的线代，严点的课就想办法“变通”一下，不严的搬电脑到后排坐着就行or你懂的

说白了，大部分师哥都是期末留一两周，保住毕业证和学位证就行

> 那我想保研或者考研咋办呢

考研的话其实和上面差别不大，只是不能抱着只是为了通过考试的心态了，要正儿八经好好学**想考专业的专业课**。

但是保研的话就不一样了，我反正觉得挺坐牢的😭，每门课你都得认真对待，平时分考试分都不能落下。上课该回答问题就回答问题🙋

这是一份 [榜单竞赛](/competition/competition-lists-2025)，涵盖了教育部白名单的全部竞赛。后期我们会对这些竞赛进行解读。通过考核的，我们会提供比赛资料和资源。

##### 最后

学习任何一门技术都是充满挑战性的，只要保持热爱并且坚持下去，我们终将成为互联网上那个叱咤风云的人。

道阻且长，行则将至！一起加油吧！

> Ps:师哥师姐们的博客：
> ​	萑澈的寒舍 
> ​	薰逸的猫窝 
> ​	芙芙の小窝

作者：薰逸喵~

审阅：郑文卿 芙芙天下第一喵~ 萑澈
