Linux xargs命令

xargs命令的作用就是将上一个命令的结果,作为xargs后面命令的参数来使用。

命令对比:
1、假设当前目录下有111.txt和222.txt两个文件

find -name 111.txt | ls -la

搜索出来的结果和ls -la命令执行结果一样。

find -name 111.txt | xargs ls -la

搜索出来的结果只有111.txt信息。

第二句find语句将前面的结果作为了ls -la的参数,ls -la 111.txt。

2、在当前目录下搜索以.c结尾的文件

find . -name "*.c" | grep SetMessage

搜索出来的是一个叫SetMessage.c的文件。

find . -name "*.c" | xargs grep SetMessage

搜索出来的是在某个.c中有SetMessage函数定义。

第一个find语句是grep从管道出来的结果集中去找SetMessage的内容。
第二个find语句是将管道出来的结果作为grep的参数,比如结果里有1.c、2.c、SetMessage.c,命令就变成
grep SetMessage 1.c 2.c SetMessage.c
后来在2.c中找到SetMessage函数定义。

dbvisualizer设置

1、dbvisualizer中文乱码
tools–tool properties找到Fonts–修改SQL Editor/Text Editor
将字体换成:微软雅黑、新宋体、楷体、黑体

2、dbvisualizer自动提示
tools–tool properties找到SQL Commander–Auto Completion
都打上勾

3、SQL提示
修改SQL提示的步骤如下:
1)编辑dbvis.jar包下的dbvis-actions.xml文件(解压或直接修改)
2)找到以下的代码
<actionidref=”show-auto-completion-command”keystroke=”control SPACE”/>
3)将以上代码修改为以下代码 (改成 alt + 点 或 alt + 斜杠 )
<actionidref=”show-auto-completion-command”keystroke=”alt PERIOD:alt SLASH”/>
4)保存文件并放回到dbivs.jar中
经过以上步骤便让dbvis的SQL提示的快捷键与eclipse的代码提示快捷键一致,修改在与我们编写代码习惯一致,提高我们的编写SQL的效率
此时用alt+点 或 alt+斜杠,SQL提示的框就出来了

4、快速执行一行sql语句
shift+home 选中一行
ctrl+enter 执行语句

5、修改查询结果的显示条数
右上角将Max Rows从1000改为1000000

6、格式化SQL语句
SQL Commander -> Format SQL

7、SQL Editor右上角Max Rows和Max Chars设为-1显示全部,或指定一个大小

8、dbvisualizer编写P/L SQL
需要在declare前加上“–/”,end后加上“/”

--/
DECLARE
v_num number(1) := 1;
BEGIN
dbms_output.put_line(v_num);
end;
/
注意--/和/之前不能有空格,否则执行报错

在SQL Commander里面执行以上代码,dbms_output.put_line()语句没有输出?
1)先选择DBMS OUTPUT选项卡,点击enable绿色箭头
2)再执行以上代码
— 10:31:45 —
1

9、DBMS OUTPUT
在SQL Commander执行:

@set serveroutput on;

相当于在DBMS OUTPUT选项卡,点了enable绿色箭头

@set serveroutput off;

相当于点了stop红色图标

10、调用存在的存储过程

--/
begin
hr.getpages(1,10);
end;
/

不用加exec。

PBOC借贷记学习(未完待续)

应用选择
应用选择主要目的就是在卡片插入终端的时候,由终端来选择哪些应用是由终端和卡片共同支持的。终端的AID列表是通过IC卡参数下载交易从服务端获取,卡片的AID是在做卡片个人化时写入的。

建立应用列表有两种方法,PSE目录选择方法和AID选择方法。

目录选择法流程:
终端先读取PSE,PSE也是一个目录称为支付系统环境。
通过READ RECORD命令读取PSE中的短文件标识(SFI)以及文件里的记录号。读取的记录号对应的记录就是卡片支持的AID。将卡片支持的AID列表和终端支持的AID列表比较,把共同支持的AID放入候选目录中。

