~~~[purchase:100]
http://www.hmoore.net/zhou197116/php1/purchase
~~~
- 空白目錄
- PHP
- 基礎
- 數據類型
- PHP8JIT
- 常用函數
- 語法結構
- 數組
- 字符串
- 類與對象
- 變量
- 常量
- 表達式
- 運算符
- 流程控制
- 函數
- 類與對象
- 命名空間
- PHP7 新特性
- PHP8新特性
- 進階
- 錯誤處理
- 異常處理
- 生成器
- 注解
- 引用
- 預定義異常
- 預定義接口
- 上下文
- 高級
- 垃圾回收機制
- PHP內存管理
- 文件并發鎖
- PHP的生命周期
- FPM
- 常駐內存
- 協程
- SPL
- PHP底層擴展
- 框架核心概念
- 服務容器(IOC)
- 路由設計
- 中間件
- 常住內存
- 命令行模式
- 緩存設計
- 日志設計
- 異常處理
- AOP
- 數據庫模型設計
- 門面(Facde)
- 實踐
- 從零開始編譯PHP環境
- Composer
- 設計模式
- 設計原則
- 常用設計模式
- 創建型
- 靜態工廠模式(Static Factory)
- 簡單工廠模式(Simple Factory)
- 單例模式(Singleton)
- 對象池模式(Pool)
- 抽象工廠模式(Abstract Factory)
- 工廠方法模式(Factory Method)
- 多例模式(Multiton)
- 結構型
- 適配器模式(Adapter)
- 數據映射模式(Data Mapper)
- 裝飾模式(Decorator)
- 依賴注入模式(Dependency Injection)
- 門面模式(Facade)
- 流接口模式(Fluent Interface)
- 代理模式(Proxy)
- 注冊模式(Registry)
- 行為型
- 責任鏈模式(Chain Of Responsibilities)
- 命令行模式(Command)
- 迭代器模式(Iterator)
- 空對象模式(Null Object)
- 觀察者模式(Observer)
- 策略模式(Strategy)
- 模板方法模式(Template Method)
- 訪問者模式(Visitor)
- 資源庫模式(Repository)
- 實體屬性值模式(EAV 模式)
- DDD(領域驅動設計)
- 業務中臺
- 工程架構
- 康威定律
- PSR規范
- PSR-1 基礎編碼規范
- PSR-3 日志接口規范
- PSR-4 自動加載規范
- PSR-6 緩存接口規范
- PSR-7 HTTP 消息接口規范
- PSR-11 容器接口
- PSR-12 編碼規范擴充
- PSR-13 超媒體鏈接
- PSR-14 事件分發器
- PSR-15 HTTP 請求處理器
- PSR-16 緩存接口
- PSR-17 HTTP 工廠
- PSR-18 HTTP 客戶端
- Restful
- resetful 思想與概念
- 規范標準
- Linux
- 定時器
- 進程管理
- 用戶管理
- 文件管理
- 系統管理
- 網絡管理
- Shell
- 變量
- 傳遞參數
- 數組
- 運算符
- echo 命令
- printf命令
- test命令
- 流程控制
- 函數
- 輸入輸出重定向
- shell文件包含
- 進程間通信
- 信號 signal
- 管道 pipe
- 共享內存 shared memory
- 先入先出隊列 FIFO
- 消息隊列 Message Queue
- 套接字 Socket
- Linux 中進程管理系統調用
- Linux 進程和線程的實現
- Linux 進程
- Linux 線程
- Linux 調度
- Linux 啟動
- Mysql
- 字段存儲類型與選擇
- 模式
- 索引
- 索引類型及索引數據結構
- 獨立的列
- 前綴索引和索引選擇性
- 多列索引
- 選擇合適的索引列順序
- 聚簇索引
- 覆蓋索引
- 使用索引掃描做排序
- 壓縮(前綴壓縮)索引
- 冗余和重復索引
- 未使用的索引
- 索引和鎖
- 索引案例
- 支持多種過濾條件
- 避免多個范圍條件
- 優化排序
- 維護索引和表
- 找到并修復損壞的表
- 更新索引統計信息
- 減少索引和數據的碎片
- 事務與鎖
- 共享鎖
- 排它鎖
- 意向共享鎖
- 意向排它鎖
- 悲觀鎖
- 樂觀鎖
- 事務級別
- 多版本并發控制(MVVC)
- 死鎖
- 死鎖的檢測以及規避
- 分布式鎖
- 分布式事務
- 事務補償
- 基準測試
- 測試指標
- 測試方法
- 測試工具
- 集成式測試工具
- 單組件式測試工具
- 查詢性能優化
- 為什么查詢速度會慢
- 慢查詢基礎:優化數據訪問
- 重構查詢的方式
- 一個復雜查詢還是多個簡單查詢
- 切分查詢
- 分解關聯查詢
- 查詢執行基礎
- Mysql 客戶端/服務器通信協議
- 查詢緩存
- 查詢優化處理
- 查詢執行引擎
- 返回結果給客戶端
- 查詢優化器的局限性
- 關聯子查詢
- UNION的限制
- 索引合并優化
- 等值傳遞
- 并行執行
- 哈希關聯
- 松散索引掃描
- 最大值和最小值
- 在同一個表上的查詢和更新
- 查詢優化器的提示
- 優化特定類型查詢
- 優化COUNT查詢
- 優化關聯查詢
- 優化子查詢
- 優化GROUP BY 查詢 和 DISTINCT
- 優化 LIMIT 分頁
- 優化SQL_CALC_FOUND_ROWS
- 優化UNION查詢
- 靜態查詢分析
- 使用用戶自定義變量
- 案例
- 使用Mysql構建一個隊列表
- 計算兩點之間的距離
- 使用用戶自定義函數
- Mysql服務器優化
- 配置內存使用
- Mysql可以使用多少內存
- 每個連接需要的內存
- 為操作系統保留內存
- 為緩存分配內存
- InnoDB緩沖池(Buffer Pool)
- 線程緩存
- 數據字典
- InnoDB IO配置
- InnoDB 并發配置
- 基于工作負載的配置
- 優化BLOB和TEXT場景
- 優化排序
- 基本配置
- 安全和穩定的配置
- 高級InnoDB配置
- 復制
- 復制配置
- 復制的原理
- 復制拓撲
- 復制和容量規劃
- 復制管理和維護
- 復制的問題和解決方案
- 復制有多快
- Mysql復制的高級特性
- 其他復制技術
- 高可用
- 導致宕機的原因
- 如何實現高可用
- 避免單點失效
- 故障轉移和故障恢復
- 備份與恢復
- 定義恢復需求
- 設計Mysql備份方案
- 管理和備份二進制文件
- 備份數據
- 從備份中恢復
- 備份和恢復工具
- 備份腳本化
- 可擴展
- 什么是可擴展性
- 擴展Mysql
- 負載均衡
- Mysql Sql執行生命周期
- 分庫分表
- 拆分方案
- 拆分思想
- 解決方案
- 一致性hash
- 全文索引
- 查詢緩存
- Mysql集群配置
- 索引規約
- 建表規約
- Sql語句
- 附錄:EXPLAN
- 附錄: 鎖的調試
- Redis
- 應用場景
- 數據類型
- 配置文件
- 發布和訂閱
- 持久化RDB
- 持久化AOF
- 哨兵與集群
- 實現阻塞隊列
- redis跳躍表
- geo hash
- bitmap實戰
- NIO模型
- 底層設計原理
- 實戰
- 秒殺
- 排行榜
- 抽獎
- 推薦
- 常用策略
- 四叉樹和前綴樹空間索引加速
- 緩存淘汰與鍵過期策略
- 布隆過濾器
- CAP定理
- AKF劃分原則
- 基于zookeeper分布式鎖
- 常見問題
- 緩存擊穿
- 緩存雪崩
- 緩存穿透
- 超賣
- 鎖失效及Redlock
- 二進制安全
- 分布式鎖可重入問題
- 如何提示分布式鎖性能
- 分布式
- 分布式、集群、微服務的區別
- 負載均衡策略
- 分布式ID
- 數據庫自增ID
- 號段模式
- 滴滴Tinyid生成分布式ID
- 雪花算法
- 分布式事務
- 分布式事務框架seata
- 二次提交、三次提交
- TCC
- 分布式事務有哪些解決方案
- CAP
- Base
- quorum機制
- waro機制
- zab協議
- 解決方案
- raft算法
- paxos算法
- 數據一致性模型
- 分布式鎖
- 微服務
- 微服務優缺點
- RPC通信協議
- 如何建模服務
- 部署
- 把持續集成映射到微服務
- 構建流水線和持續交付
- 平臺特定的構建物
- 操作系統構建物
- 定制化鏡像
- 環境
- 服務配置
- 服務與主機之間的映射
- 自動化
- 一個部署接口
- 測試
- 測試類型
- 測試范圍
- 實現服務測試
- 微妙的端到端測試
- 端到端測試的缺點
- 脆弱的測試
- 測試場景而不是事故
- 部署后再測試
- 跨功能測試
- 康威定律
- 規模化微服務
- 安全
- 服務監控
- 微服務的原則
- 什么時候不該使用微服務
- 實戰
- 服務治理
- 服務發現
- 服務調用鏈路追蹤
- 服務熔斷及降級
- 服務限流
- 令牌桶算法
- 服務重試
- 服務監控
- 注冊中心
- GRPC通信協議
- JSON RPC
- 多路復用RPC
- 配置中心
- Snowflake
- Nginx
- Nginx主配置文件核心參數
- Nginx子配置文件
- Nginx處理用戶請求的流程
- Nginx Location配置
- Nginx配置反向代理
- Nginx部署HTTPS
- Nginx配置負載均衡及算法
- Nginx配置靜態資源緩存
- Docker
- 鏡像管理
- 容器管理
- 數據卷
- Dockerfile
- Dockerfile 定制鏡像
- Machine
- Compose
- Swarm
- 網絡配置
- 日志管理
- 其他
- Docker部署微服務
- 整合IDE
- 整合持續集成
- 為鏡像添加ssh服務
- Git
- 倉庫
- 配置
- 增加/刪除文件
- 代碼提交
- 分支
- 標簽
- 查看信息
- 遠程同步
- 撤銷
- 其他
- 解決沖突
- Phpunit
- 持續集成與交付 jenkins
- 整合IDE
- 配置GIT
- 持續集成
- 自動測試
- 自動發布
- 自動部署
- 回滾
- 壓測工具
- LoadRunner
- Apache JMeter
- Apache benchmark(Ab)
- TCP/IP
- TCP/IP參考模型
- TCP/IP五層參考模型
- HTTP頭部保存了哪些信息
- Keep-Alive 和非 Keep-Alive 區別
- HTTP 長連接短連接使用場景是什么
- HTTP 方法
- GET 和 POST 的區別
- GET 的長度限制
- HTTP 與 HTTPs 的工作方式
- HTTPS 和 HTTP 的區別
- HTTP 是不保存狀態的協議,如何保存用戶狀態
- 狀態碼
- socket() 套接字有哪些
- URI和 URL
- 三次握手和四次揮手機制
- 如果三次握手的時候每次握手信息對方沒有收到會怎么樣
- 為什么要進行三次握手?兩次握手可以嗎?
- 第 2 次握手傳回了 ACK,為什么還要傳回 SYN
- 為什么要四次揮手?
- CLOSE-WAIT 和 TIME-WAIT 的狀態和意義
- TIME-WAIT 為什么是 2MSL
- TCP 和 UDP 的區別
- TCP 是如何保證可靠性的
- TCP 流量控制與擁塞控制
- 如果接收方滑動窗口滿了,發送方會怎么做
- 路由器和交換機的區別
- ARP 地址解析協議的原理和地址解析過程
- 運輸層協議和網絡層協議的區別
- MAC 地址和 IP 地址分別有什么作用
- 為什么有了 MAC 地址還需要 IP 地址
- 消息隊列
- 消息隊列原理
- RabbitMq
- 基礎用法
- ack comfirm機制
- 確保百分百發送成功
- 冪等性
- return機制
- 限流機制
- 重回隊列
- 死信隊列
- TTL
- Zookeeper
- ElasticSearch
- Kubernetes
- 數據結構
- 字符串
- 數組
- 樹
- 圖
- 線性表
- 散列表
- 棧和隊列
- 串
- 廣義表
- 算法
- 經典排序
- 冒泡排序
- 選擇排序
- 插入排序
- 希爾排序
- 快速排序
- 堆排序
- 歸并排序
- 計數排序
- 基數排序
- 桶排序
- 初級算法
- 數組
- 刪除排序數組中的重復項
- 買賣股票的最佳時機 II
- 旋轉數組
- 存在重復元素
- 只出現一次的數字
- 兩個數組的交集 II
- 加一
- 移動零
- 兩數之和
- 有效的數獨
- 旋轉圖像
- 字符串
- 反轉字符串
- 整數反轉
- 字符串中的第一個唯一字符
- 有效的字母異位詞
- 驗證回文串
- 字符串轉換整數 (atoi)
- 實現 strStr()
- 外觀數列
- 最長公共前綴
- 鏈表
- 刪除鏈表中的節點
- 刪除鏈表的倒數第N個節點
- 反轉鏈表
- 合并兩個有序鏈表
- 回文鏈表
- 環形鏈表
- 樹
- 二叉樹的最大深度
- 驗證二叉搜索樹
- 對稱二叉樹
- 二叉樹的層序遍歷
- 將有序數組轉換為二叉搜索樹
- 排序和搜索
- 合并兩個有序數組
- 第一個錯誤的版本
- 動態規劃
- 爬樓梯
- 買賣股票的最佳時機
- 最大子序和
- 打家劫舍
- 設計問題
- 打亂數組
- 最小棧
- 數學
- Fizz Buzz
- 計數質數
- 3的冪
- 羅馬數字轉整數
- 其他
- 位1的個數
- 漢明距離
- 顛倒二進制位
- 楊輝三角
- 有效的括號
- 缺失數字
- Swoole
- Swoole生命周期
- Dubbo
- 多級緩存架構
- 正則表達式
- PHP 正則表達式(PCRE)
- 語法
- 修飾符
- 元字符
- 運算符優先級
- 匹配規則
- 案例
- Web安全
- 實戰
- 目標及業務
- 設計模塊
- 項目章程