类别归档:译林

外语文献翻译

RSS feed of 译林

SQL与NoSQL对比

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

SQL or NoSQL

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

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

什么是SQL数据库

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

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

SQL有什么用?

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

SQL server的基本特征

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

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

继续阅读

程序员的《权利法案》

“程序员应有的权利你都要去争取!而且记住:你可以让公司做出改变,要不然你就换一家公司。”

一个公司愿意付给一个开发人员6万~10万美元的薪水,却用糟糕的工作条件以及破烂的硬件设施摧残他,这对我来说是难以置信的。不管怎么说,这买卖一点都不划算。然而,我却总能看到这样的事情。这让人很震惊,竟然有这么多公司依然没有为软件开发者的成功提供必要的基础条件。

我提议,我们应该制定一个针对程序员的《权利法案》,以防止公司拒绝给程序员提供取得成功所必需的基础条件,最终达到保护程序员权利的目的。

1. 每个程序员都应该有两个显示器

在LCD价格跳水以及双输出的显卡如此普及的情况下,如果你还把你的开发者限制在一个屏幕上,那你一定是疯了。通过把电脑桌面双倍扩大可以获得生产力的提升,这已经被充分论证过了。如果你想把开发者的生产力发挥到极致,请确保每个开发者都有两个显示器。

2. 每个程序员都应该有一台快速的电脑

程序员必须运行很多软件才能完成他们的工作:开发环境、数据库引擎、网络服务器、虚拟机,如此等等。运行所有这些软件需要一台快速的电脑,再配上很多内存。程序员的电脑越快 ...

继续阅读

D3js简介

D3.js是一个基于数据的文档操控JavaScript库。使用HTML,SVG和CSS,D3能够帮你让数据活起来。D3所强调的Web标准帮助开发者在无需捆绑任何专有框架的前提下,结合强大的可视化组件及其数据驱动的DOM操纵方法,充分利用现代浏览器的全部功能。

点此下载最新版本(3.4.1):d3.v3.zip

或者,复制这段代码直接链接最新版本:

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>

使用HTTPS的站点可能需要自行保留D3的源文件,或者使用一个支持HTTPS的CDN,比如CDNJS全部源文件和测试用例也可以在GitHub中下载得到。

简介:

D3允许开发者将任意数据绑定在文档对象模型(DOM ...

继续阅读

幸福者的7个习惯

尽管幸福的定义因人而异,但我总觉得从他人的快乐那里什么也学不到的观点是愚蠢的。

       在日常生活当中,我们很容易舍本逐末,让一些微不足道的事情影响我们的幸福水平。幸运的是,我们不止依靠本能行事;有很多研究旨在寻找可以带来快乐生活的正确行为。下面,我们来看一些比较切实可行的建议。

1. 忙而不急

       研究表明匆忙会将你置于通往痛苦的快车道。另一方面,许多研究表明无所事事也不是一件好事,这对那些梦想着什么也不用做的《上班一条虫》粉丝观众来说是一个坏消息。

       最理想的状态就是以一种舒适的节奏过着充实的生活。也就是说,你应当经常扩展自己的舒适地带,但是不要达到让自己感到不堪重负的程度。说起来容易做起来难,但这当然是一个应当为之付出努力的理想。

       感觉自己总是在做着忙碌的工作通常是对丝毫提不起兴趣的事务说“是”的结果。一定要对不能给自己带来快乐的事情说“不”。我们每个人都有义务,但是只有对大部分事情说不,对正确的事情说是的人才能找到舒适的节奏。

2. 拥有5个密友

  ...

继续阅读

自然语言VS编程语言

自然语言(人类语言)与编程语言之间有着很多惊人的相似之处。前些天我做了一个关于这两种语言相似性的讨论,惊讶地发现自己很容易就找到了它们之间的许多共同点。

然而实际上,两种语言之间具有如此多的相同之处也尚在情理之中,这两种形式的语言都是非常基础层面上的语言,它们本质上是为同一个目的服务的——那就是沟通。尤其是用来沟通思想和表达方式,有时也可以用来传达指令。

编程语言之间的相似之处比人们乍看上去的还要多得多。这意味着如果你很了解某一门编程语言,学习其他编程语言(至少同类型的编程语言)就变得十分容易。最开始的两种语言是最难学的,但是从学习第三门语言开始就会变得越来越轻松。

这其实与自然语言没什么不同。如果你会说英语,学习其他印欧语系的语言(比如法语和西班牙语)就会比较容易。然而,了解英语对于学习印欧语系以外的语言帮助就没有那么大了——比如印地语、阿拉伯语或者日语,它们与英语、法语相比有着显著的不同。

我的编程语言学习经历就是一个很好的例子。最开始学习的两门编程语言是BASIC和PHP,学完这两种语言之后,再学习其它类似的语言,比如C、C++、C#、MATLAB、Javascript、Ruby和Python就易如反掌了,我只需要了解它们之间的区别就好了。然而 ...

继续阅读