月度归档 2014年4月30日

通过清心醉

magento后台打开CMS页面时404错误的方案

进入数据库,找到当前magento的数据,执行SQL语句:

DELETE FROM cms_page_store WHERE store_id NOT IN (SELECT store_id FROM core_store);

即可.

 

通过清心醉

计算机 二进制小解

了解进制的转换,更深入掌握计算机

本文节带“//”为作者注释

2进制语言,属于机器的低级语言,但却是可以直接和计算机及其他包含运算计算等数码产品进行交流的一种语言,目前普遍的程序语言编辑,通属高级程序编辑,通过编译器实际代码转换为2进制机器语言。

 

作者小写程序代码2年多,都只是有时间小写一会,对于很多实际的应用并不完全掌握。

以前曾看过关于2进制的学习,可能做者的理解观念不太强,难于理解上,以下写出新手自学针对10进制转2进制的使用规程:

(文档内容由网络搜索提供,经作者收集整合,如有部分解析错误,第一时间进行修正并注释其含义)

1、 首先,我们要了解二进制:

二进制是计算技术中广泛采用的一种数制二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,当前的计算机系统使用的基本上是二进制系统

2、 二进制数据的表示法:

以下文节出自百度百科,对于高中以下文化的程序员来说,这无疑是一很大的公式挑战,作者曾小看过百回,也未懂其意义,转过来先,未来总会理解。

二进制数据也是采用位置计数法,其位权是以2为底的。例如二进制数据110.11,逢2进1,其权的大小顺序为2^2、2^1、2^0、2^-1、2^-2。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为:

(a(n-1)a(n-2)…a(-m))2=a(n-1)×2^(n-1)+a(n-2)×2^(n-2)+……+a(1)×2^1+a(0)×2^(0)+a(-1)×2^(-1)+a(-2)×2^(-2)+……+a(-m)×2^(-m)

二进制数据一般可写为:(a(n-1)a(n-2)…a(1)a(0).a(-1)a(-2)…a(-m))2。

注意:

1.式中aj表示第j位的系数,它为0和1中的某一个数。

2.a(n-1)中的(n-1)为下标,输入法无法打出所以用括号括住,避免混淆。

3.2^2表示2的平方,以此类推。

【例1102】将二进制数据111.01写成加权系数的形式。

解:(111.01)2=(1×2^2)+(1×2^1)+(1×2^0)+(0×2^-1)+(1×2^-2)

3、 实际计算10进制转2进制的除法形式:

如一数值:256,对其进行2进制的转换(其实就是除2,取余数)

256/2=0  //余数为0;

128/2=0  //余数为0;

64/2=0  //余数为0;

32/2=0  //余数为0;

16/2=0  //余数为0;

8/2=0  //余数为0;

4/2=0  //余数为0;

2/2=0  //余数为0;作者开始也昏了,忘记这是取余数,不是直接取结果

1/2=1  //在这余数为1;不可再进行除2;

然后将值倒序取出:100000000; 该值即为十进制数值256转化为二进制后的数值;

 

//注:以下短文转自百度百科

在现实生活和记数器中,如果表示数的“器件”只有两种状态,如电灯的“亮”与“灭”,开关的“开”与“关”。一种状态表示数码0,另一种状态表示数码1,1加1应该等于2,因为没有数码2,只能向上一个数位进一,就是采用“满二进一”的原则,这和十进制是采用“满十进一”原则完全相同。

1+1=10,10+1=11,11+1=100,100+1=101,

101+1=110,110+1=111,111+1+=1000,……,

可见二进制的10表示二,100表示四,1000表示八,10000表示十六,……。

二进制同样是“位值制”。同一个数码1,在不同数位上表示的数值是不同的。如11111,从右往左数,第一位的1就是一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。

所谓二进制,也就是计算机运算时用的一种算法。二进制只由一和零组成。

比方说吧,你上一年级时一定听说过“进位筒”(“数位筒”)吧!十进制是个位上满十根小棒就捆成一捆,放进十位筒,十位筒满十捆就捆成一大捆,放进百位筒……

二进制也是一样的道理,个位筒上满2根就向十位进一,十位上满两根就向百位进一,百位上满两根…… 二进制是世界上第一台计算机上用的算法,最古老的计算机里有一个个灯泡,当运算的时候,比如要表达“一”,第一个灯泡会亮起来。要表达“二”,则第一个灯泡熄灭,第二个灯泡就会亮起来。

二进制就是等于2时就要进位。

0=00000000

1=00000001

2=00000010

3=00000011

4=00000100

5=00000101

6=00000110

7=00000111

8=00001000

9=00001001

10=00001010

……

即是逢二进一,二进制广泛用于最基础的运算方式,计算机的运行计算基础就是基于二进制来运行。只是用二进制执行运算,用其他进制表现出来。

其实把二进制三位一组分开就是八进制, 四位一组就是十六进制

 

