D:\Program Files\Zend\Zend Studio - 7.2.0\plugins\com.zend.php.phpunit_7.2.0.v20100324-1300\resources\ZendPHPUnit.php
require_once $_SERVER['ZEND_PHPUNIT_TESTS_LOCATION'];
define('PHPUnit_MAIN_METHOD', '');
set_include_path(get_include_path()
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_LOCATION']
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_PROJECT_LOCATION']
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_CONTAINER_INCLUDE_PATH']
);
开始继承PHPUnit_Framework_TestSuite:
require_once 'PHPUnit/TextUI/TestRunner.php';
$cwd = getCwd();
foreach ($ZendPHPUnitTests as $test) {
chDir(dirname($test['file']));
require_once $test['file'];
chDir(dirname($cwd));
}
class ZendPHPUnitSuite extends PHPUnit_Framework_TestSuite {
public static function suite() {
$suite = new self();
$suite->setName(__CLASS__);
foreach ($GLOBALS['ZendPHPUnitTests'] as $test)
if ($test['type'] === 'suite') {
$suite->addTest(call_user_func(array ($test['name'], 'suite')));
} else $suite->addTestSuite($test['name']);
return $suite;
}
}
首先是加入环境变量:
.;Z:\soa1.3.1_code;;Z:\soa1.3.1_code;
然后,才是自己继承它加入自己的变量:
VoteTest.php 内容:
<?php
require_once 'component/test/service/DirTest**.include.php';
包含被测试文件
继承文件:require_once 'component/test/ComponentPHPUnit_Framework_TestCase***.php';其内容大体如下:
class ComponentPHPUnit_Framework_TestCase extends PHPUnit_Framework_TestCase{
。
。
。
开始测试的函数编写
EOF!
=================================================================
DirTest**.include.phpcode如下:
<?php
define("ROOT_PATH",realpath("../../../").'/');
define("LIB_PATH",ROOT_PATH."PHP_TM_LIB***/");
set_include_path(
get_include_path()
.PATH_SEPARATOR . ROOT_PATH
.PATH_SEPARATOR . LIB_PATH
);
?>
首先:path里面已经包含:
.;Z:\soa1.3.1_code;D:\Program Files\Zend\Zend Studio - 7.2.0\plugins\com.zend.php.phpunit_7.2.0.v20100324-1300\resources\library\
然后:
set_include_path(get_include_path()
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_LOCATION']
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_PROJECT_LOCATION']
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_CONTAINER_INCLUDE_PATH']
);
把本地文件包含进来:
注意:zend unit里面的:
var_dump( $_SERVER['ZEND_PHPUNIT_LOCATION']); 就是源文件工程目录path位置:Z:\soa1.3.1_code
require_once $_SERVER['ZEND_PHPUNIT_TESTS_LOCATION'];
define('PHPUnit_MAIN_METHOD', '');
set_include_path(get_include_path()
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_LOCATION']
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_PROJECT_LOCATION']
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_CONTAINER_INCLUDE_PATH']
);
开始继承PHPUnit_Framework_TestSuite:
require_once 'PHPUnit/TextUI/TestRunner.php';
$cwd = getCwd();
foreach ($ZendPHPUnitTests as $test) {
chDir(dirname($test['file']));
require_once $test['file'];
chDir(dirname($cwd));
}
class ZendPHPUnitSuite extends PHPUnit_Framework_TestSuite {
public static function suite() {
$suite = new self();
$suite->setName(__CLASS__);
foreach ($GLOBALS['ZendPHPUnitTests'] as $test)
if ($test['type'] === 'suite') {
$suite->addTest(call_user_func(array ($test['name'], 'suite')));
} else $suite->addTestSuite($test['name']);
return $suite;
}
}
首先是加入环境变量:
.;Z:\soa1.3.1_code;;Z:\soa1.3.1_code;
然后,才是自己继承它加入自己的变量:
VoteTest.php 内容:
<?php
require_once 'component/test/service/DirTest**.include.php';
包含被测试文件
继承文件:require_once 'component/test/ComponentPHPUnit_Framework_TestCase***.php';其内容大体如下:
class ComponentPHPUnit_Framework_TestCase extends PHPUnit_Framework_TestCase{
。
。
。
开始测试的函数编写
EOF!
=================================================================
DirTest**.include.phpcode如下:
<?php
define("ROOT_PATH",realpath("../../../").'/');
define("LIB_PATH",ROOT_PATH."PHP_TM_LIB***/");
set_include_path(
get_include_path()
.PATH_SEPARATOR . ROOT_PATH
.PATH_SEPARATOR . LIB_PATH
);
?>
首先:path里面已经包含:
.;Z:\soa1.3.1_code;D:\Program Files\Zend\Zend Studio - 7.2.0\plugins\com.zend.php.phpunit_7.2.0.v20100324-1300\resources\library\
然后:
set_include_path(get_include_path()
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_LOCATION']
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_PROJECT_LOCATION']
. PATH_SEPARATOR . $_SERVER['ZEND_PHPUNIT_CONTAINER_INCLUDE_PATH']
);
把本地文件包含进来:
注意:zend unit里面的:
var_dump( $_SERVER['ZEND_PHPUNIT_LOCATION']); 就是源文件工程目录path位置:Z:\soa1.3.1_code
先看下来自百度的文章:
下载文件
USB转串口使用设置:
在Windows下可以使用超级终端来连接交换机和路由器等工业设备,而且在Windows下使用usb转串口的线也有相应的驱动,但是如何在Linux下使用呢?
首先要有一个Linux下的终端软件叫minicom假如没有装这个的朋友可以到自己的源中去下载,然后你就要插上你的usb转串口的线,在Linux下Usb转串口的线几乎不需要驱动,你插上以后在你的dev的目录下应该会有一个ttyUSB0的文件,假如有那么恭喜你了,你的这根线现在是可用的了。进入到终端输入su以root用户进行登录,使用minicom必须要用root用户,然后输入minicom -s 进行设置,进入设置界面以后你会看到有几个选项,分别是:
Filename and Paths, File transfer and protocols, Serial port setup, Modem and dialing, Screen and keyboard, Save setup as df1, Save setup as…… , Exit from minicom
进入Serial port setup
输入选项字母将
第一项改成 A—Serial Device : /dev/ttyUSB0
第二项:B—lockfile Location: /var/lock
第五项:E—Bps/par/Bits :57600(这里要注重,这个值要改成你的连接的设备的波特率)
第七项:F—Hardware Flow Control: yes
然后退出进入Modem and dialing
将A—initing string B-Rest string K-Hang-up string 这三项的值去掉。
然后退出选择 Save as df1,然后选择EXIT FROM MINICOM 到这里的终端已经设置好了。
接下来你就可以将你的串口线接上设备,然后在终端下输入minicom就可以对设备进行调试了。
把USB串口线插上之后的dmesg和lsusb -v的输出贴出来看看吧.
阅读全文

USB转串口使用设置:
在Windows下可以使用超级终端来连接交换机和路由器等工业设备,而且在Windows下使用usb转串口的线也有相应的驱动,但是如何在Linux下使用呢?
首先要有一个Linux下的终端软件叫minicom假如没有装这个的朋友可以到自己的源中去下载,然后你就要插上你的usb转串口的线,在Linux下Usb转串口的线几乎不需要驱动,你插上以后在你的dev的目录下应该会有一个ttyUSB0的文件,假如有那么恭喜你了,你的这根线现在是可用的了。进入到终端输入su以root用户进行登录,使用minicom必须要用root用户,然后输入minicom -s 进行设置,进入设置界面以后你会看到有几个选项,分别是:
Filename and Paths, File transfer and protocols, Serial port setup, Modem and dialing, Screen and keyboard, Save setup as df1, Save setup as…… , Exit from minicom
进入Serial port setup
输入选项字母将
第一项改成 A—Serial Device : /dev/ttyUSB0
第二项:B—lockfile Location: /var/lock
第五项:E—Bps/par/Bits :57600(这里要注重,这个值要改成你的连接的设备的波特率)
第七项:F—Hardware Flow Control: yes
然后退出进入Modem and dialing
将A—initing string B-Rest string K-Hang-up string 这三项的值去掉。
然后退出选择 Save as df1,然后选择EXIT FROM MINICOM 到这里的终端已经设置好了。
接下来你就可以将你的串口线接上设备,然后在终端下输入minicom就可以对设备进行调试了。
把USB串口线插上之后的dmesg和lsusb -v的输出贴出来看看吧.

据中国之声《央广新闻》6月9日报道,今年我国将开展第六次全国人口普查,首次明确对不符合计划生育政策的出生人口要及时的登记落户,普查信息将不作为处罚依据。
阅读全文

yum install usbutils -y
yum install pciutils -y
usbutils-0.71-2.i386.rpm ---可以用lsusb命令查看usb adsl的信息!!!
安装CentOS5、驱动usb-adsl、安装下载软件、安装多媒体软件、编译内核、适合新手。
阅读全文
yum install pciutils -y
usbutils-0.71-2.i386.rpm ---可以用lsusb命令查看usb adsl的信息!!!
安装CentOS5、驱动usb-adsl、安装下载软件、安装多媒体软件、编译内核、适合新手。

简单抓取uptime与mpstat输出中的数值,比较儿科。如果有更多需求,请上各款高档monitor类工具,如走snmp的cacti等...
#!/usr/bin/perl
use strict;
use warnings;
use POSIX qw(strftime);
my $topavg = 0;
my $topcpu = 0;
my $procnum = $$;
$SIG{INT} = \&disp;
while(1) {
my $uptime = `uptime`;
my $mpstat = `mpstat -P ALL 1 1`;
my $loadavg = $1 if $uptime =~ /([0-9]+\.[0-9]+),/;
my $usercpu = $1 if $mpstat =~ /all\s+([0-9]+\.[0-9]+)/;
my $cur_time = strftime "%F %T", localtime;
print "$cur_time CPU: $usercpu\tLOAD: $loadavg\n";
$topavg = $loadavg if $loadavg > $topavg;
$topcpu = $usercpu if $usercpu > $topcpu;
sleep 1;
}
sub disp {
return if $procnum != $$;
print "\nStop...\n";
print "MAX CPU: $topcpu\tMAX LOAD: $topavg\n";
exit;
}
[~]# perl per.per
2010-06-22 17:21:04 CPU: 1.99 LOAD: 1.00
2010-06-22 17:21:06 CPU: 1.99 LOAD: 1.00
2010-06-22 17:21:08 CPU: 2.74 LOAD: 1.00
来源:http://blog.vetcafe.net/2009/10/perlcpuload_avg.html
#!/usr/bin/perl
use strict;
use warnings;
use POSIX qw(strftime);
my $topavg = 0;
my $topcpu = 0;
my $procnum = $$;
$SIG{INT} = \&disp;
while(1) {
my $uptime = `uptime`;
my $mpstat = `mpstat -P ALL 1 1`;
my $loadavg = $1 if $uptime =~ /([0-9]+\.[0-9]+),/;
my $usercpu = $1 if $mpstat =~ /all\s+([0-9]+\.[0-9]+)/;
my $cur_time = strftime "%F %T", localtime;
print "$cur_time CPU: $usercpu\tLOAD: $loadavg\n";
$topavg = $loadavg if $loadavg > $topavg;
$topcpu = $usercpu if $usercpu > $topcpu;
sleep 1;
}
sub disp {
return if $procnum != $$;
print "\nStop...\n";
print "MAX CPU: $topcpu\tMAX LOAD: $topavg\n";
exit;
}
[~]# perl per.per
2010-06-22 17:21:04 CPU: 1.99 LOAD: 1.00
2010-06-22 17:21:06 CPU: 1.99 LOAD: 1.00
2010-06-22 17:21:08 CPU: 2.74 LOAD: 1.00
来源:http://blog.vetcafe.net/2009/10/perlcpuload_avg.html
查询一天:
select * from table where to_days(column_time) = to_days(now());
select * from table where date(column_time) = curdate();
查询一周:
select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);
阅读全文
select * from table where to_days(column_time) = to_days(now());
select * from table where date(column_time) = curdate();
查询一周:
select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);

