Zihao

Make small but daily progress

0%

git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:

阅读全文 »

BOM头(字节顺序标记(ByteOrderMark))是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符(”\uFEFF”),位于文本文件头部。PHP不会自动识别BOM头,并不会忽略它。而根据嵌入式语言的特点,这串字符会直接执行,从而导致html中会有三个字符。实现了一个脚本来删除BOM,请放在根目录下使用。

阅读全文 »

通过HeidiSQL连接MYSQL数据库报错:

1
SQL Error (1130): Host ‘192.168.1.126is not allowed to connect to this MySQL server

说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。
需更改 mysql 数据库里的user表里的host项把localhost改成%

首先按下面的步骤登录Mysql服务器,登录mysql需要切换到dos下的mysql的bin目录,进行如下操作:

1
2
3
4
5
6
7
8
9
10
mysql>use mysql;

mysql>update user set host =%where user =’root’;
MariaDB [mysql]> update user set host =%where host = ‘localhost’;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0

mysql>flush privileges;
mysql>select host, user from user;
mysql>quit

OK。远程连接成功!

DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。在DevOps的整个流程中,使用一些开源工具可以促进开发与运维之间的沟通,有利于项目的管理,甚至可以达到事半功倍的效果。 本文作者Richard Kraaijenhagen是Owlin创始人,全栈工程师,数据科学家。他收集了DevOps开发可能用到的所有工具,并且把它们按照职责进行分类,本文摘取了部分工具分享给大家,这些工具也可以用于日常软件方面的开发,所以,大家直接Mark吧!

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$arr = array(1,30,5,8,2,7,12);
$cou = count($arr);

// 常见算法,比较大小,两个数字,如果大或者小那么交换位置。
for($i=0;$i<$cou;$i++){
for($j=$i+1;$j<$cou;$j++){
echo $i.' ',$j.' ',$arr[$i].' ',$arr[$j].' ','<br/>';
if($arr[$i] > $arr[$j]){
$tmp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $tmp;
$bool = true;
}
}
}
// 优化算法,增加一个flag,如果发生了交换就退出子循环。
for($i=0;$i<$cou;$i++){
$bool = false;

for($j=$i+1;$j<$cou;$j++){
echo $i.' ',$j.' ',$arr[$i].' ',$arr[$j].' ','<br/>';
if($arr[$i] > $arr[$j]){
$tmp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $tmp;
$bool = true;
}
if($bool == false){break;}
}
}
阅读全文 »

1、对象的继承,一般的做法是复制:Object.extend

prototype.js的实现方式是:

1
2
3
4
5
6
Object.extend = function(destination, source) {
for (property in source) {
destination[property] = source[property];
}
return destination;
}

除此之外,还有种方法,就是:Function.apply(当然使用Function.call也是可以的)

apply方法能劫持另外一个对象的方法,继承另外一个对象的属性

阅读全文 »

笔记分为两个部分,今天是CSS的选择器,以后还有一部分xPath的选择器。今天的笔记中包括44个选择器,基本涵盖了CSS 2和CSS 3的所有规定。

阅读全文 »

在javasript中delegate这个词经常出现,看字面的意思,代理、委托。那么它究竟在什么样的情况下使用?它的原理又是什么?在各种框架中,也经常能看到delegate相关的接口。这些接口又有什么特殊的用法呢?这篇文章就主要介绍一下javascript delegate的用法和原理,以及DojojQuery等框架中delegate的接口。

阅读全文 »

按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序;

如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了)。

直接在查询语句后面添加order by name asc;查询结果按照姓氏的升序排序;

如果存储姓名的字段采用的是utf8字符集,需要在排序的时候对字段进行转码;

对于的代码是order by convert(name using gbk) asc;
同样,查询的结果也是按照姓氏的升序排序;

阅读全文 »