07 2018 档案
摘要:简介: curl是一个非常强大的开源库,它支持了很多协议,比如常见的HTTP和FTP。基于curl库,我们可以很方便地和各种协议的server进行connect和communicate。PHP支持libcurl库,所以在php中可以很方便地使用curl库的功能。在日常的工作中,我们最常用到的就是使用
阅读全文
摘要:1. 简介 tr命令常用来替换,删除来自标准输入字符串中的字符。注意,操作的单位是字符,不是字符串。也就是说,不管是替换还是删除,都是针对字符串中某个字符的。比如tr命令不能很方便地实现字符串替换:把“Hello World”变成“Hello Beijing”,但是可以很方便地把每一个大写字符变成小
阅读全文
摘要:简介: stat命令是用来显示文件inode中的内容的。我们平时的业务需求中可能会关注一个文件的更改时间,读写权限之类的信息。stat命令可以帮助我们把这些信息从一个文件的inode中提取并显示出来。 inode介绍: linux把一个文件存储在磁盘上的时候,会在磁盘上另外找一块地方来存储文件的元数
阅读全文
摘要:简介 awk命令在日常查看数据文件或者日志文件时非常有用。它可以根据筛选规则筛选出满足条件的行,加以处理并输出。比如我想知道系统中哪些用户名字以‘r’开头,UID小于10而且可以通过bash登陆,并以‘--’为分割符输出来。那么我们就可以用以下命令实现: awk -F ":" '/^r/ && $3
阅读全文
摘要:通用线程池的一般实现思路如下 一个简单通用的线程池应该满足以下条件 <1> 线程数可配置,可动态调整。任务队列的大小可配置。这一点是为了让代码更好地适应运用场景。比如这份代码在机器配置非常好,而且机器上几乎没有其他的业务争抢硬件资源,那么提高线程数,提高任务队列的大小可以增加程序的响应速度和吞吐量。
阅读全文
摘要:include和require的区别: include在文件找不到的时候发出一条警告,代码继续运行。而require则会发出一个致命错误。 引用文件的查找路径: 想把这个问题说清楚,首先需要提一下php对被引用文件路径的分类,一共有以下3类: <1> 绝对路径,这个没啥说的,linux下以 '/'
阅读全文
摘要:1. socket阻塞和非阻塞 关于阻塞还是非阻塞,socket一般需要考虑的情况有以下3种: <1> connect <2> read <3> write 当socket进行connect的时候,会有一个三次握手的机制。connect函数也是只有接收到自己发送的SYN的ACK之后才会返回。这时候如
阅读全文