1
0
forked from x/ContextOS

mac add 添加了目录

This commit is contained in:
shaoying 2018-03-24 16:41:48 +08:00
parent 6303d02c4a
commit 8a6638ea04

View File

@ -5,8 +5,22 @@ context: 终端工具链,各种实用的功能模块,通过简洁的接口
作为一个框架,通过模块式开发,可以快速开发各种应用软件。
* 1 context安装
* 1.0 context程序下载
* 1.1 context源码安装
* 2 context使用
* 2.0 应用示例--启动WEB服务器
* 2.1 常用命令
* 2.2 web模块的命令
* 3 context开发
* 3.0 context模块开发入门
* 3.1 context模块的生命周期与继承多态
* 3.2 message消息驱动的开发模型
* 3.3 message消息驱动的事件回调
* 4 context核心模块详解
## 1 context安装
### 1.0 context下载
### 1.0 context程序下载
选择自己操作系统与处理器的类型对应的版本下载,直接运行即可。
https://github.com/shylinux/context-bin/raw/master/bench-linux-arm
@ -49,6 +63,34 @@ $ bench
打开浏览器输入"http://localhost:9090" 即可看一个静态WEB服务器已经启动。
#### 2.0.1 添加脚本
bench支持脚本解析可以添加启动脚本这样就可以在启动的时候就运行一些命令启动一些功能。
在bench运行的当前目录创建一个目录etc并添加了个启动脚本文件etc/init.sh向脚本中添加如下命令。
```sh
~web serve ./ ':9090'
```
重新启动bench 打开浏览器输入"http://localhost:9090" 即可看一个静态WEB服务器已经启动。
#### 2.0.2 查看日志
bench支持日志输出可以通过日志查看历史记录和运行状态。
在bench运行的当前目录创建一个目录var, 重新启动bench。
再打开一个终端进行bench的运行目录并查看日志文件。
```sh
$ tail -f var/bench.log
...
2018/03/24 16:33:38 22 start(ctx->cli) 2 server [etc/init.shy] [stdio]
2018/03/24 16:33:38 22 find(ctx->cli) find yac
2018/03/24 16:33:38 27 start(cli->yac) 3 server [] []
2018/03/24 16:33:38 30 find(cli->yac) find lex
2018/03/24 16:33:38 34 start(yac->lex) 4 server [] []
2018/03/24 16:33:38 22 find(ctx->cli) find nfs
2018/03/24 16:33:38 3932 cmd(ctx->cli) 1 source [etc/init.shy] []
...
```
日志的格式中有日期与时间,随后是消息编号,与日志类型,消息的发起模块与接收模块,之后就是消息的请求行与请求头参数。
如第一行日志消息编号为22消息类型是start启动模块是ctx发送给cli模块的消息。
从日志中可以看出bench在启动时启动了词法解析模块lex与语法解析模块yac并加载了启动脚本etc/init.shy。
### 2.1 常用命令
#### 2.1.1 缓存管理cache
```sh
@ -688,6 +730,16 @@ Call()发送消息,命令执行完成后会调用参数的中的回调函数
为了看到执行结果在send命令最后加了两秒的睡眼。
如果去掉send命令中的睡眠send命令直接就结束。当回调函数再次被调用时就看不到执行行结果了。
```sh
$ go install src/example/bench.go
$ bench
demo> new one
one> context demo
demo> send one
hello world nice
```
## 4 context核心模块详解
### 4.0 ctx模块中心
### 4.1 cli命令中心