koa中间件的级联

Mac OS 用了几个月了,系统自带的终端实在用着不爽,今天换了Iterm2,感受一天,体验甚好。 关于配色 ryan@localhost-6:~$ vim .bash_profile export CLICOLOR=1 export LSCOLORS=GxFxCxDxBxegedabagaced export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 然后打开 Preferences->Profiles->Terminal->Terminal Emulation->Report Terminal Type,选择 xterm-256color。 退出 i 再次启动,打开 Preferences->Profiles->Colors->Load Presets,选择配色方案。 常用快捷键 command+f:查找模式,输入前几个字母同事按 tab,查找并向右边选中并复制。按 shift+tab,则自动将查找内容的左边选中并复制。 command+d:垂直分割屏幕; command+shift+d:水平分割屏幕 command+w:关闭屏幕 command+;:输入打头几个字母 iterm2 将自动列出之前输入过的类似命令 command+shift+h:列出剪切板的历史记录 command+enter:进入与返回全屏模式 command+option+e:可以搜索所有 tab command+r:clear command+[ or command+]:切换屏幕 option+command+b:回放 command+1 / 2 :左右 tab 之间来回切换 基本用到的快捷键就这些了,具体可以看下官方文档。

阅读全文

刚开始学习Express的时候,在 app.js 中发现 app.use,当时比较困惑。 app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); 这里其实就是定义使用了中间件(Middleware)。Express 框架实际上是依赖 Connect 创建的,这里的 use 方法是 Conncet 提供的,它用来注册一个中间件到 Connect 中间件队列。 什么是中间件? 我的理解是这样的,中间件就是类似于一个过滤器的东西,在客户端和应用程序之间的一个处理请求和响应的的方法。 什么是 Connect? Connect 是 Node.js 中的一个模块,可以用来创建中间件的一个框架,它自身已经包装了 Node 的 HTTP 模块的 Server 以及 Server 的 req 和 res 的对象。它干的活其实就是处理请求,然后响应客户端或是让下一个中间件继续处理,它的原型是这个样子的 function (req, res, next) { // 中间件 } 当 next 回调函数被调用,中间件就完成工作并传递到下一个中间件,如果没其他中间件则进入到应用逻辑继续执行。 下面来写一个简单的脚本,自己注册 2 个中间件来理解下: var connect = require('connect'), http = require('http'); var app = connect().use(access).use(test); function access(req, res, next) { var now = new Date().

阅读全文

一个短信服务的需求,决定用Nodejs来写,本来是要用 nodejs 的 soap 的服务,可是node-soap 这个包貌似有坑,总是报错,也许是我的版本有问题,我用的是 v0.8.7,后来只能通过抓包,向 SOAP 的接口发送 HTTP 的 POST 请求了,最后终于还是实现了。 主要的功能是实现一个短信服务的接口,外部的发送 http 请求到这个短信服务接口上来,短信服务向发送短信的服务器端转发请求,相当于一个中间验证和请求服务。 主要用到了 Nodejs 的 mysql 包node-mysql,还有 nodejs 解析 XML 的包libxmljs。虽然是一个小的脚本,代码也比较蹩脚(我的 JS 基础很差),但是写完还是学会了不少东西,比如 nodejs 操作 mysql,发送 post 请求,MD5 加密。。。这里加简单的注释贴出来,忘各位看官多指正,第一次写 nodejs!! var url = require('url'); var http = require('http'); var qstr = require('querystring'); var mysql = require('mysql'); var libxmljs = require('libxmljs'); var connection = mysql.createConnection({ //建立数据库连接 host: '127.0.0.1', user: 'root', password: 'yuansir-web', database: 'test', port: '3306', }); var userName = 'yuanxuxu.

阅读全文

作者的图片

Ryan是菜鸟 | 技术栈笔记

一步一个脚印,一直在路上!记录LNMP技术栈,Web架构,区块链等笔记

菜鸟码农

南京