归档 2014年3月

使用amCharts绘制统计图表(柱状图、折线图、3D图)

amCharts

amCharts是一款优秀的数据可视化js图形库,包括Javascript Charts, Javascript Stock Chart和Interactive Javascript Maps三类产品,本文简单介绍一下Javascript Charts的用法。

amCharts的安装:

从amCharts官方网站下载所需的图形组件,将压缩包解压至备选目录。把amcharts文件夹从下载到的zip文件中拷贝至工作目录下。然后使用你熟悉的编辑器创建一个简单的html文件,例如命名为columnchart.html。

接下来,我们打开文件开始编码。

添加容器:

页面所需的唯一HTML元素就是图表的容器。我们像这样来添加一个DIV:

<body>
    <div id="chartdiv"></div>
</body>

JavaScript图表将使用这个对象作为绘图容器。请注意我们将其命名为"chartdiv",这个名字后面会用到。

引用JavaScript库文件

在页面的head部分我们需要添加amCharts JavaScript库文件的引用。由于V3 amCharts库被拆分成了几个文件,为了节省几个kb空间—你需要添加amchart.js主文件,并根据你的需求来决定添加一个或者多个图表文件。柱形图属于序列图的一种,因此我们包含这两个js文件:

<script src="amcharts/amcharts.js" type="text/javascript"></script>
<script src="amcharts/serial.js" type="text/javascript"></script>

注意:添加顺序很重要,amcharts.js应该放在最前面。

我们需要一些示例数据来生成图表,在此我们添加一个简单的JavaScript数组对象:

<script type="text/javascript">

	var chartData = ...

继续阅读

关于SAE的碎碎念—写在2014的前面

        “无所不知等于一无所知”,“什么都略懂一点儿,生活更多彩一些”,各有各的道理,但我更喜欢后面一句。

        初识新浪云是在大约1年之前,那时的云计算对我来说还只是一个非常高端的词汇,套用一句关于大数据的经典评论“云计算就像青春期的性:所有人都在谈论它,没有人真的知道怎么做,每个人都觉得其他人也在做,所以大家都声称自己也在做”。机缘巧合,非常感谢那时还在新浪实习的W君的无私帮助,让我通过SAE真正开始了解云计算到底在做些什么事情。

        所谓“师傅领进门,修行在个人”,从W君那里了解了一些基础知识后,自己便开始在SAE做一些小东西,Trial and Error,一边尝试一边学习,不久就基本掌握了SAE的用法。那时的我只会一些Java,然而囊中羞涩,不舍得花钱买芸豆的我惊喜的发现Python平台的花费要比Java平台小许多,于是毫不犹豫地开始学习Python,感谢SAE让我加入了Python程序员的行列。

        2014,我们要做的还有很多。“我是要成为站长的男人”!许多SAE用户都怀有一颗成为成功站长的雄心。然而现实很残酷,并非每个人都能达到理想的彼岸,不过没关系,过程好结果并不重要,奋斗的经历本身就是一笔无价的财富。通过在SAE上的探索,可以让你了解到许多从未涉足的领域,学习到很多宝贵的知识和经验,更重要的是,习得独立解决问题的思维与能力。对于独立开发者,SAE可以帮助你成为一名“全栈工程师”,横向了解从前端到后台的各个层面,开阔视野。

        SAE不止是一个云计算平台,更是一个成就梦想的舞台。2014期待SAE可以做的更好,期待更多优秀的项目能够借助SAE收获成功,也期待越来越多的草根开发者可以在SAE的舞台上绽放出自己的光彩。

最适合初学者入门的5种编程语言

如果你想学习编程,你决定选择的第一门编程语言与你想要学什么、想要用这个技能做些什么以及最终要达到什么目的有很大关系。尽管如此,某些编程语言比其他语言要好学,拥有一个致力于教学的社区,或者当你学会它的时候提供更多有用的技能。下面是根据大家的提名总结出的5种最佳编程语言候选名单。

应该清楚的是,我们并不是在试图绝对化地解决你应当首先学习哪门编程语言这个问题。每个人都有不同的观点,并且,基于你特定的学习动机,也许这些都不适合你。由于篇幅所限,我们不可能把征集到的所有编程语言在此一一详细介绍。也就是说,这里列出的5种语言是提名中最流行的,排名不分先后。

Java

Oracle公司的Java是互联网历史最悠久、最坚挺和最具影响力的编程语言之一。你可以在线上线下、各种平台、操作系统和设备应用的核心部分发现Java的身影。它是一门极具特色的基于类、面向对象的编程语言,被设计为能够在尽可能多的平台上移植和运行。出于这个原因,它也是世界上最流行的编程语言之一,如果你对编程感兴趣,Java非常具有学习价值。Java的短板是由于其可移植性和适用性,它变得非常难以把握,并且难以有效和高效地编程。

