MongoDB与MySQL比较【翻译】

翻译于 https://www.mongodb.com/compare/mongodb-mysql?jmp=docs

概览

关系型数据库支持企业级应用已经有了十年之久,自从1995年MySQL释出,它已经成为最流行而低成本的选择。但是,在近几年存储以及不同类型数据的爆炸性增长,非关系型数据库,像是MongoDB,现行于市,满足新应用的需求。MongoDB既被用于新的应用,也被用于替代旧的关系型基础设施,或者在原来的基础上增加新的功能。

继续阅读“MongoDB与MySQL比较【翻译】”

快速上手编辑器

Atom因为总是需要代理来下载插件的原因,又被放弃了。一个新技术在中国的freelancer中收不收欢迎,似乎很大程度上取决于,这个东西下载的速度;很明显,Atom存在下载速度问题,然而vscode不存在;在技术栈很相似的情况下,vscode的书写体验十分的流畅,远远超过了atom,甚至不加插件的vim;

通过廖雪峰的安利我使用了vscode。一个现代的编辑器,在我看来,似乎只有那么几件事情需要注意下,既可以很愉快的开始使用了。

开始

在vscode的欢迎使用里面,我们可以看到一个很大的“自定义”部分,在其下面,可以看到工具与语言,安装键盘快捷方式等选项;这个时候,安装你需要的语言,以及你需要的快捷方式即可。

类似的,在atom里面,也有相同的页面

如果不走上面的部分,可以按照我所想的,走这个下面的通用流程:

vi-bind

放在第一点的就是vim按键的相关绑定;基本每一个编辑器都会有一个vim的绑定插件;在vscode上面,你只需要在右方package里面找到他,
然后下载使用就可以了。我们可以看到许许多多的emulation来实现vim在vscode里面的相关操作,不过就我而言,使用官方的这个·vim·插件,
就足够使用了。

安装相关的语言

然后就是搜寻相关语言的软件包;让我们搜索一下python和js。这个时候可以先学习一下cmd+p这个东西,或者是shift+cmd+p,这两个一方面是用来呼叫出命令,另一方面可以快速跳转文件。一般情况下,还可以跳转function。类似的东西,例如vim里面的ctrlp,sublime里面的ctrl-p等等。

命令行入口

每一个工程都应该有一个命令行入口,用来调试相关的命令;虽然这在yin看来,是一个非常吃人精力,而且不讨好的设计,但是我觉得还算不错;一个比较成熟的编辑器都有这一部分;使用shell的时候,只需要从cmd+p或者shift+cmd+p里面输入终端就好了。

最后

使用一个新的编辑器并不是一件困难的事情。Vim以及Emacs的确很强大,但是在配置的过程中毫无疑问的会占用许多时间,这些时间在我看来,很多时候都不一定是必要的。除非需要对于某个特性进行细细的定制,否则不需要研究的那么透彻。M$无论是编辑器还是IDE,都可以说是无可挑剔,为什么不尝试一下新的东西呢?

Javascript中变量的作用域

问题引出

方才阅读es6的时候遇到一个问题:

问题解决

这就想了,如果没有let关键字,我们如何处理这个问题呢?

此时就涉及到一个概念,闭包 clojure

不要被这个复杂的名词欺骗了,就是函数套函数,函数返回函数而已。解决这个问题关键在于
块级作用域和函数作用域的理解;在Javascript中,并不支持块级作用域,它只支持函数作用域,
而且在一个函数中的任何位置定义的变量在该函数中的任何地方都是可见的。

因此,我们在Js这个特性的基础上,使用闭包,然后就可以解决这个问题了:

为什么要解决这个问题?因为有时候在for循环中使用回调可能与参数i有所联系,可能会遭遇到
问题;

当然,如果使用es6这种问题就不会发生了。es6大法好。

如何更新自己的主题

在使用hexo的主题的时候,许多人经常把主题fork到自己的repo,对我而言,这是没有必要的。
一般情况下,我不需要修改很多关于主题的内容,只需要改改配置文件就可以了,但是每次
更新,git pull的时候都提示需要提交自己的修改,这个时候应该怎么做呢?

继续阅读“如何更新自己的主题”

翻译了meteor

简单翻译了一下Meteor指南,网址在: https://www.gitbook.com/book/svtter/meteor_tutorial/details

翻译完之后心情很复杂,虽然我没有看过ruby on rails的相关代码,但是根据之前的了
解,可能是在Javascript上的一个相似的东西,这种东西实现出来的产品,可能拓展速度
很快,但是重写以及拓展方面,可能有些麻烦。

继续阅读“翻译了meteor”