08 2017 档案
摘要:练习 8:更多的重定向和过滤:head,tail,awk,grep,sed 原文:Exercise 8. Bash: more on redirection and filtering: head, tail, awk, grep, sed 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采
阅读全文
摘要:练习 4:Bash:处理文件,pwd,ls,cp,mv,rm,touch 原文:Exercise 4. Bash: working with files, pwd, ls, cp, mv, rm, touch 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在 Linux 中,
阅读全文
摘要:练习 0:起步 原文:Exercise 0. The Setup 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 Windows,手动安装 非常长的指南 Windows,VirtualBox 虚拟机(.ova格式的预配置映像) 你需要什么 VitualBox,虚拟机播放器。pu
阅读全文
摘要:引言 原文:Introduction 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 深入兔子洞吧,这就是 Linux: https://bellard.org/jslinux/vm.html?url=https://bellard.org/jslinux/buildroot-
阅读全文
摘要:笨办法学 Python · 续 中文版 原书:Learn More Python 3 The Hard Way 译者:飞龙 自豪地采用谷歌翻译 在线阅读PDF格式EPUB格式MOBI格式代码仓库 赞助我 协议 CC BY-NC-SA 4.0
阅读全文
摘要:第三部分:数据结构 原文:Part III: Data Structures 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你正在以你的方式构建个人流程,它让你以有限的阻碍快速起步。拥有良好的起步流程,以及培养一种尽管去做的能力,就是创造力的基础。创造力是一种流动性和放松的心
阅读全文
摘要:练习 52:moreweb 原文:Exercise 52: moreweb 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 现在,你已经使用 Python http.server库创建了一个 Web 服务器。你已经进行到最后一个项目了。你将使用你至今为止所学到的所有东西,从无到
阅读全文
摘要:练习 51:lessweb 原文:Exercise 51: lessweb 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我们很接近这本书的末尾了,所以在最后两个练习中我将给你一个项目。您将要创建一个 Web 服务器。在本练习中,您只需了解 Python http.serve
阅读全文
摘要:练习 50:vi 原文:Exercise 50: vi 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你有一个模块,实现了ed和sed中使用的功能。显然,下一步是实现世界历史上最讨厌和实用的文本编辑器:vi。如果你知道 Lisp 可以实现 Emacs,但没有人有时间创建一个伪
阅读全文
摘要:练习 49:sed 原文:Exercise 49: sed 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 当你学习如何制作快速而简陋的黑魔法时,你在练习 9 中实现了一个“低配版”的sed。在本练习中,您将尝试实现另一个精确的命令副本。在练习 48 的研究性学习中,您的任务是
阅读全文
摘要:练习 48:ed 原文:Exercise 48: ed 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 如果你的流程生效了,那么你应该能够专注于较长的项目,一次几个星期。在这个项目中,你的目标是创建尽可能精确的ed命令副本。这个练习的目标是不要有创意,而是要系统地实现另一个软件
阅读全文
摘要:练习 47:bc 原文:Exercise 47: bc 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你应该热身并准备处理这个新项目。我通常假设,你将在一两天内的 2~3 小时的会话中完成这些项目,但你通常可以尽可能多地实现这些项目。 这个项目是,使用第五部分学到的内容,来为
阅读全文
摘要:练习 46:blog 原文:Exercise 46: blog 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你应该按照本节开头的描述编写流程主题,你应该将流程列出并做好准备。为了起步,我们将为本节的其余部分提供一个名为blog的全新工具作为热身。 你应该慢慢参与这个项目,尽
阅读全文
摘要:第七部分:大作业 原文:Part VII: Final Projects 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 本书的最后一部分是你进阶更高级项目,并尝试确定你的个人流程的地方。这些项目是困难的组合,但他们应该帮助你正式化你的流程,并找出适合你的东西。最重要的是,你应
阅读全文
摘要:第六部分:SQL 和对象关系映射 原文:Part VI: SQL and Object Relational Mapping 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在本书的这一部分中,我们将介绍一些内容,它们与本书其余部分的结构不相符,但对于初级开发人员来说,这是非常
阅读全文
摘要:练习 45:创建 ORM 原文:Exercise 45: Creating an ORM 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 这本书的 SQL 部分的最后一个练习是一个很大的跳跃。你使用一个数据库知道了 SQL 语言的基础知识。你也应该精通 Python 的 OOP
阅读全文
摘要:练习 43:SQL 管理 原文:Exercise 43: SQL Administration 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 “管理”一词在数据库中重载了。它的意思是“确保 PostgreSQL 服务器保持运行”,或者是“为新软件的部署更改和迁移表”。在本练习
阅读全文
摘要:练习 44:使用 Python 的数据库 API 原文:Exercise 44: Using Python’s Database API 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 Python 具有标准化的数据库 API,可以使用相同的代码访问多个数据库。您要连接的每个数
阅读全文
摘要:练习 42:SQL 删除 原文:EExercise 42: Deleting with SQL 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 这是最简单的练习,但我希望你键入代码之前思考一秒钟。如果你将SELECT写成"SELECT * FROM",将INSERT写成"INS
阅读全文
摘要:练习 41:SQL 更新 原文:Exercise 41: Updating with SQL 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 现在,你了解了 CRUD 的 CR 部分,还剩下更新和删除操作。与所有其他 SQL 命令一样,UPDATE命令遵循类似于DELETE的格
阅读全文
摘要:练习 39:SQL 创建 原文:Exercise 39: Creating with SQL 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 当我们谈论首字母缩写“CRUD”时,“C”代表“创建”,它不仅仅意味着创建表。这也意味着将数据插入到表中,并使用表和插入来链接表。由于我
阅读全文
摘要:练习 40:SQL 读取 原文:Exercise 40: Reading with SQL 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在 CRUD 矩阵中,你只知道“创建”。你可以创建表,你可以在这些表中创建行。现在我将告诉你如何“读取”,或者在 SQL 中是SELECT
阅读全文
摘要:练习 38:SQL 简介 原文:Exercise 38: Introduction To SQL 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 学习如何建模和设计实体数据的最佳方法,是从非常基本的搭积木开始。数据库的 SQL(“SeQueL”)风格数十年来已成为数据建模和存储
阅读全文
摘要:练习 37:小型 BASIC 原文:Exercise 37: Little BASIC 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你现在要及时回到我的童年,并实现一个 BASIC 解释器。不,我这里的 BASIC 不是指“一个非常简单的基本的解释器”。我的意思是 BASI
阅读全文
摘要:练习 36:简单的计算器 原文:Exercise 36: Simple Calculator 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 这个挑战是创建一个简单的代数计算器,使用你所学到的关于解析的一切。你将需要设计一种语言,用于使用变量进行基本数学运算,为该语言创建 AB
阅读全文
摘要:练习 35:解释器 原文:Exercise 35: Interpreters 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 解析中的最后一个练习应该既具有挑战性又有趣。你终于可以看到,你的微型 Python 脚本运行并做了一些事情。难以理解这个章节和解析的概念很正常。如果你发
阅读全文
摘要:练习 34:分析器 原文:Exercise 34: Analyzers 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你现在有了一个解析器,它应该生成一个语法产生式对象树。我会将其称为“解析树”,这意味着你可以从“解析树的顶部开始,然后“遍历”它,直到你访问每个节点来分析整个
阅读全文
摘要:练习 33:解析器 原文:Exercise 33: Parsers 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 想象一下,你将获得一个巨大的数字列表,你必须将其输入到电子表格中。一开始,这个巨大的列表只是一个空格分隔的原始数据流。你的大脑会自动在空格处拆分数字流并创建数字。
阅读全文
摘要:练习 32:扫描器 原文:Exercise 32: Scanners 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我的第一本书在练习 48 中非常偶然涉及到了扫描器,但现在我们将会更加正式。我将解释扫描文本背后的概念,它与正则表达式有关,以及如何为一小段 Python 代码
阅读全文
摘要:练习 31:正则表达式 原文:Exercise 31: Regular Expressions 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 正则表达式(RegEx)是一种简洁的方式,用于确定字符序列应如何在字符串中匹配。通常大家都认为它们是“可怕”的,但是,正如你所知道的,
阅读全文
摘要:练习 30:有限状态机 原文:Exercise 30: Finite State Machines 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 每当你阅读一本关于解析的书,都有一个可怕的章节,关于有限状态机(FSM)。他们对“边”和“节点”进行了详细的分析,每个可能的“自动
阅读全文
摘要:第五部分:文本解析 原文:Part V: Parsing Text 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 本书的这一部分将教你如何处理文本,特别是,它是文本解析的正式开始。所以我不会涉及编程语言理论的所有不同理论元素,因为这是整个大学的学位。这只是简单而朴素的文本解析
阅读全文
摘要:练习 29:diff和patch 原文:Exercise 29: diff and patch 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 为了完成第四部分,你将简单把你所学习的完整的 TDD 流程,应用于你可能不熟悉的、更相关的项目。请参阅练习 28 来确认你了解该流程,
阅读全文
摘要:练习 28:sh 原文:Exercise 28: sh 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你现在将继续你的 TDD 风格流程,但你将添加一个小型的 Hack 会话来起步。使用 TDD 工作的最佳方法,实际上不是首先编写测试,而是以这种方式工作: 花45分钟的时间来
阅读全文
摘要:练习 27:tr 原文:Exercise 27: tr 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 这个练习是继续学习 TDD(又称“测试优先”)风格的开发。知道如何这样编程很重要,因为它在许多地方使用,但如前所述,它有其局限性。在实现tr命令时,您将再次使用 TDD 进行
阅读全文
摘要:练习 26:hexdump 原文:Exercise 26: hexdump 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你已经用xargs完成了热身,现在正在代码/审计的循环中。你现在将尝试以“测试优先”方式完成下一个挑战。这就是,你编写测试,它描述你的预期行为,然后实现该
阅读全文
摘要:练习 25:xargs 原文:Exercise 25: xargs 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我们回到挑战模式的练习,并为你热身,你将会实现xargs。这应该是一个简单的实现,但是xargs可能很复杂,因为你需要启动其他程序才能使其运行。你要研究的 Pyt
阅读全文
摘要:第四部分:进阶项目 原文:Part IV: Intermediate Projects 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在第三部分中,你学习了数据结构和算法的基础知识,但更重要的是,你学习了审计和测试代码。你并没有审计和测试你自己的代码。你刚刚通过我教给你的方式
阅读全文
摘要:练习 1:流程 原文:Exercise 1: On Process 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 软件开发世界中有两种类型的流程。首先是团队流程,这是 Scrum,敏捷或者极限编程。这些流程旨在帮助一群人合作开发大型代码库,而不会相互干扰。团队流程指的是,每个
阅读全文
摘要:练习 24:URL 快速路由 原文:Exercise 24: Fast URL Search 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我们将结束数据结构和算法的部分,并将数据结构用于实际问题。我已经写了几个 Web 服务器,一个不断出现的问题是,将 URL 路径匹配到“
阅读全文
摘要:练习 23:三叉搜索树 原文:Exercise 23: Ternary Search Trees 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我们将研究的最后一个数据结构称为三叉搜索树(TSTree),它可以在一组字符串中快速查找字符串。它类似于BSTree,但是它有三个子
阅读全文
摘要:练习 22:后缀数组 原文:Exercise 22: Suffix Arrays 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我想告诉你一个关于后缀数组的故事。在一段时间里,我正在西雅图的一家公司面试,当时好奇的是如何最有效地创建一个用于可执行二进制文件的diff。我的研究
阅读全文
摘要:练习 21:二分搜索 原文:Exercise 21: Binary Search 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 二分搜索算法是一个简单方法,在已排序的元素列表中查找元素。它很容易描述为接受排序列表,并将其分成两半,直到找到它或遍历完。如果你完成了练习 20,那
阅读全文
摘要:练习 20:二叉搜索树 原文:Exercise 20: Binary Search Trees 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在本练习中,我将让你将数据结构的中文描述翻译成工作代码。你已经知道如何使用“大师复制”方法,分析算法或数据结构的代码。你还可以了解如何
阅读全文
摘要:练习 19:改善性能 原文:Exercise 19: Improving Performance 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 这几乎完全是视频练习,其中我演示了如何改进你至今为止编写的代码的性能,但首先应该尝试。你已经分析了 练习 18 的代码的速度有多慢,
阅读全文
摘要:引言 原文:Introduction 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 流程,创造力和质量。在阅读本书的同时,将这三个词写入你的脑海中。流程、创造力、质量。这本书可能充满了重要主题的练习,每个程序员都应该知道它们,但是从书中获得的真实知识就是这三个词。我写这本编程
阅读全文
摘要:第一部分:预备知识 原文:Part I: Initial Knowledge 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你需要学习的第一件事就是一切事情。我知道这是吓人的,但我在介绍中提到,你在整本书中只会练习三个技巧。当你完成其他任务时,每项练习都会强化每项技能。我可能
阅读全文
摘要:练习 0:起步 原文:Exercise 0: The Setup 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你需要设置和配置一些工具来学习此书。有可能你已经有了很多这些东西,但让我们确认一下。 程序员的编辑器 你需要一个程序员的文本编辑器,而不是 IDE。Vim,Emac
阅读全文
摘要:练习 18:性能测量 原文:Exercise 18: Measuring Performance 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在本练习中,你将学习使用多种工具来分析你创建的数据结构和算法的性能。为了使这个介绍专注并且简洁,我们将查看练习 16 中的sorte
阅读全文
摘要:练习 17:字典 原文:Exercise 17: Dictionary 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你应该熟悉 Python 的dict类。无论什么时候,你编写这样的代码: cars = {'Toyota': 4, 'BMW': 20, 'Audi': 10
阅读全文
摘要:练习 16:冒泡、快速和归并排序 原文:Exercise 16: Bubble, Quick, and Merge Sort 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你现在将尝试为你的DoubleLinkedList数据结构实现排序算法。对于这些描述,我将使用“数字列表
阅读全文
摘要:练习 15:栈和队列 原文:Exercise 15: Stacks and Queues 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 当处理数据结构时,你将经常遇到类似于另一种结构的结构。Stack类似于练习13中的SingleLinkedList,以及Queue类似于练习
阅读全文
摘要:练习 14:双链表 原文:Exercise 14: Double Linked Lists 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 以前的练习可能需要花一段时间才能完成,因为你必须弄清楚如何使单个链表工作。希望视频为你提供完成练习的足够信息,并向你展示如何审计代码。在本
阅读全文
摘要:练习 13:单链表 原文:Exercise 13: Single Linked Lists 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你将实现的第一个数据结构是单链表。我将描述数据结构,列出你应该实现的所有操作,并给你实现需要通过的单个测试。你应该首先尝试使用此数据结构,
阅读全文
摘要:练习 2:创造力 原文:Exercise 2: On Creativity 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 创造力没有什么特别之处。如果你是一个智力平均或以上的人,那么你拥有创造力。能够让你的想法变成现实,只是人类智慧和思想的一个方面。问题是创意已经成为特殊类别
阅读全文
摘要:练习 3:质量 原文:Exercise 3: On Quality 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我将提出一个关于认知的科学理论,我并不能证明它: 你所做事情的记忆,会让你思考最终产品,这是正确的行为。 这基于我所做的,几乎每一个创造性的事情的观察,它是这样:
阅读全文
摘要:第二部分:简单的黑魔法 原文:Part II: Quick Hacks 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你有最好的想法,你会打动世界!你会成为一个亿万富豪!你的大脑与这个概念融为一体,你会在你的梦想中看到它,它像幽灵一样困扰着你。下一步就是实现它,将其从大脑中移
阅读全文
摘要:练习 12:复习 原文:Exercise 12: Review 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我的疯狂方法的第一阶段对我来说是足够的,但不是为你准备的。我们现在要检查这本书这部分的策略,以便将来可以继续使用它。这个策略是: 你需要处理每个项目的起步。为了隔离这
阅读全文
摘要:练习 11:uniq 原文:Exercise 11: uniq 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在最后两个练习的开始,没有什么可说的了。你应该知道如何思考你的工作环境,你如何开始,你如何坐下来,影响你开始的任何事情。你也应该使用这些小小的 45 分钟的项目,突破
阅读全文
摘要:练习 10:sort 原文:Exercise 10: sort 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你正在慢慢地构建我所说的个人流程实践(3P),这根本不是一个新的想法。3P 的目的是客观的洞察如何做事情,而避免杀死你的创造力和生产力。通过简单地跟踪小型指标和制作运
阅读全文
摘要:练习 9:sed 原文:Exercise 9: sed 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 使用这些小型项目来研究你自己是有用的,但让我们来看看你主要关注的主题: 开始工作的启动流程,例如你的文本编辑器,你可以打字打的多好,以及计算机内部发生的其他事情。心理状态,当
阅读全文
摘要:练习 7:grep 原文:Exercise 7: grep 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 find命令在 45 分钟内应该可能是一个挑战,但它是一个很好的挑战。到了这个时间,你应该可以去掉尽可能多的,阻止你开始的障碍。你可能会发现,当你清除一些障碍时,你的技能
阅读全文
摘要:练习 8:cut 原文:Exercise 8: cut 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 希望你正在深入学习 Python,甚至了解你自己和你的工作方式。在本书的这一部分,通过学习如何优化你的流程,你学到了流程和创造力的一些事情。的确,有阻碍的情况下你不能发挥创造
阅读全文
摘要:练习 6:find 原文:Exercise 6: find 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 希望你正在发现阻碍自己的各种方式,甚至在你开始工作之前。也许这不是戏剧性的,但你至少应该确定你在环境中可以改善的东西,它们使你难以开始工作。这些小练习是你专注于开始的一个
阅读全文
摘要:练习 5:cat 原文:Exercise 5: cat 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 做完练习 4,你开始了解阻碍你的东西。spike 研究是一个简单的挑战,即如何从用户获取命令行参数。练习的真正目的是记录实验笔记,了解你需要做什么来开始。你有没有发现需要改变
阅读全文
摘要:练习 4:处理命令行参数 原文:Exercise 4: Dealing with Command Line Arguments 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在你能处理本书的第一部分之前,你需要完成一些简单的黑魔法,教你如何使用 Python 中的命令行参数。
阅读全文
摘要:1.1 命题逻辑 原文:Foundations of Computation 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 一个命题是一个或真或假的陈述。 在命题逻辑中,我们将命题看做基础,看看我们能做什么。 既然这是数学,我们需要能够谈论命题,而不是说我们在说什么特定的命题
阅读全文