前言
我有话想说
本次我将尝试使用一种新的形式写一本教程,像我之前所写的教程普遍通铺到底,即第一步如何做,第二步又是什么,以此类推。这样就会产生一个问题:
对于那些看一眼可以理解的人来说,教程只是用于帮他回忆,这种人哪怕只看源码注释也可以很轻松的看懂。
然而对于那些看了半天还没头绪的人来说,看这些教程纯粹浪费时间。
总而言之,就是教程的目标人群不是很清晰,于是就形成了高不成低不就的尴尬局面。
如此一来,无论是闲视系列视频又或者我撰写的一些教程也就无法达到应有的效果。
在我神游各大教程的一年中,我意识到确定教程的目标群体很重要。我观察了B站视频中技术教程的视频主要分为几个档次:
- 面向小白
- 面向新手
- 面向大佬
其中,面向小白的教程满天飞,重复度颇高。不可否认其中确实有很多不错且覆盖面跨度较大的优秀作品,但这条路太卷,脱颖而出难度太大。
面向新手也就是那些大二大三学生,他们是学习意愿最强烈的,因为基础有限,对很多知识只是一知半解,这类目标群体数量也不算小,并且事少时间多愿意花精力去钻研,教学的成本较低,因此我也打算以该目标群体试水,推出本篇教程。至于说为什么不打后面几个档次群体的主意,你就说我配不配吧。我觉得我不配。
先简单介绍一下本篇教程所采用的教学思路:
本篇教程以项目为起点出发,围绕着具体的项目开展,分析和讲解其中的知识点,而不是采取知识点+项目的形式。原因有二:
第一,知识点+项目可以说是教程标准做法,然而我想玩点花的,我想反着来;
第二,我认为项目+知识点更容易理解,该方法是通过项目让你心中有了疑问,然后再引导你去思考解决问题,而知识点+项目则是填鸭给你知识点,然后用项目慢慢解释。不过这样也就意味着,本篇教程的目标群体范围将大大缩窄,可以说,对计算机零基础的同学可以合上书丢开了。
在带你完成各个项目的同时,我会标注其中的知识点,比如当某个项目使用了多线程相关技术时,我会标注该点并指引你前往一个知识页面,在那里,你可以比较全面地了解该知识点的相关知识。
我也不排除在该知识点内添加一些其他项目。你可以理解为:在讲解项目的同时,帮你提前检索了你不了解的知识点,并整理到了本篇教程的知识章节。
有关源码
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。
其中源码部分采用源码所属仓库所用协议。
如何阅读
我建议将仓库整体克隆下来,不要忘记克隆仓库的子模块。在仓库中,我在python目录中引用了本教程所用的所有项目,建议对照着源码阅读项目。
如何贡献
如果你想加入本教程的撰写,可以在Issue里提出你想完成的部分,我会不定期阅读。
如果你期望完善概念或知识点,那么,你可以在Issue中提出你要撰写的内容,例如多进程,然后列出你讲解的大纲,至少包括一个示例。如果文风与教程相符,那么我会邀请你加入并讨论。
如果你期望完善项目,那么,你可以在Issue中提出你要讲解的项目,包括项目源码、项目包含的知识点。你需要保证该项目使用MIT开源协议,且经由我或者其他成员走查。如果项目合适,那么我会邀请你加入并讨论。
如果你针对教程内容提问,请通过Issue提问。
如果你针对教程内容进行修改以及建议,请通过Issue+PR的方式提供。
我会根据实际贡献者(最终发布版本)撰写贡献者与致谢名单。
作者
致谢名单
按照贡献时间排名。