Java并不是一门完美的语言——许多学校和课堂以C或者C++开始教学,因为Java从这些早期语言中继承了许多语法。坚持首选Java作为第一门编程语言的学习者必须注意Java迫使你以程序员的方式思维——逻辑和分析式思考,并且真正把握计算机是如何处理信息的才行。这是一些基本的概念,在你转向其它语言或技术时可以为你提供帮助。

Ruby

Ruby是一种动态、开源、面向对象的编程语言,由计算机科学家松本行弘(MatsumotoYukihiro)于上个世纪90年代研发,这使得它成为广泛使用的最年轻的语言之一。它的语法容易阅读、仅仅由人类编写,不需要学习一大堆基本的命令和特殊的“单词表”就可起步。尽管这个语言本身是面向对象的,它也支持过程化、函数式和命令式编程,这也是造就了其非凡灵活性的因素之一。

Ruby有一个比较易学的好名声,通过官网上的20分钟快速入门指引,你可以很快了解和熟悉 ...

继续阅读

Web.py配置自定义404和500错误信息

Web.py如何自定义Http404和Http500错误信息?


import web

urls = (...)
app =  web.application(urls, globals())

def notfound():
    return web.notfound("Sorry, the page you were looking for was not found.")

    # You can use template result like below, either is ok:
    #return web.notfound(render.notfound())
    #return web.notfound(str(render.notfound()))

app.notfound = ...

继续阅读

SQL与NoSQL对比

自从NoSQL数据库从概念逐渐转化为应用以来,我一直想深度探索一下这两个概念。并且我花了一些时间来搞清楚——是什么实际导致了NoSQL数据库的演化。

SQL or NoSQL

这一切都归结于使用快捷、实时和联机的方式向终端用户提供最佳体验的需求。随着存储技术的急剧变化,数据库开发者正试图做出优化以获得更好的性能。

下面是SQL和NoSQL数据库的一些基础知识:

什么是SQL数据库

谈到SQL数据库,基本的概念是,它是关系型的数据库。是的!SQL数据库是关系型数据库。那么到底什么是关系型数据库呢?关系型数据库严格的使用关系(经常被称为表)来存储数据。一个关系型数据库通过使用数据集中找到的相同特征来匹配数据。而由此产生的群组被称为模式。

关系型数据库中的关系(表)被划分为行和列的集合。元组代表使用查询从数据库表中取出的行。

SQL有什么用?

SQL(结构化查询语言)是一种用来管理关系型数据库中数据的编程语言。Microsoft SQL server是一个很好的例子。Microsoft SQL server是一种关系型数据库,被用于使用应用从相同的计算机或者网络存储、获取数据。

SQL server的基本特征

关系型数据库是一组包含装配在预定义类中数据的表。

每个表包含一个或者多个以列形式存在的数据类别。

每一行包含一个类别由列定义的唯一数据实例。

用户可以在不了解数据库表结构的情况下访问数据库中的数据。

SQL数据库的限制

可扩展性:用户不得不在功能强大,价格昂贵且难以操作的服务器上对关系型数据库加以扩展。扩展关系型数据库时它必须在多台服务器上进行分发。跨服务器操作表可能会引起混乱。

复杂性:在SQL服务器中的数据必须与表相适配。如果你的数据无法与表适配,那你就需要将你的数据库接结构设计的更加复杂,反过来变得更加难以处理。

什么是NoSQL数据库

在过去的几年里,科学界和网络公司开始考虑使用"one size fits all"(放之四海而皆准)的方式存储数据,这已经导致了多种替代数据库的出现。这场运动,及其新的数据存储通常被归纳为NoSQL。

NoSQL的基本性质是,它不需要固定的表模式,通常避免了连接操作,并通常采用横向扩展。学术研究人员通常将这些数据库称为结构化存储,该术语将关系型数据库作为一个子集包含在内。

NoSQL数据库也对"ACID"(原子性,一致性,独立性和持久性)做出了折衷。 NoSQL数据库,在不同程度上,甚至允许数据模式在记录与记录之间存在差异。如果NoSQL中不存在模式或者表,那么你如何看到数据库结构呢?答案在这里

不需要模式:数据可以在没有事先严格定义数据库模式的情况下插入NoSQL数据库中。由此推断,拟插入数据的格式可以随时改变,而不会导致应用的破坏。这提供了很大的应用灵活性,最终提供了业务的灵活性。

自动伸缩:NoSQL会自动地将你的数据散布在多台服务器上,无需应用协助。服务器在应用不停机的情况下从数据层增加或者移除。

集成缓存:为了提升性能,先进的NoSQL技术奖数据缓存至系统内存,与此相对,SQL数据库要达到相同的目的必须使用单独的基础设施。

谈到NoSQL数据存储的架构,流行的NoSQL数据库有3种。

键值存储。顾名思义,键值存储是一种使用键存取数据的系统。这些系统可以处理结构化或者非结构化的数据。 ...

继续阅读

每日归档

上个月

下个月

归档