AID选择法流程:
AID选择法,就是终端将自己所支持的全部AID通过SELECT命令发送给卡片,逐一尝试,看哪条AID是卡片所支持的。把卡片也支持的AID放入候选目录中。

建立完列表后,可以1)显示应用供用户选择,或2)自动选择优先级最高的一个应用,用于引导处理交易。

卡片会在终端发送SELECT命令响应中返回PDOL(处理选项数据对象列表)是卡片要求终端提供数据的标签和长度列表。终端之后在应用初始化时处理PDOL,通过GPO命令提供列表中所要求的数据给卡片。
继续阅读PBOC借贷记学习(未完待续)

C++学习

1、C++中引用和指针的区别
指针保存的是一个对象的地址,引用是这个对象的别名。
int a = 1;
int * p = &a;
这里变量a和指针p本身地址是不一样的。

int a = 1;
int &b = a;
这里变量a和引用变量b的地址是一样的,两个变量指向同一个内存地址。

主要区别:
引用变量不能为空,在定义时必须初始化。
引用变量初始化后,引用的对象不能再改变。b引用了a后,不能再引用c变量。

总结:
指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名,引用不改变指向。

指针和引用作为函数参数进行传递时的区别:
传值调用、传址调用、引用调用中传址调用、引用调用都可以改变传入的实参的值。
区别在于指针调用也是将指针变量的值(所指向变量的地址的拷贝)传入形参,在函数内修改所指向变量的值。
引用调用直接把实参传入了函数内,修改了形参就修改了实参。

2、__cdecl和__stdcall区别
两者的区别是清栈方式不同,如果使用__stdcall由函数自己清栈,如果使用__cdecl由调用者自己清栈。

当函数参数个数不定时,只能使用__cdecl来说明函数的调用方式。
如:int sprintf(unsigned char *out, const unsigned char *format, …)

3、类中的静态变量和静态函数
类中的静态变量是属于类的不属于某个对象,它是所有对象所共用的。
静态数据成员需要单独初始化:
<数据类型><类名>::<静态数据成员名>=<值>

静态成员函数可以使用静态数据成员,非静态数据成员要通过具体对象来引用(因为静态成员函数没有this指针)。
静态成员函数主要为了调用方便,不需要生成对象就能调用。
继续阅读C++学习

跑步知识

想跑30分钟得先具备走30分钟的体力。

跑步姿势
1、挺胸
头和上半身要和着地的那只脚成一直线,身体挺直不要前倾。

2、摆动手臂
摆臂时感觉好像在打鼓一样。

3、脚后跟先着地
摆臂时带动肩胛骨,要用全身来带动脚。

平时锻炼时用时间来衡量而不是用距离,速度不用太快,可以一边轻松讲话一边跑的速度就可以。

LSD训练
L:long,长时间,S:slow,慢速度,D:distance,长距离。
用7到8分钟跑1公里的速度持续跑90到120分钟。

CentOS VPS安装shadowsocks代理服务端

shadowsocks是一个轻量级的socks5代理软件,shadowsocks开发语言有nodejs、go、python、c。

shadowsocks python语言版
https://github.com/clowwindy/shadowsocks
shadowsocks go语言版
https://github.com/hugozhu/shadowsocks-go
shadowsocks nodejs语言版
https://github.com/clowwindy/shadowsocks-nodejs
shadowsocks libev版(使用C语言+libev库+openssl开发)
https://github.com/madeye/shadowsocks-libev
shadowsocks libuv版(很久没更新了)
https://github.com/dndx/shadowsocks-libuv

网上推荐安装python版和Shadowsocks-libev版,这里安装标准python版,系统为CentOS6。

一、服务端
1、安装库和shadowsocks

yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks
继续阅读CentOS VPS安装shadowsocks代理服务端

将15位一代身份证号转换成18位二代身份证号

原来的一代身份证号是15位的,现在用的二代身份证号是18位的,它们之间有一个转换规则。
一代:340524800101001
二代:34052419800101001X
可以看到它们之间的区别是二代在年份前多了19,最后面多了一位校验位

第十八位数字的计算方法为:
1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2.将这17位数字和系数相乘的结果相加。
3.用加出来和除以11,看余数是多少?
4余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2。
5.通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。

以下代码VC6编译测试通过:

#include<stdio.h>
#include<string.h>

void id_card_convert(char * id)
{
  char tmp[20];
  int i, j ,sum = 0;
  char verify[11] = {'1','0','X','9','8','7','6','5','4','3','2'};//校验位
  int num[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};//系数

  //转换号码15位到18位
  memset(tmp, 0x00, sizeof(tmp));
  memcpy(tmp, id, 6);//复制前6位
  memcpy(&tmp[6], "19", 2);//前6位后补19
  memcpy(&tmp[8], id+6, 9);//复制后9位
  
  for (i = 0; i < 17; i++)//现在tmp有17位算第18位校验位
  {
    sum = sum + (tmp[i]-0x30)*num[i];
  }

  j = sum % 11;//从verify数组中找到第j位就是校验值

  tmp[17] = verify[j];
  
  memcpy(id, tmp, 20);  
}

void main()
{
  char id_card[20];
  memset(id_card, 0x00, sizeof(id_card));
  memcpy(id_card, "340524800101001", 15);
  printf("原身份证号:%s\n", id_card);
  id_card_convert(id_card);
  printf("转换后:%s\n", id_card); //显示34052419800101001X是正确值
}

参考资料:
http://blog.csdn.net/ylqmf/article/details/4904483

上海话电视节目

情景剧:
红茶坊
开心公寓
老娘舅

新闻节目:
大家帮侬忙 周六、周日 新闻综合频道 16:45~17:30

快乐三兄弟.嘎讪胡 周一至五晚 新娱乐频道 18:00~18:30
http://v.baidu.com/show/393.htm

谈话节目:
闲话上海滩 周一至五晚 记实频道 19:00
http://v.baidu.com/show/9737.htm

综艺节目:
欢乐星期二 周二 新娱乐频道 20:00
http://v.baidu.com/show/335.htm

阿庆讲故事 周一至周五 新娱乐频道 19:15
http://v.baidu.com/show/26.htm

没环境讲不来了,记得看!

推荐日影20140614

又到了定期推荐日影的时候了。《黄色大象》、《贞子3D续集》、《地狱为何恶劣》、《小好、小麻、佐和子》。

《黄色大象》

◎译  名 黄色大象
◎片  名 きいろいゾウ/YellowElephant
◎国  家 日本
◎年  代 2013
◎语  言 日语
◎类  别 剧情
◎导  演 广木隆一
◎主  演 宫崎葵
      向井理
      濱田龍臣
      浅見姫香
      本田望結
      柄本明
      松原智恵子
      荻野目慶子
      安藤樱
      绪川玉木
      LilyFranky
◎简  介
继续阅读推荐日影20140614

千岛湖旅游

上周末,公司组织去千岛湖旅游,谈谈感受。
周六早上7点在人民广场上海博物馆南门集合,坐车去千岛湖。单程要开5个小时,时间太长了,以后不会考虑坐车那么长时间。。。
到了千岛湖后,首先浙西地区环境是很好的,一眼望去一片绿色,不是山就是田地。听导游介绍,千岛湖水域面积广阔,储水量有3000个西湖那么多。淳安县没有什么大型工业,著名产业就是农夫山泉和千岛湖啤酒了。那边的旅游景点不多,有森林氧吧、中心湖景区、漂流。
我们到了之后先去了宾馆,下午没参加什么活动,晚上参加了夜游千岛湖的活动,在一艘游船上吃了晚饭。夜游还是不错的,看看风景,船上还有表演,有热舞有唱歌有魔术表演,很high。
第二天去了中心湖景区,坐船登了3个岛,其中一个岛是爬山、一个岛是吃中饭、一个岛是看海瑞的一个祠堂。我觉得千岛湖自身条件很好,有山有水,大概是政府要保护环境的原因,旅游开发的程度并不大,旅游景点多在郊区,这也导致如果想自助游去旅游景点都没车。

软件及互联网爱好者