正则表达式原理上是一个有限状态机(FSM)。简单理解就是一个系统有有限个数的状态,它的各个状态之间的跳转是遵循一定的规则的。正则表达式跳转依据是下一个字符。正则表达式强大的地方
在于对文本的处理。主流的编程语言都提供了对正则支持,比如Perl, Python, Javascript等。

基本的正则表达式

在编写应用时,经常遇到要过滤一些字符串。如用户输入的邮箱格式校验。

题目

最近在微信公众号里看看到了一个PPTV的面试算法题,感觉难度适中,想试下。题目的内容为求一个字符串的最长对称子字符串。如:
输入 输出
abba 4
abad 3
acccbaa 3

阅读全文 »

LVS配置命令理解1

上周末对照着Ubuntu LVS配置 的教程初步熟悉了ubuntu下LVS的配置过程中。这对于想掌握其原理的人来说是不够的。
配置的命令有以下几条:

ifconfig来为当前的网卡配置虚拟IP。

其中同样通过在CSDN上搜索,可以知道,通过在eth0(网卡接口名称)后加“:n”,其中n为N+(正整数),就可以为网卡配置多个虚拟IP地址。这样的IP地址是不会有真实的数据经过它。

阅读全文 »

转自我的CSDN

第9部分的补充

原因

不得不承认把这个系列的翻译继续下去是很有挑战的。最近加班多,多余的精力就比较少了。坚持下去的想法还是有的,但回顾渐忘的初心,做这件事情的意义是在于帮助那些想把CRC算法学明白,而英文又差那么一点的人们,帮助他们从最根本的原理上来理解这个算法系列。我在之前自己看的过程中就发现作者的思路时有跳跃性。我自己在看的时候思路经常出现断续,作者说的标题其实是有点夸大了。不符合我的习惯,我的习惯是每一个演进,都有它的原理在里面,可以直接看到,不需要读者再去思考。所以有了动机。
为了保持译文的完整和原本的条理,不方便直接在原文中加入大量的注解,另外只有证明我自己确实是理解了这部分,才能说明我翻译的基础是牢固的。所以才有了这一篇,作为原文第9节的注解。这里我会把我理解这部分的思路一步步展现出来。

阅读全文 »

转自我的CSDN

1、引子

在C语言里,想要使用TCP/IP协议来实现一个客户端,必须要遵循以下步骤:

1)创建一个socket

1
int socket(int family, int type, int protocol)

函数需要三个参数,分别是协议族的编号,socket的类型,和具体的协议类型。如果初始化时还有印象的话,我们的TCP/IP协议族属于PF_INET,而TCP socket则属于STREAM_SOCK,protocol这个参数一般是0,使用系统中该socket默认的协议类型。如STREAM_SOCK对应的默认协议就是TCP协议。这里只是内核里面的宏,具体到函数库中,可能会有别的表现形式。
函数执行完成,没有错误时,会返回一个int类型的变量,这个变量是socket的ID,与文件ID类似,后续的工作,都是通过对它的引用来开展的。

阅读全文 »
0%