From 3f0c0df2e1e47f6442a2d4b7c9b683050958c0cc Mon Sep 17 00:00:00 2001 From: zhongyinmin Date: Sat, 2 Apr 2022 13:12:43 +0800 Subject: [PATCH] add cmdline tutorial && ask questions the smart way --- docs/CS学习规划.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/CS学习规划.md b/docs/CS学习规划.md index 3aefb515..b39421db 100644 --- a/docs/CS学习规划.md +++ b/docs/CS学习规划.md @@ -5,11 +5,14 @@ ## 必学工具 > 俗话说:磨刀不误砍柴工。如果你是一个刚刚接触计算机的24k纯小白,学会一些工具将会让你事半功倍。 +学会提问:也许你会惊讶,提问也算计算机必备技能吗,还放在第一条?我觉得在开源社区中,学会提问是一项非常重要的能力,它包含两方面的事情。其一是会变相地培养你自主解决问题的能力,因为从形成问题、描述问题并发布、他人回答、最后再到理解回答这个周期是非常长的,如果遇到什么鸡毛蒜皮的事情都希望别人最好远程桌面手把手帮你完成,那计算机的世界基本与你无缘了。其二,如果真的经过尝试还无法解决,可以借助开源社区的帮助,但这时候如何通过简洁的文字让别人瞬间理解你的处境以及目的,就显得尤为重要。推荐阅读[提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)这篇文章,这不仅能提高你解决问题的概率和效率,也能让开源社区里无偿提供解答的人们拥有一个好心情。 [MIT-Missing-Semester](编程入门/MIT-Missing-Semester.md)这门课覆盖了这些工具中绝大部分,而且有相当详细的使用指导,强烈建议小白学习。 [翻墙](必学工具/翻墙.md):由于一些众所周知的原因,谷歌、Github等网站在大陆无法访问。然而很多时候,谷歌和Stackoverflow可以解决你在开发过程中遇到的95%的问题。因此,学会翻墙几乎是一个内地CSer的必备技能。(考虑到法律问题,这个文档提供的翻墙方式仅对拥有北大邮箱的用户适用)。 +命令行:熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高极大地提高你作为工程师的灵活性以及生产力。[命令行的艺术](https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md)是一份非常经典的教程,它源于Quora的一个提问,但在各路大神的贡献努力下已经成为了一个Github十万stars的顶流项目,被翻译成了十几种语言。教程不长,非常建议大家反复通读,在实践中内化吸收。同时,掌握shell脚本编程也是一项不容忽视的技术,可以参考这个[教程](https://www.shellscript.sh/)。 + IDE(Integrated Development Environment):集成开发环境,说白了就是你写代码的地方。作为一个码农,IDE的重要性不言而喻,但由于很多IDE是为大型工程项目设计的,体量较大,功能也过于丰富。其实如今一些轻便的文本编辑器配合丰富的插件生态基本可以满足日常的轻量编程需求。个人常用的编辑器是VSCode和Sublime(前者的插件配置非常简单,后者略显复杂但颜值很高)。当然对于大型项目我还是会采用略重型的IDE,例如Pycharm(Python),IDEA(Java)等等(免责申明:所有的IDE都是世界上最好的IDE)。 [Vim](必学工具/Vim.md):一款命令行编辑工具。这是一个学习曲线有些陡峭的编辑器,不过学会它我觉得是非常有必要的,因为它将极大地提高你的开发效率。现在绝大多数IDE也都支持Vim插件,让你在享受现代开发环境的同时保留极客的炫酷(yue)。