Suche senden
Hochladen
Nae client(using Node.js to create shell cmd)
•
Als PPTX, PDF herunterladen
•
1 gefällt mir
•
775 views
F
fisher zheng
Folgen
nae server client tool write by node.js how to use Node.js to write shell script
Weniger lesen
Mehr lesen
Melden
Teilen
Melden
Teilen
1 von 28
Jetzt herunterladen
Empfohlen
Deployment with Capistrano
Deployment with Capistrano
旭 張
前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧
Chu-Siang Lai
Docker應用
Docker應用
Jui An Huang (黃瑞安)
20150604 docker 新手入門
20150604 docker 新手入門
azole Lai
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
Will Huang
Docker 淺入淺出
Docker 淺入淺出
Miles Chou
Docker Build
Docker Build
Miles Chou
Docker Compose
Docker Compose
Miles Chou
Empfohlen
Deployment with Capistrano
Deployment with Capistrano
旭 張
前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧
Chu-Siang Lai
Docker應用
Docker應用
Jui An Huang (黃瑞安)
20150604 docker 新手入門
20150604 docker 新手入門
azole Lai
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
Will Huang
Docker 淺入淺出
Docker 淺入淺出
Miles Chou
Docker Build
Docker Build
Miles Chou
Docker Compose
Docker Compose
Miles Chou
Cfengine培训文档 刘天斯
Cfengine培训文档 刘天斯
liuts
認識那條鯨魚 Docker 初探
認識那條鯨魚 Docker 初探
仲昀 王
Perl在nginx里的应用
Perl在nginx里的应用
琛琳 饶
從軟體開發角度 談 Docker 的應用
從軟體開發角度 談 Docker 的應用
謝 宗穎
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Bo-Yi Wu
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Chu-Siang Lai
Docker一期培训
Docker一期培训
青帅 常
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Chu-Siang Lai
1, shell intro
1, shell intro
ted-xu
Effective linux.2.(tools)
Effective linux.2.(tools)
wang hongjiang
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
AWS EC2 for beginner
AWS EC2 for beginner
azole Lai
开源Pass平台flynn功能简介
开源Pass平台flynn功能简介
Zhichao Liang
微软Bot framework简介
微软Bot framework简介
Zhichao Liang
智能Dns工作流程及配置
智能Dns工作流程及配置
Yiwei Ma
Effective linux.1.(commandline)
Effective linux.1.(commandline)
wang hongjiang
cec-hello-docker
cec-hello-docker
Bruce Huang
Shell,信号量以及java进程的退出
Shell,信号量以及java进程的退出
wang hongjiang
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Chu-Siang Lai
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
hugo
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
Yiwei Ma
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
GO LL
Weitere ähnliche Inhalte
Was ist angesagt?
Cfengine培训文档 刘天斯
Cfengine培训文档 刘天斯
liuts
認識那條鯨魚 Docker 初探
認識那條鯨魚 Docker 初探
仲昀 王
Perl在nginx里的应用
Perl在nginx里的应用
琛琳 饶
從軟體開發角度 談 Docker 的應用
從軟體開發角度 談 Docker 的應用
謝 宗穎
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Bo-Yi Wu
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Chu-Siang Lai
Docker一期培训
Docker一期培训
青帅 常
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Chu-Siang Lai
1, shell intro
1, shell intro
ted-xu
Effective linux.2.(tools)
Effective linux.2.(tools)
wang hongjiang
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
AWS EC2 for beginner
AWS EC2 for beginner
azole Lai
开源Pass平台flynn功能简介
开源Pass平台flynn功能简介
Zhichao Liang
微软Bot framework简介
微软Bot framework简介
Zhichao Liang
智能Dns工作流程及配置
智能Dns工作流程及配置
Yiwei Ma
Effective linux.1.(commandline)
Effective linux.1.(commandline)
wang hongjiang
cec-hello-docker
cec-hello-docker
Bruce Huang
Shell,信号量以及java进程的退出
Shell,信号量以及java进程的退出
wang hongjiang
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Chu-Siang Lai
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
hugo
Was ist angesagt?
(20)
Cfengine培训文档 刘天斯
Cfengine培训文档 刘天斯
認識那條鯨魚 Docker 初探
認識那條鯨魚 Docker 初探
Perl在nginx里的应用
Perl在nginx里的应用
從軟體開發角度 談 Docker 的應用
從軟體開發角度 談 Docker 的應用
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Docker一期培训
Docker一期培训
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
1, shell intro
1, shell intro
Effective linux.2.(tools)
Effective linux.2.(tools)
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
AWS EC2 for beginner
AWS EC2 for beginner
开源Pass平台flynn功能简介
开源Pass平台flynn功能简介
微软Bot framework简介
微软Bot framework简介
智能Dns工作流程及配置
智能Dns工作流程及配置
Effective linux.1.(commandline)
Effective linux.1.(commandline)
cec-hello-docker
cec-hello-docker
Shell,信号量以及java进程的退出
Shell,信号量以及java进程的退出
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
Ähnlich wie Nae client(using Node.js to create shell cmd)
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
Yiwei Ma
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
GO LL
Noip2 stack buffer overflow
Noip2 stack buffer overflow
b0920075
Voldemort Intro Tangfl
Voldemort Intro Tangfl
fulin tang
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
JoXuZi
Erlang Practice
Erlang Practice
litaocheng
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
MarsZ Chen
0118 Windows Server 2008 的伺服器核心 (Server Core)
0118 Windows Server 2008 的伺服器核心 (Server Core)
Timothy Chen
DAE 新变化介绍
DAE 新变化介绍
Tianwei Liu
rebar erlang 2
rebar erlang 2
致远 郑
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
Make talk-cn
Make talk-cn
CapnKernel
makefile20141121
makefile20141121
Kevin Wu
NCURSES Programming HOWTO
NCURSES Programming HOWTO
eastsky
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
Andrew Wu
Oda安装 恢复步骤
Oda安装 恢复步骤
n-lauren
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统
Frank Xu
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
LainZQ
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
Gelis Wu
IoT開發平台NodeMCU
IoT開發平台NodeMCU
承翰 蔡
Ähnlich wie Nae client(using Node.js to create shell cmd)
(20)
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
Noip2 stack buffer overflow
Noip2 stack buffer overflow
Voldemort Intro Tangfl
Voldemort Intro Tangfl
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Erlang Practice
Erlang Practice
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
0118 Windows Server 2008 的伺服器核心 (Server Core)
0118 Windows Server 2008 的伺服器核心 (Server Core)
DAE 新变化介绍
DAE 新变化介绍
rebar erlang 2
rebar erlang 2
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
Make talk-cn
Make talk-cn
makefile20141121
makefile20141121
NCURSES Programming HOWTO
NCURSES Programming HOWTO
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
Oda安装 恢复步骤
Oda安装 恢复步骤
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
IoT開發平台NodeMCU
IoT開發平台NodeMCU
Nae client(using Node.js to create shell cmd)
1.
NAE Client 用Node.js 编写shell
script 郑新林(剪巽)| @literal
2.
NAE (Node App
Engine)
3.
NAE (Node App
Engine)
4.
NAE (Node App
Engine) NAE 在线编辑器 每个应用需要一个 package.json 文件 .naeignore 文件:控制同步时的排除文件
5.
NAE (Node App
Engine) NAE 上APP有两种模式 : Dev , Online 在线编辑器操作的代码是dev模式下的代码 dev调试之后,需要通过发布才能到online模式 dev : appname.dev.cnodejs.net online : appname.cnodejs.net
6.
NAE (Node App
Engine) 为哈没有shell工具? 我不打算在浏览器里写代码XD ! 我控shell ! 我是姚明!
7.
NAE Client (design) 作为一个client,我要提供哪些功能呢?
(压力好大~) 格式 : nae cmd appname cmd: auth start [appname] stop [appname] restart [appname] debug [appname] sdown [appname] sup [appname] pub [appname] update
8.
NAE Client (design)
通信:socket 问答式 协议:json head + binary body
9.
NAE Client (design)
大洋葱文件传输 {cmd:file_add,app:xxx,v:’1.1’,length:123} 010101011010110101010100101011001 010101010100101010102
10.
NAE Client (dev)
寻找技术实现方案 命令行运行 shell / npm package 命令行参数获取 npm install optimist 命令行 用户输入 npm install read socket 连接 require(“net”) 文件操作 require(“fs”)
11.
NAE Client (dev
, v1) 第一版: shell + node.js #!/bin/sh echo “[Enter Email]:” read email if [ ! –z $email ] ;then fi ..... xxxx/nae.js argv1 argv2 .... #!/usr/bin/env node // javascript // write more , do more! $ ln path/nae /usr/local/bin/nae #!/bin/sh # TODO 安装、更新用的shell脚本
12.
NAE Client (dev
, v1) 第一版 开试 mocha 被上传了,咋整 ? 需要一个控制同步到机制,.naeignore 出场 !!!
13.
NAE Client (dev,
v1 ) 改进大洋葱 .naeignore 制定同步排除列表 node_module/mocha/* node_module/xxxx/* config.json 精简diff 列表,引入xfs模块 Mkdir xxx Mkdir xxx/xxx => mkdir xxx/xxx Rmdir xxx/xxx/ Rmdir xxx/ => rmdir xxx
14.
NAE Client (dev,
v1 ) Nodeclub , 第一场考验,挂了~ 现象:5000k+的文件,sdown死活跑2000个左右挂掉,为什么? 原因:EMFILE 已达到进程可同时打开的文件数上限 结论:For循环遍历文件,获取文件索引,是不安全的, 方案:改成队列! 20个并发 PS 另外一个文件操作坑坑 现象:formidle上传文件,fs.rename(),提示tmp文件不存在,为什么? 原因:fs.rename () 无法跨磁盘移动文件,报错 文件不存在 结论:给node提 issue(增加了EXDEV错误码) 方案:修改tmp目录 | fs.writeStream() 文件错误码说明: http://club.cnodejs.org/topic/4f181d70817ae4105c003b9c
15.
NAE Client (dev
, v1) 兼容了 linux/unix shell windows git-bash 缺点 安装像原先的 npm install 更新比较麻烦,尤其是windows下
16.
NAE Client (dev
, v1) 还行吧 能用了,只是家里win7,没装虚拟机~ 呃,什么? 容我想想~
17.
NAE Client node
v0.6.* 开始,npm开始强大起来 npm对平台的支持变好; 从 mocha,jake等模块中得到启发; 于是开始收集资料,准备将client升级成 npm模块 程序还没开始,先占坑 : nae
18.
NAE Client (dev
, v2) Npm 的使用 $ cd your_module $ npm init # 初始化,按wizard一部一部 { “name” : “nae”, “version” : “0.0.1”, “main” : “index.js”, “bin” : { “nae” : “bin/nae.js” }, “engines” : “>0.6.6”, “author” : “NAE”, “description”: “nae client ,”, “dependencies” : {} } $ npm publish
19.
NAE Client (dev
, v2) 捕获用户输入,替代shell的read $ npm install read var Read = require(‘read’); Read({prompt:”Enter Email”},function(err, user){ Read({prompt:”Enter Password, silent: true},function(err, user){ console.log(“密码明文,么加密~”) }); });
20.
NAE Client (dev
, v2) 处理OS平台差异 获取用户目录,保存auth信息 // *nix process.env[‘HOME’] // windows process.env[‘HOMEDRIVE’] + process.env[‘HOMEPATH’] 文件路径 : 和 / filepath.replace(//g , ‘/’);
21.
NAE Client (dev
, v2) 迁移完毕! 除了异步写起来需要异步一下思路,其他很好 可以和“难写”的shell script 说 byebye了 $ npm publish 呃,忘了改帮助文档了,又不想升版本号,咋办咋办? $ npm unpublish nae@0.0.1 0.0.1版本就这么灰飞烟灭了~
22.
NAE Client (inaugurate)
$ npm install nae 亲,全国包邮
23.
NAE Client (usage)
开始使用NAE Client $ nae auth $ cd workspace $ nae sdown app1 # 下载app1,将会在workspace下建立app1/ $ cd app1 本地开发,编辑代码 (代码有版本库控制,更加) $ nae sup ## 上传修改,有排除的文件,则修改.naeignore 线上调试 $ nae debug ## 连接nae的dev模式,stdout,stderr将被返回, ## app重启,获得调试信息 发布代码上线 $ nae pub
24.
NAE Client 这个可以有! 哈哈哈哈哈 ! 囧死我了~
25.
NAE Client (TODO)
命令改进 $ nae sdown ## 本地目录名称 必须和 appname 相同 ? $ nae sup ## sup、debug 能否组合? 你的建议?
26.
Node.js : the
new shell script process 提供平台、进程的信息,以及进程的控制 child_process 调用 shell 命令 fs 、http、net 提供文件、网络支持 模块 optimist 提供shell式的参数支持 模块 read 提供输入交互 模块 xfs增强文件操作 模块 log4js 打印漂亮的输出信息
27.
FAQ
28.
Thank you 部分图片来自: http://sinovision.net/news.php?act=details&news_id=82607 http://golang.org/doc/
Jetzt herunterladen