kk Blog —— 通用基础


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

hik SADPtool 海康SADP搜索软件

https://www.onlinedown.net/soft/971269.htm

海康SADP搜索软件(SADPTool)是一款适合海康设备使用的搜索工具。海康SADP搜索软件功能强大,可以搜索同一局域网内所有在线的设备。除此之外,该软件还可以修改设备网络参数、恢复设备的缺省密码以及显示设备的相关信息。

海康SADP搜索软件(SADPTool)软件功能

1、通过网络搜索软件所在网段内的在线设备。

2、可显示相关设备的具体信息,包括设备类型、激活状态、IP地址、端口、IPv4网关、HTTP端口等。

3、可修改设备的网络参数:包括IP 地址、端口、子网掩码、网关等。

4、可一键导出所有的设备信息。

5、支持使用DHCP网络。

6、支持修改网络管理员密码。

mysql 模糊查询

https://blog.csdn.net/weixin_40918067/article/details/117059358

一 % 表示任意0个或多个字符

可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百 分号(%%)表示。

  1. 所查询字段 + like ‘%龙%’

select * from user where realname like ‘%龙%’

把含有“龙”字的 realname 字段搜索出来

_ 表示任意单个字符

匹配单个任意字符,它常用来限制表达式的字符长度语句:

1.查询出中间含有“林”字的realname字段(前提:名字三个字)

1
select * from user where realname like '_林_'

只能查询出类似“余林文”这样的realname为三个字且中间一个字为:“林”

4.查询出姓林的姓名(姓名只有两个字)

1
select * from user where realname like '林_'

查询出姓林的姓名(姓名可以是两个字,也可以是三个字)

1
select * from user where realname like '%林_%'

???  

三 [ ] 表示括号内所列字符中的一个(类似正则表达式)

指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

1
select * from user where realname like '[张蔡王]杰'

查询出“张杰”,“蔡杰”,“王杰”(而不是“张蔡王杰”)

如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e” 

1
select * from user where realname like '林[1-9]'

将会查询出“林1”“林2”……“林9”

 

四 [^ ] 表示不在括号所列之内的单个字符

其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

1
select * from user where realname like '[^张蔡王]杰'

查询出不姓“张”,“蔡”,“王”的“林杰”,“赵杰”等

1
select * from user where realname like '林[^1-4]'

将排除“林1”到“林4”,寻找“林5”、“林6”、…… 

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';