kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

serif导致页面字体模糊

字体模糊

1
font-family: Tahoma, Times New Roman, Times, serif;

修改后正常

1
font-family: Tahoma, Times New Roman, Times, sans-serif;

min-width导致scrollWidth错误

下面代码,firefox 在控制台输出的 scrollWidth 不一致,导致不能正常增加行高

增加 width: auto; 就能正常,为何?改成如下:

1
2
3
<textarea id='id1' readonly style="min-width: 160px; width: auto;">厦门大学附属第一医院鼓浪屿分院</textarea>

<textarea id='id2' readonly style="min-width: 160px; width: auto;">厦门大学附属第一医院鼓浪屿分院</textarea>

代码

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<meta name="MobileOptimized" content="320">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<script>
/**
 * 统计区分中英文字符字数
 */
function getWordsCnt(str)
{
	var n = 0;
	var ch = 0;
	for(var i = 0; i < str.length; i ++){
		var ch = str.charCodeAt(i);
		if (ch > 255) { // 中文字符集
			n += 2;
			ch = 1;
		} else {
			n ++;
		}
	}
	if (ch == 1) {
		if (n >= 19)
			return 140;
		if (n >= 15)
			return 110;
		if (n > 10)
			return 92;
		if (n > 7)
			return 80;
	} else {
		if (n >= 19)
			return 130;
		if (n >= 15)
			return 110;
		if (n > 10)
			return 90;
		if (n > 7)
			return 80;
	}
	return 0;
}

var autoTextarea = function (elem, extra, maxHeight) {
	extra = extra || 0;
	var isFirefox = !!document.getBoxObjectFor || 'mozInnerScreenX' in window,
	isOpera = !!window.opera && !!window.opera.toString().indexOf('Opera'),
	addEvent = function (type, callback) {
		elem.addEventListener ?
			elem.addEventListener(type, callback, false) :
			elem.attachEvent('on' + type, callback);
	},
	getStyle = elem.currentStyle ? function (name) {
		var val = elem.currentStyle[name];
		if (name === 'height' && val.search(/px/i) !== 1) {
			var rect = elem.getBoundingClientRect();
			return rect.bottom - rect.top -
				parseFloat(getStyle('paddingTop')) -
				parseFloat(getStyle('paddingBottom')) + 'px';
		};
		return val;
	} : function (name) {
		return getComputedStyle(elem, null)[name];
	},
	minHeight = parseFloat(getStyle('height'));

	elem.style.resize = 'none';
	var change = function () {
		var scrollTopp, height,
			padding = 0,
			style = elem.style;
		if (elem._length === elem.value.length) return;
		elem._length = elem.value.length;
		if (!isFirefox && !isOpera) {
			padding = parseInt(getStyle('paddingTop')) + parseInt(getStyle('paddingBottom'));
		};
		scrollTopp = document.body.scrollTopp || document.documentElement.scrollTopp;
		elem.style.height = minHeight + 'px';

		// 控制最小宽度
		var minw = getWordsCnt(elem.value);
		if (elem.style.minWidth < minw)
			elem.style.minWidth = minw;

		if (elem.scrollHeight > minHeight) {
			if (maxHeight && elem.scrollHeight > maxHeight) {
				height = maxHeight - padding;
				style.overflowY = 'auto';
			} else {
				height = elem.scrollHeight - padding;
				style.overflowY = 'hidden';
			};
			style.height = height + extra + 'px';
			scrollTopp += parseInt(style.height) - elem.currHeight;
			document.body.scrollTopp = scrollTopp;
			document.documentElement.scrollTopp = scrollTopp;
			elem.currHeight = parseInt(style.height);
		};
	};
	addEvent('propertychange', change);
	addEvent('input', change);
	addEvent('focus', change);
	change();
};
</script>


<style type="text/css">
body {
	font-family: Tahoma, Times New Roman, Times, sans-serif;
	font-size: 13px;
	background-color: #E8E8E8;
}
table {
	border: 0px;
	font-size: 12.99px;
	border-collapse:collapse;
	margin-bottom: 10px;
	margin-top: 10px;
}
th {
	padding-left: 1px;
	padding-right: 1px;
	border: 1px solid #B9B9B9;
	height: 28px;
	min-width: 55px;
}
td {
	padding-left: 3px;
	padding-right: 5px;
	white-space: nowrap;
	border: 1px solid #B9B9B9;
	height: 28px;
	min-width: 10px;
}

td textarea {
	width: 100%;
	height: 26px;
	line-height: 18px;
	border: #099FFD;
	font-size: 13px;
	vertical-align: middle;
	font-family: Tahoma, Times New Roman, Times;
	padding-top: 3px;
}
textarea[readonly] {
	background-color: #E8E8E8;
	vertical-align: middle;
	height: 26px;
	line-height: 18px;
	opacity: 0.8;
	min-width: 50px;
	resize: none;
}
</style>


<table table-layout="fixed" width="98%" border="1">
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td>11111111111111111111111111111</td>
<td>11111111111111111111111111111</td>
<td>11111111111111111111111111111</td>
<td>
<textarea id='id1' readonly style="min-width: 160px;">厦门大学附属第一医院鼓浪屿分院</textarea>
<script>
var text = document.getElementById('id1');
console.log(text.scrollWidth);
autoTextarea(text);
</script>
</td>
<td>
<textarea id='id2' readonly style="min-width: 160px;">厦门大学附属第一医院鼓浪屿分院</textarea>
<script>
var text = document.getElementById('id2');
console.log(text.scrollWidth);
autoTextarea(text);
</script>
</td>
<td>11111111111111111111111111111</td>
<td>11111111111111111111111111111</td>
</tr>
</table>

mysql general_log 记录执行记录

https://blog.csdn.net/weixin_39525812/article/details/116102654

http://blog.claves.cn/archives/5929

介绍

开启 general log 将所有到达MySQL Server的SQL语句记录下来。

一般不会开启开功能,因为log的量会非常庞大。但个别情况下可能会临时的开一会儿general log以供排障使用。

相关参数一共有3:general_log、log_output、general_log_file

1
2
3
4
5
6
7
8
9
show variables like 'general_log_file';       -- 看看日志文件保存位置
set global general_log_file='tmp/general.lg'; -- 设置日志文件保存位置

show variables like 'general_log';  -- 查看日志是否开启
set global general_log=on;          -- 开启日志功能

show variables like 'log_output';   -- 看看日志输出类型 table或file
set global log_output='table';      -- 设置输出类型为 table
set global log_output='file';       -- 设置输出类型为file

log_output = ‘FILE’ 表示将日志存入文件,默认值是FILE

log_output = ‘TABLE’ 表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中.

mysql查看正在执行的sql语句

1
show processlist;

mysql查看是否开启日志模式

1
2
3
show variables like '%log_output%';

show variables like '%general_log%';

保存到table

1
2
3
4
5
6
7
8
9
10
11
12
13
-- 日志开启
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';

-- 查询
SELECT * from mysql.general_log ORDER BY event_time DESC;

-- 清空表
truncate table mysql.general_log;

-- 日志关闭
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'OFF';