我的速查手册

本文只是记录一些自己(曾经或者现在)经常翻查的手册(帮助文档),有些是解释语法的(例如make, python),有些是介绍工具使用的(例如git),写下来是为了自己方便查找。
希望对你也有帮助。

我能下载到的文档,已经放到了:https://github.com/galian123/MyCheatSheet,需要的话请自取。
声明:由于维护时间成本的问题,后续内容更新直接在github上进行。内容不能同步,请谅解。后续更新,请见: https://github.com/galian123/MyCheatSheet

一般遇到技术上的问题,通常的做法(除了请教他人之外):

  • 官方文档
    如果要更好地理解代码,或者理解工具的使用,官方的文档、官方的说明是必读的。官方的文档一般写的都比较简洁了当,只是把要点写出来了,第一次读一般会忽略掉很多细节,之后每一次读都会有不同的体会,这跟读一本书是类似的。

  • 搜索引擎
    对于某个知识点,可以通过搜索引擎快速上手,查查百度、必应或者谷歌,一般都是可以搜到结果的。

  • stackoverflow
    stackoverflow上的解答,通常可以解决大部分问题。stackoverflow是通过tag来分类,可以到 https://stackoverflow.com/tags 页面中找到问题所属的tag,然后可以在那个分类里搜索。

  • 维基百科
    维基百科也是很不错的资源,维基百科对一些概念有较完整的知识体系,从某个词条的引用部分可以找到不少有用的信息,以便进一步学习。

  • github开源项目中的Issue
    对于github中开源项目的问题,通常先去项目的Issue中搜索是否有相同或相似的问题。例如py-faster-rcnn的『Issues』,可以看到提交了很多问题,没有解决的问题(Open的)有505个,已经解决的(Closed)有205个。通常你遇到的问题,别人已经遇到,并提交到『Issues』这里了。
    这里写图片描述

★ 1. 遇到的问题

♦ 1.1 代码相关的

阅读代码的过程中,一般会遇到的问题有:

  • (1)编译相关的问题,例如make(makefile)的语法、cmake的CMakeLists.txt中用到的语法、gcc的参数等。makefile还会内嵌一些shell命令。

  • (2)编程语言相关的问题: 例如Java、C++、Python、Javascript等语言的语法。

  • (3)操作系统相关的问题:例如寄存器、进程、线程、线程池、进程挂起、进程调度、内存分配与释放、内存回收等一些概念,需要阅读操作系统相关的书籍或者文档,达到更清晰的理解。

  • (4)各种文件格式、数据格式规范相关的问题:例如Android中的dex格式、oat格式、各种图片格式,各种规范(例如SMS规范、MMS规范),动态库(.so文件)的ELF规范等等。

  • (5)架构、设计理念相关的问题:类似这个困惑:所有的代码语法都能看懂,就是不明白为什么代码写成了这么复杂的样子。这个问题类似于一句英语中的每个单词都认识,就是不能理解这句英语是什么意思。因为代码的背后有一个设计理念,为了方便维护、易于扩展、易于团队协同开发等很多代码外的因素,需要把代码设计成某种模式、或者应用某个框架。理解代码的架构,会对理解代码很有帮助。

本人总结的肯定有遗漏,权且算作是我自己的分类吧,而且分类也是自定义的,仅供参考。

♦ 1.2 工具相关的

这个『工具』类别与上面的『代码』类别的差异,用不太恰当的类比,可以比作『黑盒』和『白盒』测试。使用工具基本上可以不用管工具是怎么实现的,更多的关注点在怎么用好工具,例如git工具,我相信读过git源代码的应该不多,我们更多的精力放在如何用好git上。

其实,用好一个工具,有时是需要读一些工具的源代码的,这对解决使用工具时遇到的问题有很大帮助,也会对工具的使用有更深刻的理解。

各种工具就很多了,版本控制工具、各种开源工具、各种专项工具(例如Android Studio用于Android项目的开发)等等,本文只是记录下我用到的一些工具的帮助文档,读者可以根据自身情况整理属于自己的速查手册。

★ 2. 速查手册

再次声明:本文介绍的只是我个人经常查的帮助文档,以官方的文档为主,也包括一些很好的博客、书籍(以电子书为主,方便在电脑中搜索)。能下载到的文档,已经放到了:https://github.com/galian123/MyCheatSheet,读者可以fork,并删改形成自己的版本。

♦ 2.1 编译相关的

♦ 2.2 编程语言相关的

♦ 2.3 操作系统相关的

♦ 2.4 各种文件格式、数据格式规范相关的

♦ 2.5 架构、设计理念相关的

♦ 2.6 工具相关的

猜你喜欢

转载自blog.csdn.net/u013553529/article/details/78935717