• yii2的程序功能测试yii2集成了Codeception测试框架,所以是官方支持程序的单元测试,功能测试和验收测试。yii2的基本应用模板和高级应用模板都支持这三种测试。测试文件是在tests目录,很明显。这里主要是介绍怎么来用框架提供的这个测试功能。第一步安装Codeception:composer global require "codeception/codeception=2.0.*" composer global require "codeception/specify=*" composer global require "codeception/verify=*"第二步是添加全局命令执行命令composer global status,命令的输出应该会有一个目录,类似如下输...
     发布日期: 2015-06-02  分类: PHP  热度: 2203 ℃ 2条评论
  • 文章是翻译自Go官方博客的文章:http://blog.golang.org/errors-are-values随便翻译的一下,给自己参考,有需要的同学也可以参考参考,翻译的不好的地方或者难以理解的地方请参考原文。本人英语本身也不怎么样!所有有可能会有理解错误,用词不当,语言组织不当的地方,请见谅!该怎么样去处理错误(errors),是go程序员特别是刚学go的人之间的一个共同讨论点。讨论经常会随着下面这段程序出现的次数越来越多而变成抱怨。if err != nil {     return err }我们最近扫描了所有我们能够找到的开源项目,发现重复出现这段代码的次数是每页或者每两页只出现了一次,是不是比你想象中的要少很多。然而,如果你还是感觉必须到处写if err != nil,那一定是...
     发布日期: 2015-05-24  分类: Go  热度: 808 ℃ 0条评论
  • go有一个官方包来操作json格式的数据,包位于encoding/json。JSON编码func Marshal(v interface{}) ([]byte, error)返回用JSON编码v之后的值。类型转换规则:boolean值会编码成JSON的boolean;float,integer会编码成JSON的number;string值会编码成UTF-8JSON字符串,无效的字节用Unicode替换,"<"和">"编码成"\u003c" and "\u003e","&"编码成"\u0026";array和slice会编码成JSON array,[]byte编码成base64字符串,空的slice编码成null;struct会编码成JSON object。空值是指fals...
     发布日期: 2015-05-20  分类: Go  热度: 2503 ℃ 0条评论
  • yii2.0的ActiveRecord是可以嵌套子查询的。比如从一个子查询里面筛选数据。首先实例化出来一个Query对象,代表子查询。$subQuery = new \yii\db\Query(); $subQuery->from('tableA')->where(['>=', 'id', 10]);假如UserModel是一个AR:$list = UserModel::find()->from(['tmpA' => $subQuery])->all();from里面传数组,数组KEY是临时表的名字,值是Query对象。同样的如果是AR的join里面也要用到子查询,参数方式是一样的。...
     发布日期: 2015-04-24  分类: PHP  热度: 2315 ℃ 1条评论
  • CORS全称是Cross-Origin Resource Sharing(跨域资源共享),是W3C推荐的跨域请求方案。同时也需要服务器端程序的配合。作用主要是以下这些跨站http请求:1、跨域的AJAX请求。2、网络字体(Web Font),就是css里面 @font-face定义的字体,可以在服务器端配置哪些域允许跨站载入这些TrueType字体。3、WebGL的纹理(texture)文件。4、用HTML5的drawImage函数画到canvas里面的图片。场景示例简单的请求一个简单的跨域请求像下面描述的那样:1、只使用了GET, HEAD 或者POST。假如POST用来向服务器发送数据的话,HTTP头的Content-Type字段值是application/x-www-form-urle...
     发布日期: 2015-04-23  分类: 其他  热度: 2796 ℃ 0条评论
  • 1、hhostnamelookups off域名查找:这增加了处理每个请求的开销,首先,服务器会对dns系统做一个反向查询以找出客户系统的主机名,然后又进行正向查询看获得的主机名是否真实指向客户的ip。大多数情况下,你可以简单的关闭这个功能,如果你经常处理服务器日志,这个工作完全可以在以后进行。你可以通过在设置文件中加入指示hostnamelookups off来关闭这个功能。2、options -followsymlinks符号连接:当打开这个选项时,apache将检查每个请求中是否包含对符号连接的引用,这将对请求中包含的每个路径调用一次lstat()系统调用。除非你准备使用符号连接,否则用 options -followsymlinks 来关掉它。3、sethandler server-...
     发布日期: 2015-04-13  分类: 其他  热度: 718 ℃ 0条评论
  • 本篇文章内容来源于Golang核心开发组成员Andrew Gerrand在Google I/O 2014的一次主题分享“Testing Techniques”,即介绍使用Golang开发 时会使用到的测试技术(主要针对单元测试),包括基本技术、高级技术(并发测试、mock/fake、竞争条件测试、并发测试、内/外部测 试、vet工具等)等,感觉总结的很全面,这里整理记录下来,希望能给大家带来帮助。原Slide访问需要自己搭梯子。另外这里也要吐槽一 下:Golang官方站的slide都是以一种特有的golang artical的格式放出的(用这个工具http://go-talks.appspot.com/可以在线观看),没法像pdf那样下载,在国内使用和传播极其不便。转载自:http://to...
     发布日期: 2015-04-10  分类: Go  热度: 750 ℃ 0条评论
  • 其实这样的程序随便搜一下一大把!这里纯粹练习用的,然后模仿的和windows上面的Ping程序一模一样。这里参考了这篇博文:http://my.oschina.net/ybusad/blog/300155ping程序发的是icmp包,这个协议和tcp、udp协议是在同一层的。包结构如下:    0                   1                   2                   3     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    ...
     发布日期: 2015-04-10  分类: Go  热度: 748 ℃ 0条评论
  • 1、搜索的索引列,不一定是要选择的列。换句话说,最适合索引的列是出现在WHERE字句中的列,或连接字句中指定的列,而不是出现在SELECT关键字后选择列表中的列。2、使用唯一索引。考虑某列中值得分布,索引的列的基数越大,索引的效果越好。例如,存放出生日期的列具有不同的值,很容易区分各行。而用来记录性别的列,只有“M”和“F”,则对此列进行索引没有多大用处,因为不管搜游那个值,都会得出大约一半的行。3、使用短索引。如果对字符串列进行索引,应该指定一个前缀长度,只要有可能就应该这样做。4、利用最左前缀。在创建一个n列的索引时,实际是创建了MySQL可利用的n个索引,多列索引可起几个索引的作用,因为可利用索引中最左边的列集来匹配行,这样的列集成为最左前缀。5、不要过度索引。6、对于InnoDB存储...
     发布日期: 2015-04-07  分类: MySQL  热度: 664 ℃ 0条评论
  • 我们能够如此简单的实现Ajax的文件上传要得益于两个新的对象:File和FormData对象,还有就是w3c标准化XMLHttpRequest之后的扩展。现在新的浏览器都支持这些东西。先来看一下File对象。取得File对象有两个途径:1、用户在一个<input>元素上选择文件后返回的FileList对象。2、来自由拖放操作生成的 DataTransfer对象。这里主要讲的是第一个,第二个有兴趣的同学可以自行查找相关资料。假如有这样一个inpu元素:<input id="file" type="file" name="file">可以像下面那样获取到File对象:var input = document.getElementById("file"); console....
     发布日期: 2015-03-27  分类: Javascript  热度: 1372 ℃ 0条评论