Crifan的电子书的使用说明
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
Crifan的电子书的使用说明.html
Crifan的电子书的使用说明.pdf
README.md

README.md

Crifan的电子书的使用说明

源码

crifan/crifan_ebook_readme: Crifan的电子书的使用说明

为何要有:Crifan的电子书

我之前折腾过很多方面的内容,包括技术类的和非技术类的。

关于技术类中又分很多种,其中都放到了我的网站 crifan.com 上,目前已有7000+的技术帖子,但多数都是零散的某个细节的知识点。

当我在某个技术领域有了一定的心得和经验后,就会抽空整理成相对成系统的内容,用(DocbookGitbook等)工具去变成电子书,免费发布出来方便别人参考。

目前已经整理出70+的成系列的电子书了,下面就来详细介绍一下。

为何要有:Crifan的电子书的使用说明

对于这些电子书,之前虽然已经分类列出来了,但是缺少了基本的介绍,所以对于很多人来说,不方便快速找到自己所需要看哪些。

现在加上必要的简介,重新整理如下:

目前所写电子书:

下面就来详细介绍一下,都有哪些方面的电子书,以及大概的内容分类如何,便于每人找到自己想要的内容:

技术类

计算机的技术,从大的概念上,可以大致分为:

  • 上层:纯软件
    • 涉及到在PC(Windows/Mac/Linux)上,用各种编辑器/IDE,去编写各种代码,实现各种工具/软件/脚本等内容
    • 包括PC桌面端软件,Web领域网页开发,移动端APP开发等等
  • 中间:(软硬件结合的)嵌入式
    • 涉及到在某某开发板上,写嵌入式代码,驱动硬件工作
    • 包括给别人的芯片或开发板,去写某BSP,某个模块(蓝牙,USB,FM,Nand Flash等)的驱动
  • 底层:纯硬件
    • 涉及PCB Layout,设计和生产开发版
    • 涉及到各种芯片的涉及,包括CPU,内存,显示屏等,涉及到流水线,代工厂等等内容

此处目前折腾的领域主要是:

中间的嵌入式上层的纯软件

技术类通用知识

不论哪方面的技术,都有一些通用的学习方面,逻辑概念,总结如下:

推荐的工具或软件

折腾技术或非技术期间,会用到很多软件和工具,此处把觉得不错的,整理出来,推荐之:

硬件类

折腾嵌入式期间,其实也想去了解硬件方面的知识,只不过没有深入。

只整理了点和硬件相关的皮毛:

嵌入式软件

下面是之前折腾的嵌入式开发相关的内容:

嵌入式通用知识

嵌入式领域内有些通用的,基本知识:

关于CPU方面的:

和技术和概念相关的,比如:

开发环境+交叉编译器

在折腾嵌入式相关开发前,往往要先去搭建开发环境,其中就要先去搞懂:交叉编译

先去搞清楚什么是交叉编译:

然后再去了解相关的GNU方面的工具:

然后再去用具体的某个工具,去搭建交叉编译环境(和相关的工具链、rootfs等内容):

关于开发环境的:

在Windows上折腾Linux方面的开发,用Cygiwn:

嵌入式Linux+嵌入式Linux驱动

如果对于嵌入式软件的整体概念不了解,可以去看:

如果想要了解嵌入式软件中关于驱动开发的事情,可以去看:

而关于嵌入式Linux方面的软件和软件中的驱动,可以去看:

关于嵌入式Linux开发期间的,有:

而关于典型的Uboot+Kernel+Rootfs的嵌入式Linux中的Uboot:

其中的最开始的启动代码相关的Start.S的汇编代码,实现了启动硬件的功能。

而关于启动的逻辑的具体分析:

而关于具体的某个模块/功能方面的驱动有:

关于DMA的驱动:

关于无线网卡的驱动:

关于Nand Flash方面的驱动和介绍:

而其中Linux中关于Nand Flash的是MTD层,MTD中关于如何识别Nand Flash和启动过程的解析是:

而关于USB方面的协议介绍和相关驱动开发总结是:

具体模块或领域

大的方向=嵌入式的不同应用领域

条形码Symbology相关的,各种不同类型的条形码的总结:

小方面来说=关于具体的模块/硬件/协议方面

关于蓝牙的:

关于串口/RS232的:

关于音频领域的:

关于MPEG和MP3的知识:

上层软件

对于上层纯软件方面,也有一些总结:

上层软件的通用知识

关于后台开发和设计接口,移动端调用后台接口,测试人员测试接口和网页等相关的:

和HTTP方面的知识:

以及后台人员设计RESTFul的API接口需要了解的:

以及后台人员开发调试接口时,移动端调用接口时,测试人员测试接口时,可以用到的Postman工具:

各种计算机语言通用的的方面的知识总结:

在涉及到前台和后台数据交互,往往都是用JSON:

不同的语言和工具中,都支持用正则表达式去实现复杂的规则去提取想要的数据:

而用不同的编辑器或IDE,以及处理文件相关的内容时,往往会涉及到文件的字符编码,可参考:

而上面的教程内容太多太杂,如果只是想要简单的使用编码方面的知识,可以直接去看:

PC桌面端软件

在写Windows平台的桌面端软件时,可以使用C#:

网页Web领域开发

在涉及到Web网页自动化测试,写爬虫等,会涉及到Selenium:

而在Web和上层领域内,对于html类的内容提取常会涉及到Xpath:

关于如何搭建网站,以及如何给网站搬家的话,可以参考:

移动端APP开发

在涉及到移动端开发时,可以参考:

上层软件的其他领域

比如想要开发自己特定领域内的语言的解析器,即实现自己的编译器,可以使用ANTLR:

想要和我一样,制作出复杂的电子书,可以:

先学习通用的语法格式:

然后再去使用相对简单好用的工具:

也可以去用更加强大但比较复杂的工具,比如:

折腾网络爬虫(和模拟登录)领域的话,可以参考:

Python语言

折腾折腾Pyton期间,单独整理了一系列的内容,供参考:

用于入门级的介绍的:

关于整体的Python的心得和总结:

关于某个特定的模块的总结:

我个人=自己=Crifan相关的内容

在折腾技术方面,整理出一些,相对通用的库,整理出来,供参考:

目前最新的代码,都放到 crifan的Github上了:

其中关于自己的库函数,各种语言都有:

https://github.com/crifan/crifanLib

其中关于C#和Python,分别写了专门的电子书解释如何使用:

非技术类

电脑计算机使用类

和电脑/计算机使用方面的知识,比如有哪些常见的操作系统,以及如何安装软件和驱动等知识的:

以及觉得很多好用的工具和软件,也进行了推荐:

和技术开发有点关系,但是更主要是属于电脑使用方面的,虚拟机:

在Windows/Mac中,按照Mac或Windows的系统,而用到的工具,比如VMWare或VirtualBox:

工作类

而开始了工作后,需要了解的各种基本概念和常识,包括招聘和应聘,薪资待遇,股票和期权,创业和公司等:

而和别人合作时,往往涉及到文件共享,资料共享,协同编辑等内容,可以使用有道云协作:

而工作后,会遇到具体的某个商业领域相关的知识,比如:

和汽车销售行业,售前和售后,整车厂和经销商,经销商和客户等相关内容:

生活类

和买房前后需要注意哪些事项,具体买房的过程的内容: