javascript 回文字符串判断

function isReverseString(str){
return str != null && str == str.split('').reverse().join('');
}

Advertisements

Linux I/O Redirection

第一种方式最常见,就是直接的重定向
ls > lsout.txt 或者ls 1>lsout.txt
如果知道lsout.txt的fd值比如fd=5, ls >&5和ls 1>&5是一样的效果
需要注意的是重定向的顺序,比如我们想把stdout和stderr都重定向到/dev/null,我们必须
ls >/dev/null 2>&1
如果我们写成
ls 2&>1 >/dev/null
那么只有stdout会被重定向到/dev/null,stderr仍然重定向到console屏幕输出
或者简单的写做ls &>/dev/null, 这种写法是从bash 4后支持,同时重定向stdout和stderr到/dev/null
整个程序保持silient,一般用于某种cron的服务,它有自己的log文件去记录执行过程。

第二种方式用exec命令,exec命令就算是生个一个数字的文件描述符并把它与某个要用的文件关联起来。
exec >out.txt 或者exec 1>out.txt
当用这种方式的时候,一般完成任务后要回复默认,所以常见的脚本是下面这样子,
exec 5>&1 // 用fd=5的文件保存原来stdout的fd
exec >out.txt
ls -al
exec 1>&5 5>&- //恢复stdout,然后释放临时的fd

Kerberos协议

1. 用户发一个 请求到Kerberos Domain Controller,windows的Domain Controller是支持Kerberos协议的, 一般是username@domain.com

2. KDC收到后,产生一个ticket,这个ticket已经被加密了,只有KDC知道怎么解密

3. 然后KDC再把这个ticket用用户的密码去加密

4. KDC把加过密的ticket发还给client

5. client用输入的密码尝试去解密加过密的ticket,如果密码是对的,就会得到一个有效的ticket

6. 以后每一次,这个被解密以后的ticket都会被发到KDC去验证,只有KDC知道如何去解释这个ticket,因为这个ticket本身在第2步已经被加密了

很赞的24节气图片

中国24节气

投到HP Technical Conference的一篇论文

离开学校太久了,一篇水paper写了这么久。A new Approach to UI Automation based on Optical Character Recognition

HBase的物理模型

上一篇讲了HBase的逻辑模型,这一篇准备从大体上讲一下HBase的物理模型,首先简单来说,HBase由一个Master server和多个Region server组成,在所有的region server中有一个server被称为Root Region Server,它的地址一般保存在一个zookeeper集群上,Master将通过读取zookeeper来获得这个地址,Root Server上保存着region信息都是关于Meta table的,逻辑上像一个内存的Map,从另一个角度上讲他也是一个普通的HBase表,

Map<.meta.,table name,created timestamp, region server address>

当从上一步得到region的信息后,可以进一步的访问得到的region sever,这些server也被称为Meta Region Server,这些server上保存的类似下面的结构,

Map<table name,start key,created timestamp, region server address>

到了这一步,我们才真正找到了给定一个table和一个key,这个数据究竟在哪个region server上。

HBase的逻辑模型

Map<table,SortedMap<key,Map<ColumnFamily,SortedMap<column,SortedList>>>>

HBase中每一个table可以看成一个有序的Key-Vlaue Map,第一个SortedMap描述这样的结构,每一个key值对应着一个Map,Map里的每一个key代表着一个Column Family,value是一个SortedMap按照Column名字的binary compare排序,Value就是一个SortedList按照Timestamp排序,最后更新的排在最前面。HBase Definitive Guid p20把第二个Map抽象成List,似乎暗示寻找Column Family需要线性遍历,其实HBase是直接找到对应Column Family文件夹,这也是为什么Column Family的名字一定要用printable的原因,它受制于文件系统,所以用Map更合适。