`
文章列表
前言: Yii2是一款非常优秀的php框架,Yii2的官方发行版整合了Codeception测试框架。在使用Yii2框架的项目中,我们可以非常方便地利用Codeception进行单元测试、功能测试和验收测试。现在我们就利用Codeception在Yii2下实现简单的单元测试。   在进行单元测试前,需要做一些准备工作。   1. 首先确保你的机器安装了Composer,否则请自行安装,这是安装教程   2. 打开命令行,并切换目录到项目根目录,分别运行如下命令。 composer require "fxp/composer-asset-plugin:*" ...
前言: 众所周知,在C语言中,很多函数都会返回-1以表示函数调用出错。但是很多书籍中(如:UNIX环境高级编程) 的很多例子并不使用语句 if (fork() == -1) { /* 出错处理 */ } 而是使用 if (fork() < 0) { /* 出错处理 */ } 今天我们就比较这两种语句,在运算效率上究竟有什么区别。   我们来看看"< 0"和"== -1"的执行效率 源代码如下 #include <stdio.h> #include <string.h> ...
前言: 博主在前不久的一个项目中,项目组的组员需要删除由daemon守护进程创建的缓存文件。但是删除这些缓存文件需要超级用户权限。博主用root用户创建了一个设置用户id的shell脚本来实现此功能。但是此脚本并没有如预期那样工作。今天就浅谈一下设置用户id位,为什么对shell脚本无效。   假设我们文件结构如下图所示  Cache文件目录下有3个缓存文件,分别为cache1、cache2、cache3,这三个文件为daemon用户所有   下面我们来看一下设置用户id位的两种工作方式。   对shell脚本文件设置“设置用户id位” 现在我们有一个名为"d ...
前言: 有时候我们向数据库表中插入数据时,需要在插入前保证数据的约束。有两种方法可以保证约束不被破坏,1、插入前手动检查数据,2、使用触发器。今天我们就用触发器来保证约束完整性。   假设有如下两个关系 课程编号(course_name) 上课教室(room) 课程时间(time) English BO-101 AM History BO-102 AM Physics BO-103 PM Biology BO-104 PM                                    course关系   教师编号 ...
前言: 考虑这样一个问题,A机构的上级机构是B,B机构的上级机构是C,C机构的上级机构是D,而D机构的上级机构是E。现在需要找出一个给定机构(例如E例如A)的所有上级机构。 这种问题的典型表结构如下 机构(ins_id) 上 ...
前言: 《Linux命令、编辑器与Shell编程》这本书可以说是我的Linux启蒙教材。最初在看这本书的时候,对每一章后面的高级练习都感到头疼,甚至束手无策。最近重新翻阅这本书,顺便也把部分高级练习的解题思路写在这里。   第四章 linux文件系统 课后练习   "13. 如何才能创建一个名为-i 的文件? 采用哪种方法不能奏效? 为什么不能? 如何删除该文件?"   解题思路:我们知道,在linux系统下,只要文件名不包含(/)和空操作符(null)都是合法的文件名。斜线用来分隔构成路径名的各文件名,空操作符则用来终止一个路径名。(注意:别把空操作符(n ...
Global site tag (gtag.js) - Google Analytics