yanghang 发布的文章

javascript模块化规范CommonJS、AMD、CMD、UMD、ES6学习

一、CommonJS

官网:http://www.commonjs.org/

CommonJS主要作为服务器端模块的规范,以在浏览器环境之外构建 JavaScript 生态系统为目标而产生的项目。Node应用采用 CommonJS 模块规范。

模块必须通过 module.exports 导出对外的变量或接口,通过 require() 来导入其他模块的输出到当前模块作用域中。
根据CommonJS规范,一个单独的文件就是一个模块。每一个模块都是一个单独的作用域,也就是说,在一个文件定义的变量(还包括函数和类),都是私有的,对其他文件是不可见的。
CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。

代码示例
// a.js
var a = {
    "a":a,
    "b":b
}
module.export = a //模块导出
// b.js
var b = require('./a.js') //模块引入

二、AMD和RequireJS

CommonJS解决了模块化的问题,但这种同步加载方式并不适合于浏览器端。

AMD是”Asynchronous Module Definition”的缩写,即”异步模块定义”。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。这里异步指的是不堵塞浏览器其他任务(dom构建,css渲染等),而加载内部是同步的(加载完模块后立即执行回调)。

AMD也采用require命令加载模块,但是不同于CommonJS,它要求两个参数:

require([module], callback);

第一个参数[module],是一个数组,里面的成员是要加载的模块,callback是加载完成后的回调函数。如果将上述的代码改成AMD方式:

require(['math'], function(math) {
  math.add(2, 3);
})

其中,回调函数中参数对应数组中的成员(模块)。

requireJS加载模块,采用的是AMD规范。也就是说,模块必须按照AMD规定的方式来写。
具体来说,就是模块书写必须使用特定的define()函数来定义。如果一个模块不依赖其他模块,那么可以直接写在define()函数之中。




- 阅读剩余部分 -

vpsmate管理面板增加opcache缓存功能

vpsmate已经很久没更新了,不过对于个人用户来说应该是够用了,主要是简单的管理功能都具备了,免去了ssh的麻烦。
新版的appnode已经一年多没动静了,据说要到年底才开始重新启动,要增加新功能只能自己动手折腾。
现在就开始在vpsmate里面增加opcache功能了



- 阅读剩余部分 -

APF(Advanced Policy Firewall) linux下的高级策略防火墙

  APF(Advanced Policy Firewall)是Rf-x Networks 出品的Linux环境下的软件防火墙,被大部分Linux服务器管理员所采用,使用iptables的规则,易于理解及使用.可算是Linux使用较多的防火墙.APF的配置参数很多,有效利用这些配置参数可加强你的服务器安全,APF应该在每一台Linux服务器中得到应用。

一、介绍

  Advanced Policy Firewall (APF)是一个基于 iptables(netfilter)的防火墙系统,主要是根据当今互联网服务器的部署极其linux安装部署的基本需求来进行设计的,APF的的配置设计的非常丰富,并且目前来看配置文件整体都设计的易于通俗易懂,容易配置。APF的通过命令行使用'apf'命令进行日常管理,其中包含了详细的使用信息以及大家当前所期望防火墙解决方案的的所用功能。
  APF的技术方面包含了基于 iptables(netfilter)项目最新的稳定功能并提供了一个非常强有力的防火墙。APF通过三种方式进行数据过滤:
1)基于策略的静态规则(不要和“静态防火墙”混为一谈)
2)基于连接状态的策略
3)基于有效性的策略





- 阅读剩余部分 -

zen cart 1.5 官方安装向导(中文版)

(对比英文版看图片)

1 前言

  本安装指南主要是是为了帮助您安装当前版本的Zen Cart应用程序或升级你的当前版本。
  PA-DSS(支付应用程序数据安全标准)
  您按照本实施指南的指示安装或升级您的Zen Cart应用程序,这是一个PA-DSS要求。
  还请注意,除非另有说明,本指南是应用与V1.5版本的Zen Cart程序。

2 安装要求

2.1安装之前,问一下自己下面的这些问题:

2.1.1你是否有一个域名?
  如果没有域名,停下来并查阅下面的2.2节为您的网站注册一个域名。您需要一个域名指向您服务器上的网店系统。
2.1.2 您是否有一个好的文本编辑器?
  如果没有,你将需要一个好的文本编辑软件(例如Notepad++, UltraEdit, Crimson Editor, BBedit, Kedit, 或者更高级的编辑工具如Eclipse等)。这个文本工具在你需要修改你的Zen Cart程序时会有很大帮助。
  注:请不要使用cPanel(或者任何基于web的工具)编辑文件,也不要使用MS Word或者其他设计花俏的软件,你只需要一个不会增加额外的"垃圾"文件的干净的文本编辑器。
2.1.3 您是否访问了你的虚拟主机的控制面板并创建数据库和帐号?
  在您开始安装之前,确保您可以访问MySQL数据库,并且有这个数据库的帐号和密码。您可能需要通过您的虚拟主机的控制面板去创建一个数据库。联系您的虚拟主机商获取帮助,Zen Cart不能为您创建一个数据库。
(您需要对数据库操作有如下的权限:SELECT, INSERT, UPDATE,DELETE, CREATE, ALTER, INDEX, DROP。但是像hSphere host这样的主机商,您可能需要做出更加通用的选择,可能是"all" or "dba"、但是至少需要有"read/write"的权限)。











- 阅读剩余部分 -