数据库有关系型数据库(RDBMS),关系型数据库相对比较高端,也有很多种,但开源的我们一般都使用MySQL
或者PostgreSQL
。
MySQL
一般会使用比较流行的Felix Geisendorfer
的mysql
模块
PostgreSQL
一般使用Brian Carlson
的node-postgres
模块
非关系型数据库在最近几年隐隐有复兴之势,他们称为NoSQL
数据库,即:Not Only SQL。可以这么说,关系型数据库为了可靠性牺牲了性能,而很多NoSQL
数据库把性能放在了第一位。两个非常流行的NoSQL
数据库,就是Redis
和MongoDB
。
Redis
一般使用Matt Ranney
的redis
模块
MongoDB
最成熟最活跃的是Charistian Amor Kvalheim
的mongodb
模块
June 9 , 2017
Node
阅读全文
HTTP
是Node
的一个核心模块,同时也是一些很底层的API
。
Node
有为数不多的内置模块,HTTP
是其中之一,fs
也是。这些内置模块你通常可以在Node
的官方网站的DOCS
获取并了解他们的使用方法和API
。HTTP
的相关API
放在了这里:https://nodejs.org/dist/latest-v6.x/docs/api/http.html
这是v6.11.0
的版本,就是写博客的最近版本。可以在官网上获取到最新版本。其中标记为Stability:2 - Stable
的表示为可放心食用的API
,标记为Stability:1 - Experimental
的表示为试验性质的API
,标记为Stability:0 - Deprecated
的表示为被弃用的API
。
在文档中很简要地介绍了一句:
To use the HTTP server and client one must require('http').
June 8 , 2017
Node
阅读全文
在讲解异步编程的时候,有必要先提到Event Loop
(事件轮询)的概念。首先是运行时的一些概念。
function foo(){
...
}
function bar(){
foo();
...
}
bar();
代码的最后一行调用bar()
时,会在栈内创建第一个帧(帧的概念就是想表达一个意思),包含了bar
的参数和局部变量。当bar
调用foo
时,第二帧被创建,并压到bar
创建的帧上。foo
返回时,foo
创建的帧就被弹出。直到所有函数返回,栈空。。
June 7 , 2017
Node
阅读全文
CommonJS的模块规范,是一种定位于服务器端的模块规范。
CommonJS对模块的定义十分简单,主要分为模块引用、模块定义和模块标识。
June 6 , 2017
Node
阅读全文
最近读了Tom Barker
的High Performance Responsive Design。对响应式设计有了更多的新理解,尤其是利弊和测试方面。
在很多响应式架构中,我们都只注意到响应式的优点:能同时兼顾移动端和PC端,方便了开发。但是很多网站在设计时,并不能秉承移动优先的策略,或者完全放弃该策略。你就会发现,对于使用响应式构建的网站,需要加载更多的资源。这也意味着,相对于单独进行移动端和PC端建站,响应式页面加载的时间更长。这是值得响应式开发者深思的问题。
May 25 , 2017
Responsive
Performance
阅读全文
其他链接:
代码Github
地址:
当然了,webpack
也可以对CSS
文件进行打包,将其作为模块引入到JavaScript
代码中,然后利用Loader
输出。本篇文章主要针对的就是对CSS
的操作。
May 19 , 2017
Webpack
阅读全文