江湖小虾米 What is worth doing is worth doing well!!!

浏览次数: 1,788,005    文章总数: 31    评论总数: 1

用于测试rest api的nodejs测试框架

一直不知道怎么测试rest api,或者说没有一个比较方便的方法来测试rest api。后来想了一下,测试一个api是否可行其实不过就是给予一些参数,然后发起一个请求,获得响应,检查返回的值是否与预想的一致,一致则正确

于是用nodejs写了一段代码,用来测是rest请求(http请求)。整体的思路,希望减少测试的逻辑代码量。即使提供测试数据成为编写测试用例的主要工作量。于是写了一个RestTester对象,用于接受测试数据,以及测试上下文。即只要提高测试数据和测试服务器的相关信息。

 

在ubuntu上安装mongodb & nodejs 有更新!

mongodb & nodejs:

解决编辑模式下IFrame光标消失的问题

问题:当编辑框(IFrame)内为空时,其获得焦点后,没有看到光标。

在空的编辑框中,加入用户不可见的字符即可。

var ifr = $(iframe);

ifr.html("&#1");

ifr.focus();

 

十进制转换八进制

下面是3个转换函数:

函数:dec2oct 是把10进制数转换成8进制字符串,两种不同的实现。一种是用乘除运算构造,一种是用位移运算构造。最后convert一个就是把字符串,转换成ascii码字符串。当然,下面几个方法,都不怎么完善,权当作联系之用。

 

[转] android 保持屏幕唤醒

@Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }
最好别用

 

PowerManager and the WAKE_LOCK permission

AndroidManifest.xml:

<uses-permission android:name="android.permission.WAKE_LOCK" />

Activity:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
mWakeLock.acquire();
// ...
mWakeLock.release();
因为此种方法在周期循环的时候会出现异常

 

mysql/percona 5.5 源码安装 有更新!

....

[转]javascript跨域访问方式

1. 服务器段作代理(...)

2. javascript动态资源载入

3. iframe

chrome启动参数

...

mysql远程登录

mysql:
  • 远程登录:
    • modify /etc/mysql/my.inf
      bind-address=localhost
    • grant all on sonardb.* to sonar@'%' identified by '123456';
      grant all on sonardb.* to sonar@localhost identified by '123456';
      sonardb替换为你想访问的数据库名,sonar是你的想使用的用户名,123456替换为你的密码,这样就开启了远程访问功能.
    • 查看用户权限:show grants for root@'localhost'

 

让vim显示空格,及tab字符 vim 多行注释

...

批量更改文件权限

批量更改权限:
    find dir_name -name “*.sh” -exec chmod 755 {} \;

在vim中以管理员权限存文件

在vim中以管理员权限存文件:

    很多时候我们在vim一个文件然后保存的时候却发现没有写权限,这个很纠结,尤其是在编辑了一个文件的好几处,而且不在一屏的时候,其实有个变通的方法,原理稍后介绍,现在你可以在保存的时候使用下面的命令:

:w !sudo tee %

    原理是w ! 可以把当前尚未保存的内容输出到标准输入中,然后用tee 把标准输入的东西写入到%文件中。 而在vim中,%代表当前正在编辑的文件。

 

shell中的一些符号

shell 中的一些符号
  • ${var:-"default var"}
  • ${var:="default var"}
  • ${var:?"message"}
  • ${#var}
  • ${var#matcher}
  • ${var##matcher}
  • ${var%matcher}
  • ${var%%matcher}
  • ls my_{finger,toe}s
    • output: my_fingers my_toes
  • []: test 命令的一个软链接
  • $# :引用的变量总数(参数个数)
  • $- :shell使用的当前选项
  • $*:显示所有参数
  • $!:最后一个后台运行的进程ID号
  • $$ :当前shell脚本的进程号
  • $((...)):表达式求值
  • 变量引用:$1、$2、$3……${10}、${11}、${12}……
  • $@:参数用空格隔开输出
  • AND列表statement1 && statement2 && statement3 &&…:只有在前面所有的命令都执行成功的情况下才执行后一条命令
  • OR列表 statement1 || statement2 || statement3 || …:允许执行一系列命令直到有一条命令成功为止,其后所有命令将不再被执行eg:#!/bin/sh
  • : 内建空指令,返回值0 (while: 可实现一个无限循环)
  • ;分号 连续指令
  • ~ : 使用者的home目录
  • !:逻辑not
  • ** : 次方

awk与正则表达式

...

awk与正则表达式

...

通过ssh挂载远程文件系统

sshfs:

 

sed的使用方法(转)

sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。

less命令

less命令:
  •  -a: 在当前屏幕显示最后一
  •  -c: 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;
  •  -f: 强制打开文件,二进制文件显示时,不提示警告;
  •  -i: 搜索时忽略大小写;除非搜索串中包含大写字母;
  •  -I: 搜索时忽略大小写,除非搜索串中包含小写字母;
  •  -m: 显示读取文件的百分比;
  •  -M: 显法读取文件的百分比、行号及总行数;
  •  -N: 在每行前输出行号;
  •  -p pattern: 搜索pattern;
  •  -s: 把连续多个空白行作为一个空白行显示;
  •  -Q: 在终端下不响铃;

 

关于linux管道的使用

管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入 standard input.

 

/etc/sudoers文件

sudo是linux下常用的允许普通用户使用超级用户权限的工具。 
它的主要配置文件是sudoers,linux下通常在/etc目录下,如果是solaris,缺省不装sudo的,编译安装后通常在安装目录的 etc目录下,不过不管sudoers文件在哪儿,sudo都提供了一个编辑该文件的命令:visudo来对该文件进行修改。强烈推荐使用该命令修改 sudoers,因为它会帮你校验文件配置是否正确,如果不正确,在保存退出时就会提示你哪段配置出错的。