「全原创系列」
记录我在成为一名PHPer、Gopher路上的学习过程
- 未经版权所有者明确授权,禁止发行本手册及其被实质上修改的版本。
 - 未经版权所有者事先授权,禁止将此作品及其衍生作品以标准(纸质)书籍形式发行。
 
基础不牢,地动山摇,谨以此句提醒自己。
| 状态 | 含义 | 
|---|---|
| 🈳️ | 当前未开始总结 | 
| 🚗 | 总结中 | 
| 🧀️ | 目前仅供参考未修正和发布 | 
| ✅ | 总结完毕 | 
| 🔧 | 查漏补缺修改中 | 
- PHP到Go速转手册
 - PHP基础学习 ✅
 - Go语言学习 🚗
- Go框架源码阅读&解析
 - Go常用包解析
- go常用包解析-fasthttp
 
 - Go语言进阶学习
 
 - 高并发相关 🚗
 - 网络编程 🚗
- php实现web服务器
 - go实现web服务器
 - c实现web服务器
 - php扩展实现web服务器
 
 - 问题排查 🚗
- nginx/php/业务日志
 - 问题排查实例分析
 
 - MySQL 🚗
- 常用sql语句
 - 引擎
- InnoDB
 - MyISAM
 - Memory
 - Archive
 - Blackhole\CSV\Federated\merge\NDB
 
 - 事务
- 原子性(Atomicity)
 - 一致性(Consistency)
 - 隔离性(Isolation)
- READ UNCOMMITTED:未提交读
 - READ COMMITTED:提交读/不可重复读
 - REPEATABLE READ:可重复读(MYSQL默认事务隔离级别)
 - SERIALIZEABLE:可串行化
 
 - 持久性(Durability)
 
 - 索引
- 建立表结构时添加的索引
- 主键唯一索引
 - 唯一索引
 - 普通索引
 - 联合索引
 
 - 最左匹配原则
 - 依据是否聚簇区分
- 聚簇索引
 - 非聚簇索引
 
 - 索引底层数据结构
- hash索引
 - b-tree索引
 - b+tree索引
 
 
 - 建立表结构时添加的索引
 - 锁
- 悲观锁
 - 乐观锁
 
 - 分表
- 垂直分表
 - 水平分表
 
 - sql优化
 - 主从配置
 
 - Redis 🚗
 - 设计模式
 - 数据结构 🚗
- 数组
 - 堆/栈
 - 树
 - 队列
 - 链表
 - 图
 - 散列表
 
 - 算法 🚗
 - 网络基础 🚗
- 互联网协议概述
 - client和nginx简易交互过程
 - nginx和php-fpm简易交互过程
 - http
- 报文
- 报文头部
 - 报文体
 
 - 常见13种状态码
 - 方法method
 - https
 - http2
 - websocket
 
 - 报文
 
 - 计算机基础 🚗
- linux常用命令
 - shell
 
 - Docker
 
运行脚本: php patterns/[文件夹名称]/test.php
例如,
测试责任链模式: 运行 php patterns/chainOfResponsibility/test.php
运行结果:
请求5850c8354b298: 令牌校验通过~
请求5850c8354b298: 请求频率校验通过~
请求5850c8354b298: 参数校验通过~
请求5850c8354b298: 签名校验通过~
请求5850c8354b298: 权限校验通过~
运行脚本: php algorithm/test.php [算法名称|空获取列表]
例如,
测试冒泡排序: 运行 php algorithm/test.php bubble
运行结果:
==========================冒泡排序=========================
Array
(
    [0] => 11
    [1] => 67
    [2] => 3
    [3] => 121
    [4] => 71
    [5] => 6
    [6] => 100
    [7] => 45
    [8] => 2
)
=========上为初始值==================下为排序后值=============
Array
(
    [0] => 2
    [1] => 3
    [2] => 6
    [3] => 11
    [4] => 45
    [5] => 67
    [6] => 71
    [7] => 100
    [8] => 121
)
运行脚本: php redis/test.php [名称|空获取列表]
例如,
测试悲观锁: 运行 php redis/test.php p-lock
运行结果:
执行count加1操作~
count值为:1
如果大家发现有什么不对的地方,可以发起一个issue或者pull request,我会及时纠正,THX~
补充:发起pull request的commit message请参考文章Commit message编写指南
因为国外开发者的要求和个人的时间有限,征集大家有兴趣的可以把本项目进行英文版翻译。希望国外的developer也可以受益于这个项目~
翻译文件认领申请:#36
This project exists thanks to all the people who contribute.
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

