Hot For Coding
Linux如何查看CPU信息

使用lscpu命令

[root@Docker ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Model name:            Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
Stepping:              4
CPU MHz:               2499.980
BogoMIPS:              4999.96
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K
L3 cache:              33792K
NUMA node0 CPU(s):     0-3

直接查看文件

[root@vultr ~]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 85
model name      : Virtual CPU 82d9ed4018dd
stepping        : 4
microcode       : 0x1
cpu MHz         : 2600.000
cache size      : 16384 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 5200.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

...

READ ALL

阿里云双十一团购我获得了十一个月延长期

说实话,我感觉动作还是慢了点。当倒计时到零的时候突然又变成另外一个倒计时,我误以为没开始,直到最后确定为活动开始以后才点提交订单。

结果,我排到了第三档!

我支付的时间是零一分三十秒,在结果没出来之前,我以为最坏的结果也是第二档内,即111位以内。下次,得眼疾手快了!

full

总共支付了870元,获得了23个月的服务器,算下来每个月38元左右。相当便宜了,特别是相对于国内。

...

READ ALL

Linux使用ntpdate同步时间

Linux里要同步时间特别简单,使用utpdate命令就可以

CentOS可以

yum install utpdate

Ubuntu可以

sudo apt-get install ntp

同步时间

ntpdate -u time.windows.com

常用的服务器列表有以下

  • 210.72.145.44 (国家授时中心服务器IP地址)
  • ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)
  • s1a.time.edu.cn 北京邮电大学
  • s1b.time.edu.cn 清华大学
  • s1c.time.edu.cn 北京大学
  • s1d.time.edu.cn 东南大学
  • s1e.time.edu.cn 清华大学
  • s2a.time.edu.cn 清华大学
  • s2b.time.edu.cn 清华大学
  • s2c.time.edu.cn 北京邮电大学
  • s2d.time.edu.cn 西南地区网络中心
  • s2e.time.edu.cn 西北地区网络中心
  • s2f.time.edu.cn 东北地区网络中心
  • s2g.time.edu.cn 华东南地区网络中心
  • s2h.time.edu.cn 四川大学网络管理中心
  • s2j.time.edu.cn 大连理工大学网络中心
  • s2k.time.edu.cn CERNET桂林主节点
  • s2m.time.edu.cn 北京大学

...

READ ALL

JavaScript日期时间类型(Y-m-d H:i:s)与时间戳互转

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);

...

READ ALL

解决IE8版本以下不支持HTML5标签

HTML5新增不少比较有意思的标签,主流浏览器都支持了,包括IE9,10。

然而IE8或以下版本不支持HTML5新增标签,导致HTML5构造页面在IE8或以下显示页面混乱出错,为了兼容IE8或以下IE浏览器支持HTML5标签,我们可以这么解决

下载html5shiv.js

页面引入html5shiv.js

<script src="html5shiv.js"></script>

并且对HTML标签声明样式

section,
article,
aside,
header,
footer,
nav,
dialog,
figure {
  display:block;
}

...

READ ALL

JavaScript URLdecode函数

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); 
}

...

READ ALL

JavaScript数组拼接

在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"]

...

READ ALL

PDO_MYSQL make *** [pdo_mysql.lo] Error 1

编译安装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

...

READ ALL

PHP configure error Cannot find ldap libraries in /usr/lib

今天在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即可

...

READ ALL

Error Package glibc-headers-2.12-1.80.el6_3.6.x86_64

阿里云报错

使用阿里云的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')

...

READ ALL