Git 常用命令

Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方法。 概念上来区分,其它大部分系统以文件变更列表的方式存储信息。 这类系统(CVS、Subversio…

PHP 内核中的 HashTable 分析

HashTable 是 PHP 的灵魂,因为在 Zend 引擎中大量地使用了 HashTable,如变量表、常量表、函数表等,这些都是使用 HashTable 保存的,另外 PHP 的数组也是使用 HashTable 实现的。 PH…

MySQL 索引知识点

存储引擎负责 MySQL 中数据的存储和提取。 索引是存储引擎用于快速找到记录的一种数据结构。 索引可以包含一个或多个列的值。如果索引包含多个列,那么列的顺序也十分重要,因为 MySQL…

MySQL 查询执行过程

当希望 MySQL 能够以更高的性能运行查询时,最好的办法就是弄清楚 MySQL 是如何优化和执行查询的。 当向 MySQL 发送一个请求的时候,MySQL 到底做了些什么: 客户端发送一条查询给服务…

PHP 内核中的变量

PHP 变量在内核中的存储方式 在 Zend 引擎中是怎么可以做到一个变量保存任何的数据类型呢?打开 Zend/zend.h 头文件,会发现以下一些结构体: typedef struct _zval_struct zval; typed…

PHP 新特性

现代的 PHP 语言有很多令人兴奋的新特性,这些新特性让 PHP 语言变成了一个强大的平台,为构建 Web 应用和命令行工具提供了愉快的体验。 这些特性中有些不是必不可少的,不过能让我们…

Linux 常见服务配置

https 配置 编辑 /etc/sysconfig/iptables 文件,开放 443 端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT 修改 nginx 配置文件 server { listen 443; serve…

MySQL 事务隔离级别

mysql 拥有分层的架构。上层是服务器层的服务和查询执行引擎,下层则是存储引擎。 mysql 支持 LOCK TABLES 和 UNLOCK TABLES 语句,这是在服务器层实现的,和存储引擎无关。 mysql 服务…

PHP 笔试猴子选大王

猴子选大王是一个典型的编程问题,一般可用链表(可以用很大的数)或者 while 循环(使用此办法不能用太大的数)解决。 问题描述 n 只猴子围坐成一个圈,按顺时针方向从 1 到 n 编号。…

PHP 四种基础算法

一. 冒泡排序 冒泡排序步骤如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会…