2010年2月2日
安装broadcom网卡驱动
modprobe broadcom
modprobe tg3
dhcpcd eth0
posted @
2012-07-01 14:44 岩石 阅读(111) |
评论 (0) |
编辑 收藏
隔离级别
1 隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read)
2 读未提交(Read uncommitted) 可能 可能 可能
3 读已提交(Read committed) 不可能 可能 可能
4 可重复读(Repeatable read) 不可能 不可能 可能
5 可串行化(Serializable ) 不可能 不可能 不可能
MySQL 事务
- Mysql 默认提交数据的 AUTOCOMMIT ON
- InnoDB 行级别锁 多版本并发控制,NDB Cluster Falcon 是事务型 MyISAM 是非事务的 表级别锁,在混合事务的时候不能保证数据一致性
- InnoDB 使用二相锁定协议 一个事务在执行的时候会获得锁,在commit 或者rollback的时候释放锁,可以显示制定锁 例如 LOCK IN SHARE MODE ,FOR UPDATE
查看 表的状态
show table status like '表名'
MyISAM MySQL 默认的数据库引擎 不支持事务和行级锁
表转换
alter table方式 alter table mytable engine = innoDB; 复制表
打开MySql慢查询日志
修改my.conf
#打开慢查询
log-slow-queries = <file_name>
#记录查询大于2秒的记录, 默认是10秒
long_query_time = 2
#记录没有使用索引的查询
log-queries-not-using-indexes
#记录运行较慢的管理命令
log-slow-admin-statements
- 取查看MySql 数据库状态 show status show processlist
- FLUSH STATUS 刷新状态
- SQL_NO_CACHE MySql 不会缓存结果 例如 select sql_no_cache * from admin_user
- show profile cpu for query 1 ; 查看用户查询CPU使用率
选择优化的数据类型- 更小通常更好,正确的存储和表示数据的最小类型,更小的数据类型通常更快,更少的使用存储空间 内存和CPU缓存
- 简单就好 越简单的数据类型需要的CPU周期越少
- 尽量避免NULL
- 整数 数据类型包括 TINYINT(8) SMALLINT(16) MEDIUMINT(24) INT(32) BIGINT(64),所有类型都包含UNSIGNED熟悉 ,表示不允许为负数,并且正数上限提高一倍
- 实数FLOAT(4) DOUBLE(8) 保存精确的小数 DECIMAL可以定义精度 比如DECIMAL(8,2)会在小数点前保留6位,后2位
- 字符串类型p66
posted @
2012-05-27 21:14 岩石 阅读(258) |
评论 (0) |
编辑 收藏
下载JDK tar包 解压到/usr/lib/下
比如 /usr/lib/jdk1.7.0
编辑
environment和profile
sudo vim /etc/environment
添加如下内容
export JAVA_HOME=/usr/lib/jdk1.7.0
export JRE_HOME=/usr/lib/jdk1.7.0/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
sudo vim /etc/profile
在umask 022前 添加如下内容
export JAVA_HOME=/usr/lib/jdk1.7.0
export JRE_HOME=/usr/lib/jdk1.7.0/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
最后注销系统
安装OPENVPN
sudo apt-get install openvpn
使用OPENVPN
cd /etc/openvpn
sudo openvpn --config /etc/openvpn/xxxx.ovpn
启用SSH服务
sudo apt-get install openssh-server openssh-client
安装PG
sudo apt-get install postgresql
sudo apt-get install pgadmin3
posted @
2011-07-31 19:59 岩石 阅读(298) |
评论 (0) |
编辑 收藏
用的prototype
1var DivMove = Class.create();
2DivMove.prototype = {
3 initialize : function(){},
4 init : function(element) {
5 this._element = element;
6 },
7 observer : function() {
8 Event.observe(this._element, 'mousedown', this._mouseDown);
9 Event.observe(this._element, 'mouseup', this._mouseUp);
10 },
11 _mouseDown : function(e) {
12 var event = e || window.event;
13 var offsetX = event.clientX - this.offsetLeft;
14 var offsetY = event.clientY - this.offsetTop;
15 Event.observe(this, 'mousemove', function(e) {
16 var event = e || window.event;
17 var st = Math.max(document.body.scrollTop,
18 document.documentElement.scrollTop);
19 var sl = Math.max(document.body.scrollLeft,
20 document.documentElement.scrollLeft);
21
22 Element.setStyle(this ,{
23 left : event.clientX + sl - offsetX+'px',
24 top : event.clientY + st - offsetY+'px',
25 position : 'absolute'
26 });
27 /**//*
28 * this.style.position = 'absolute'; this.style.left = event.clientX +
29 * sl - offsetX; this.style.top = event.clientY + st - offsetY;
30 */
31 });
32
33 },
34 _mouseUp : function(e) {
35 Event.stopObserving(this,'mousemove',this.onMousemove);
36 }
37};
38var move=new DivMove();
39move.init($('selectItem'));
40move.observer();
41
42var move2=new DivMove();
43move2.init($('selectItem1'));
44move2.observer();
posted @
2010-02-04 11:15 岩石 阅读(131) |
评论 (0) |
编辑 收藏
package com.trgc.common.util;
public class EscapeUnescape {
public static String escape(String src) {
int i;
char j;
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length() * 6);
for (i = 0; i < src.length(); i++) {
j = src.charAt(i);
if (Character.isDigit(j) || Character.isLowerCase(j)
|| Character.isUpperCase(j))
tmp.append(j);
else if (j < 256) {
tmp.append("%");
if (j < 16)
tmp.append("0");
tmp.append(Integer.toString(j, 16));
} else {
tmp.append("%u");
tmp.append(Integer.toString(j, 16));
}
}
return tmp.toString();
}
public static String unescape(String src) {
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0, pos = 0;
char ch;
while (lastPos < src.length()) {
pos = src.indexOf("%", lastPos);
if (pos == lastPos) {
if (src.charAt(pos + 1) == 'u') {
ch = (char) Integer.parseInt(src
.substring(pos + 2, pos + 6), 16);
tmp.append(ch);
lastPos = pos + 6;
} else {
ch = (char) Integer.parseInt(src
.substring(pos + 1, pos + 3), 16);
tmp.append(ch);
lastPos = pos + 3;
}
} else {
if (pos == -1) {
tmp.append(src.substring(lastPos));
lastPos = src.length();
} else {
tmp.append(src.substring(lastPos, pos));
lastPos = pos;
}
}
}
return tmp.toString();
}
}
JQuery GB2312 JS页面采用escape()编码,然后使用上面的类解析出来
posted @
2010-02-02 10:37 岩石 阅读(166) |
评论 (0) |
编辑 收藏