Python抓取网页时GBK编码转UTF-8

用chardet模块检测出网页是ISO-8859-2的编码,西欧语言,这明显是不正确的,推测可能是网页中包含的某些特殊字符造成检测结果出错。

直接使用html.decode(‘gbk’).encode(‘utf-8’)则报错,那么可以简单地加一个参数让解码过程中出现错误自动忽略,即html.decode(‘gbk’, ‘ignore’).encode(‘utf-8’)

中文便能正确显示了。

fedora更新后间歇性无法启动的处理

fedora 19更新后偶尔会出现无法启动的状况,卡在LOGO画面一直无法跳转到登录。

按ESC查看启动详细后发现,反复出现“[ok] started sendmail mail transport client”,因为是桌面系统平时也用不到sendmail服务,所以就想法禁用它。

首先查看一下准确的服务名称,从启动配置目录里可以找到

ls /etc/systemd/system/*.wants

然后看到了准确名称是sendmail.service,于是禁用它(不是管理员的话需要sudo)

systemctl disable sendmail.service

执行完再重启就妥妥了

PHP生成指定位数的随机数的最简便方法

刚才在写短信验证码模块,需要用到指定位数的随机数,然后网上一找发现太可怕了这么简单的事情竟然用了好几十行多个循环嵌套……看来没有好脑仁儿真的不适合当程序员。

自写了一行版本:

function generate_code($length = 4) {
return rand(pow(10,($length-1)), pow(10,$length)-1);
}

为了便于理解,同时也为了这篇水文可以凑点字数,这是多行版:

function generate_code($length = 4) {
$min = pow(10 , ($length - 1));
$max = pow(10, $length) - 1;
return rand($min, $max);
}

 

Kohana 3.3能用的Captcha Module

官方的在3.3里取消了内置的captcha模块,而github上官方的kohana-captcha模块都是好几年前的了,因为3.3变态的PSR0命名规范所以根本无法使用。

本来想手动修改所有类名和文件名,后来抱着不要重复造车轮的想法先搜索了一番,经过多次测试后找到了一个可以用的。这个是git地址(用力点我)

另备份了一份,如果不方便上git也可以直接下载(同样用力点我)

解决UEditor每次编辑在首尾多出空行的问题

新写的网站用UEditor做编辑器,结果发现每次编辑完都会多出首尾空行,像这样:

<p></p>
<br/>
xxxxxx
<br/>
<p></p>
然后看了下自己植入编辑器时的写法,发现了问题所在。
<script id="container" name="content" type="text/plain">
<?=$info['content']?>
</script>
<script type="text/javascript">
var editor = UE.getEditor('container', {
    initialFrameWidth:"100%",
    initialFrameHeight:450
})
</script>
在container中,<?=$info['content']>的前后各有一次回车,而ueditor将这2个回车自动转换为<p></p></br>的形式了。解决方法很简单,写在一行就可以了。
<script id="container" name="content" type="text/plain"><?=$info['content']?></script>
<script type="text/javascript">
var editor = UE.getEditor('container', {
    initialFrameWidth:"100%",
    initialFrameHeight:450
})
</script>

nginx中的kohana3.3.1伪静态设置

server
{
listen 80;
server_name 55zaza;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/55zaza;

    #include kohana_rw.conf;

    location / {
        index index.php;
        try_files $uri $uri/ /index.php?$uri&amp;$args;
    }

    location ~ .*.(php|php5)?$
        {
            try_files $uri =404;
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include fcgi.conf;
        }

    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

    location ~ .*.(js|css)?$
        {
            expires      12h;
        }
    access_log off;
}</pre>

 

关于虾米放弃自有账号体系想到的

虾米的自有账号体系彻底沦陷了,现在升级到淘宝账号还给90天的VIP体验。这可能对虾米来说是个发展的好机会,对普通用户来说也是一件点一点就完成的小事,可是我想到了一些别的事情。

这意味着什么?

按照惯例几乎可以预测,淘宝将在半年左右,最长1年以内将虾米全盘整合入淘宝的“官方”生态圈。为什么说是“官方”生态圈?因为以往打造的生态圈中凡是淘宝没有直接收钱的最后都被淘宝干掉了,方法无非是更改规则或者是直接利用其平台优势推出同类产品。

现在既然淘宝已经入股虾米,并且迫使虾米放弃了自有账号体系,那么就说明全盘整合已经进入加速期。在原有用户转入新账号一段时间后,淘宝应该会将虾米改名为“淘音乐”之类的东西。

 

为什么这样做?

无利不起早,淘宝当然也不是为了蛋疼才这么做的。原因大致有以下几点:

提高平台可扩展性

淘宝的垄断力不弱于腾讯,而且在支付领域暂时无敌,那么平台可扩展性是什么意思?腾讯做聊天软件起家,目前微信又能独当一面,很轻易地就能布局到游戏和其他社交领域,有朋友一起玩才好玩嘛。可上淘宝的基本都是买东西,买完就关了,旺信?那就是个笑话,相信没有什么人会想和淘宝上的朋友一起玩游戏的。而吸收虾米这部分垂直的客户就能逐步改善一些问题。

移动端缺乏杀手级应用

苹果的ios上有iTunes,尽管在中国支付起来还是不怎么方便,但正版音乐、正版游戏、正版软件都妥妥的。amazon推kindle的android版本,尽管是android,也有amazon的自有app市场以及kindle的电子书平台优势。而淘宝(其实应该说是阿里巴巴)的阿里云一直是个逗13角色,抄没抄袭暂且不说,生态圈是几乎没有的,买阿里云手机都是因为可以便宜买机器然后回头再刷别的ROM。

那么虾米的地位就变得异常重要起来,全盘整合虾米就意味着今后阿里云绑定的淘音乐有了第一批具备实际购买能力的优质客户。自古以来,资源不占优的情况下,以点破面乃是上策。

 

对虾米的风险

有大公司做靠山,乍一看当然是天大的好事。可提到大公司作风,比较容易想到的就是非主营业务的事业部获得资源较少以致半死不活,毕竟世界上能真正“平面化”管理的也只有jobs了。

 

1年后,见分晓。