Node.JS 5.ChildProcessAndFileSystem

摘要: ChildProcess 由于在我翻译的时候 Node 的 API 已经改了许多,所以这里是更改后的内容。 Node 在 ChildProcess 中提供了一种三向的 popen(3) 方法,他们分别是 stdin, stdout, stderr,他们都是使用流数据的格式以无阻塞(non-blocking) 的方式来在进程中传递数据的。 有一点你必须时刻记在心的是,使用异步方式的时候,所有操作的时序性都是不能预料的。 以下是个简单的示例 varsys=require('sys'),child_process=require('child_process'),fi 阅读全文
posted @ 2011-09-27 15:35 兴说: 阅读(903) 评论(0) 推荐(0) 编辑

Node.JS 4.Basics

摘要: Encoding: Node.JS 支持 UTF-8("utf8")、ASCII("ascii") 以及 Binary("binary") 编码,相对来说,ASCII 跟 Binary 会快一些,UTF-8 会慢许多并且应该尽量避免使用它。 GlobalsArguments:varsys=require('sys'),some_argument=process.argv[2];//argumentexampleif(!some_argument){returnsys.puts('Usage:node'+ 阅读全文
posted @ 2011-09-27 12:24 兴说: 阅读(967) 评论(0) 推荐(0) 编辑

Node.JS 3.Modules

摘要: 在上一节中你看到了我们使用: var some_var = require('built-in_module_name'); 来导入 Node.JS 内建的 Modules 那如果你想导入自己写的 Modules 呢? Node.JS 提供了命令来供你导入。 现在就开始写脚本来尝试一下导入自己的 module 吧,下面是 modules.js 的内容: varfoobar=require('./foobar'), sys=require('sys');sys.puts('Foobar:'+foobar.bar('bar&# 阅读全文
posted @ 2011-09-13 01:06 兴说: 阅读(446) 评论(0) 推荐(0) 编辑

Node.JS 2.Hello World

摘要: 2.Hello World 2011年9月12日 16:15 老生常谈,接下来的第一个示例也是 "Hello World"。 下面是一个 Node.JS 的 Http 服务端,服务端在收到请求的2秒后会返回 "Hello World"。 varsys=require('sys'),http=require('http');http.createServer(function(req,res){setTimeout(function(){res.writeHead(200,{'Content-Type':&# 阅读全文
posted @ 2011-09-13 01:05 兴说: 阅读(971) 评论(0) 推荐(0) 编辑

Node.JS 1.Introduction

摘要: Node-by-example 是关于Node.js的一系列的代码示例。 示例基于 Node.JS 的文档,并经过了单元测试,你们可以在以下网址中下载到:http://github.com/Hendrik/node-by-example 这里我假设你们对 JavaScript 有一定的了解,并且知道 Node.JS 是做什么的,所以这里我就跳过了对 Node.JS 的介绍了 PS: 更多关于 Node.JS 的信息可以从这里得到: http://nodejs.org 1.Installation 安装 下面的列表包括了接下来的代码示例需要的应用跟模块。 一开始... 阅读全文
posted @ 2011-09-13 01:00 兴说: 阅读(415) 评论(0) 推荐(0) 编辑

使用 Tornado 跟 SSL 建立安全链接

摘要: 记录一下过程。首先,我们需要的当然就是 Tornado、Python、OpenSSL, 这里只是记录建立 ssl ,需要其他 linux 下知识的暂时不讲,需要的话以后另开主题。其实 Tornado 本身已经支持了 SSL ,所以我们这里主要的只是生成可用的证书。到 OpenSSL 的安装目录的 bin 文件夹下,参考 openssl.cfg/openssl.cnf 文件可以按自己的需要设置证书要... 阅读全文
posted @ 2010-10-30 17:32 兴说: 阅读(6227) 评论(0) 推荐(0) 编辑

Chapter3 - Exceptions And Exception Handling

摘要: 异常 (Exception) 的定义跟 Union 的很相似。它是使用 exception 关键字来定义的。 定义的时候首先应该给予异常的名字,然后是相应的参数。 下面是一个定义的例子 [代码] 而要引发一个异常,你可以使用 raise 关键字,捕获异常则使用 try ... with,下面看一个示例 [代码]这里是一个简单的例子,如果是当前秒数是素数,则抛出默认的Failure异常, 否... 阅读全文
posted @ 2010-09-29 08:52 兴说: 阅读(190) 评论(0) 推荐(0) 编辑

Python & Ubuntu 获取进程信息

摘要: 备忘,其实是想知道该进程使用的内存状况。首先要获取系统的内存信息:[代码]因为我下面使用的方法来获取的进程信息,只能知道该进程占内存的百分比。所以必须先获取内存的总量。接下来定义一个获取进程信息的函数。[代码]接着使用 ipython ,测试 ,先开一个 python 进程 ,假设进程ID为2168,则:[代码]记录完毕。Over~ 阅读全文
posted @ 2010-09-28 13:01 兴说: 阅读(3737) 评论(0) 推荐(0) 编辑

Chapter3 - Defining Types - Union

摘要: Union 可以将具有不同含义或不同结构的数据绑定在一起。 他的使用方式我用例子来讲解吧。 [代码] 看起来好像什么用也没有,是吧,别急,我们先来看看他的模式匹配。 [代码] 这里的模式匹配它可以接收一个范式定义的 Volume,然后判断他的类型,是Liter 还是 UsPint 或 ImperialPint ,然后对其做不同的处理。 嗯,还是感觉不到他的魔力,好吧,看下一个例子。 这个是... 阅读全文
posted @ 2010-09-27 09:35 兴说: 阅读(257) 评论(0) 推荐(0) 编辑

Chapter3 - Defining Types - Record

摘要: F# 的类型系统提供了多种方法来让我们定义自己的类型。而所有的类型最后还是归于两种, 一种叫 Tuple 或者是 Records,他们跟 C 的 Struct 与 C# 的 Class 很相似。 另一种则是 sum 类型,有时他们也指 Union 类型。 下面我们先讲 Record Tuple 是一种快速且简易的方式帮助我们将各个值封装到一个组里。而且也提供了方法让我们将 Tuple ... 阅读全文
posted @ 2010-09-27 09:00 兴说: 阅读(305) 评论(0) 推荐(0) 编辑