摘要:
1.php生成uuid网上大部分是使用随机数md5截取的,很有可能会重复冲突 2.uuid的组成中最重要的一个是机器码,大部分是网卡MAC地址, php无法获取到机器码,因此不能直接使用代码来生成一个uuid 3.安装扩展可以做到,先安装uuid 和uuid-dev 4.安装php扩展 5.配置in
阅读全文
posted @ 2019-04-18 14:23
唯一客服系统开发笔记
阅读(1179)
推荐(0)
摘要:
root@VM-38-204-ubuntu:~# host baidu.com baidu.com has address 220.181.57.216 baidu.com has address 123.125.114.144 baidu.com mail is handled by 15 mx.n.shifen.com. baidu.com mail is handled by 20...
阅读全文
posted @ 2019-04-17 11:24
唯一客服系统开发笔记
阅读(897)
推荐(0)
摘要:
邮件协议中的三种情况,对应下面的三种类型 multipart/mixed可以包含附件。multipart/related可以包含内嵌资源。multipart/alternative 纯文本与超文本共存 1.纯文本的,只需要一块content-type块,不需要multipart块 2.内容是html
阅读全文
posted @ 2019-04-16 17:39
唯一客服系统开发笔记
阅读(2316)
推荐(0)
摘要:
mysql逻辑分层:1.client ==>连接层 ==>服务层==>引擎层==>存储层 server2.连接层: 提供与客户端连接的服务3.服务层: 1.提供各种用户使用的接口(增删改查),sql解析 sql的解析过程比如: from ... on ... where ... group by .
阅读全文
posted @ 2019-04-16 11:28
唯一客服系统开发笔记
阅读(1146)
推荐(0)
摘要:
开启抓包工具抓取一个HTTP的GET请求,我的ip是10.222.128.159 目标服务器ip是140.143.25.27 握手阶段: 客户端 > SYN MSS=1460(我能接收的最大数据包是1460字节) > 服务器客户端 < SYN,ACK MSS=1424(服务器最大数据包是1424字节
阅读全文
posted @ 2019-04-15 16:19
唯一客服系统开发笔记
阅读(977)
推荐(0)
摘要:
传输层-TCP和UDP应用场景 TCP(传输控制协议) 需要将要传输的文件分段传输,建立会话,可靠传输,流量控制 UDP(用户报文协议) 一个数据包就能完成数据通信,不需要建立会话,不分段,不用流量控制,不可靠传输 UDP使用场景 DNS域名解析,QQ聊天,多媒体教室屏幕广播 TCP使用场景 HTT
阅读全文
posted @ 2019-04-12 18:56
唯一客服系统开发笔记
阅读(733)
推荐(0)
摘要:
使用抓包工具排除网络故障:1.如果一台计算机在网络上发广播包,广播的mac地址是全ff,就有可能堵塞2.使用抓包工具,检测广播包和多播包 网络畅通的条件:数据包有去有回1.路由器使用路由表找到目标网段应该怎么出去2.管理员设置的是静态路由,路由器自动选择的是动态路由(使用的RIP和OSPF协议也属于
阅读全文
posted @ 2019-04-12 18:11
唯一客服系统开发笔记
阅读(1921)
推荐(0)
摘要:
ip数据包的结构:首部+数据部分 1.版本(v4或者v6)+首部长度(固定的20字节,所以就没有)+区分服务优先级(我的例子是 assured forwarding 31 0x1a 26,保证转发) 2.总长度+是否分片+分片的标志+片偏移 (我的例子中不需要分片) 网络层数据包最大65535字节,
阅读全文
posted @ 2019-04-11 20:25
唯一客服系统开发笔记
阅读(1866)
推荐(0)
摘要:
ARP协议可以将网络层地址到任意物理地址转换,从IP地址到MAC地址转换 MAC地址:物理地址,网卡厂家要确保MAC地址全球唯一,48位2进制,显示是12位16进制 1.查看我自己的ip,我自己的的ip和网络地址 2.ping一下局域网其他主机 ping 10.235.173.16 ,此时ARP协议
阅读全文
posted @ 2019-04-11 17:30
唯一客服系统开发笔记
阅读(718)
推荐(0)
摘要:
1.下载 http://dx1.pc0359.cn/soft/e/ethereal.rar 2.打开软件,指定抓取的网卡,下面是我抓取自己的主要网卡数据 3.开启个ping命令 , 不停的ping一台服务器,看icmp协议 ping ip地址 -t 4.查看数据帧的目标MAC地址 和 源MAC地址
阅读全文
posted @ 2019-04-10 19:24
唯一客服系统开发笔记
阅读(1655)
推荐(0)
摘要:
速率:连接在计算机网络上的主机在数字信道上传输数据位数的速率单位是 b/s kb/s mb/s gb/s带宽:数字信道所能传输的最高数据率 查看我的网卡是144Mbps吞吐量:单位时间内通过某个网络的数据量时延:发送时延 传输时延 处理时延 排队时延 发送时延=数据块长度(比特)/带宽(比特/秒)
阅读全文
posted @ 2019-04-09 20:21
唯一客服系统开发笔记
阅读(747)
推荐(0)
摘要:
1.没有一个统一的实现标准,实现了非阻塞的读操作,写操作也只锁定必要的行2.通过保存数据在某个时间点的快照实现的3.典型的有乐观并发控制和悲观并发控制4.innodb的mvcc是每次事务都有递增的版本号,通过在每行记录的后面添加两列隐藏字段,两列分别是是创建版本号和删除版本号,存储操作它事务的版本号
阅读全文
posted @ 2019-04-09 16:48
唯一客服系统开发笔记
阅读(358)
推荐(0)
摘要:
1.可以把七层协议简化成四层协议链路层 网络层 传输层 应用层 2.通过路由器连接的两个网络网络层ip提供的是一个逐跳协议,提供了一种不可靠的服务,中间有可能会丢传输层tcp在ip的基础上提供了可靠的传输层 比喻:tcp就是淘宝卖家 ,ip就是包裹,中间如果包裹丢了,卖家会重新发一个包裹,这里会有一
阅读全文
posted @ 2019-04-08 23:59
唯一客服系统开发笔记
阅读(592)
推荐(0)
摘要:
隐式和显式锁定:1.innodb是两阶段锁定协议,隐式锁定比如在事务的执行过程中.会进行锁定,锁只有在commit或rollback的时候,才会同时被释放2.特定的语句进行显式锁定 select ... lock in share mode ; select ... for update,where
阅读全文
posted @ 2019-04-08 15:43
唯一客服系统开发笔记
阅读(586)
推荐(0)
摘要:
1.系统要通过严格的ACID测试,ACID表示原子性/一致性/隔离性/持久性原子性:一个事务必须被视为一个不可分割的最小工作单元一致性:数据库总是从一个一致性的状态转换到另外一个一致性的状态隔离性:通常来说一个事务所做的修改在最终提交以前对其他事务是不可见的持久性:一旦事务提交,则其所做的修改就会永
阅读全文
posted @ 2019-04-08 11:56
唯一客服系统开发笔记
阅读(429)
推荐(0)
摘要:
1.无论何时只要有多个查询在同一时刻修改数据,都会产生并发控制的问题 2.讨论mysql在两个层面,服务器层和存储引擎层,如何并发控制读写 3.举了个mbox邮箱文件的例子,说如果有多个进程同时对mbox文件写东西,那么在文件的末尾会,交叉混乱的添加,比如进程1写了几行,进程2也写了几行,互相交叉,
阅读全文
posted @ 2019-04-04 11:36
唯一客服系统开发笔记
阅读(5146)
推荐(1)
摘要:
1.try catch可以捕获上一层throw的异常 2.finally是不管try或者catch任何一块有return, 最终都会执行的块 3.try也是可以捕获到call_user_func_array回调函数类内部的throw的异常 4.call_user_func_array只能回调类的静态
阅读全文
posted @ 2019-04-03 18:52
唯一客服系统开发笔记
阅读(582)
推荐(0)
摘要:
按位与:0&0=0; 0&1=0; 1&0=0; 1&1=1;按位或:0|0=0; 0|1=1; 1|0=1; 1|1=1;按位异或,在或的基础上1 1也为0:0^0=0; 0^1=1; 1^0=1; 1^1=0; 1.一个int型字段,存储十进制的数字,比如说是5那么该数字转成二进制是101,我自
阅读全文
posted @ 2019-04-02 14:53
唯一客服系统开发笔记
阅读(999)
推荐(0)
摘要:
1.a的-2次方=(a分之一)的2次方2.-a的2次方 3次方 按照这个规则,负负得正,负正得负,正正得正,指数是偶数最终结果是正的,是奇数就是负的3.二进制转换十进制,0b开头是二进制
阅读全文
posted @ 2019-04-02 11:13
唯一客服系统开发笔记
阅读(870)
推荐(0)
摘要:
1.索引如果没有特别指明类型,一般是说b树索引,b树索引使用b树数据结构存储数据,实际上很多存储引擎使用的是b+树,每一个叶子节点都包含指向下一个叶子节点的指针,从而方便叶子节点的范围遍历 2.底层的存储引擎也可能使用不同的存储结构,比如NDB集群存储引擎使用了T树,InnoDB使用的是B+树 3.
阅读全文
posted @ 2019-04-01 20:35
唯一客服系统开发笔记
阅读(466)
推荐(0)
摘要:
stripos — 查找字符串首次出现的位置(不区分大小写),应使用 运算符来测试此函数的返回值 strpos 左边开始字符出现的第一个位置,区分大小写stripos 和上面一样,不区分大小写strrpos 左边开始字符出现的最后一次的位置,区分大小写strripos 和上面一样,不区分大小写
阅读全文
posted @ 2019-04-01 16:23
唯一客服系统开发笔记
阅读(333)
推荐(0)
摘要:
1.查看和设置mysql的wait_timeout的值 SHOW GLOBAL VARIABLES LIKE '%timeout%'; 设置wait_timeout的值 SET GLOBAL wait_timeout=10; 2.当程序中有超过10秒的执行后,再次去执行一条sql语句 , 就会报错
阅读全文
posted @ 2019-03-28 20:32
唯一客服系统开发笔记
阅读(935)
推荐(0)
摘要:
1.测试联合索引的最左原则的时候, 发现了5.6版本后的新特性Index Condition Pushdown 2.含义就是存储引擎层根据索引尽可能的过滤数据,然后在返回给服务器层根据where其他条件进行过滤 3.比如我有这样的联合索引 KEY `name_gid_age_index` (`nam
阅读全文
posted @ 2019-03-28 15:58
唯一客服系统开发笔记
阅读(4730)
推荐(1)
摘要:
1.int或者tinyint等数值型字段的存储范围已经是固定的,和类型相关2.后面的数字只与显示有关,并且是在开启了zerofill前导零填充的前提下 3.显示的时候,在前面用0补全了
阅读全文
posted @ 2019-03-28 14:35
唯一客服系统开发笔记
阅读(4643)
推荐(0)
摘要:
控制反转:控制权交给了自己的类 依赖注入:依赖另一个类,我没有手动去new它
阅读全文
posted @ 2019-03-28 11:36
唯一客服系统开发笔记
阅读(317)
推荐(0)
摘要:
比如要实现 单个ip限制60秒1次单个关键字,比如手机号,限制60秒1次,3600秒10次 memache中最终的存储key
阅读全文
posted @ 2019-03-27 19:53
唯一客服系统开发笔记
阅读(761)
推荐(0)
摘要:
1.在使用memcache的时候 , 经常需要查看下里面存储的值 , 前提是要先知道key是啥,memcache没有redis的keys命令 2.下面两个命令的结合,可以查看到key stats items 查看所有的items stats cachedump 上面item的编号 0 3.下面的示例
阅读全文
posted @ 2019-03-27 18:52
唯一客服系统开发笔记
阅读(401)
推荐(0)
摘要:
适配器模式就是将一个类的接口方法转换成我希望用的另一个方法 , 下面是个常见的用处
阅读全文
posted @ 2019-03-27 16:17
唯一客服系统开发笔记
阅读(573)
推荐(0)
摘要:
1.timestamp占用4个字节;datetime占用8个字节2.timestamp范围1970-01-01 00:00:01.000000 到 2038-01-19 03:14:07.999999;datetime是1000-01-01 00:00:00.000000 到 9999-12-31
阅读全文
posted @ 2019-03-25 17:09
唯一客服系统开发笔记
阅读(2821)
推荐(0)
摘要:
foreach($arr as &$value)1.引用赋值符号&,是每次循环的时候,把当前元素变成地址,$value变量就是对应元素的地址,循环结束$value是一个指向最后一个元素的地址2.当我下次循环,使用了这种方式foreach($arr as $value) ,会出现问题;foreach会
阅读全文
posted @ 2019-03-25 15:53
唯一客服系统开发笔记
阅读(1297)
推荐(0)
摘要:
1. php的mail()函数是可以发送邮件的 , 但是一直就没有测试成功过 , 现在总结一下原因 : php的mail函数 基于sendmail命令来发送 , sendmail命令需要安装postfix软件 2.查看php的配置项sendmail_path ,这个就是mail函数调用的底层命令 ,
阅读全文
posted @ 2019-03-23 16:24
唯一客服系统开发笔记
阅读(1263)
推荐(0)
摘要:
1. 在腾讯云上的程序发送邮件失败 , 是因为腾讯云封禁了25端口 2.使用telnet测试连接第三方smtp服务的25端口 , 均失败 3.进入腾讯云控制台 , 申请解封25端口 4.解封完成后 , 可以连接对方的25端口 5. 此时发送邮件是正常的
阅读全文
posted @ 2019-03-23 15:40
唯一客服系统开发笔记
阅读(464)
推荐(0)
摘要:
1. ()匹配并捕获 2. []匹配字符组里的每一个字符 3.{}匹配出现的次数 !preg_match('/^[a-zA-Z0-9]{2,16}$/') 只允许2~16位大小写字母及数字
阅读全文
posted @ 2019-03-22 18:59
唯一客服系统开发笔记
阅读(945)
推荐(0)
摘要:
awk posix字符集[:alnum:] 文字数字字符[:alpha:] 文字字符[:digit:] 数字字符[:graph:] 非空字符(非空格、控制字符)[:lower:] 小写字符[:cntrl:] 控制字符[:print:] 非空字符(包括空格)[:punct:] 标点符号[:space:
阅读全文
posted @ 2019-03-20 19:17
唯一客服系统开发笔记
阅读(883)
推荐(0)
摘要:
负责生成其他对象的类或方法,这就是工厂模式,下面是一个经常见到的用法
阅读全文
posted @ 2019-03-19 18:16
唯一客服系统开发笔记
阅读(616)
推荐(0)
摘要:
1.abstract定义为抽象的类不能被实例化。 2.它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。 3.被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 4.子类继承一个抽象类的时候,子类必须定义父类中的所有抽象方法 5.子类实现的方法中类型和数量
阅读全文
posted @ 2019-03-19 11:32
唯一客服系统开发笔记
阅读(389)
推荐(1)
摘要:
灵活的频率限制实现:1.比如有这样的需要,当前用户,一分钟限制200次,一小时限制1000次当前ip,一分钟限制2000次,一小时限制10000次 2.配置文件中,key就是要限制的当前用户的关键字,比如用户邮箱或者用户手机号array('prefix' => 'selfservice:','key
阅读全文
posted @ 2019-03-18 20:11
唯一客服系统开发笔记
阅读(324)
推荐(0)
摘要:
1. select * from test where a=xx group by b order by c 如何加索引 CREATE TABLE `index_test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar
阅读全文
posted @ 2019-03-16 16:25
唯一客服系统开发笔记
阅读(5695)
推荐(1)
摘要:
1. 在5.7版本以上mysql中使用group by语句进行分组时, 如果select的字段 , 不是完全对应的group by后面的字段 , 有其他字段 , 那么就会报这个错误 ERROR 1055 (42000): Expression #1 of SELECT list is not in
阅读全文
posted @ 2019-03-16 15:58
唯一客服系统开发笔记
阅读(1141)
推荐(1)
摘要:
1.__get __set是在给不可访问属性赋值和读取时,调用 2.__sleep 是在序列化对象的时候调用 3.__wakeup是在反序列化对象的时候调用 4.可以在序列化对象的时候 , 只序列化指定的属性 , 减少序列化后的大小, 要把这个对象字符串存储在比如memcache的时候 ,比较有用
阅读全文
posted @ 2019-03-14 18:16
唯一客服系统开发笔记
阅读(357)
推荐(0)