Skip to content

Latest commit

 

History

History
62 lines (47 loc) · 4.47 KB

序章.md

File metadata and controls

62 lines (47 loc) · 4.47 KB

序章

一、你是谁

朋友们,很高兴认识你们,我是你们的划水学长武钰淞@bqsgwys,现在大概在清华大学的电子工程系。如果你们有任何疑问的话,可以在这个下面交Issue(点击Issues-> New Issue)我会尽快解答你,也可以联系我([email protected]),或者你们另一位亲爱的学长刘晓义 @CircuitCoder ([email protected]),或潘瑞哲同学, 我相信我们都会给你们最详尽的解答。当然,上网查资料是更好的方式,这样的话你们将能更好更快的学会该问题的解决方法 😂

二、你要干什么

朋友们,很欢迎你们加入清华附中高研实验室,在我那个时候,我们都经历过一段很苦逼的体验:使用开源项目。之所以说他苦逼是因为开源项目实在特定的环境下编写的(尤其是个人项目),而将他们转移到当前电脑中是一件很麻烦的事情,更麻烦的是,如果你的程序出了BUG,读懂错误代码机器重要,要不然你就只能随缘DEBUG。为了让你们少走弯路,我接受邱楠老师的邀请做一个关于开发环境搭建与项目调试的教程。通过这个教程,我相信你们一定可以在之后配置开发环境和调试程序的过程中更加顺利。尽量的避免出现

我是谁?我在哪?我在干什么?

或者

出什么事了?为什么就是跑不起来?怎么又崩溃了?

的问题

三、开发环境

1.开发环境是什么

百科这么说:

软件开发环境是指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。

通俗的讲,开发环境就是你编写程序所在的操作系统,所用的编辑工具和编译运行程序所需要的编译器、库以及其他必须工具的总和。例如,一个普遍的TensorFlow-Python(机器学习框架)环境包括Python、TensorFlow库、CUDA(这样你才能用GTX1080跑机器学习)、CUDNN(Nvidia发布的CUDA上的机器学习库)和你喜欢的编辑器(Vim、VSCode...)等等。

2.为什么配置开发环境很复杂

事实上、就像我之前所提到的,一个开发环境可能包括许多不同的组件,而这些组件通常由不同的人、语言、甚至系统平台上完成,而这就给你整合这些组件造成了困难。
还是刚刚的例子,Python是默认安装的,CUDA和CUDNN可以从Nvidia官方获取,但TensorFlow库是用C++写的,只是提供Python接口,而且如果需要编译TensorFlow的话还需要C编译器和CUDA的支持。而在这期间(如果你选择手动编译的话)可能会出现数以万计的Warning和一些错误,如何处理它们需要经验的支持。

3.我将学到什么

在我的预期中,你们将通过一个一个的案例学到如何成功的配置一个开发环境,包括:

  • Node.js 网络开发环境配置
  • TensorFlow 机器学习环境配置
  • OpenCV 机器视觉环境配置

涉及语言有:

  • C/C++
  • JavaScript
  • Python

平台包括

  • Windows10
  • Ubuntu
  • MacOS

四、调试

1.我们为什么要调试

朋友,不用骗自己了,你的程序有BUG!😂😂😂

2.我将学到什么

在我的预期中,你们将学到如何查看错误信息并修改代码以及如何查看变量及下断点主要涉及语言是:

  • C/C++
  • JavaScript
  • Python

五、我该到哪里找更多资料

1.GOOGLE

毋庸置疑,Google拥有这个地球上最广的搜索,你基本上可以搜索到任何你面对的问题并得到良好的解答,而这仅需要一点英文水平。(需要科学上网)

2.StackOverflow

StackOverflow是一个与程序相关的IT技术问答网站。基本上可以解答你80%以上的问题且附有特别详细的解决方案和反馈,而且如果没有问题的话你也可以自己提问。

3.有关于科学上网

我已经和邱楠老师说过一次了,但我不确定会不会批准。你们有可能将会享受到科学上网的便利。如果没有的话,我建议你们合资在国外租一台服务器来享受科学上网的便利。详细可询问你们的学长/同学潘瑞哲@JieJiSS。

六、推荐书目

朋友,你居然还看书???自己上网学吧。