Protobuf简介及安装 Posted on 2020-08-25 Edited on 2020-09-17 In Protobuf 1 简介Protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法。 Read more »
PHP7内核-内存管理-内存池 Posted on 2020-08-25 Edited on 2020-08-30 In PHP 1 简介在C语言中,通常直接使用malloc进行内存的分配,而频繁的分配、释放内存无疑会产生内存碎片,降低系统性能。PHP自己实现了一套内存池(ZendMM:Zend Memery Manager)用于替换glibc的malloc、free,以解决内存频繁分配、释放的问题。 Read more »
PHP7内核-内存管理-GC机制 Posted on 2020-08-25 Edited on 2020-08-30 In PHP 1 简介C/C++语言中,如果想在堆上分配变量,需要手动进行内存的分配与释放,变量的内存管理是见非常繁琐的事,稍有不慎就可能导致不可域值的错误。 PHP实现了自动GC机制,由语言自行管理。PHP中的变量是不需要手动释放的,内核帮我们实现了变量的内存管理,包括内存的分配与回收。 Read more »
FastCGI和PHP-FPM的关系 Posted on 2020-08-25 Edited on 2020-08-30 In PHP 1 相关概念1.1 CGICGI(Common Gateway Interface, 通用网关接口)是WEB服务器与WEB Application进行通信的工具,用于保证WEB Server传递的数据是标准格式的,是一种协议,其程序运行在服务器上,CGI可以用任何一种语言编写,只要该语言具有标准输入、输出和环境变量,如PHP、Perl等。 Read more »
PHP7内核-FPM Posted on 2020-08-21 Edited on 2020-08-30 In PHP 1 概述FPM(FastCGI Process Manager)是PHP FastCGI运行模式的一个进程管理器, 其核心功能是进程管理。FastCGI是Web服务器(如Nginx,Apache)和处理程序之间的一种通信协议, 类似于Http,是一种应用层通信协议。注:FastCGI只是一种协议。 Read more »
PHP7内核-Cli Posted on 2020-08-21 Edited on 2020-08-30 In PHP 1 简介Cli(Command line Interface),命令行接口,用于在命令行下执行PHP脚本,类似于Shell那样,是执行PHP脚本最简便的一种方式。 Read more »
PHP7内核-变量 Posted on 2020-08-21 Edited on 2020-08-30 In PHP 变量的内部实现 变量是一个语言实现的基础,变量有两个组成部分:变量名、变量值,PHP中可以将其对应为:zval、zend_value,这两个概念一定要区分开,PHP中变量的内存是通过引用计数进行管理的,而且PHP7中引用计数是在zend_value而不是zval上,变量之间的传递、赋值通常也是针对zend_value。 Read more »
Ubuntu16.04-Nodejs安装 Posted on 2020-08-21 Edited on 2020-08-30 In Ubuntu , Config 下载 ①、下载安装包 在ubuntu环境下,前往nodejs官网,nodejs官网能自动检测自己的系统版本,推荐出合适的nodejs版本。 Read more »
Ubuntu16.04-搭建Hexo-Blog Posted on 2020-08-20 Edited on 2020-09-10 In Ubuntu , Config 1 简介GitHub Pages 是一项静态站点托管服务,它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件,通过构建过程运行文件,然后发布网站。 Hexo是高效的静态站点生成框架,它基于Node.js. 通过Hexo,可以直接使用Markdown语法来撰写博客。 Read more »
Ubuntu16.04-设置SSH密钥 Posted on 2020-08-19 Edited on 2020-08-30 In Ubuntu , Config 1 简介SSH(Secure shell)适用于管理服务器与服务器通信的加密协议。 Read more »