练习 0:起步
你需要设置和配置一些工具来学习此书。有可能你已经有了很多这些东西,但让我们确认一下。
程序员的编辑器
你需要一个程序员的文本编辑器,而不是 IDE。Vim,Emacs 和 Atom 都是程序员的文本编辑器。他们不是简单的文本编辑器,不仅仅能处理文本,而且为你管理整个项目而设计,并能够一次处理大量的程序文件。它们还具有 IDE 中的常见功能,如运行构建命令,脚本,以及其它,但有一个主要区别。IDE 通常与单一语言相关联,因为它对源进行高级的检测,并为你提供编写代码的快捷方式。然后,你不必记住任何事情,只需大多数任何项目中,ctrl-space
你的方式。当你拥有 100 个另外的 10x 开发人员,它们编写更多技术债务,你无法处理的时候,这真是太棒了。当你试图学习时,这是一个糟糕的功能。另一个问题是你必须等待某人,为你编写任何新语言的 IDE,因此如果 Microsoft 或 JetBrains 不喜欢某种语言,那么你将被卡住。
你可以使用 IDE 做的一切事情,你也可以使用一个真正的程序员的文本编辑器来做,因为像 Vim,Emacs 和 Atom 这样的编辑器是可脚本化和可修改的,它们永不过时。如果 Haskell ++ 成为下一个热点,你可以同时处理它和所有过去的项目。如果你依赖 IDE,那么你必须等待别人为你解决这个语言。
如果你刚开始想要一个免费的程序员编辑器,那么你应该获取 Atom 或 VisualStudioCode 。这些编辑器运行在我在本书中使用的每个平台上,都是可校本化的,有很多插件,而且易于使用。如果你愿意,你也可以使用 Vim 或 Emacs。
Python 3.6
这本书需要 Python 3.6。在理论上你可以使用 Python 2.7,因为许多练习是没有代码的挑战。不过,这些视频将在答案中使用 Python 3.6,而答案的官方代码库也使用 Python 3.6 。这意味着如果你将答案转换为 Python 2.7,就会有问题。如果你不了解 Python 3.6,那么你可以阅读《笨办法学 Python 3》,来获得基础知识。
工作终端
如果你已经读完了《笨办法学 Python》,那么你知道了我要求你使用终端。现在我不需要告诉你如何开始,但是以防万一,折翼课的视频展示了几个选项。该视频在 Windows 上非常有用,因为微软的终端支持和 shell 脚本的风格发生了巨大变化,现在他们正在支持范围更广的 Unix 工具。
Pip+Virtualenv 工作配置
在本书中,你将安装大量额外的库和软件。在 Python 世界中,这最容易用pip
和virtualenv
完成。pip
工具离线安装软件包,并把他们放到你的计算机上,因此你可以将它们导入到你的 Python 脚本中。pip
的问题是,你被迫将其安装在计算机上的正式目录中,这需要 root 或管理员权限。解决方案是virtualenv
工具,它在目录中创建了一种“Python 包的沙箱”,然后允许你运行pip
,在这里安装软件包,而不是整个主机。在视频中,我会向你展示如何安装,以及确保你在所有平台安装了pip+virtualenv
,并使用它。
实验日记
在研究项目时,你将要做笔记和记录指标。你会希望得到一个方格纸的本子,或者可能是带有点而不是线的纸张,以及一袋好的铅笔。你可以使用任何你喜欢的东西,但本书中的一部分过程是在计算机外部跟踪事件,在解决问题时,作为改变你的观点的一种方式。你更有可能使用长于计算机的纸张(尽管这可能会在以后发生变化),因此你可能会觉得纸张更“真实”,而电脑没有意义。先把东西写在纸上,然后将它们翻译成代码,这样可以帮助你渡过这个感知上的难题。最后,在纸上绘画更加容易。
Github 账户
如果你还没有帐户,你将需要访问github.com
并注册一个帐户。我将为你提供所有视频演示和所有项目的免费代码,以便你可以检查你的工作。如果你卡住了你可以看看这本书的项目,并看看我如何解决它。还有一些时候,我会让你修复一个项目,我有意留了一些 bug 作为练习。
git
如果你有一个github.com
帐户,那么你还需要使用命令行工具git
。github.com
将会提供大量信息,有关如何以及在哪里获取它,但请观看视频,来了解如何为你的平台最佳安装它。
可选:屏幕录制软件
这不是必需的,但是如果你可以获得软件来记录屏幕,并且理想情况下,可以同时记录你的脸部,那么这将有助于你分析你的工作方式。我说这是可选的,因为完成记录你的工作可能太困难了,其中你需要检查并分析一些线索,关于如何改善你的流程。我这样做了一段时间,它帮助了我很多,但它也扼杀了我的创造力。我的建议是,如果你负担得起或找到了屏幕录制软件,当你觉得你根本无法弄清楚你做错了什么,需要看观察你自己的工作,那么你应该使用它。我也认为,在工作时记录你的实际的脸部和身体,有助于检查你是否拥有良好的姿势或其他身体习惯,它们可能会使身体损伤,但同样,工作时记录自己一整天太麻烦了。这也是你不能与其他人一起做的事情。
深入学习
这就是你现在所需的一切。随着书的继续,我会在特定的时候指导你所需的其他事情。为了完成这个练习,你现在应该观看你的平台的视频,然后安装我告诉你的所有东西。如果你已经安装了某些东西,那么视频会有一些东西,可以确认你的工具是否正常运行。观看它来确保你可以遵循本书的其余部分。