iSCSI存储技术全攻略

什么是iSCSI

iSCSI(iSCSI = internet Small Computer System Interface )是由IEETF开发的网络存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,ISCSI推动了数据在网际之间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,ISCSI协议被认为是促进存储区域网(SAN)市场快速发展的关键因素之一。因为IP网络的广泛应用, ISCSI能够在LAN、WAN甚至internet上进行数据传送,使得数据的存储不再受地域的现在。 继续阅读“iSCSI存储技术全攻略”

全身心拥抱NAS,如何使用iSCSI Target服务?

在未来的两三年,各种数字终端势必日益丰富与普及,作为这些终端连接枢纽的NAS自然水涨船高,每个办公室每个家庭都有一台NAS并不是奢望。可以试想一下,今后的PC,只需要用SSD做个系统盘就可以了,而数据盘可以直接通过iSCSI服务在NAS上建立虚拟盘实现。

继续阅读“全身心拥抱NAS,如何使用iSCSI Target服务?”

更好用的开始菜单:Windows Threshold最新演示视频已流出

有关Windows 9 (Threshold)开始菜单的报道一直牵动着无数用户的心,而在最新的视频中,WinFuture.de已经为我们带来build 9834的功能演示。可以看到的是,开始菜单(Star Menu)与开始屏幕(Star Screen)已经能够和谐共处,不过当前暂不确定该功能是否会被微软从RTM中移除。 继续阅读“更好用的开始菜单:Windows Threshold最新演示视频已流出”

Windows 9传闻汇总:不放弃Metro 免费下载

随着最近有关Windows

Threshold的消息越来越多,我们决定为这“下一个版本的Windows”来一个消息汇总。当然首先,我们得先回顾下“什么是Windows

Threshold”。它是Windows下一个版本的代号,并且其正式发布时的名称很可能是Windows 9,而不是Windows

8的某个“小数点”更新(比如从Windows 8到8.1)。 继续阅读“Windows 9传闻汇总:不放弃Metro 免费下载”

[多图]Windows 9 截图泄露 开始菜单回归 虚拟桌面出现

最新泄露的Windows 9截图浮出水面,我们在这里得以看到未来Windows版本界面的端倪,德国老牌Windows爱好者网站WinFuture取得了23张Windows 9 Build 9834的照片,这一版本被标记为“技术预览版”,预计会在本月底或者十月初发布。在这一版本中我们看到了任务栏的明显变化:首先任务栏上多了一个搜索按钮,旁边的是虚拟桌面按钮,用这一按钮可以像Linux和Mac一样新建和切换到另一个虚拟桌面,桌面的一些效果细节也有着明显的变化,Metro应用可以在没有第三方软件的情况下,以窗口方式运行,而窗口的边框已经去除,看上去干净了许多。

价格免费

Windows 9将对所有用户开放免费使用,微软此举也是为了回应苹果免费提供操作系统的决定。未来,微软并不打算自Windows软件中获得收入,而是希望用户在使用免费Windows之后,更加容易接受付费的增值服务。

多版本Windows将不复存

今年早些时候,微软CEO萨提亚·纳德拉表示,多版本Windows时代即将远去。纳德拉强调,他希望Windows团队能够整合,并且集中精力到单独的一款操作系统中。

继续阅读“[多图]Windows 9 截图泄露 开始菜单回归 虚拟桌面出现”

ORA-12154:TNS:无法处理服务名和无法解析指定的连接标识符问题解决

ORA-12154:TNS:无法处理服务名

ORA-12154:TNS:无法解析指定的连接标识符

其实就是plsql路径中不要出现括号或者使用oracle client 11g及其更新版本就可以解决这个问题了,当然前提是要确保你的TNSNAMES.ORA配置文件格式和参数正确并能成功加载。

方法和教程下面有链接。 继续阅读“ORA-12154:TNS:无法处理服务名和无法解析指定的连接标识符问题解决”

js在线密码生成函数和源代码

<script type="text/javascript">
var PasswordCharArray = ['ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz', '1234567890', '~!@#$%^&*()_+;,./?<>'];

function RandomPassword(length, type){
	var rand = function(min, max){return Math.floor(Math.max(min, Math.random() * (max+1)));}
	var pw = '';
	var tmpArray = new Array();
	if(type.indexOf('A') != -1){
		tmpArray.push(PasswordCharArray[0]);
	}
	if(type.indexOf('a') != -1){
		tmpArray.push(PasswordCharArray[1]);
	}
	if(type.indexOf('1') != -1){
		tmpArray.push(PasswordCharArray[2]);
	}
	if(type.indexOf('S') != -1){
		tmpArray.push(PasswordCharArray[3]);
	}
	for(i=0; i<length; i++){
		var strpos = rand(0, tmpArray.length-1);
		pw += tmpArray[strpos].charAt(rand(0, tmpArray[strpos].length-1));
	}
	return pw;
}

document.write(RandomPassword(16, 'Aa1')); //输出大写字母、小写字母、数字随机组成的16位长度的密码
document.write(RandomPassword(16, 'Aa1S')); //输出大写字母、小写字母、数字、字符随机组成的16位长度的密码
</script>

基于本函数扩展出的在线密码生成器请看这个链接:http://codeclip.com/tools/zaixianmimashengcheng.html

右键查看源代码保存为html文件,放在你网站的任意位置就可以使用啦。

[图]探访香港超级比特币工厂:不负亚洲之最盛名

在一个香港老式港口的附近,亚洲最大的比特币矿场正在这里悄然将计算机算法转化成为电子货币。这里只不过是一个距离金融中心8英里之遥、拥有2间卧室的公寓。这里除了一个小浴室之外,矿主几乎得不到任何物质上的享受。 继续阅读“[图]探访香港超级比特币工厂:不负亚洲之最盛名”

PHP N维数组去空值函数

$a array (array (), array (array (), 1, 2));
echo '<pre>';
print_r(array_no_empty($a));
exit();
function array_no_empty($arr) {
    if (is_array($arr)) {
        foreach $arr as $k => $v ) {
            if (empty($v)) unset($arr[$k]);
            elseif (is_array($v)) {
                $arr[$k] = array_no_empty($v);
            }
        }
    }
    return $arr;
}

来源URL:http://zhidao.baidu.com/link?url=xbqZTvPDSvAdGEyMcRmeOQYjh-NCW4g_mmBx6Msr1lk776ha4KFAsCAize_9mbshrce1ikw7YX2Qpec7vNFpjzL9BoFdjxy7TRub24ac8T3

数据库备份的另一种方式,开拓思路

数据库备份的另一种方式,开拓思路。

<?php
$from_dir="D:/MySQL/data/dedecms";
$date = date("Ymd");
$to_dir="D:/bak/dd_" . $date;

 if(xCopy($from_dir,$to_dir,1)){
    echo '备份完成';
 }
function xCopy($source, $destination, $child){
    //$child = 1 包括子目录
    if(!is_dir($source)){
    echo("Error:the $source is not a direction!");
    return 0;
    }
    if(!is_dir($destination)){
    mkdir($destination,0777);
    }
    
    $handle=dir($source);
    while($entry=$handle->read()) {
        if(($entry!=".")&&($entry!="..")){
            if(is_dir($source."/".$entry)){
                if($child)    xCopy($source."/".$entry,$destination."/".$entry,$child);
            }else{
                copy($source."/".$entry,$destination."/".$entry);
            }
        }
    }
    return true;
}
?>