Bash速成

条件语句(注意:条件里两边的空格,引号,等号)

if [ “$var” = “abc” ]; then

elif [ “$var” = “ac” ]; then

else

fi

for循环

for var in $(ls *.sh); do
echo $var
done

while循环

var=1
while [ “$var” -le 20 ] ; do
var=$(($var+1))
done

until循环(跟while循环相反的)

until condition
do

done

case条件(可用正则,;;相当于break)

case “$var” in
yes | YES | y )
echo “YES”
echo “haha”
;;
[Nn]* ) echo “NO”;;
* ) echo “OTHER”;;
esac

定义/赋值变量

var=xxx  (等号两边不能有空格)

变量读取

echo $var

读取用户输入

read var

不输出换行

echo -n

执行命令并捕获返回值

$(command)

其它

shell里默认类型是字符串型

php json_encode utf-8中文问题

utf-8字符json_encode为变成转成utf16编码,也就是介个样子:

$ ./php/bin/php -r 'echo json_encode("中文");'
"u4e2du6587"

可读性降低,最新的php 5.4的json_encode支持了UTF-8编码,可以把中文不编码直接输出。
那低版本怎么办呢?也有办法,封装成一个函数给大家分享一下:

function my_json_encode($var) {
    return preg_replace("/\u([a-f0-9]{4})/e",
      "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$1')))", json_encode($var));
}

北京市管公积金打印缴存证明方法

好多同学都不知道,写下来,希望有帮到不知道的同学:

  • 向公司管薪酬的hr咨询本公司公积金的管理处
  • 带身份证到相应的管理处打印即可
  • 朝阳管理处打印完之后需要到咨询台盖章
  • 搞定..

朝阳管理处上班时间:

上午9:00 下午13:30

JAVA volatile关键字特性备忘

  1. 对volatile变量的读写有一个全局的排序,但是volatile变量跟常规变量的读写顺序没并没有保证
  2. volatile的值不会被缓存,所有线程读取到的都是当前的(主存中的)值
  3. 对volatile的变量的读写好像是用了synchronized包围起来一样

百度网盘邀请码

这个不限制次数: http://pan.baidu.com/disk/beinvited?uk=1879315196
速度不错,出事容量大,离线下载功能比较爽,现有10个邀请码,有要的请拿去:
http://pan.baidu.com/netdisk/beinvited?invite_code=e5d4fbe509e5a94c3198f69342379fb7
http://pan.baidu.com/netdisk/beinvited?invite_code=288702f3e0e32d40c98cbf15ea7c04c4
http://pan.baidu.com/netdisk/beinvited?invite_code=9ff6f94b84e6de96683debe4cef71cd0
http://pan.baidu.com/netdisk/beinvited?invite_code=7364ff3ad4ec3fe5dd5fb14f5efb94ff
http://pan.baidu.com/netdisk/beinvited?invite_code=69e4fd28d920512813a2ab042f85df98
http://pan.baidu.com/netdisk/beinvited?invite_code=e130c83125ab00741846cd76c0fa5210
http://pan.baidu.com/netdisk/beinvited?invite_code=b57cc74b80d196b5f1edff8f912733b4
http://pan.baidu.com/netdisk/beinvited?invite_code=d5ecd8ce75a1cedb895cd7e5a5d21e76
http://pan.baidu.com/netdisk/beinvited?invite_code=dacb19506505ad0c5784e5cca72084bc
http://pan.baidu.com/netdisk/beinvited?invite_code=69cff1ebbda86aa8301edd128d8012c9

PHP中的拷贝

对象用等号赋值,只是引用,是浅拷贝,除非使用clone关键字。
而基本类型,int、float、string、array几种类型都是复制也是引用,不过有copy-on-write机制控制,感觉好像是直接复制,但是效率却高一些。基本类型如果想传引用,需要加一个&.
下面代码可以说明: Continue reading “PHP中的拷贝”

利用Google两步验证来增强你网站的安全性

密码学当中最安全的密码是一次性密码OTP(One Time Password),即每次使用的密码都不同。目前安全性要求比较高的系统,比如网上银行或公司vpn、财务等系统都使用了一些一次性密码方案,比较多的是RSA的token卡,它上面显示六位数字,每一分钟变化一次。YubiKey、短信验证等都算是OTP的实现。
但是这些方案都需要单独一种硬件支持。对于有大量用户的网站不太实惠,要增强安全性,还需要用户花钱买一个token卡,于是Google搞了一个”身份验证器”(Google Authentication)。Google公开算法,于是我们 就可以利用它来增加我们网站的安全性了。
Continue reading “利用Google两步验证来增强你网站的安全性”

北师大教授童庆炳讲述北京“新马太”今昔

作者:童庆炳                             发布时间:2011-11-29
    如果你坐上北京的一辆出租汽车,然后对司机师傅说:劳驾,我要到北京师范大学。如果这位司机是位老司机,他就会笑着对你说:你是要到“新马太”啊!假如你是一位在北京住了几十年的像我这样的老住户,特别是在北太平庄一带的老住户,就会笑答:您说对了。原来北京也有一个“新马太”,只是不是指无论冬夏都热烘烘的绿草长青的新加波、马来西亚和泰国,是指北京北二环豁口内外的新街口、马甸和北太平庄三地。在这三个地点之间,北京师范大学在五六十年代肯定是“新马太”之间最大的单位,现在是不是,就难说了。