Skip to content

crifan/crifan_ebook_readme

Repository files navigation

Crifan的电子书的使用说明

最后更新:20230914


[toc]


源码

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

Crifan电子书的简要说明

关于Crifan的电子书,无需细节只关注重点,则只需看此概览:

为何要有:Crifan的电子书

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

关于技术类中又分很多种,其中都放到了我的网站 crifan.com 上的工作和技术,目前已有7000多的技术帖,但多数内容都是零散的某个细节知识点和某个具体问题的解决过程和结果。

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

目前已经整理出150多本成系列的电子书了,接下来详细介绍:

另:手上还有几十本电子书的内容已基本完成,待之后能抽出时间再尽快整理发布出来。

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

我写的电子书涵盖范围面较广,需要专门整理后的分门别类的介绍,才有利于他人快速定位到自己所需要参考的内容。

目前所写电子书的总的概览:

下面详细介绍各个电子书的具体分类和内容简介:

技术类

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

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

自己主要涉及的领域是:

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

技术类通用知识

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

推荐的工具或软件

做各种领域的技术开发,甚至非技术方面的工作,都会涉及到一些好用的工具和利器,现整理如下:

科学上网

想要用外网,比如用google等搜索技术资料,可以使用shadowsocks:

编辑器和IDE

关于编辑器和IDE的概览和总结:

编辑器和IDE总结

好用的编辑器和IDE

之前Windows下觉得最好用的编辑器Notepad++:

现在觉得更好用的、最好用的编辑器(甚至可称之为IDE):VSCode:

Python开发中最专业的IDE:

画图工具软件

涉及到画路程图、结构图、架构图等,可以参考:

好用的画图工具

去选择合适的画图工具。

文件对比工具

如果需要对比文件、文件夹中的内容,可以参考:

文件内容对比工具总结

API接口测试

后端人员,移动端开发人员,测试人员等涉及调试api接口时,可以用Postman:

ssh远程连接工具

通过SSH连接远程服务器的工具方面,常用SecureCRT:

代码版本管理

当前最流行的是Git

硬件类

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

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

之前拆过智能音箱,然后总结了相关各种细节:

且在拆解期间又去整理了芯片和产业链的相关知识:

嵌入式软件

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

嵌入式领域(包括很多硬件反面)都有些通用的基础知识和概念:

关于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方面的协议介绍和相关驱动开发总结是:

具体模块或领域

PLC

此处暂时把PLC归为嵌入式大类。

关于PLC的知识的总结:

工控自动化技术:PLC

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

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

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

关于蓝牙的:

关于串口/RS232的:

关于音频领域的:

关于MPEG和MP3的知识:

上层软件

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

上层软件的通用知识

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

和HTTP方面的知识:

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

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

在涉及到前台和后台数据交互,常用数据格式是JSON:

字符编码

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

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

正则表达式

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

信息安全

需要先对信息安全领域有个总体的了解,可参考我自己边学边整理出的:

然后再去分别了解不同领域内的安全技术:

Web安全

其中侧总基于浏览器的、Web相关的安全是:

其中Web安全包含几个主要方面:

二进制安全

二进制安全,也称PWN,主要侧重点是操作系统的底层机制:

其中对于Windows系统,就是常说的Windows的漏洞和挖掘等方向。

设备安全

对于设备安全~=物联网安全,包含几个子领域=不同侧重点:

移动端安全和逆向

爬取安卓app的数据期间,折腾过如何破解安卓,后整理心得如下:

以及辅助工具:

后来整理出移动端安全和逆向的成套的教程:

自动化

把工作自动化的工具

不论是嵌入式还是上层软件,都可以用一些工具,从手动变自动,去提高做事效率,比如Makefile:

自动化测试

对于自动化测试,先看概览以了解有哪些子领域:

然后再去了解不同子领域:

PC桌面端软件

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

如果想要开发跨平台的桌面端应用,可以考虑选用Electron

苹果系统

苹果的MaciOS等相关开发总结:

苹果相关开发总结

网页Web领域开发

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

在数据可视化方面,有很多JS图形库,图标库,其中主流的有:

移动端APP开发

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

后续整理出了,不同端的开发总结:

爬虫

折腾网络爬虫(和模拟登录)领域的话,可以先去了解宏观逻辑和概念:

再去选择合适的语言去写爬虫,比如目前最适合的是Python:

然后才涉及到基于某语言(Python)去具体选择什么框架(PySpider),以提高爬虫效率:

在爬虫领域内涉及到提取内容时,往往才会涉及到Xpath:

如果想要抓包app时可以用:

另外,之前也写过相关的爬虫方面的资料:

通信领域

在移动通信网络中,总体网络从1G到5G的演化,可以参考:

期间出现了相关技术:

而最新的5G技术,总体概览如下:

上层软件的其他领域

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

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

先学习通用的语法格式Markdown:

再去使用相对简单好用的工具GitBook去制作电子书:

不过gitbook官网放弃维护,所以换用兼容和集成自GitbookHonKit

也可以用更加强大但非常复杂的,技术类书籍专业制作工具Docbook:

在数据库方面,主流的文档数据库有:

不同系统中都会涉及到文件和代码等压缩,可以参考:

如果涉及到音视频的处理,可以用强大的ffmpeg

Python语言

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

我Crifan的技术库

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

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

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

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

非技术类

电脑计算机使用类

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

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

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

WindowsMac等系统中,想要安装另外一个系统,可以用虚拟机软件,比如VMWareVirtualBox

工作类

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

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

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

领域相关知识

汽车销售行业内的知识,包括售前和售后、整车厂和经销商。经销商和客户等相关内容:

生活类

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

以及日常生活期间也有些心得供参考:

针对苏州这个城市,也专门整理了极其详尽的各种资料,尤其是宏观规划,详见:

娱乐类

本人常年打羽毛球,有些心得,整理如下,供喜欢羽毛球运动的参考:

About

Crifan的电子书的使用说明

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published