并行编程要比看上去要难得多。假设我们从一个烹饪书拿出一条菜谱,然后把它转换成 某种几十个厨师可以同时工作的东西。那么你有两个实现方法。 一个方法是给每个厨师一个专用的厨房,给它装备原料和器具。对于那些可以很容易 分解的菜谱,以及那些可以很容易从一个厨房转到另外一个厨房的食物而言,这个方法 很好用,因为它把不同厨师分隔开,互不影响。 另外,你也可以把所有厨师都放在一个厨房里,然后让他们把菜烧出来,让
对象非常酷,但有时候它有点太酷了。有时候你会希望它表现得少象一点对象而更象普通的 数据类型一点。但是实现这个却有问题:对象是用引用代表的引用,而引用除了当引用以外 没什么别的用途。你不能在引用上做加法,也不能打印它们,甚至也不能给它们使用许多 Perl 的内建操作符。你能做的唯一一件事就是对它们解引用。因此你会发现自己在写许多 明确的方法调用,象: print $object->as_s
模块是 Perl 里重复使用的基本单元。在它的外皮下面,它只不过是定义在一个同名文件 (以.pm结尾)里面的包。本章里,我们将探究如何使用别人的模块以及创建你自己的 模块。 Perl 是和一大堆模块捆绑在一起安装的,你可以在你用的 Perl 版本的 lib 目录里找到 它们。那里面的许多模块将在第三十二章,标准模块,和第三十一章,用法模块里描述。 所有标准模块都还有大量的在线文档,很可能比这本书更
布局,可以理解成 “制作常见图形的函数”,有了它制作各种相对复杂的图表就方便多了。 布局是什么 布局,英文是 Layout。从字面看,可以想到有“决定什么元素绘制在哪里”的意思。布局是 D3 中一个十分重要的概念。D3 与其它很多可视化工具不同,相对来说较底层,对初学者来说不太方便,但是一旦掌握了,就比其他工具更加得心应手。下图展示了 D3 与其它可视化工具的区别: 可以看到,D3 的步骤相对来说
欢迎阅读另一个 3D Matplotlib 教程,会涉及如何绘制三维散点图。 绘制 3D 散点图非常类似于通常的散点图以及 3D 线框图。 一个简单示例: from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt from matplotlib import style style.use('ggplot') f
您好,欢迎阅读 Matplotlib 教程中的 3D 绘图。 Matplotlib 已经内置了三维图形,所以我们不需要再下载任何东西。 首先,我们需要引入一些完整的模块: from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt 使用axes3d是因为它需要不同种类的轴域,以便在三维中实际绘制一些东西。 下面:
在这篇 Matplotlib 教程中,我们将介绍如何创建实时更新图表,可以在数据源更新时更新其图表。 你可能希望将此用于绘制股票实时定价数据,或者可以将传感器连接到计算机,并且显示传感器实时数据。 为此,我们使用 Matplotlib 的动画功能。 最开始: import matplotlib.pyplot as plt import matplotlib.animation as animati
在 Matplotlib 教程中,我们将介绍如何在 Matplotlib 中创建开,高,低,关(OHLC)的 K 线图。 这些图表用于以精简形式显示时间序列股价信息。 为了实现它,我们首先需要导入一些模块: import matplotlib.ticker as mticker from matplotlib.finance import candlestick_ohlc 我们引入了ticker,
原文:10 Minutes to pandas 来源:【原】十分钟搞定pandas 官方网站上《10 Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是对 pandas 的一个简单的介绍,详细的介绍请参考:秘籍 。习惯上,我们会按下面格式引入所需要的包: In [1]: import pandas as pd In [2]: import numpy as np In [
开源实时日志分析ELK平台(ElasticSearch, Logstash, Kibana组成),能很方便的帮我们收集日志,进行集中化的管理,并且能很方便的进行日志的统计和检索,下面基于ELK的最新版本5.2.2进行一次整合测试。 ElasticSearch是一个高可扩展的开源的全文搜索分析引擎。它允许你快速的存储、搜索和分析大量数据。ElasticSearch通常作为后端程序,为需要复杂查询的应
Q:大数据只代表那些量很大的数据吗? A: 虽然从名字上看是这样,但是实际上我们用“大数据”来形容因为某种原因无法适应传统数据库软件工具的数据,而这些软件工具在过去的数十年间一直被用于分析和商业智能。举个例子,大数据也许无法完全适应关系型数据库(例如图像的像素数据),或者需要经过特别的处理才能和其他数据共同使用(例如从机器设备获得的时间序列数据)。 Q: 我们在油气行业不是一直都在用大数据吗? A
十四、 其它选项 本节描述一些重要的(和并不重要)的选项,这些选项 不适合其它任何地方。 -6 (启用 IPv6 扫描) 从 2002 年起,Nmap 提供对 IPv6 的一些主要特征的支持。ping 扫描(TCP-only)、 连接 扫描以及版本检测都支持 IPv6。除增加-6 选项外, 其它命令语法相同。当然,必须使 用 IPv6 地址来替换主机名,如 3ffe:7501:4819:2000:
英文原版并没有包含附录部分,只有一个索引部分。中文版增加附录部分主要用于收录一些和本书相关的内容,比如英文原版的勘误(有些读者可能会对照中文和英文原阅读)、英文作者和中文译者、译文授权等内容。以后还可能会考虑增加一些习题解答相关的内容。 需要特别说明的是,中文版附录并没有包含英文原版的索引信息。因为英文原版的索引信息主要是记录每个索引所在的英文页面位置,而中文版是以GitBook方式组织的html
Go语言提供了一种机制,能够在运行时更新变量和检查它们的值、调用它们的方法和它们支持的内在操作,而不需要在编译时就知道这些变量的具体类型。这种机制被称为反射。反射也可以让我们将类型本身作为第一类的值类型处理。 在本章,我们将探讨Go语言的反射特性,看看它可以给语言增加哪些表达力,以及在两个至关重要的API是如何使用反射机制的:一个是fmt包提供的字符串格式功能,另一个是类似encoding/jso
Maurice Wilkes,第一个存储程序计算机EDSAC的设计者,1949年他在实验室爬楼梯时有一个顿悟。在《计算机先驱回忆录》(Memoirs of a Computer Pioneer)里,他回忆到:“忽然间有一种醍醐灌顶的感觉,我整个后半生的美好时光都将在寻找程序BUG中度过了”。肯定从那之后的大部分正常的码农都会同情Wilkes过分悲观的想法,虽然也许会有人困惑于他对软件开发的难度的天