Hot For Coding
  • MySQL存储引擎MyISAM特性

    MySQL的默认存储引擎MyISAM一直都是MySQL非事务存储引擎的最佳选择。它在性能和可用特征之间,提供一种良好的均衡性,如全文索引、压缩、空间函数。MyISAM仅支持表锁,不支持行级锁。

    加锁与并发

    MyISAM对整张表加锁,而不是行。读取程序在需要读取数据时,在所有表上都可以获得共享锁(读锁),而写入程序可以获得排它锁(写锁)。用户在执行查询select语句时,可以同时在一张表内插入新数据,这也称读写并发,这是一个非常有用的特性。

    数据加密

    这个还是有点用的,特别是敏感数据

    B-tree索引

    由于B-Tree的特性,在B-Tree中按key检索数据的算法非常直观, 首先从根节点进行二分查找,如果找到则返回对应节点的data,否则对相应区间的指针指向的节点递归进行查找,直到找到节点或找到null指针,前者查找成功,后者查找失败

    ...

    READ ALL

  • 8条命案持枪嫌犯周克华域名被抢注!

    名人的姓名全拼域名被抢注已是煮米高手的必备一招,但前两天重庆银行持枪抢劫犯周克华的全拼域名也被人抢注了。

    full

    从whois查询结果看到域名在8月10日,也就是重庆银行发生抢劫案当天,警方公布通缉犯周克华姓名后即被抢注。

    full

    从注册信息可以看到是温州市(wen zhou shi),诶!看来周克华确切成了名人,风范一点也不比当年的马加爵差。可惜,当年马加爵犯案的时候,姓名全拼域名没有被重视。

    不过我还是有点想不通,抢注名人的姓名全拼域名可能有被高额收购的可能,但不知道煮一个通缉犯的姓名全拼域名想做什么站?难不成专题报道犯罪嫌疑人的相关信息,可惜我估计马克华是没有本钱赎回自己的全拼域名了。

    ...

    READ ALL

  • CSS display属性

    在CSS中可以通过display属性来快速隐藏一个Element,display就是告诉浏览器如何来显示Element,如果你给none值的话就是不显示

    div {
      display: none;
    }
    

    最长见的另外一种用法就是让行级标签变成块级标签,值是block

    span {
      display: span;
    }
    

    以上代码就是让span标签从行级变块级,当然也可以反过来块级变行级inline-block

    h1 {
      display: inline-block
    }
    

    display的可用属性其实还有很多,如flexgridtableinherit等等,如果你不想设置任何模式,可以给默认值initial

    ...

    READ ALL

  • MySQL事务autocommit自动提交

    MySQL默认操作模式就是autocommit自动提交模式。这就表示除非显式地开始一个事务,否则每个查询都被当做一个单独的事务自动执行。我们可以通过设置autocommit的值改变是否是自动提交autocommit模式。

    通过以下命令可以查看当前autocommit模式

    mysql> show variables like 'autocommit';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | autocommit    | ON    |
    +---------------+-------+
    1 row in set (0.04 sec)
    

    ...

    READ ALL

  • CentOS如何发送邮件

    CentOS是一个非常不错的免费开源Linux系统,许多站点首选的平台。然而CentOS默认不能发送邮件,需要发送邮件的童鞋可以安装一个sendmail程序。

    安装sendmail

    执行:

    yum -y install sendmail
    

    程序会自动搜索出sendmail安装程序自动安装。

    安装好sendmail以后执行以下命令启动sendmail

    [root@vps478753 ~]# service sendmail start
    Starting sendmail:                                         [  OK  ]
    Starting sm-client:                                        [  OK  ]
    

    ...

    READ ALL

  • CSS指针形状属性cursor

    CSS有一个属性cursor,它可以改变指针形状

    最长的无非就是给节点加上小手的形状了

    # div {
      width: 300px;
      height: 300px;
      cursor: pointer;
      background: red;
    }
    

    指针有很多种,看看来自W3C这个例子就知道了

    .alias {cursor: alias;}
    .all-scroll {cursor: all-scroll;}
    .auto {cursor: auto;}
    .cell {cursor: cell;}
    .context-menu {cursor: context-menu;}
    .col-resize {cursor: col-resize;}
    .copy {cursor: copy;}
    .crosshair {cursor: crosshair;}
    .default {cursor: default;}
    .e-resize {cursor: e-resize;}
    .ew-resize {cursor: ew-resize;}
    .grab {cursor: grab;}
    .grabbing {cursor: grabbing;}
    .help {cursor: help;}
    .move {cursor: move;}
    .n-resize {cursor: n-resize;}
    .ne-resize {cursor: ne-resize;}
    .nesw-resize {cursor: nesw-resize;}
    .ns-resize {cursor: ns-resize;}
    .nw-resize {cursor: nw-resize;}
    .nwse-resize {cursor: nwse-resize;}
    .no-drop {cursor: no-drop;}
    .none {cursor: none;}
    .not-allowed {cursor: not-allowed;}
    .pointer {cursor: pointer;}
    .progress {cursor: progress;}
    .row-resize {cursor: row-resize;}
    .s-resize {cursor: s-resize;}
    .se-resize {cursor: se-resize;}
    .sw-resize {cursor: sw-resize;}
    .text {cursor: text;}
    .url {cursor: url(myBall.cur),auto;}
    .w-resize {cursor: w-resize;}
    .wait {cursor: wait;}
    .zoom-in {cursor: zoom-in;}
    .zoom-out {cursor: zoom-out;}
    

    ...

    READ ALL

  • PHP多态性实例

    什么是多态性

    多态性是继数据库抽象和继承后,面向对象语言的第三个特征。多态即多种形态,具有表现多种形态的能力特征。在面向对象中表示根据对象的类型以不同方式处理。多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。

    如我们创建一个doing()方法,如果是学生则打印上课,如是公司职员则打印上班。

    普通做法

    使用if判断

    /**
     * PHP多态性
     * 琼台博客 www.qttc.net
     */
     
    // 定义学生类
    class student{
      public function cla(){
        echo "学生工正在上课!<br />";
      }
    }
     
    // 定义职员类
    class office{                              
      public function Wor(){
        echo "职员正在上班!<br />";
      }
    }
     
    // 判断对象类型方法
    function doing($obj){ 
      if($obj instanceof student){ 
        $obj->cla();
      }elseif($obj instanceof office){
        $obj->wor();
      }else{
        echo "没有这个对象!";
      }
    }
     
    doing(new student()); // 学生正在上课
    doing(new office());  // 职员正在上班
    

    ...

    READ ALL

  • JavaScript计算两点之间的距离

    计算两点之间的距离假如不是平行或者垂直的两点话就需要用到三角形原理来计算了

    full

    公式也特别简单,假如你知道了两个点的xy坐标,那么就可以利用以下公式算出来两点之间的距离

    var a = x1 - x2;
    var b = y1 - y2;
    
    var c = Math.sqrt(a * a + b * b);
    
    // c is the distance
    

    根据三角形公式,两个直角边平方的总和在根除一下就是斜边的距离,而斜边的距离就是两点之间的距离

    ...

    READ ALL

  • 180M小内存VPS体会

    目前几乎所有VPS提供商都限定最小内存为512M,如我之前使用的Linode,它们最小内存就是512M。但Linux是一个优越的服务器系统,占用内存小。因此有不少VPS提供商还在销售128M的VPS,甚至64M的也不奇怪。当然,这种小内存的VPS服务器自然是Linux了。小内存的VPS价格便宜实惠,又不浪费。

    我也购买了一个180M的小内存VPS试试一下效果怎样。经过挑选,最终选定DiaHosting这家。

    配置信息,支持支付宝付款,但汇率按1:7算。有优惠码可以打折,优惠码网上搜就有。我的优惠码九折,打折后9刀,实际付款63RMB。

    full

    ...

    READ ALL

  • SecureCRT中文乱码解决

    有时时候SSH工具登录远程Linux服务器操作时,中文部分显示乱码,而英文部分显示正常不影响

    SecureCRT默认情况下显示中文字符都是乱码,需要设置为UTF8字符集以后才可以正常显示中文字符

    菜单栏选项 > 会话选项

    full

    左侧选择外观,右侧字符编码下拉菜单选择UTF-8。点击确定保存退出即可。

    full

    如果还是乱码,可以试试GBK。通常中文字符要么是UTF8或者GBK。

    ...

    READ ALL