58同城访问过频繁验证码突破
作者:admin 日期:2016-05-06
12306验证码识别接口
作者:admin 日期:2016-04-06
Windows安装64位NumPy和SciPy包
作者:admin 日期:2015-12-23
到这个网站下载whl文件
http://www.lfd.uci.edu/~gohlke/pythonlibs/
注意下载和自己的python对应的版本
如何安装whl文件:
pip install whatever.whl
PHP图片处理库 Intervention Image
作者:admin 日期:2015-12-14
操作图片比较方便。要求PHP5.4以上,有fileinfo扩展。图片处理驱动可以是GD也可以是imagick, 也就是说这两个扩展也必需安装其一。
// include composer autoload require "vendor/autoload.php'; // import the Intervention Image Manager Class use Intervention\Image\ImageManager; // create an image manager instance with favored driver $manager = new ImageManager(array('driver' => 'imagick')); // to finally create image instances $image = $manager->make('public/foo.jpg')->resize(300, 200);
腾讯云乱扣费 腾讯云账户欠费
作者:admin 日期:2015-11-16
使用腾讯云产品的同学千万要注意了,使用之前一定要仔细阅读它们的用户使用协议,使用之前一定要仔细阅读它们的用户使用协议,使用之前一定要仔细阅读它们的用户使用协议,重要的话要说三遍,否则有一天你会发现你的房子,车子全归腾讯所有了。虽然我知道大多数人连看都不会看那协议一眼,由此可见腾讯是多么的无耻,阴险,利用广大善良同胞对互联网公司基本的信任赚钱。
下面我就把我遇到的情况写出来,血的教训啊。
首先公司需要做一个app需要乃至视频通话的功能(下面简称app)。我作为一个程序员呢在百度上找到了腾讯云的“音视频”。大家认为既然是腾讯的东西应该比较靠谱,那就试试。说干就干,我就去腾讯云创建了这么个应用。虽说我知道它是收费的,但我心想我账户里面一分钱都没有,先创建一个大不了不让我用咯。
python socket实现一个http请求 支持gzip压缩
作者:admin 日期:2015-10-24
python用socket实现发送和接收一个http请求,自动处理gzip。直接上代码。
# -*- coding: utf-8 -*- import zlib, socket conn = socket.create_connection( ("www.zeroplace.cn", 80) ); data = "''GET / HTTP/1.1 Host: www.zeroplace.cn Accept-Encoding: gzip, deflate ''' print data conn.send(data + "\r\n") recv_data = "" header = None body = None length = 0 headers = {} buf = conn.recv(1024) html = "" while True: recv_data += buf if header is None: index = recv_data.find("\r\n\r\n") if index >= 0: header = recv_data[0:index]; recv_data = recv_data[index+4:]; header_lines = header.split("\r\n") status_line = header_lines[0] print status_line for line in header_lines[1:]: print line line = line.strip("\r\n") if len(line) == 0: continue colonIndex = line.find(":") fieldName = line[:colonIndex] fieldValue = line[colonIndex+1:].strip() headers[fieldName] = fieldValue # print headers length = int(headers['Content-Length']) if header is not None and len(recv_data) >= length: break; else: buf = conn.recv(1024) if 'Content-Encoding' in headers and headers['Content-Encoding'] == 'gzip' : html = zlib.decompress(recv_data, 16+zlib.MAX_WBITS) else: html = recv_data print html conn.close()
android NV21转I420
作者:admin 日期:2015-10-13
最近做一个视频流我app,要用android的摄像头采集数据发到远程保存。我之前对视频和流媒体这块没什么研究,找了找资料发现可以这么干:
Camera->MediaCodec->MediaMuxer
摄像头采集这块资料上一般是用YV12,再通信几次copy就转成I420格式了,再把I420的数据喂到MediaCodec。而我的安卓机的摄像头只支持NV21格式的预览编码,找了很久没有找到可用的资料,最后才大概知道了这两者的关系。
YUV相关的我就不说了,与RGB类似的另一种颜色的表示方式,Y表示亮度, UV表示色度。而根据一些人类视觉的特点发现人类对亮度比较敏感对色度比较不敏感。所以提出对每个像素的Y分量进行采样,而对4个像素只进行一组UV分量的采样。就是对4个像素来说,有4个Y、1个U、1个V。这就是yuv420。
全国各地所有高校名单数据库 全国所有高校排名
作者:admin 日期:2015-10-08
JS跳转隐藏来路referrer
作者:admin 日期:2015-10-07
有时候跳转过去不希望别人知道来路,可以用下面这段js实现。
function open_without_referrer(link){ document.body.appendChild(document.createElement("iframe')).src='javascript:"<script>top.location.replace(\''+link+'\')<\/script>"'; }
原理就是创建了一个新的iframe,在src处设置了一个javascript:xxx来执行一段js,执行的内容就是top.location.replace。
php输出字符串方法集
作者:admin 日期:2015-10-01
yii2查询条件where的基础写法
作者:admin 日期:2015-09-24
yii2提供了很强大的sql构造工具类。基于sql查询主要与的是查询条件,所以我简单的翻译了一下yii2中where子句的写法。
如果是数组,有两种格式:
- hash表格式:
['列1' => '值1', '列2' => '值2', ...]
- 操作码模式:
[操作码, 操作数1, 操作数2]
hash表格式
通常会产生column1=value1 AND column2=value2 AND ...
。如果值是一个数组,会产生一个in
表达式。如果值是null
, 会产生一个is null
。
操作码格式
将根据操作码产生SQL表达式。表达式可以是如下:
- and 所有的操作数表达式全部用
and
连接 - or 同上,所有操作数用
or
连接 - not 只接受一个操作数
- between
['between', 'id', 1, 10]
将会产生id BETWEEN 1 AND 10
- not between 同上
- in 第一个操作数是列名,第二个是一个数组或是一个数据库表达式。
- not in 同上
- like 第一个操作数是一个列名或一个数据库表达式,第二个操作数是like的表达式。如
['like', 'name', 'tester']
will generatename LIKE '%tester%'
。 - or like
- or not like
- exists 第一个操作数是一个子查询。
- 其它操作码,比如
['>=', 'id', 10]
将会产生,id>=10
VS2013 密钥 – 所有版本
作者:admin 日期:2015-09-22
Visual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9
Visual Studio Premium 2013 KEY(密钥):FBJVC-3CMTX-D8DVP-RTQCT-92494
Visual Studio Professional 2013 KEY(密钥): XDM3T-W3T3V-MGJWK-8BFVD-GVPKY
Team Foundation Server 2013 KEY(密钥):MHG9J-HHHX9-WWPQP-D8T7H-7KCQG
我的是VS Professional (专业版)的找了好久都没找到激活码- -,最终在远景论坛上找到了。不容易啊,买不起正版啊。~
在VS中的 “帮助” >”关于Microsoft Visual Studio”中可以看到你的版本号~ 也可以在激活页面看见你的版本号。序列号输进去即可~
preg_match_all的两种用法
作者:admin 日期:2015-09-18
preg_match_all的作用是把一个字符串中所有与正则表达式匹配的文本提取出来。一般人只知道它的一种用法,其实它还有另外一种用法。首先看它的原型。
int preg_match_all ( string pattern, string subject, array matches [, int flags] )
pattern是正则,subject是待匹配的字符串,matches是匹配的结果。最后一个flag是一个标记。
第一种用法。
<?php $html = "http://www.zeroplace.cn/default.asp?cateID=28\nhttp://www.zeroplace.cn/default.asp?cateID=27"; $pattern = "/http:\/\/www\.zeroplace\.cn\/default\.asp\?cateID=(\d+)/"; preg_match_all($pattern, $html, $matches); print_r($matches);
它的输出是:
Array ( [0] => Array ( [0] => http://www.zeroplace.cn/default.asp?cateID=28 [1] => http://www.zeroplace.cn/default.asp?cateID=27 ) [1] => Array ( [0] => 28 [1] => 27 ) )
yii2 去掉 index.php
作者:admin 日期:2015-09-17
yii2中配置urlManager的enablePrettyUrl为true后,实际上是使用了php中pathinfo的方式来获取路由,所以在路径中会有一个index.php。有一些同学需要更加美化url的会想直接把index.php也去掉。
这在yii2中很好实现,就是配置urlManager的showScriptName属性,这个属性只在enablePrettyUrl为true时才生效。
$config = [ "id' => 'basic', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'components' => [ 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, ], ] ]
composer环境变量家目录
作者:admin 日期:2015-09-15
PHP5.4的内置HTTP服务器
作者:admin 日期:2015-09-13
PHP使用GuzzleHttp发送HTTP请求
作者:admin 日期:2015-09-12
之前的文章有讲到php调用curl发送http请求,但curl这种过程式的调用有时候是有点不方便的,各种参数的设置太麻烦。以至于我一写到curl就要去找找以前写的代码来拷贝。
如果使用composer的话,有一个包是挺好用的,就是GuzzleHttp。这个包的接口很简单,使用起来略微轻松。
下面是测试的代码:
<?php require __DIR__."/vendor/autoload.php"; use GuzzleHttp\Client; $client = new Client([ "base_uri' => 'http://www.zeroplace.cn/', 'timeout' => 2.0, ]); $res = $client->request("GET", "/"); echo $res->getStatusCode(), "\n"; foreach ($res->getHeaders() as $name => $values) { echo $name . ': ' . implode(', ', $values) . "\r\n"; } $body = $res->getBody(); echo $body;
这个是测试代码的地址:https://github.com/gaohuia2015/test_guzzle
sublime系统命令 快捷键设置
作者:admin 日期:2015-09-09
一个简单的网络书签Cloud Bookmark
作者:admin 日期:2015-09-07
目前这个书签只有Chrome版本,下一个版本将是Firefox版。虽然Chrome提供了书签功能,但由于众所周知的原因,它的书签是没有同步功能的,除非你可以翻墙。如果用户有多个电脑,那么在这些电脑之间同步书签是非常麻烦的事情。还有就是要比chrome的书签功能稍微好用一点点。这就是Cloud Bookmark解决的第一个问题。
Cloud Bookmark还解决了另外一个问题。 一盘浏览器一般都带有书签功能,但如果用户使用多个浏览器,在这些浏览器之间同步书签是需要手动完成的。如果使用Cloud Bookmark,所以的浏览器之间的数据都是实时同步的。
Chrome版
Sublime的构建系统
作者:admin 日期:2015-09-07
sublime是一个非常好用的web开发工具,在我们之前的文章中也有提到过。大家可以参考一下。
sublime的下载: http://chaojiahuo.cn/