说实在的,如此的解释可能对有数学文化的人或者看懂的多

实际编写吧,看了也许就更能慢慢琢磨底层的东西,好容易掌握以上的通过说明:

以数值15为例:

1=1;

2=1+1;2=10;

3=2+1;=10+1;=11;

4=3+1;=11+1;=100;

5=4+1;=100+1;=101;

6=5+1;=101+1;=110;

7=6+1;=110+1;=111;

8=7+1;=111+1;=1000;

9=8+1;=1000+1;=1001;

10=9+1;=1001=1;=1010;

11=10+1;=1010+1;=1011;

12=11+1;=1011+1;=1100;

13=12+1;=1100+1;=1101;

14=13+1;=1101+1;=1110;

15=14+1;=1110+1;=1111;

{//随便写个大概,如2进制数值8

 

8=7+1;(7=111;实际8=111+1)

111

+      1

=    112; //产生逢二进一

=    120; //产生逢二进一

=    200; //产生逢二进一

=   1000; //结果

}

 

当然,能知道固定数值,如10表示二,100表示四,1000表示八,10000表示十六这些,更容易用逢二进一公式进行计算;更专著于除2计算;

15/2=1

7/2=1

3/2=1

1/2=1

从下往上的结果:1111;

 

以下为二进制转换十进制的转换公式

(今天和一兄弟一起研究得到的实际数据公式,具体简化点的记忆公式及十六进制后期更新上)

 

例:

1110 (2进制10  数值14)

1*2^3+1*2^2+1*2^1+0*2^0=1*8+1*4+1*2+1*0=8+4+2=14

1111 (2进制10  数值15)=1*2^3+1*2^2+1*2^1+1*2^0

 

以上看来或者会不太清楚,简化点的来说,2进制数值1110(10进制数值14)的计算

由右至左进行 <当前数值*2^当前位置次方>,由0开始

最右边的0的计算:         当前数值0*2^0当前位置的次方;

第二位数:                 当前数值1*2^1当前位置的次方;

第三位数:                 当前数值1*2^2当前位置的次方;

第四位数(左数1位):       当前数值1*2^3当前位置的次方;

//在这可以发现,位数每向左移一位,次方数+1;

 

 

然后计算每个位数的计算结果:

最右边的结果为:0;

第二位数结果为:2;

第三位数结果为:4;

最左边的结果为:8;

然后进行相加=14;

通过清心醉

随写

说过生与死,看过生与死

世界创造了人类,人类为了和平共处创造了规则。
我们都在遵守着人类自己创造的规则,如果不遵守,那就别做人了。

好几天,看到过好多的死亡。

包括亲眼看到被撞到临近死亡的。
冷眼走过,是因为咎由自取之人不应援救
哪怕是一点点的过错。(至于这个有个好朋友不原谅我好几年了,也是我自己的咎由自取)

无辜被杀的,不小心杀人的,无心撞人的,不小心给撞死的。

世间如此的折磨,是惩罚,还是教育我们应该学会?

1年前和好友说上了一个谋杀的事,人是生是死,命早已注定

杀人者也许早就抱着一起死的念头,可当对方死了轮到自己死亡的时候

却会想要求饶

你当初想一起死的勇气哪去了?不管生于死,这些我们不能管

我们能管的,是从前

通过清心醉

悬浮在线聊天代码

<div style=”position: fixed; bottom: 5px; letf: 5px;”><a onclick=”window.open(this.href, ‘_blank’, ‘scrollbars=0,resizable=0;height=300;width=500’);return false” href=”http://www.qingxinzui.com”><img title=”Chat” alt=”Chat” src=”http://www.qingxinzui.com/chat.gif” border=”0″ /></a></div>

通过清心醉

Linux httpd无法启用端口

Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:81
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:81
no listening sockets available, shutting down
Unable to open logs

由于安装了NGINX,而NGINX占用了80的端口

所以需要修改HTPD的端口为其他的.

然而运行之后出现了上述的错误.原因是SELINUX的安全机制引起的.

安装以下两扩展

yum provides /usr/sbin/semanage

yum -y install policycoreutils-python

在查看下端口: semanage port -l

发现81端如果没有使用

semanage port -a -t http_port_t -p tcp 81

就可以了.

 

 

 

通过清心醉

Linux修改挂载点

默认使用的VPS,大磁盘一般都挂载到了/home

比如:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda6              58G  470M   55G   1% /
tmpfs                 729M     0  729M   0% /dev/shm
/dev/sda1             194M   39M  146M  21% /boot
/dev/sda2              29G  172M   28G   1% /home
/dev/sda3             9.7G  1.9G  7.4G  20% /usr

这时候我们就要修改挂载点了:

其实不需要临时取消什么的,直接修改配置文件:

vi /etc/fstab

找到对应的挂载点,修改下目录

reboot就可以了.