档案日期2014的9

2014年3月3日 - 2014年3月9日

最适合初学者入门的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种。

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

继续阅读

SAE存储介质比较—MySQL,KVDB,Memcached

项目 MySQL KVDB Memcached
存储介质 硬盘 硬盘 内存
存储容量
存储花费
查询速度(qps)
结构化查询 支持 不支持 不支持
存储类型 关系型 键值型 键值型
预定义模式 支持 不支持 不支持

 

MySQL较适合存储需要使用结构化查询的数据;

Memcached适用于对访问频度高的页面或者数据进行缓存,以提高访问性能;

KVDB则适合于存储结构简单的键值型数据。

Google站长工具添加站点地图的好处

通过站点地图,Google 可以在您的网站上找到通过其他方式可能无法发现的网页。用最简单的话来讲,XML 站点地图(一般就叫站点地图)就是您网站上各网页的列表。创建并提交站点地图有助于确保 Google 了解您网站上的所有网页,包括 Google 在正常抓取过程中可能找不到的网址。

您可以根据站点地图协议创建站点地图,也可以提交文本文件或 RSS/Atom 供稿作为站点地图。如何创建站点地图

除此之外,您也可使用站点地图向Google提供有关您的站点上特定类型内容的元数据,包括视频图像移动网址新闻例如,视频站点地图条目可指定视频的时长、类别以及是否适合全家人观看;而图片站点地图条目可提供关于图片的主题、类型和许可的信息。您还可以使用站点地图提供有关您网站的其他信息,例如最后更新日期以及网页的预计更改频率。我们建议您使用单独的站点地图提交新闻信息。

在以下情况下,站点地图特别有用:

  • 网站含动态内容。
  • 您的网站中包含在 Googlebot 抓取过程中不易发现的网页,例如含有富 AJAX 或图片内容的网页。
  • 网站为新网站且指向该网站的链接不多。(Googlebot 会跟随链接从一个网页到另一个网页抓取网页,因此,如果您的网站没有很好地链接,我们可能很难发现它。)
  • 网站有大量内容页存档,这些内容页彼此之间没有很好地链接,或根本就没有链接。

Google 不保证一定会抓取所有网址并将其编入索引。但是,我们会使用站点地图中的数据了解网站的结构,这样可以让我们改进抓取工具的计划,并在日后能更好地对网站进行抓取。大多数情况下,网站管理员会因提交站点地图而受益,而决不会为此受到处罚。

 

Google ...

继续阅读

每日归档

上周

下周

归档