Skip to content

Commit cec6748

Browse files
更新Git、LaTeX、Linux和Markdown文档,增加详细说明和相关资源链接
1 parent d480502 commit cec6748

4 files changed

Lines changed: 160 additions & 7 deletions

File tree

docs/新手村/git_github.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ comments: true
2626
- 想同时尝试两种不同的方案又怕搞乱原文件
2727

2828
Git正是为解决这些问题而生!它能:
29-
自动记录每次修改内容
30-
方便多人协作不冲突
31-
随时回退到任意历史版本
32-
支持并行开发不同功能
29+
- 自动记录每次修改内容
30+
- 方便多人协作不冲突
31+
- 随时回退到任意历史版本
32+
- 支持并行开发不同功能
3333

3434
## Git核心概念
3535

docs/新手村/latex.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,20 @@
22
comments: true
33
---
44

5-
# LaTeX
5+
# LaTeX
6+
7+
LaTeX我认为是所有搞学术的人都应该学习的排版系统。虽然说大部分人都在用Word写论文,但是Word用下来还是有很多问题。正是因为它太“所见即所得”了,导致很多人并没有仔细研究Word的正确使用方式,导致很多排版上的问题。这在小组作业、竞赛等场景中很常见。每个人都提交一份Word,字体、行距都不统一,甚至层级标题的格式都不一样,最后让整合排版的同学很抓狂。
8+
9+
但是有了LaTeX就不一样了。在LaTeX里,整个文档是以一个文本文件项目的形式保存的,而非一个单独的二进制文件,这样非常的有条理,你甚至可以用Git来管理。你要做的,就是专注于内容,什么字体、字号、参考文献引用,有了模板以后都不用你来管。最后导出的PDF会非常的好看。
10+
11+
我承认,LaTeX确实有一定的学习成本,甚至需要一点编程思维。但是讲道理,其实Word本来也应该有一定的学习成本的,但是作为文本编辑工具的“开放世界游戏”,它的易用性掩盖了使用者的不足。与其在小组合作的时候熬夜处理各种排版问题,不如现在就来学一学LaTeX。就算你真的很懒,就是不想折腾LaTeX本地部署的话,你也可以用[Overleaf](https://cn.overleaf.com)这种在线的编辑器,点开即用,还有海量模板任君挑选。
12+
13+
# 相关资料
14+
15+
[LaTeX教程 全网最容易学习的LaTeX教程。](https://www.latexstudio.net/LearnLaTeX/)
16+
17+
用VSCode写LaTeX也很方便的,强烈建议下载一个VSCode,干啥都好使,就是一个高级文本编辑器,后续编程的时候也需要。
18+
19+
[零障碍上手!LaTeX + VSCode高效科研写作:超详细安装配置指南](https://blog.csdn.net/LiLiu_YiYu/article/details/146066653)
20+
21+
[Mac m1 vscode 配置latex 详细教程](https://blog.csdn.net/qq_45734745/article/details/137927818)

docs/新手村/linux.md

Lines changed: 127 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,130 @@
22
comments: true
33
---
44

5-
# Linux
5+
# Linux
6+
7+
金融科技、金融工程的同学在大二之后基本上就要开始做一些机器学习、深度学习的项目了。其中有很多项目是需要大量算力和长期稳定运行的,因此你们大概率需要租借服务器。我们学校的GPU服务器平台交流群里有很多人来问问题,但大多数都是一些简单到不能再简单的问题。这个时候,你就需要具备基础的Linux操作知识。
8+
9+
[Linux 教程](https://www.runoob.com/linux/linux-tutorial.html)
10+
11+
## 什么是Linux
12+
13+
Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
14+
15+
我们现在常说的“Linux”其实是Linux发行版,简单点就是将 Linux 内核与应用软件做一个打包。目前市面上较知名的发行版有:**Ubuntu(常用)**、RedHat、**CentOS(也很常用)**、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
16+
17+
## 如何远程登录Linux服务器
18+
19+
### 1. SSH登录
20+
21+
Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。
22+
23+
配置好服务器、改好密码后,就可以开始SSH登录了。一般来说,服务器提供商都会帮你配置好SSH(不然你也没办法连)。
24+
25+
基础的连接命令:
26+
```
27+
ssh <username>@<ip> [-p <port>]
28+
```
29+
30+
示例:
31+
```
32+
ssh root@192.168.0.1
33+
```
34+
35+
然后按照提示输入密码就可以登录了。
36+
37+
当然,还有更加简便的方式。在本机上的`~/.ssh/config`中可以加入形如这样的配置:
38+
39+
```
40+
// 第一个服务器
41+
Host test
42+
HostName 159.75.155.105
43+
User root
44+
45+
// 第二个服务器
46+
Host my_server
47+
HostName 8.209.215.61
48+
User root
49+
IdentityFile ~/.ssh/id_rsa
50+
```
51+
52+
拿第二个作为例子,每次登录的时候,就用不着写`ssh root@8.209.215.61`了,直接`ssh my_server`即可。
53+
54+
当然,你一定会觉得每次都要输入一遍密码太费事儿了。我们还有更加快捷、安全的方案——密钥对登录。
55+
56+
首先,在本机上生成密钥对:
57+
58+
```
59+
ssh-keygen
60+
```
61+
62+
然后跟着引导一步步走就可以,密码什么的用不着设置。如果你之后要存很多私钥的话,建议还是分别命名,不然容易混淆。
63+
64+
接着将公钥上传到目标服务器
65+
```
66+
ssh-copy-id -i ~/.ssh/<你的公钥文件>.pub <username>@<ip>
67+
```
68+
69+
这样就配置好了!直接登录即可,无需密码
70+
71+
```
72+
ssh root@192.168.0.1
73+
```
74+
75+
如果还是需要密码的话,需要在远程服务器上配置`sshd_config`
76+
77+
```
78+
vim /etc/ssh/sshd_config
79+
```
80+
81+
然后修改如下内容
82+
83+
```
84+
# 开启RSA认证
85+
RSAAuthentication yes
86+
# 公钥认证
87+
PubkeyAuthentication yes
88+
# 认证的公钥信息所在文件
89+
AuthorizedKeysFile .ssh/authorized_keys
90+
# 允许root账户登录
91+
PermitRootLogin yes
92+
# 允许密码认证(暂时设置成yes,密钥对登录设置完之后建议改成no,安全性更高)
93+
PasswordAuthentication yes
94+
```
95+
96+
修改完成后按`:wq`保存退出(这是vim的内容,后面会讲到),然后重启sshd服务:
97+
98+
```
99+
systemctl restart sshd
100+
```
101+
102+
这样应该就可以了。
103+
104+
### 2. SSH客户端登录
105+
106+
市面上有很多做得很好的SSH客户端,可以帮你省去很多麻烦。
107+
108+
强力推荐:
109+
[termius](https://termius.com)
110+
111+
### 3. 主流IDE的SSH插件
112+
113+
现在大部分的IDE都有SSH的功能,可以帮助你高效地在远程服务器上办公,例如Visual Studio Code、Jetbrains系列IDE(例如Pycharm、Clion、Idea)等。
114+
115+
虽然它们确实很好用,但我还是把他们放在最后讲,因为这种方法比前面提到的几种方法更“笨重”。为了更好地使用IDE的功能,连接的时候往往会在远程服务器上安装IDE的Server,占用很大的运行内存。如果你租用的是非常经济的小服务器,内存就2G甚至更低的话,再部署一点其他服务(比如用Docker起服务),这个服务器很快就会卡死、掉线,你只能重启。这种方法只推荐在性能相对充裕的服务器上使用。
116+
117+
[VSCode配置 SSH连接远程服务器+免密连接教程](https://zhuanlan.zhihu.com/p/667236864?s_r=0)
118+
119+
## Linux 基础命令
120+
121+
和我们常见的Windows、Mac这种图形化界面的操作系统不同,Linux是以命令行为基础的。
122+
123+
[【Linux】Linux常用命令60条(含完整命令语句)](https://blog.csdn.net/wzk4869/article/details/132855372)
124+
125+
## Vim
126+
127+
Vim是一种文本编辑工具,是从vi发展出来的。简单的来说,vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。连 vim 的官方网站 (https://www.vim.org/) 自己也说 vim 是一个程序开发工具而不是文字处理软件。如果使用得当的话,工作效率可能比你在Word上敲字还高。
128+
129+
[Vim编辑器使用教程(非常详细,基础操作看一篇就够了)](https://blog.csdn.net/weixin_58849785/article/details/137153298)
130+
131+
我理解迁移到Vim上很困难,所以如果你感觉还是很难掌握的话,可以考虑使用[LunarVim](https://www.lunarvim.org),你可以理解为“命令行中”的VSCode,支持鼠标操作,可以自由安装各种插件(甚至可以接入Copilot,实现AI自动补全代码)。

docs/新手村/markdown.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,15 @@
22
comments: true
33
---
44

5-
# Markdown
5+
# Markdown
6+
7+
我希望每个人都能认真学习一下Markdown,因为这真的是一个轻量级、易用且美观的标记语言。
8+
9+
我们大部分的文本工作其实完全可以用Markdown而非Word。我观察过很多同学的工作流,也和很多同学组过队,经常在这个问题上头疼。大部分人用Word只是单纯的记录文本、插入图片、插入表格,其实并没有非常细致的排版需求,但是Word的“所见即所得”让很多人忽略,甚至误用了其中的许多功能,比如多层级标题、序列标号、字体大小等。最终导致成品质量参差不齐,还要大费周章地整合、调整排版。
10+
11+
与其这样,不如大家都一起用Markdown这种文本文件(Word是二进制文件),这样非常的简洁,甚至可以通过Git进行版本管理。不仅如此,Markdown是最最亲民的一种语言了,因为市面上有很多笔记软件都适配Markdown,例如Notion(强力推荐)、熊掌记、印象笔记、Ulysses等等,全平台可用,甚至在手机上也可以用,唾手可得。
12+
13+
## 相关资源
14+
15+
[Markdown 教程](https://markdown.com.cn)
16+
[Notion](https://www.notion.com)

0 commit comments

Comments
 (0)