golang中的rune

rune这个概念困扰我好久了。。。中文直译字面量给我的感觉就是犇猋骉麤

今天在看The way to go的时候,看到类型判断,然后尝试了下

fmt.Println(1,"a",'a')
//output:1 a 97

看到97的时候就开心了一下,a的unicode编码就是97字面量果然就是字面量...,stackoverflow有个解释很棒:字面量就是它所代表的unicode编码值,a就代表整数97

参考:unicode码表 //16进制

小屋终于有了小绿锁!!!

哈哈哈,好开心!今天太晚了,开坑明天写!

昨天在逛v站的时候,看到有人在搞推广,送ssl证书。。按照网站的提示,很快的就拿到了证书。但是,在配置Nginx的时候碰到了麻烦,reload的时候不停的报错:Nginx : SSL_CTX_use_PrivateKey_file (..) failed。网上找了很久,在serverfault 找到了ssl key和证书的验证方式。

openssl x509 -noout -modulus -in subdomain_domain_com.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5

然后,发现了很蛋疼的事情:我把二级证书和自己的证书搞混了!!!简直不能更难过。。。

修改配置之后,重启Nginx,顺利通过。满怀欣喜的打开小站,结果没有看到小绿锁。说好的小绿锁呢?呢?呢???打开调试,发现是七牛的图片都是http的,想要七牛https,还是得充钱嘛~~

15块。。。估计够用挺久了吧 =.= 后面有时间要把所有都替换为https

PHP 中的单双引号

php 果然很有趣

<?php
    $a1 = null;
    $a2 = 'null';
    $a3 = "null";
    $a4 = 0;
    $a5 = '0';
    $a6 = "0";
    $a7 = array();
    $a8 = array(array());
    echo empty($a1) ? 'true' : 'false';
    echo empty($a2) ? 'true' : 'false';
    echo empty($a3) ? 'true' : 'false';
    echo empty($a4) ? 'true' : 'false';
    echo empty($a5) ? 'true' : 'false';
    echo empty($a6) ? 'true' : 'false';
    echo empty($a7) ? 'true' : 'false';
    echo empty($a8) ? 'true' : 'false';
?>

得到以下奇怪的结果

文件 是以 php -f test.php执行
cli 是以php -r '$a=null;echo empty($a) ? 'true' : 'false';'执行
参数 | 文件执行 | cli执行

nulltrue1
'null'false1
"null"falsenull(这里只是占位,php什么都没有输出)
0true1
'0'true1
"0"true1
array()true1
array(array())falsenull(这里只是占位,php什么都没有输出)

看起来是cli 将 ‘null’ ‘true’ ‘false’ 都当作了参数,没有按照字符串来处理。但是文件模式中却按照字符串处理

Walle,我可能的救星

Walle 一个web部署系统工具,配置简单、功能完善、界面流畅、开箱即用!支持git、svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布、回滚,可以通过web来一键完成。

3月中旬换工作到现在的公司。进来之后简直被震惊到了!!!代码写的各种乱,到处都是漏洞,MySQL玩出了 NoSQL 的感觉。非常庞大的PHP项目,测试和DEV是同一个环境!!!上线居然还是FTP手动上传!!!

记得某次上线一些新功能。之前测试已经在测试环境测试通过了,但是当我们开始ftp上传的时候,噩梦开始了。

首先是上线的文件不明确,根本记不住自己一周之前到底改过那些文件,也不知到那些别人修改的文件会影响到项目,然后最严重的问题就是:根本不知道线上环境和测试环境到底差多少个版本!

文件上传之后各种BUG不断,要么就是文件漏传,要么就是某些修改过的文件影响线上环境。我们不得不在线上直接DEBUG,测试同事不得不一遍又一遍的验证线上环境。那天晚上从晚上七点折腾到凌晨两点多。

这种上线方式,除了带来许多毫无意义的重复劳动和不明确的风险之外,对大家的士气和工作积极性也是不小的打击。现在每次提上线,我都有一种要去上刑的感觉。其实这种局面只要作出一些简单的改变即可扭转:部署工具。之前有推荐过现在比较流行的jenkins来做持续集成和部署(我司也有JAVA团队),但是不知道为什么后来没下文了。。。

最近在V2EX上看到Walle,然后到他们的官网了解一下。觉得非常适合我们的团队:结构简洁、使用简单、所用技术栈我司也能hold住(Yii,Composer,Bash,Git...)。

周六抽空尝试了一下,简直High的不行,我仿佛看到了将来的光明!But!我得先在我司推广Git...

路漫漫其修远兮 吾将上下而求索