GitHub for Windows安装失败解决方法

http://windows.github.com 下载的GitHub客户端安装程序可能出现安装错误,日志显示http://github-windows.s3.amazonaws.com/GitHub.application 无法下载。用 Internet Explorer 无法访问此地址,用其它浏览器下载打开后无法部署(提示错误,详细信息显示 DeploymentDownloadException 或 InvalidDeploymentException 异常)。本文提供解决方案。

一、打开控制面板→ Internet 选项→  点击“安全”选项卡;

二、选择“受信任的站点”→点击“站点”按钮;

三、弹出的窗口中的文本框中输入点击“添加” https://github-windows.s3.amazonaws.com;或者去除复选框“对该区域中的所有站点要求服务器验证(https:)”的钩,直接加入 github-windows.s3.amazonaws.com (建议此种做法,我就是这么解决的,下载完毕再钩上即可);

四、点击GitHubSetup程序正常安装下载;

原文链接:http://jingyan.baidu.com/album/fd8044fa924e8f5031137ac6.html

值得深思的PHP面试问题

 

Q1

第一个问题关于弱类型

$str1 = ‘yabadabadoo’;
$str2 = ‘yaba’;
if (strpos($str1,$str2)) {
    echo “\”” . $str1 . “\” contains \”” . $str2 . “\””;
} else {
    echo “\”” . $str1 . “\” does not contain \”” . $str2 . “\””;
}

正确运行的输出结果:

“yabadabadoo” does not contain “yaba”

strpos是返回字符串str2str1的位置,没有找到则返回false然而实际上这次返回了0而在if语句中0也被当作false,所以我们需要对false做类型判断,正确的代码如下:

$str1 = ‘yabadabadoo’;
$str2 = ‘yaba’;
if (strpos($str1,$str2) !== false) {
    echo “\”” . $str1 . “\” contains \”” . $str2 . “\””;
} else {
    echo “\”” . $str1 . “\” does not contain \”” . $str2 . “\””;
}

需要注意的是我们使用了!==,在php 和 JS中= !相对== 更为严格需要要求数据类型一致。

继续阅读“值得深思的PHP面试问题”

JavaScript中检测变量是否存在

在编写JavaScript程序时往往需要检测某一变量是否存在,这是一件非常简单的工作,但如果不细心也会遇到一些问题。主要有一些几点:

1、普通变量

<script type=”text/javascript”>
if(variable){
alert(‘rain man’);
}
</script>

这时会出现‘variable is not defined’的错误,如果改成下面就会弹出预期的对话框:

<script type=”text/javascript”>
if( typeof variable == ‘undefined’ ){
alert(‘rain man’);
}
</script>

继续阅读“JavaScript中检测变量是否存在”

Jquery动态加载css文件/js文件

第一种写法:
$(“<link>”)
.attr({ rel: “stylesheet”,
type: “text/css”,
href: “site.css”
})
.appendTo(“head”);
第二种写法:
$(“head”).append(“<link>”);
css = $(“head”).children(“:last”);
css.attr({
rel: “stylesheet”,
type: “text/css”,
href: “/Content/Site.css”
});
第三种写法(直接在javascript中使用):
function addCSS() {
var link = document.createElement(‘link’);
link.type = ‘text/css’;
link.rel = ‘stylesheet’;
link.href = ‘/Content/Site.css’;
document.getElementsByTagName(“head”)[0].appendChild(link);
}

 

 

jQuery JavaScript

jQuery内置了一个方法可以加载单一的js文件;当加载完成后你可以在回调函数里执行后续操作。最基本的使用jQuery.getScript的方法是这样:

jQuery.getScript("/path/to/myscript.js", function(data, status, jqxhr) {

	/* 
		做一些加载完成后需要执行的事情
	*/	

});

这个getScript方法返回一个jqxhr,你可以像下面这样用它:

jQuery.getScript("/path/to/myscript.js")
	.done(function() {
		/* 耶,没有问题,这里可以干点什么 */
	})
	.fail(function() {
		/* 靠,马上执行挽救操作 */
});

最常见的使用jQuery.getScript的地方是延迟加载一个js插件,而且在加载完成时执行它:

jQuery.getScript("jquery.cookie.js")
	.done(function() {
		jQuery.cookie("cookie_name", "value", { expires: 7 });
});

如果你需要更高级的功能,比如加载多个脚本,或加载不同类型的文件(文本文件,图片,css等),我建议你使用一个专门的JavaScript加载工具。如果是为了延迟加载一个js插件,避免每个页面都去加载,这个getScript很完美了。

缓存问题

有一个非常重要的问题,使用jQuery.getScript时,你需要用一个时间戳字符串跟在需要加载的js地址后面,防止它被缓存。但是,如果你希望这个脚本被缓存,你需要设置全局缓存变量,像下面这样:

jQuery.ajaxSetup({
  cache: true
});

如果你并不想使用全局缓存变量,你也可以使用jQuery.ajax,并注明dataTypescript

jQuery.ajax({
      url: "jquery.cookie.js",
      dataType: "script",
      cache: true
}).done(function() {
		jQuery.cookie("cookie_name", "value", { expires: 7 });
});

参考:http://www.webhek.com/loading-scripts-jquery

JS的sort按照数值的大小对数字进行排序

按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:

<script type=”text/javascript”>

function sortNumber(a,b) {
return a – b
}

var arr = new Array(6)
arr[0] = “10”
arr[1] = “5”
arr[2] = “40”
arr[3] = “25”
arr[4] = “1000”
arr[5] = “1”

document.write(arr + “<br />”)
document.write(arr.sort(sortNumber))

</script>