HTTP协议

HTTP(HyperText Transfer Protocol)是无连接,无状态的,是面向文本的。

Web服务器有一个服务进程,监听着TCP端口。一旦监听到连接建立并建立了TCP连接之后,浏览器就向服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。最后释放TCP连接。

Read More

Interview questions

数据结构和算法

常见的数据结构和算法及其实用场景。时间复杂度和空间复杂度

数组

插入和查找的时间复杂度分别为O(logn)、O(1)。
是由相同类型的元素的集合所组成的数据结构,分配一块连续的内存来存储。利用元素的索引(index)可以计算出元素对应的存储地址。
在某些语言中,数组类型可以由散列表、链表、搜索树或其它数据结构来实现。
数组设计之初是在形成上依赖内存分配而成的,所以必须在使用前预先请求空间。所以,数组有以下特性:

Read More

Unix power tool

Pattern Matching in case Statements

1
2
3
4
5
6
7
8
9
#!/bin/bash
case $1 in
?) ;;
?*) ;;
[yY]|[yY][eE][sS]) ;;
/*/*[0-9]) ;;
'What now?') ;;
"$msgs") ;;
esac

Read More

Handle file

事前有一块在window下中exe病毒的U盘,需要尽量恢复里面的文件。
现在手上工作机有一台只有四个type-c接口的2017款Mac Pro,
没有type-c转USB转接器。好在旁边还有一台有USB插口的笔记本(centos 7)。

查看centos硬盘

1
2
3
4
5
6
7
> fdisk -l |grep /dev 
Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
Disk /dev/mapper/centos-swap: 6308 MB, 6308233216 bytes, 12320768 sectors
Disk /dev/mapper/centos-home: 438.8 GB, 438820667392 bytes, 857071616 sectors
Disk /dev/sdb: 8178 MB, 8178892800 bytes, 15974400 sectors
/dev/sdb1 * 56 15974399 7987172 c W95 FAT32 (LBA)

Read More

Git server

自建git server并实现自动部署

git支持的几种协议

Read More

Mysql

mysql explain

office documentation

Read More

Apache ab jmeter test web server

让我们来对服务器做一下压力测试吧!
本篇文章讲一下压力测试应该怎么做,压力测试过程中需要注意哪些指标,以及需要注意的事项。
首先,我们要清楚我们进行压测的目的是什么。是为了找出服务的性能瓶颈,还是为了检验当前服务能否扛住xxx量的并发?
俗话说,“不打无准备之仗”,首先要根据压测目的出一个可行的书面方案。
下面是一个方案模板

Read More

PHP安装reids和memcached扩展

redis、memcached简介,使用场景及区别

Windows

Linux

Read More

正则初探

在实际项目开发过程中,正则验证手机、邮箱等,是非常有用的。正则在爬虫中也是利器。

正则里规定的特殊代码(元字符)

‘$’: 匹配输入字符串的结尾位置

‘()’: 标记一个子表达式的开始和结束位置

‘.’: 匹配除换行符\n之外的任何单字符

Read More

Vim记录

起初看到在terminal下用vim写代码,觉得很酷,便心向往之。
但是vim的学习曲线着实太陡峭,如果只是看书,没有大量的练习,
基本上是很难熟练运用的。
用vim写代码前前后后也有一年多了,意识到学vim的正确方式,
不是一口气看完文档,而是边学边查。不断练习,形成肌肉记忆。

Read More