- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 [编程] TCP协议概述
TCP 协议概述1.TCP提供一种面向连接的、可靠的字节流服务。2.两个应用程序通过TCP连接交换8bit字节构成的字节流。3.每个TCP首部都包含源端和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。4.一个IP地址和一个端口号也称为一个插口(socket),出现在最早的TCP规范(RFC793)...
2018-01-31 14:26:00 66
原创 [PHP] 超全局变量$_FILES上传文件
1.$_FILES --超全局变量,HTTP 文件上传变量通过 HTTP POST 方式上传到当前脚本的项目的数组,PHP 能够接受任何来自符合 RFC-1867 标准的浏览器上传的文件,上传的过程中,文件存放在/tmp/phpXxXxx里,有的时候磁盘满了,/tmp/下放不了文件也会报错2.RFC 1867标准RFC 1867 - Form-based File ...
2018-01-29 15:15:00 375
原创 [C语言] 数据结构-离散存储链表定义
离散存储[链表]1.定义:n个节点离散分配,彼此通过指针相连每个节点只有一个前驱节点只有一个后续节点首节点没有前驱节点,尾节点没有后续节点2.专业术语:首节点:第一个有效节点尾节点:最后一个有效节点头结点:并不存放有效数据,方便操作,头结点的数据类型和首节点类型一样头指针:指向头节点的指针变量尾指针...
2018-01-28 23:16:00 135
原创 [C语言] 数据结构-预备知识跨函数使用内存
跨函数使用内存 一个函数运行结束,使用malloc函数分配的内存,如果不调用free,就不会释放 在另一个函数中还可以继续使用#include <stdio.h>#include <malloc.h>//跨函数使用内存//传递结构体指针,占用内存少struct Student { int age; ...
2018-01-27 15:39:00 124
原创 [C语言] 数据结构-预备知识动态内存分配
动态内存分配静态内存分配数组 int a[5]={1,2,3,4,5}动态内存分配数组int len=5;int *parr=(int *)malloc(sizeof(int) * len);1.分配了 4*5 =20个字节的内存空间,返回了第一个字节的地址2.第一个字节的地址无意义,...
2018-01-27 12:32:00 85
原创 [C语言] 数据结构-预备知识结构体
结构体为什么出现结构体为了表示一些复杂的数据,而普通的基本类型变量无法满足需求什么叫结构体结构体是用户根据实际需要自己定义的复合数据类型如何使用结构体1.两种方式一般使用结构体指针的形式来使用struct Student *pst;...
2018-01-27 11:49:00 73
原创 [C语言] 数据结构-预备知识指针
所有的伟大源于一个勇敢的开始数据结构预备知识指针1.指针:是C语言的灵魂,指针=地址地址:内存单元的编号指针变量:存放内存单元地址的变量int *p;//p是指针变量,int *表示该p变量只能存储int类型变量的地址,不能存放别的类型的int i=10;...
2018-01-26 23:52:00 121
原创 [PHP] apache在worker模式配置fastcgi使用php-fpm
1.准备:dpkg -L apache2查看所有安装的apache2的应用a2query -M查看apache2使用的模式httpd -l旧版本查看当前apache模式2.查看apache的进程数:ps aux|grep httpd|grep -v grep|wc -l //查看prefork模式的pstree |grep httpd //查看worker模...
2018-01-26 16:50:00 153
原创 [PHP] PHP的纯CPU基准测试(PHP5.5.9 vs PHP7.2.1)
PHP的纯CPU基准测试(PHP5.5.9 vs PHP7.2.1):1.bench.php 可在PHP源代码的 php-src/Zend 目录2.micro_bench.php 也可以在 PHP 源代码发布的 php-src/Zend 目录中找到3.同时使用Unix time 命令来计时time php micro_bench.phpPHP5.5.9结果:...
2018-01-26 11:05:00 248
原创 [C语言] 数据结构-衡量算法的标准
1.衡量算法的标准算法解题的方法和步骤衡量算法的标准1.时间复杂度大概程序要执行的次数,而非执行的时间,不同的机器运行时间肯定不一样。2.空间复杂度算法执行过程中大概所占用的最大内存3.难易程度易于理解,便于阅读...
2018-01-25 22:20:00 243
原创 [C语言] 数据结构概述
1.数据结构概述定义我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找、删除、查找、某个元素,对所有元素进行排序)而执行的相应操作这个相应的操作也叫算法数据结构=个体+个体关系算法=对存储数据的...
2018-01-25 21:44:00 123
原创 [C语言] 变量和数据类型和整数和字符
1.数据类型和变量:数据是放在内存中的,明确三件事:数据存储在哪里、数据的长度以及数据的处理方式int n;数据类型指明了数据的长度和处理方式,变量名指明了数据存储在哪里2.数据长度:是指数据占用多少个字节,数据类型指明了数据长度基本类型占用的字节数:char 1,short 2,int 4,long 4,float 4,double 83.整数的长度,C...
2018-01-25 16:09:00 175
原创 [PHP] 从PHP 5.6.x 移植到 PHP 7.0.x新特性
从PHP 5.6.x 移植到 PHP 7.0.x 新特性:1.标量类型声明 字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array,self,Class/interface name2.返回值类型声明 定义参数类型和返回值类型 function test...
2018-01-23 17:02:00 115
原创 [PHP] 从 PHP 5.3.X 迁移到 PHP 5.6.X不兼容点
从 PHP 5.3.X 迁移到 PHP 5.4.X不兼容点:1.不再支持 安全模式2.移除 魔术引号,设置 magic_quotes_gpc 系列将不会生效3.Salsa10 和 Salsa20 哈希算法 被移除。使用各种哈希算法直接或增量处理任意长度的信息。4.在 日期与时间扩展 中,不再支持时区使用 TZ(TimeZone)环境变量设置,必须使用 date.timez...
2018-01-23 14:31:00 164
原创 [PHP] 从PHP 5.6.x 移植到 PHP 7.0.x不兼容点
1.错误和异常处理 1.1 set_exception_handler()函数申明的类型 function handler($e){ var_dump($e); } set_exception_handler('h...
2018-01-22 16:13:00 385
原创 [PHP] PHP数组的实现哈希表(HashTable)结构
PHP中使用最为频繁的数据类型非字符串和数组莫属,使用哈希表实现的PHP数组。1.数据结构:保存哈希表容器,保存数据的容器2.哈希函数实现:需要尽可能的将不同的key映射到不同的槽(bucket)中,首先我们采用一种最为简单的哈希算法实现,将key字符串的所有字符加起来,然后以结果对哈希表的大小取模,这样索引就能落在数组索引的范围之内了3.操作接口函数:初始化,查找,插入,删除,销毁...
2018-01-20 22:43:00 219
原创 [PHP] PHP的脚本执行
PHP的脚本执行:PHP的脚本执行还是会经过编译环节, 只不过它们一般会在运行的时候实时进行编译1.启动PHP及Zend引擎, 加载注册的扩展模块2.读取脚本文件,Zend引擎对脚本文件进行词法分析,语法分析。3.编译成opcode执行4.如果安装opcode缓存扩展(如APC, xcache, eAccelerator等),可能直接从缓存中读取opcode执行脚本的编译执行:1.读...
2018-01-20 16:12:00 119
原创 [PHP] 通用网关接口CGI 的运行原理
CGI 的运行原理:1.客户端访问某个 URL 地址之后,通过 GET/POST/PUT 等方式提交数据,并通过 HTTP 协议向 Web 服务器发出请求。2.服务器端的 HTTP Daemon(守护进程)启动一个子进程。然后在子进程中,将 HTTP 请求里描述的信息通过标准输入 stdin 和环境变量传递给 URL 指定的 CGI 程序,并启动此应用程序进行处理,处理结果通过标准输出 ...
2018-01-18 23:26:00 157
原创 [linux] C语言Linux系统编程-TCP通信的11种状态
三次握手由client主动发出SYN请求, 此时client处于SYN_SENT状态(第一次握手)当server收到之后会由LISTEN转变为SYN_REVD状态, 并回复client, client收到应答后处于ESTABLISHED状态, 这个状态就表示client已经准备好通信了(第二次握手)client收到二次握手应答后回复server, server收到应答之后也处于EST...
2018-01-17 23:16:00 560
原创 [linux] C语言Linux系统编程-socket开发响应HTTP协议
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h>#include <netinet/in.h...
2018-01-16 23:34:00 81
原创 [PHP] PHP与Apache的模块配合说明
1.当PHP需要在Apache服务器下运行时一般来说,它可以mod_php5模块的形式集成, 此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求,并处理这些请求, 然后将处理后的结果返回给Apache。加载方式有两种:Apache启动时的加载,或者运行的时候动态装载2.Apache的运行过程Apache的运行分为启动阶段和运行阶段。 在启动阶段,Apache...
2018-01-15 21:33:00 135
原创 [PHP] PHP服务器接口SAPI中的结构体
SAPI:在各个服务器抽象层之间遵守着相同的约定,这里我们称之为SAPI接口。例如命令行程序的实现,Apache的mod_php模块实现以及fastcgi的实现等等1.结构体:使用结构体(Struct)来存放一组不同类型的数据struct 结构体名{ 结构体所包含的变量或数组};struct 结构体名 结构体变量名2.成员的获取和赋值结构体变量名.成员名;3.结构体指针...
2018-01-14 15:49:00 85
原创 [PHP] PHP源码中的条件编译定义
根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译有这些预处理命令:#if、#elif、#else #endif ;#ifdef #else #endifPHP源码:#ifdef SERIALIZE_HEADERS //如果存在宏定义SERIALIZE_HEADERS # define VEC_FREE() smart_str_free(&ve...
2018-01-14 14:13:00 106
原创 [PHP] PHP源码常用代码中的宏定义
PHP源码常用代码宏定义:#define 宏名 字符串#表示这是一条预处理命令,所有的预处理命令都以#开头。define是预处理命令。宏名是标识符的一种,命名规则和标识符相同。字符串可以是常数、表达式等。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。1.#define PHP_FUNCTION ZEND...
2018-01-14 12:03:00 161
原创 [PHP] 编译构建最新版PHP源码
获取最新PHP代码git clone https://git.php.net/repository/php-src.git构建编译环境apt-get install build-essential编译:./buildconf报错autoconf not found,apt-get install autoconf ./configure --help./configure --pre...
2018-01-13 19:47:00 109
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人