首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

从一个bug谈rtrim

本来以为得到的结果会是“战争”,但实际输出的却只有“战”。 不明所以,以为是 rtrim 的问题。查了一下,原来是自己对 rtrim 的理解有误。 rtrim 函数原型: string rtrim ( string str [, string charlist] ) 仔细看了下手册中charlist的解释: You can also specify the characters you want to strip, by means of the charlist parameter. Simply list all characters that you want to be stripped. 它的实际意思应该是:以每个字符为单位从目标字符串的右端开始查找,如果该字符在 trim 函数的第二个参数中,就将其删掉,直到当前字符不在参数列表中为止。而并非是我先前以为的:从str 的串尾去掉固定字串charlist。

02

char、varchar、binary和varbinary的区别与联系

char使用固定长度的空间进行存储,char(4)存储4个字符,根据编码方式的不同占用不同的字节,gbk编码方式,不论是中文还是英文,每个字符占用2个字节的空间,utf8编码方式,每个字符占用3个字节的空间。 如果需要存储的字符串的长度跟所有值的平均长度相差不大,适合用char,如MD5。 对于经常改变的值,char优于varchar,原因是固定长度的行不容易产生碎片。 对于很短的列,char优于varchar,原因是varchar需要额外一个或两个字节存储字符串的长度。 varchar保存可变长度的字符串,使用额外的一个或两个字节存储字符串长度,varchar(10),除了需要存储10个字符,还需要1个字节存储长度信息(10),超过255的长度需要2个字节来存储 例外:Myisam引擎中使用ROW_FORMAT=FIXED时,每行使用相同的空间,造成浪费 char和varchar后面如果有空格,char会自动去掉空格后存储,varchar虽然不会去掉空格,但在进行字符串比较时,会去掉空格进行比较

01

基于统计分析的ICMP隧道检测方法与实现

在企业内网环境中,ICMP协议是必不可少的网络通信协议之一,被用于检测网络连通状态,通常情况下,防火墙会默认放此协议。由于防火墙对ICMP协议开放,恶意攻击者常会利用ICMP协议进行非法通信。例如,在黑客攻击中经常出现一种情况是,黑客通过某一种方式取得了一台主机的权限,得到了一些文件,比如域hash,密码文件之类的东西,需要回传至本地进行破解,但是防火墙阻断了由内网发起的请求,只有icmp协议没有被阻断,而黑客又需要回传文件,这个时候如果黑客可以ping通远程计算机,就可以尝试建立ICMP隧道,ICMP隧道是将流量封装进 ping 数据包中,旨在利用 ping数据穿透防火墙的检测。现在市面上已经有了很多类似的工具了,比如 icmptunnel、ptunnel、icmpsh等。

03

广成子:值得收藏-史上最全Linux ps命令详解

大概在十多年前,我当时还是一个产品经理。由于一些工作的原因,需要向运维工程师学习一些linux常用命令。当使用linux ps这个十分常用的命令时,遇到了一个小小的疑惑。有些工程师推荐使用ps aux的命令组合,有些工程师推荐使用ps -aux的命令组合,从输出结果上来看似乎也没有什么不同。考虑到如常用的ls -l命令在内,很多linux命令选项前都要加上一个短横线,这么来看似乎ps -axu是正确的。但是一些早期的linux版本,在执行ps -axu时又会报出如下错误Warning: bad syntax,而ps aux却没有这样的报错信息,这么看来似乎ps aux又是正确的。查阅市面上的一些linux书籍,在介绍linux ps命令示例时,有些说用ps aux,而有些又说用ps -axu。实在是让我这个初学者摸不着头脑。

02
领券