说实话,我感觉动作还是慢了点。当倒计时到零的时候突然又变成另外一个倒计时,我误以为没开始,直到最后确定为活动开始以后才点提交订单。
结果,我排到了第三档!
我支付的时间是零一分三十秒,在结果没出来之前,我以为最坏的结果也是第二档内,即111位以内。下次,得眼疾手快了!
总共支付了870元,获得了23个月的服务器,算下来每个月38元左右。相当便宜了,特别是相对于国内。
...
说实话,我感觉动作还是慢了点。当倒计时到零的时候突然又变成另外一个倒计时,我误以为没开始,直到最后确定为活动开始以后才点提交订单。
结果,我排到了第三档!
我支付的时间是零一分三十秒,在结果没出来之前,我以为最坏的结果也是第二档内,即111位以内。下次,得眼疾手快了!
总共支付了870元,获得了23个月的服务器,算下来每个月38元左右。相当便宜了,特别是相对于国内。
...
Linux里要同步时间特别简单,使用utpdate
命令就可以
CentOS可以
yum install utpdate
Ubuntu可以
sudo apt-get install ntp
同步时间
ntpdate -u time.windows.com
常用的服务器列表有以下
...
JavaScript中没有类似PHP那样简便的函数可以直接将时间戳与日期类型格式相互转换,于是只好自己写一个函数,使用时方便调用。
function datetime_to_unix(datetime){
var tmp_datetime = datetime.replace(/:/g,'-');
tmp_datetime = tmp_datetime.replace(/ /g,'-');
var arr = tmp_datetime.split('-');
var now = new Date(Date.UTC(arr[0], arr[1] - 1, arr[2], arr[3] - 8, arr[4], arr[5]));
return parseInt(now.getTime()/1000);
}
function fillZero(num) {
return num >= 10 ? num : '0' + String(num)
}
function unix_to_datetime(unix) {
var now = new Date(parseInt(unix) * 1000);
return [
[
now.getFullYear(),
fillZero(now.getMonth() + 1),
fillZero(now.getDate())
].join('-'),
[
fillZero(now.getHours()),
fillZero(now.getMinutes()),
fillZero(now.getSeconds())
].join(':'),
].join(' ')
}
var datetime = '2012-11-16 10:36:50';
var unix = datetime_to_unix(datetime);
console.log(datetime + ' 转换后的时间戳为: ' + unix);
var unix = 1353033300;
var datetime = unix_to_datetime(unix);
console.log(unix + ' 转换后的日期为: ' + datetime);
...
HTML5新增不少比较有意思的标签,主流浏览器都支持了,包括IE9,10。
然而IE8或以下版本不支持HTML5新增标签,导致HTML5构造页面在IE8或以下显示页面混乱出错,为了兼容IE8或以下IE浏览器支持HTML5标签,我们可以这么解决
页面引入html5shiv.js
<script src="html5shiv.js"></script>
并且对HTML标签声明样式
section,
article,
aside,
header,
footer,
nav,
dialog,
figure {
display:block;
}
...
JavaScript中urldecode有相应的函数,使用方便。但urldecode就需要一些处理,直接上代码
function UrlDecode(zipStr){
var uzipStr = '';
for (var i = 0; i < zipStr.length; i += 1) {
var chr = zipStr.charAt(i);
if (chr === '+') {
uzipStr += ' ';
} else if (chr === '%') {
var asc = zipStr.substring(i + 1, i + 3);
if (parseInt('0x' + asc) > 0x7f) {
uzipStr += decodeURI('%' + asc.toString() + zipStr.substring(i+3, i+9).toString());
i += 8;
}else{
uzipStr += AsciiToString(parseInt('0x' + asc));
i += 2;
}
}else{
uzipStr += chr;
}
}
return uzipStr;
}
function StringToAscii(str){
return str.charCodeAt(0).toString(16);
}
function AsciiToString(asccode){
return String.fromCharCode(asccode);
}
...
在JavaScript中数组拼接有几种方式
var arr1 = ['a', 'b', 'c'];
var arr2 = ['d', 'e', 'f'];
for (var i = 0; i < arr2.length; i += 1) {
arr1.push(arr2[i]);
}
console.log(arr1); // Output: (6) ["a", "b", "c", "d", "e", "f"]
这种方式比较灵活控制,比如去重
var arr1 = ['a', 'b', 'c'];
var arr2 = ['c', 'd', 'e'];
for (var i = 0; i < arr2.length; i += 1) {
if (arr1.indexOf(arr2[i]) === -1) {
arr1.push(arr2[i]);
}
}
console.log(arr1); // Output: (5) ["a", "b", "c", "d", "e"]
...
编译安装PDO_MYSQL拓展模块,总是提示
In file included from /data0/software/PDO_MYSQL-1.0.2/pdo_mysql.c:31:
/data0/software/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:25:19: error: mysql.h: No such file or directory
In file included from /data0/software/PDO_MYSQL-1.0.2/pdo_mysql.c:31:
/data0/software/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:36: error: expected specifier-qualifier-list before ‘MYSQL’
/data0/software/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:48: error: expected specifier-qualifier-list before ‘MYSQL_FIELD’
/data0/software/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:53: error: expected specifier-qualifier-list before ‘MYSQL_RES’
make: *** [pdo_mysql.lo] Error 1
...
今天在CentOS 64位下编译安装PHP5.4.8。结果在configure的时候提示
configure: error: Cannot find ldap libraries in /usr/lib
提示在/usr/lib
下找不到相关模块,这是因为64位的Linux默认把以上文件都存在/usr/lib64
文件夹下。
解决方法
cp -frp /usr/lib64/libldap* /usr/lib/
重新configure即可
...
使用阿里云的yum源安装软件,总是提示
Error: Package: glibc-headers-2.12-1.80.el6_3.6.x86_64 (updates)
Requires: kernel-headers >= 2.2.1
Error: Package: glibc-headers-2.12-1.80.el6_3.6.x86_64 (updates)
Requires: kernel-headers
You could try using --skip-broken to work around the problem
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
kernel-2.6.32-220.13.1.el6.x86_64 has missing requires of kernel-firmware >= ('0', '2.6.32', '220.13.1.el6')
...
在DOM3里已经加入了getElementsByClassName()
这个方法,然而IE9、10以外的其它版本均不支持,这是一块伤痛啊!
目前可以这么解决,判断浏览器支不支持这个方法,如果支持就不管。如果不支持,就在document对象里加入getElementsByClassName这个方法,这样的写法有一个好处,即不管有没有原生函数你都不用去修改代码。
网上部分人直接定义一个getElementsByClassName函数,但是这样的话就需要把代码中所有使用document.getElementsByClassName改写成getElementsByClassName。多少有点不方便,也不通用。
...