控制面板\程序\默认程序\设置关联
为了更好的解决虚拟机与主机的共享问题,VMware公司有一个VMWare-tools,来实现文件共享。这里主要讲的是在Windows下用 Vmware虚拟Linux来与windows来共享。
阅读全文

我的电脑配置:
主板:ZOTAC H55ITX-A-E ITX H55,DDR3,WiFi,LGA1156,M.ITXM/B
cpu:Inter Core i3 540 (3.06GHz) CPU/4M [Socket 1156] BOX 盒装
内存:2GB Kingston DDR3 PC3-10600 CL9 1.5V(D3-1333) 365 2根 730
机箱: 大水牛S0203机箱
电源:150W 机箱自带
硬盘:高清套餐 西部数据WD1TB绿盘 64M缓存 WD10EARS硬盘
鼠标:8115 DELL鼠标 戴尔鼠标 usb接口
键盘:戴尔DELL新版SK-8115键盘 非L100 防水静...
系统:盗版windows7 64位。
我担心是不是绿盘的问题?我用笔记本玩魔兽游戏都不卡的啊。驱动用的是驱动精灵装的啊。
游戏的速度取决于两个东西:CPU和GPU,CPU就是你的I3,GPU就是显卡,看你配置清单里没说显卡,你的显卡应该是集成的吧,集成的玩游戏当然卡,因为它是用来办公的显卡,想玩游戏还得换个独立显卡~
i3用的是集成的显卡,显卡的性能也不是很强,在人多的时候卡是正常的,你把画质调整低一点看看
主板:ZOTAC H55ITX-A-E ITX H55,DDR3,WiFi,LGA1156,M.ITXM/B
cpu:Inter Core i3 540 (3.06GHz) CPU/4M [Socket 1156] BOX 盒装
内存:2GB Kingston DDR3 PC3-10600 CL9 1.5V(D3-1333) 365 2根 730
机箱: 大水牛S0203机箱
电源:150W 机箱自带
硬盘:高清套餐 西部数据WD1TB绿盘 64M缓存 WD10EARS硬盘
鼠标:8115 DELL鼠标 戴尔鼠标 usb接口
键盘:戴尔DELL新版SK-8115键盘 非L100 防水静...
系统:盗版windows7 64位。
我担心是不是绿盘的问题?我用笔记本玩魔兽游戏都不卡的啊。驱动用的是驱动精灵装的啊。
游戏的速度取决于两个东西:CPU和GPU,CPU就是你的I3,GPU就是显卡,看你配置清单里没说显卡,你的显卡应该是集成的吧,集成的玩游戏当然卡,因为它是用来办公的显卡,想玩游戏还得换个独立显卡~
i3用的是集成的显卡,显卡的性能也不是很强,在人多的时候卡是正常的,你把画质调整低一点看看
以前大学时代,自己写一些什么:时间管理系统,到时间后提醒的小软件,等等,猛然发现,手机引入了操作系统,以app的形式提供了类似的功能,Iphone如火如荼的发展着,推翻了以前的程序员需要一个团队才能挣钱,而现在给iphone写一个app就能挣到大把的money,它是后起之秀,搭建了一个平台,让程序员来唱戏,新的商业模式,新的人马组织,新的盈利模式,不得不说是对手机行业的挑战,而能有这样能力和资本的也就只有乔布斯这样的人才有如此的魄力。而中国的周鸿祎试图挑战杀毒行业潜规则,视乎也是困难重重,比起苹果的一路凯歌来说,可谓天上地下。
当年试图通过一个小软件就能荡平世界,CS模式现在好像很沉默,BS模式倒是风光满面,当然也不会放弃这个能给人们日常生活带来便利的细节了。当今各大网站的邮箱功能附加了记录的功能,尤其是QQ的邮箱,更是可以通过QQ客户端联合起来做提醒。
为此,一代一代的细节功能通过敏捷的方法给这些大公司都做得极致了,我们这些小的人物已经不能再去有任何梦想了,你的梦想并不特别,你的观点并不新颖,你想到了,别人做到了,你做了,别人成功了。我们都给忽悠了,什么学历,什么能力,在这个时代里面都是一个小小的角色而已,一个一个的社会的螺丝钉,而且要做好这个螺丝钉,否则,你生存的机会都困难,更别去谈创新,创新都给大公司当铺路石头了,尤其是互联网,和目前热演的三国中的一幕,在孙子“螳螂捕蝉,黄雀在后”的背书声中,白发苍苍的司马懿闭上了眼睛: 曹操作为螳螂,司马氏作为黄雀,奸诈阴险之辈成了主角,社会风气可见一般。时代变了,变得很是快,让人觉得眼睛一眨,老母鸡变鸭,但这也不是什么坏事,不妨总是有人去创新,同时在创新的时候更加注意黄雀在后,可能是更加遏制了创新,也可能更加推进了创新,需要更大的能耐的人的努力才能不被黄雀去吃掉。这是一个弱肉强食的社会,这是一个需要颠覆的社会,改良已经没有任何用处了,颠覆需要勇气,我们生活在资本为王的社会,何去何从?拭目以待,静观其变,更要耐得住寂寞,任何情况都有可能发生。
早期程序员心中的英雄,如:求伯君的英雄时代已经过去,坚持做了21年的金山WPS居然是不赚钱的,最后,走上了游戏的道路。世界一直在变,但人们对资本的追逐永远那么万古长春。当今社会唯有以资本加英雄以及市场热度时间的准确把控和出击,三者就像天时地利人和一样在一个特定场合出现合理配套发挥其最大化,才是制胜的关键。我们已经Out了,"往者不可谏,来者犹可追",任何时代都是这样的,我们顶多能待时而动当个螳螂,而天天可能还畏惧黄雀在身后,但正如无间道中说的:往往都是事情改變人,人改變不了事情——但是他們改变了一些事情。同样,我们没法撼动大树,但我们仍然需要有创新的勇气,去面对这个周遭的世界,拥抱变化。
“人他妈都死了,这还有什么. 用。”“有些事,还是要去做的。 ==》创新他妈都死了,这还有什么用? 有些事,还是要去做的。
做好目前的小细节,后面什么都会有的,或许你比乔布斯更伟大,“敌军围困千万重,我自岿然不动!”,也只能只有如此yy一把不是。EOF
希望有人回复:
兄弟,你是对的。
Jackxiang
2010-6-20 凌晨1:08
当年试图通过一个小软件就能荡平世界,CS模式现在好像很沉默,BS模式倒是风光满面,当然也不会放弃这个能给人们日常生活带来便利的细节了。当今各大网站的邮箱功能附加了记录的功能,尤其是QQ的邮箱,更是可以通过QQ客户端联合起来做提醒。
为此,一代一代的细节功能通过敏捷的方法给这些大公司都做得极致了,我们这些小的人物已经不能再去有任何梦想了,你的梦想并不特别,你的观点并不新颖,你想到了,别人做到了,你做了,别人成功了。我们都给忽悠了,什么学历,什么能力,在这个时代里面都是一个小小的角色而已,一个一个的社会的螺丝钉,而且要做好这个螺丝钉,否则,你生存的机会都困难,更别去谈创新,创新都给大公司当铺路石头了,尤其是互联网,和目前热演的三国中的一幕,在孙子“螳螂捕蝉,黄雀在后”的背书声中,白发苍苍的司马懿闭上了眼睛: 曹操作为螳螂,司马氏作为黄雀,奸诈阴险之辈成了主角,社会风气可见一般。时代变了,变得很是快,让人觉得眼睛一眨,老母鸡变鸭,但这也不是什么坏事,不妨总是有人去创新,同时在创新的时候更加注意黄雀在后,可能是更加遏制了创新,也可能更加推进了创新,需要更大的能耐的人的努力才能不被黄雀去吃掉。这是一个弱肉强食的社会,这是一个需要颠覆的社会,改良已经没有任何用处了,颠覆需要勇气,我们生活在资本为王的社会,何去何从?拭目以待,静观其变,更要耐得住寂寞,任何情况都有可能发生。
早期程序员心中的英雄,如:求伯君的英雄时代已经过去,坚持做了21年的金山WPS居然是不赚钱的,最后,走上了游戏的道路。世界一直在变,但人们对资本的追逐永远那么万古长春。当今社会唯有以资本加英雄以及市场热度时间的准确把控和出击,三者就像天时地利人和一样在一个特定场合出现合理配套发挥其最大化,才是制胜的关键。我们已经Out了,"往者不可谏,来者犹可追",任何时代都是这样的,我们顶多能待时而动当个螳螂,而天天可能还畏惧黄雀在身后,但正如无间道中说的:往往都是事情改變人,人改變不了事情——但是他們改变了一些事情。同样,我们没法撼动大树,但我们仍然需要有创新的勇气,去面对这个周遭的世界,拥抱变化。
“人他妈都死了,这还有什么. 用。”“有些事,还是要去做的。 ==》创新他妈都死了,这还有什么用? 有些事,还是要去做的。
做好目前的小细节,后面什么都会有的,或许你比乔布斯更伟大,“敌军围困千万重,我自岿然不动!”,也只能只有如此yy一把不是。EOF
希望有人回复:
兄弟,你是对的。
Jackxiang
2010-6-20 凌晨1:08
1. digital data archives system
1....digital data archives system,数字数据档案系统.
1....digital data archives system,数字数据档案系统.
Source Insight确实是个好用的看程序的东东,如果内置C编译器就更好了
但是默认的字体有点小,看起来不爽
其实稍微调整一下就ok了
建一个工程
然后 打开一个文件
在空白处点右键 选 Document Options
调整Screen Fonts
偶选择Tohama 并且调整到10的大小
阅读全文
但是默认的字体有点小,看起来不爽
其实稍微调整一下就ok了
建一个工程
然后 打开一个文件
在空白处点右键 选 Document Options
调整Screen Fonts
偶选择Tohama 并且调整到10的大小

