有效的复杂系统总是从简单的系统演化而来。 反之亦然:从零设计的复杂系统没一个能有效工作的。 ——约翰·加尔,Systemantics(1975) [TOC] 在第10章中,我们讨论了批处理技术,它读取一组文件作为输入,并生成一组新的文件作为输出。输出是衍生数据(derived data)的一种形式;也就是说,如果需要,可以通过再次运行批处理过程来重新创建数据集。我们看到了如何使用这个简单而强大
在这本书中,我们提到了驱使 Django 发展的很多目标。易用,对初学者友好,重复任务的抽象, 这些都驱使着 Django 继续发展。 然而,从 Django 一开始,就有另一个重要的目标:Django 应该容易被部署,并且它应该能够用 有限的资源提供大量的服务。 这样的动机是很明显的,当你看到 Django 的背景:堪萨斯州一个小巧的、家族式报纸企业 负担不起高品质的服务器硬件,所以 Djang
Django 诞生于美国,和许多其他的开源软件一样,Django 社区发展中得到了全球范围的支持。所以 Djano 社区的国际化应用变得非常重要。由于大量开发者对本章内容比较困惑,所以我们将详细介绍。 国际化是指为了在任何其它地区使用该软件而进行设计的过程。它包括为了以后的翻译而标记文本(比如用户界 面控件和错误信息等),提取出日期和时间的显示以保证显示遵循不同地区的标准,为不同时区提供支持,并且
在有些场合,需要对 Django 处理的每个 request 都执行某段代码。这类代码可能是在 view处理之前修改传入的 request,或者记录日志信息以便于调试,等等。 这类功能可以用 Django 的中间件框架来实现,该框架由切入到 Django 的 request/response处理过程中的钩子集合组成。这个轻量级低层次的 plug-in 系统,能用于全面的修改 Django的输入和输
我的系统是Windows10x64 现在我想安装pyicu,但遇到了这样的问题 使用缓存的PyICU-1.9。7.焦油。gz从命令python安装程序完成输出。py egg_info:Traceback(最后一次调用):文件“C:\Users\ANHVU\AppData\Local\Temp\pip-build-v5fb9ri4\pyicu\setup.py”,第12行,在ICU_VERSION=
多年来,我们一直在WebSphere7和WebSphere8上运行JSF1.2应用程序。我们使用捆绑在其中的JSF构建war,并始终将类加载器设置为最后一个父类。 现在已经升级到JSF 2.2(以及RF4和PF4,直到迁移完成),我们现在面临着在同一台服务器(WAS 8.0和WAS 8.5)上部署的问题。 我们现在已经完成了类似的方法(捆绑JSF和PARENT LAST类加载)。应用程序确实启动了
不管你是正在处理一个用户坐在键盘前面键入的命令还是处理别人通过网络发送过来的 信息,你都需要仔细注意到达你的程序里的数据,因为其他人可能有意无意地给你发送 一些有害无益的数据。Perl 提供一种特殊的安全检查机制,叫感染模式,它的目的就是 隔离感染了的数据,这样你就不会把这些数据误用于一些不该用的场合。比如,如果你 了一个感染了的文件名,结果就有可能向你的口令文件里增加记录,而你还认为是一个日志
12.5.1 通过 @ISA 继承 如果 @ISA 包含多于一个包的名字,包的搜索都是从左向右的顺序进行的。这些搜索是由浅 入深的,因此,如果你有一个 Mule 类有象下面这样的继承关系: package Mule; our @ISA= ("Horse", "Donkey"); Perl 将首先在 Horse 里(和他的任何前辈类里,比如 Critter)查找任何在 Mule 里找
首先,你需要理解包和模块;请看第十章,包,和第十一章,模块。你还需要知道引用和 数据结构;参阅第八章,引用和第九章,数据结构。同样,知道一些面向对象的编程方法 (OOP)也是很有用的,所以下一节开始我们给就 OOL(面向对象的语言)上一小节课。 12.1 简单复习一下面向对象的语言 对象是一个数据结构,带有一些行为。我们通常把这些行为称为对象的直接动作,有时候 可以把这些对象拟人化。比如,我们可能
树状图,可表示节点之间的包含与被包含关系。 数据 初始数据先写在一个 JSON 文件中,再用 D3 来读取。 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。关于此格式的简介和语法规则,可分别参见两篇文章:JSON 简介和JSON 语法规则。 现有数据如下: { "name":"中国", "children": [ { "name"
本章制作一个饼状图。在布局的应用中,最简单的就是饼状图,通过本文你将对布局有一个初步了解。 数据 有如下数据,需要可视化: var dataset = [ 30 , 10 , 43 , 55 , 13 ]; 这样的值是不能直接绘图的。例如绘制饼状图的一个部分,需要知道一段弧的起始角度和终止角度,这些值都不存在于数组 dataset 中。因此,需要用到布局,布局的作用就是: 计算出适合于作图的数据。
在这个 Matplotlib 教程中,我们要介绍 3D 条形图。 3D 条形图是非常独特的,因为它允许我们绘制多于 3 个维度。 不,你不能超过第三个维度来绘制,但你可以绘制多于 3 个维度。 对于条形图,你需要拥有条形的起点,条形的高度和宽度。 但对于 3D 条形图,你还有另一个选项,就是条形的深度。 大多数情况下,条形图从轴上的条形平面开始,但是你也可以通过打破此约束来添加另一个维度。 然而,
在这篇 Matplotlib 教程中,我们继续使用Basemap地理绘图扩展。 我们将展示一些我们可用的自定义选项。 首先,从上一个教程中获取我们的起始代码: from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt m = Basemap(projection='mill') m.drawcoastlines
在这篇 Matplotlib 教程中,我们将介绍如何在同一子图上使用多个 Y 轴。 在我们的例子中,我们有兴趣在同一个图表及同一个子图上绘制股票价格和交易量。 为此,首先我们需要定义一个新的轴域,但是这个轴域是ax2仅带有x轴的『双生子』。 这足以创建轴域了。我们叫它ax2v,因为这个轴域是ax2加交易量。 现在,我们在轴域上定义绘图,我们将添加: ax2v.fill_between(date[-
在这个 Matplotlib 数据可视化教程中,我们将讨论sharex选项,它允许我们在图表之间共享x轴。将sharex看做『复制 x』也许更好。 在我们开始之前,首先我们要做些修剪并在另一个轴上设置最大刻度数,如下所示: ax2.yaxis.set_major_locator(mticker.MaxNLocator(nbins=7, prune='upper')) 以及 ax3.yaxis.se