/*此函数主要是C语言实现单片机数码管闪烁功能
效果:
1.数码管显示0123;
2.停顿;
3.数码管显示4567;
4.无穷循环1,2,3步.*/
效果:
1.数码管显示0123;
2.停顿;
3.数码管显示4567;
4.无穷循环1,2,3步.*/
#include <reg51.h>
#include <intrins.h>
unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0xff}; //定义数组
int delay(int x) //声明延迟函数
{
int j=0;
for(j;j<x;j++) ;
}
main() //主函数
{
int i,j; //定义i,j
unsigned char seg; //定义seg,用于数码管的初始化
seg= 0xfe ; //定义seg为0xfe,即11111110;使数码管为第一个显示
while (1) //无穷循环
{
{ for(j=0;j<30;j++) //扫描数码管30次
{
for(i=0;i<4;i++) //输出0123
{
P2=seg; //初始化P2
P0=dis_code[i]; //显示数字
delay(200); //延迟约1ms
seg=_crol_(seg,1); //数码管右移一位
if (seg==0xef) seg=0xfe; //输出四个数字之后停止
}
}
P2=0xff; //数码管全不接通,把0,1,2,3消去
delay(2000000); //延迟
for(j=0;j<30;j++) //扫描数码管30次
{
for(i=4;i<8;i++) //输出4567
{
P2=seg; //初始化P2
P0=dis_code[i]; //显示数字
delay(200); //延迟约1ms
seg=_crol_(seg,1); //数码管右移一位
if (seg==0xef) seg=0xfe; //输出四个数字之后停止
}
}
}
}
} //函数结束
#include <intrins.h>
unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0xff}; //定义数组
int delay(int x) //声明延迟函数
{
int j=0;
for(j;j<x;j++) ;
}
main() //主函数
{
int i,j; //定义i,j
unsigned char seg; //定义seg,用于数码管的初始化
seg= 0xfe ; //定义seg为0xfe,即11111110;使数码管为第一个显示
while (1) //无穷循环
{
{ for(j=0;j<30;j++) //扫描数码管30次
{
for(i=0;i<4;i++) //输出0123
{
P2=seg; //初始化P2
P0=dis_code[i]; //显示数字
delay(200); //延迟约1ms
seg=_crol_(seg,1); //数码管右移一位
if (seg==0xef) seg=0xfe; //输出四个数字之后停止
}
}
P2=0xff; //数码管全不接通,把0,1,2,3消去
delay(2000000); //延迟
for(j=0;j<30;j++) //扫描数码管30次
{
for(i=4;i<8;i++) //输出4567
{
P2=seg; //初始化P2
P0=dis_code[i]; //显示数字
delay(200); //延迟约1ms
seg=_crol_(seg,1); //数码管右移一位
if (seg==0xef) seg=0xfe; //输出四个数字之后停止
}
}
}
}
} //函数结束
php explorer的下方空白处(里面可能有你建立的工程),右键:import :Exiisting Project into Workspace,把其他人建立的工程给弄进来即可!
PHPUnit位置:
D:\Program Files\Zend\Zend Studio - 7.2.0\plugins\com.zend.php.phpunit_7.2.0.v20100324-1300\resources\library
PHPUnit位置:
D:\Program Files\Zend\Zend Studio - 7.2.0\plugins\com.zend.php.phpunit_7.2.0.v20100324-1300\resources\library
读写网记者与PHP的创造者Rasmus Lerdorf联系,询问他对Facebook刚刚开源的PHP优化项目HipHop有何看法。Lerdorf在邮件中说,这是一个很酷的项目,肯定会成为某些网站很好的选择。
但是,他接下来说,对于许多Web应用来说,执行速度并不是主要因素。即使将总请求成本中10%的代码的执行速度提高一倍,整体上也只提高了5%。如果每次请求都要访问memcache/PostgreSQL/MySQL 10次,在系统调用上耗费大量时间,难免不要指望HipHop会带来奇迹。
Lerdorf称HipHop代码转换程序为漂亮把戏(nifty trick),并担心会有开发人员将它错误地看成网站性能的某种魔弹。对于新的运行库,Lerdorf说,更愿意大家进行基本的性能分析(profiling),找到有用中成本最高的部分。与其加速系统中较快的部分,不如加速或者去除系统中较慢的部分。
他还说,PHP的执行速度往往不是问题最大的地方,应该好好分析系统的各个方面,找到元凶。工具方面,他推荐用Yahoo的YSlow和 Google的Page Speed分析前端的问题,再用Valgrind的Callgrind分析低层的后端性能,用XDebug分析用户空间PHP的性能。此外,他还顺带手指出了读写网前端的性能问题。
当然,文章中也说到,Facebook的网站其他方面可能已经优化得很好,因此HipHop能够带来足够的效率。
总之还是那句话,没有防之四海而皆准的通用银弹,工程上,具体问题具体分析,选择最合适当前环境的工具最为重要。
但是,他接下来说,对于许多Web应用来说,执行速度并不是主要因素。即使将总请求成本中10%的代码的执行速度提高一倍,整体上也只提高了5%。如果每次请求都要访问memcache/PostgreSQL/MySQL 10次,在系统调用上耗费大量时间,难免不要指望HipHop会带来奇迹。
Lerdorf称HipHop代码转换程序为漂亮把戏(nifty trick),并担心会有开发人员将它错误地看成网站性能的某种魔弹。对于新的运行库,Lerdorf说,更愿意大家进行基本的性能分析(profiling),找到有用中成本最高的部分。与其加速系统中较快的部分,不如加速或者去除系统中较慢的部分。
他还说,PHP的执行速度往往不是问题最大的地方,应该好好分析系统的各个方面,找到元凶。工具方面,他推荐用Yahoo的YSlow和 Google的Page Speed分析前端的问题,再用Valgrind的Callgrind分析低层的后端性能,用XDebug分析用户空间PHP的性能。此外,他还顺带手指出了读写网前端的性能问题。
当然,文章中也说到,Facebook的网站其他方面可能已经优化得很好,因此HipHop能够带来足够的效率。
总之还是那句话,没有防之四海而皆准的通用银弹,工程上,具体问题具体分析,选择最合适当前环境的工具最为重要。
腾讯bond兄弟的建议:
<div class="txt">
翻页代码 1,2,3...下一页
</div>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cntv的页面构建师,在每一个行(一行里如有6个图,图下有文字)加上一个清浮动的Div【<div class="clear"></div>】,这个clear对应清浮动的样式如下:
.clear{clear:both;overflow:hidden;display:block;height:0;font-size:0;}
---------------------------------------------------------------------------------------------------------------------------------------------
float 是 css 的定位属性。在传统的印刷布局中,文本可以按照需要围绕图片。一般把这种方式称为“文本环绕”。在网页设计中,应用了CSS的float属性的页面元素就像在印刷布局里面的被文字包围的图片一样。浮动的元素仍然是网页流的一部分。这与使用绝对 定位的页面元素相比是一个明显的不同。绝对定位的页面元素被从网页流里面移除了,就像印刷布局里面的文本框被设置为无视页面环绕一样。绝对定位的元素不会 影响其它元素,其它元素也不会影响它,无论它是否和其它元素挨着。
印刷布局中的“文本框被设置为无视页面环绕”指的是文本框的内容不会受到页面其他元素的影响,也不会在页面中自动换行。这种设置通常用在一些特殊的排版需求中,比如表格、图表或者注释。
印刷布局里面的文本框被设置为无视页面环绕,这话怎么理解,请解释下它后面的背景知识:
背景知识
页面环绕:在印刷排版中,文本内容会根据页面的边界、图像、表格等元素进行自动换行和调整,以使内容能够适应页面的布局。这种机制被称为“页面环绕”或“文本环绕”。
无视页面环绕:当文本框被设置为无视页面环绕时,它的内容将会保持在一个单独的框内,不会因为页面边界或者其他元素的存在而进行换行或调整。这通常用于需要精确控制内容布局的场景,比如:
表格:表格的每一行和每一列都需要精确对齐,不能因为页面的边界而改变其结构。
图表:图表中的数据和图形需要保持固定的相对位置,避免因为页面布局变化而影响其显示效果。
注释:注释内容有时需要放在特定的位置,以便读者能够轻松找到和理解。
像这样在一个元素上用CSS设置浮动:
#sidebar { float: right; }
fload属性有四个可用的值:Left 和Right 分别浮动元素到各自的方向,None (默认的) 使元素不浮动,Inherit 将会从父级元素获取float值。
清除Float
清除(clear)是浮动(float)的相关属性.一个设置了清除Float的元素不会如浮动所设置的一样,向上移动到Float元素的边界,而是会忽视浮动向下移动。如下,一图顶千言。
上例中,侧栏向右浮动,并且短于主内容区域。页脚(footer)于是按浮动所要求的向上跳到了可能的空间。要解决这个问题,可以在页脚(footer)上清除浮动,以使页脚(footer)待在浮动元素的下面。
#footer { clear: both; }
清除(clear)也有4个可能值。最常用的是 both,清楚左右两边的浮动。left 和 right 只能清楚一个方向的浮动。none 是默认值,只在需要移除已指定的清除值时用到。inherit 应该时第五个值,不过很奇怪的是 IE 不支持(这个不奇怪吧,IE 从来都这么特立独行吧 -糖伴西红柿注)。只清除左边或右边的浮动,实际中很少见,不过绝对有他们的用处。
http://www.cnblogs.com/zhujl/archive/2012/05/08/2489440.html
http://paranimage.com/css-float-attribute/
使用浮动(float)的一个比较疑惑的事情是他们怎么影响包含他们的父元素的。如果父元素只包含浮动元素,那么它的高度就会塌缩为零。如果父元素不包含任何的可见背景,这个问题会很难被注意到,但是这是一个很重要的问题
估计Bond的来源摘录(http://paranimage.com/css-float-attribute/):
简单清除方法使用了一个聪明的 css 伪选择符(:after)来清除浮动。比起在父元素上设置 overflow,只需要给它增加一个额外的类似于”clearfix”的类。这个类使用如下 css:
.clearfix:after {
content: ".";
visibility: hidden;
display: block;
height: 0;
clear: both;
}
这会在清除浮动的父元素之后应用一点看不见的内容。这不是全部内容,还需要一些额外的代码来适应那些老旧的浏览器。
-------------------------------------------------------------------------------------------------------------
INTRO: 在写页面的过程中经常要遇到清除浮动的情况,这里总结了一下几种常用的清楚浮动的方法。
CATEGORY: 网站前端
TAGS: clear, css
在使用float进行页面布局时,经常遇到有需要清除浮动的地方。通常情况下,只需要在下一个元素上添加clear样式,就可以达到清除浮动的效果了。
clear:left – 清除所有向左的浮动;
clear:right – 清除所有向右的浮动;
clear:both – 清除所有浮动;
clear:none – (默认)不清除浮动。
但是这种方式使得元素样式有一点乱,在以后进行页面修改时,会找不到在哪个元素清了浮动;或者在添加了一些元素以后,原有的冗余样式没有清理。
所以比较简单的办法是设一个clear样式:
.clear{clear:both;}
在需要清除浮动的元素上统一加上clear类,这样以后在修改代码时比较容易看到是哪些元素上使用了清除浮动。
对于一般的情况,这样也就足够了,但是总有一些特殊的时候。
这样一个例子:
<div id="content">
<div class="box">
<div class="left"></div>
<div class="right"></div>
</div>
</div>
<div id="sidebar"></div>
这种情况下,如果在下一个元素上清浮动,就得在id为sidebar的div上加clear了,这样有些脱离了原本清除浮动的语义。是类名为box的div需要清除浮动,而不是id名为content的div需要清浮动。为了还原clear的本意。这里需要在类名为right的div后面加一个无意义元素。
如<p class=”clear”></p>
这么做的缺点也很明显,就是使得页面的html结构中多了一个无意义的元素p。
为了避免这种情况,这里还有两种新的清除浮动的方法。
方法一:利用overflow属性达到清除浮动的效果。
在需要清除浮动的元素,这里的例子中需要清浮动的元素是类名为box的div元素,给这个元素加上以下CSS语句。
.box{
overflow:auto;
zoom:1;
}
方法二:利用:after伪类来清除浮动。
新建一个类,取名为clearboth,在需要清除浮动的元素上使用。修改例子中的html代码:
1
<div class="box clearboth">
.clearboth:after {content: "";display: block;height: 0;clear: both;}
.clearboth { *zoom : 1; } // for IE 6.
我写的测试代码:
++++++++++++++++++以下说得很详细很有操作性+++++++++++++++++++++++++++++
自己对下面这一段做实践Ok的再次体会,为此也贴上:http://blog.csdn.net/cjxtfxs/article/details/6328185
在CSS中我们会经常要用到“清除浮动”Clear,比较典型的就是clear:both;
CSS手册上是这样说明的:该属性的值指出了不允许有浮动对象的边。这个属性是用来控制float属性在文档流的物理位置的。
当属性设置float(浮动)时,其所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float(浮动)后面的元素不被float(浮动)所影响,这个时候我们就需要用clear:both;来清除。
比如:
<p style="float:left;width:200px;">这个是第1列,</p>
<p style="float:right;width:400px;">这个是第2列,</p>
<p>这个是第3列。</p>
如果不用清除浮动,那么第3列文字就会和第1、2列文字在一起 ,所以我们在第3个这列加一个清除浮动 clear:both;
<p style="float:left;width:200px;">这个是第1列,</p>
<p style="float:left;width:400px;">这个是第2列,</p>
<p style="clear:left;">这个是第3列。</p>
通常,我们往往会将“清除浮动”单独定义一个CSS样式,如:
.clear {
clear: both;
}
然后使用<div class="clear"></div>来专门进行“清除浮动”。
不过也有不赞同意见是,<div class="clear"></div>可以不写,直接在下层清除就可以了。
比如本来好好的
<p style="float:left;width:200px;">这个是第1列,</p>
<p style="float:left;width:400px;">这个是第2列,</p>
<p style="clear:both;">这个是第3列。</p>
非要整成
<p style="float:left;width:200px;">这个是第1列,</p>
<p style="float:left;width:400px;">这个是第2列,</p>
<div class="clear"></div>
<p>这个是第3列。</p>
这点看来,<div class="clear"></div>确实不需要写。
不过很显然,我们在网页设计时还有一种很普遍的情况:
<style type="text/css">
#main {background-color: #3399CC;width: 600px;padding: 20px;}
#sidebar {background-color: #FF6600; float: left;width: 130px;}
#container {float: right;width: 420px;background-color: #FFFF33;}
</style>
<div id="main">
<div id="sidebar">第一段内容 第一段内容 第一段内容</div>
<div id="container">第二段内容 第二段内容 第二段内容</div>
</div>
<p style="clear:both;">第三段内容</p>
该页面测试在IE下效果正合所要:蓝色块内部有红色和黄色两个色块内容,同时在蓝色块以下是第三段文本。
不过FF的效果可不是这样的。我们不能单单想在下一层清除就能完成我们的工作,我们必须在浮动元素所在标签闭合之前及时进行“清除”。
<style type="text/css">
#main {background-color: #3399CC;width: 600px;padding: 20px;}
#sidebar {background-color: #FF6600; float: left;width: 130px;}
#container {float: right;width: 420px;background-color: #FFFF33;}
.clear {clear: both;}
</style>
<div id="main">
<div id="sidebar">第一段内容 第一段内容 第一段内容</div>
<div id="container">第二段内容 第二段内容 第二段内容</div>
<div class="clear"></div>
</div>
<p>第三段内容</p>
对于因多加的<div class="clear"></div>标签会引起IE和FF高度变化,通过如下方法解决:
.clear {
clear: both;
height:1px;
margin-top:-1px;
overflow:hidden;
}
.clear-class:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clear-class{zoom:1;display:block;}
.clear-class{zoom:1;display:block;}
<ul class="clear-class txt">
<li class="liclass">
</li>
</ul>
<li class="liclass">
</li>
</ul>
<div class="txt">
翻页代码 1,2,3...下一页
</div>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cntv的页面构建师,在每一个行(一行里如有6个图,图下有文字)加上一个清浮动的Div【<div class="clear"></div>】,这个clear对应清浮动的样式如下:
.clear{clear:both;overflow:hidden;display:block;height:0;font-size:0;}
---------------------------------------------------------------------------------------------------------------------------------------------
float 是 css 的定位属性。在传统的印刷布局中,文本可以按照需要围绕图片。一般把这种方式称为“文本环绕”。在网页设计中,应用了CSS的float属性的页面元素就像在印刷布局里面的被文字包围的图片一样。浮动的元素仍然是网页流的一部分。这与使用绝对 定位的页面元素相比是一个明显的不同。绝对定位的页面元素被从网页流里面移除了,就像印刷布局里面的文本框被设置为无视页面环绕一样。绝对定位的元素不会 影响其它元素,其它元素也不会影响它,无论它是否和其它元素挨着。
印刷布局中的“文本框被设置为无视页面环绕”指的是文本框的内容不会受到页面其他元素的影响,也不会在页面中自动换行。这种设置通常用在一些特殊的排版需求中,比如表格、图表或者注释。
印刷布局里面的文本框被设置为无视页面环绕,这话怎么理解,请解释下它后面的背景知识:
背景知识
页面环绕:在印刷排版中,文本内容会根据页面的边界、图像、表格等元素进行自动换行和调整,以使内容能够适应页面的布局。这种机制被称为“页面环绕”或“文本环绕”。
无视页面环绕:当文本框被设置为无视页面环绕时,它的内容将会保持在一个单独的框内,不会因为页面边界或者其他元素的存在而进行换行或调整。这通常用于需要精确控制内容布局的场景,比如:
表格:表格的每一行和每一列都需要精确对齐,不能因为页面的边界而改变其结构。
图表:图表中的数据和图形需要保持固定的相对位置,避免因为页面布局变化而影响其显示效果。
注释:注释内容有时需要放在特定的位置,以便读者能够轻松找到和理解。
像这样在一个元素上用CSS设置浮动:
#sidebar { float: right; }
fload属性有四个可用的值:Left 和Right 分别浮动元素到各自的方向,None (默认的) 使元素不浮动,Inherit 将会从父级元素获取float值。
清除Float
清除(clear)是浮动(float)的相关属性.一个设置了清除Float的元素不会如浮动所设置的一样,向上移动到Float元素的边界,而是会忽视浮动向下移动。如下,一图顶千言。
上例中,侧栏向右浮动,并且短于主内容区域。页脚(footer)于是按浮动所要求的向上跳到了可能的空间。要解决这个问题,可以在页脚(footer)上清除浮动,以使页脚(footer)待在浮动元素的下面。
#footer { clear: both; }
清除(clear)也有4个可能值。最常用的是 both,清楚左右两边的浮动。left 和 right 只能清楚一个方向的浮动。none 是默认值,只在需要移除已指定的清除值时用到。inherit 应该时第五个值,不过很奇怪的是 IE 不支持(这个不奇怪吧,IE 从来都这么特立独行吧 -糖伴西红柿注)。只清除左边或右边的浮动,实际中很少见,不过绝对有他们的用处。
http://www.cnblogs.com/zhujl/archive/2012/05/08/2489440.html
http://paranimage.com/css-float-attribute/
使用浮动(float)的一个比较疑惑的事情是他们怎么影响包含他们的父元素的。如果父元素只包含浮动元素,那么它的高度就会塌缩为零。如果父元素不包含任何的可见背景,这个问题会很难被注意到,但是这是一个很重要的问题
估计Bond的来源摘录(http://paranimage.com/css-float-attribute/):
简单清除方法使用了一个聪明的 css 伪选择符(:after)来清除浮动。比起在父元素上设置 overflow,只需要给它增加一个额外的类似于”clearfix”的类。这个类使用如下 css:
.clearfix:after {
content: ".";
visibility: hidden;
display: block;
height: 0;
clear: both;
}
这会在清除浮动的父元素之后应用一点看不见的内容。这不是全部内容,还需要一些额外的代码来适应那些老旧的浏览器。
-------------------------------------------------------------------------------------------------------------
INTRO: 在写页面的过程中经常要遇到清除浮动的情况,这里总结了一下几种常用的清楚浮动的方法。
CATEGORY: 网站前端
TAGS: clear, css
在使用float进行页面布局时,经常遇到有需要清除浮动的地方。通常情况下,只需要在下一个元素上添加clear样式,就可以达到清除浮动的效果了。
clear:left – 清除所有向左的浮动;
clear:right – 清除所有向右的浮动;
clear:both – 清除所有浮动;
clear:none – (默认)不清除浮动。
但是这种方式使得元素样式有一点乱,在以后进行页面修改时,会找不到在哪个元素清了浮动;或者在添加了一些元素以后,原有的冗余样式没有清理。
所以比较简单的办法是设一个clear样式:
.clear{clear:both;}
在需要清除浮动的元素上统一加上clear类,这样以后在修改代码时比较容易看到是哪些元素上使用了清除浮动。
对于一般的情况,这样也就足够了,但是总有一些特殊的时候。
这样一个例子:
<div id="content">
<div class="box">
<div class="left"></div>
<div class="right"></div>
</div>
</div>
<div id="sidebar"></div>
这种情况下,如果在下一个元素上清浮动,就得在id为sidebar的div上加clear了,这样有些脱离了原本清除浮动的语义。是类名为box的div需要清除浮动,而不是id名为content的div需要清浮动。为了还原clear的本意。这里需要在类名为right的div后面加一个无意义元素。
如<p class=”clear”></p>
这么做的缺点也很明显,就是使得页面的html结构中多了一个无意义的元素p。
为了避免这种情况,这里还有两种新的清除浮动的方法。
方法一:利用overflow属性达到清除浮动的效果。
在需要清除浮动的元素,这里的例子中需要清浮动的元素是类名为box的div元素,给这个元素加上以下CSS语句。
.box{
overflow:auto;
zoom:1;
}
方法二:利用:after伪类来清除浮动。
新建一个类,取名为clearboth,在需要清除浮动的元素上使用。修改例子中的html代码:
1
<div class="box clearboth">
.clearboth:after {content: "";display: block;height: 0;clear: both;}
.clearboth { *zoom : 1; } // for IE 6.
我写的测试代码:
++++++++++++++++++以下说得很详细很有操作性+++++++++++++++++++++++++++++
自己对下面这一段做实践Ok的再次体会,为此也贴上:http://blog.csdn.net/cjxtfxs/article/details/6328185
在CSS中我们会经常要用到“清除浮动”Clear,比较典型的就是clear:both;
CSS手册上是这样说明的:该属性的值指出了不允许有浮动对象的边。这个属性是用来控制float属性在文档流的物理位置的。
当属性设置float(浮动)时,其所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float(浮动)后面的元素不被float(浮动)所影响,这个时候我们就需要用clear:both;来清除。
比如:
<p style="float:left;width:200px;">这个是第1列,</p>
<p style="float:right;width:400px;">这个是第2列,</p>
<p>这个是第3列。</p>
如果不用清除浮动,那么第3列文字就会和第1、2列文字在一起 ,所以我们在第3个这列加一个清除浮动 clear:both;
<p style="float:left;width:200px;">这个是第1列,</p>
<p style="float:left;width:400px;">这个是第2列,</p>
<p style="clear:left;">这个是第3列。</p>
通常,我们往往会将“清除浮动”单独定义一个CSS样式,如:
.clear {
clear: both;
}
然后使用<div class="clear"></div>来专门进行“清除浮动”。
不过也有不赞同意见是,<div class="clear"></div>可以不写,直接在下层清除就可以了。
比如本来好好的
<p style="float:left;width:200px;">这个是第1列,</p>
<p style="float:left;width:400px;">这个是第2列,</p>
<p style="clear:both;">这个是第3列。</p>
非要整成
<p style="float:left;width:200px;">这个是第1列,</p>
<p style="float:left;width:400px;">这个是第2列,</p>
<div class="clear"></div>
<p>这个是第3列。</p>
这点看来,<div class="clear"></div>确实不需要写。
不过很显然,我们在网页设计时还有一种很普遍的情况:
<style type="text/css">
#main {background-color: #3399CC;width: 600px;padding: 20px;}
#sidebar {background-color: #FF6600; float: left;width: 130px;}
#container {float: right;width: 420px;background-color: #FFFF33;}
</style>
<div id="main">
<div id="sidebar">第一段内容 第一段内容 第一段内容</div>
<div id="container">第二段内容 第二段内容 第二段内容</div>
</div>
<p style="clear:both;">第三段内容</p>
该页面测试在IE下效果正合所要:蓝色块内部有红色和黄色两个色块内容,同时在蓝色块以下是第三段文本。
不过FF的效果可不是这样的。我们不能单单想在下一层清除就能完成我们的工作,我们必须在浮动元素所在标签闭合之前及时进行“清除”。
<style type="text/css">
#main {background-color: #3399CC;width: 600px;padding: 20px;}
#sidebar {background-color: #FF6600; float: left;width: 130px;}
#container {float: right;width: 420px;background-color: #FFFF33;}
.clear {clear: both;}
</style>
<div id="main">
<div id="sidebar">第一段内容 第一段内容 第一段内容</div>
<div id="container">第二段内容 第二段内容 第二段内容</div>
<div class="clear"></div>
</div>
<p>第三段内容</p>
对于因多加的<div class="clear"></div>标签会引起IE和FF高度变化,通过如下方法解决:
.clear {
clear: both;
height:1px;
margin-top:-1px;
overflow:hidden;
}