小艾的自留地

Stay foolish, Stay hungry

2024

PHP 使用 Headless Chrome 生成 PDF
谷歌 Google Play 内购支付
苹果 Apple Pay 内购支付(二)
苹果 Apple Pay 内购支付(一)

2023

使用 Reactotron 调试 React Native
Nginx Accel Redirect
谷歌 Gmail 邮箱启用 SMTP/IMAP 服务
使用 PHP 接入 Google 登录
使用 PHP 接入 Apple 登录
FFMpeg 快速上手
如何在 Docker 中使用 Xdebug 进行调试
如何在 Mac 上使用 Docker 运行 PHP
PHP 处理各种 PDF 场景
使用 frp 内网穿透
如何为PHP编写 Dockerfile
Docker 固定容器 IP
使用 PHP 接入 Stripe 支付
Expo Push快速上手
使用 PayPal-PHP-SDK 接入 PayPal 支付
Facebook 第三方登录
ChatGPT Access Denied
二零二二年终总结

2022

Go 语言常见错误和陷阱
如何设计一个千万级架构
Go语言之禅
Go 语言学习——json 结构体标签
Wrk 性能测试工具
Go 语言学习笔记——Go 标准命令学习
计算机网络学习——05 相关协议
计算机网络学习——04 HTTP 篇
计算机网络学习——03 TCP 协议篇
计算机网络学习——02 IP 篇
算法学习笔记——递归
Go 语言学习笔记——如何理解 channel 的无缓冲带和有缓冲带
Go 语言零散学习笔记
Go 语言学习笔记——sync.WaitGroup和sync.Once
Go 语言学习笔记——sync.Mutex与sync
Go 语言学习笔记——原子操作
Go 语言学习笔记——channel
Go 语言学习笔记——结构体标签
Go 语言学习笔记——goroutine
Go 语言学习笔记——指针
Go 语言学习笔记——组合
Go 语言学习笔记——接口运行时表示
Go 语言学习笔记——接口
Go 语言学习笔记——类型嵌入
异或运算 XOR 快速上手
Go 语言学习笔记——方法接收器的选择
Go 语言学习笔记——函数
Go 语言学习笔记——unsafe.Sizeof
Go 语言学习笔记——panic
Go 语言学习笔记——结构体
Go 语言学习笔记——map
Go 语言学习笔记——数组和切片
Go 语言学习笔记——字符串
Go 语言学习笔记——数据类型
Go 语言学习笔记——变量遮蔽问题
Go 语言学习笔记——变量声明
Go 语言学习笔记——认识Go Module
Go 语言学习笔记——入口函数与初始化次序
ElasticSearch 快速上手
Go 语言学习笔记——运行第一个 Go 程序
计算机网络学习——01 TCP/IP网络模型
程序员如何写好简历
RabbitMQ 常见的工作模式
Mysql 专栏学习笔记
38 都说InnoDB好,那还要不要使用Memory引擎
37 什么时候会使用内部临时表
36 为什么临时表可以重名
35 join语句怎么优化
34 到底可不可以使用join
33 我查这么多数据,会不会把数据库内存打爆
32 为什么还有kill不掉的语句
31 误删数据后除了跑路,还能怎么办
记录一次运营商劫持 DNS
23 MySQL是怎么保证数据不丢的
22 MySQL有哪些“饮鸩止渴”提高性能的方法
21 为什么我只改一行的语句,锁这么多
20 幻读是什么,幻读有什么问题
19 为什么我只查一行的语句,也执行这么慢
18 为什么这些SQL语句逻辑相同,性能却差异巨大
17 如何正确地显示随机消息
轻量级开发环境 Valet 快速上手
16 order by是怎么工作的
字符编码笔记:ASCII,Unicode 和 UTF-8
14 count(*)这么慢,我该怎么办
13 为什么表数据删掉一半,表文件大小不变
12 为什么我的 Mysql 会抖一下
11 怎么给字符串字段加索引
09 普通索引和唯一索引,应该怎么选择
ThinkPHP6 自定义日志驱动
08 事务到底是隔离的还是不隔离的
07 行锁功过:怎么减少行锁对性能的影响
06 全局锁和表锁:给表加个字段怎么有这么多阻碍
Eloquent ORM 常见使用场景整理
数据结构(五)二叉搜索树
数据结构(四)队列
05 深入浅出索引(下)
03 事务隔离:为什么你改了我还看不见
04 深入浅出索引(上)
八大基本数据结构概述
数据结构(三)栈
数据结构(二)线性表
数据结构(一)基本概念
02 日志系统:一条SQL更新语句是如何执行的
01 Mysql 基础架构:一条 SQL 查询语句是如何执行的
为什么域名解析成功,网站仍无法访问
域名解析不生效有哪些原因
记录一次网站无法访问事件
C 语言学习笔记
.git 探秘 — 认识 Git 对象
git 设置和取消代理
Mysql Too many connections 异常记录
库存超出常见解决方案整理
MySql Lock wait timeout exceeded 异常记录
Mysql 如何从全备中恢复指定表数据
Node 版本控制工具
Git 经典操作场景整理,专治不会合代码
PHP 使用Headless Chrome 抓取网页
Laravel Valet 使用问题整理
如何避免写出 If-Else
如何在 PHP 中生成二维码
假如我有一台新的 Mac
如何解决类似 curl:(7) Failed to connect to raw.githubusercontent.com port 443:Connection refused 的问题
Mac 如何给键盘改键
PECL 扩展库安装

2021

Laravel Macro 基本使用
使用组合重构支付模块
如何在 Laravel 中使用子查询
Laravel 完善 Error/Exception 的捕获与处理
Laravel 连接多个 Mysql 数据库
Laravel Group By 异常记录
记一次由 Nginx fastcgi_temp 权限不足引起的问题
Laravel Eloquent 高阶用法整理
Mysql 如何自定义排序
记一次服务端防火墙引起的 444 错误
如何在 Laravel 中使用 RabbitMQ
浅谈 Mysql 事务与锁
Laravel Queue 必知必会
Laravel 如何执行定时任务
Laravel Carbon 快速上手
记录 Laravel 开发中一些有意义的问题
RabbitMQ 快速上手
Tips of Laravel
Laravel 常用扩展包整理
Laravel Request 类实现路由场景验证
PHPStorm 使用技巧整理
Laravel jwt-auth 使用详解
Laravel Artisan 自定义命令
Laravel Request 常见表单验证整理
Laravel Exception 基本使用
用一个 IoC 容器来理解什么是依赖注入/控制反转
使用职责链模式和反射解决流水线问题
小程序开发经验总结
如何配置一个简洁高效的 Zsh
Centos 7 设置静态 IP
如何利用Jenkins 实现标签或者分支选择性构建
Laravel Collection 实际使用
Tips of PHP
Laravel Collection 基本使用
『转载』如何使用Repository 模式
Laravel Eloquent 常用属性整理
『转载』如何使用Service 模式
『转载』域名背后那些事
如何更好的使用 Laravel 软删除
Valine 如何开启评论邮件通知
Laravel Eloquent ORM 常用操作整理
谈谈第一次使用 Laravel 开发的感想
记一次升级 PHP 引发的一些思考
『转载』Laravel 中大型项目架构
Linux 如何挂载新硬盘
Mac 如何只保留一个输入法
Jenkins + Gitlab 持续集成
什么是 N+1 问题,以及如何解决
L01 Laravel 教程- Web 开发实战入门课程笔记
Linux 添加用户及提权
如何在 PHP 中使用枚举
写代码的好习惯
PHP 常见面试题整理
《构建高性能 Web 站点》读书笔记
PHP 中实现 Mysql 连接池与持久化
PHP 实践 Redis 发布订阅
《程序是怎样跑起来的》读书笔记
PHP + xdebug 分析代码性能瓶颈
Mac 下有哪些好用的终端工具
Mysql 索引设计与优化
一次完整的网络请求过程
PHP 垃圾回收机制
字符串与编码
二零二零年终总结

2020

Composer 2.0 向下不兼容导致扩展安装出错
Swoole 协程快速上手
Swoole 常见误区及问题总结
Linux ufw 快速上手
Linux iptables 常用规则整理
Docker Login 登录异常
记一次服务器被 kdevtmpfsi 变矿机
PHP-FPM 进化史
PHP 8.0 初体验
记一次 Linux 服务器性能调优
Swoole 协程学习
如何高效的利用谷歌搜索引擎
PHP + Swoole 实现异步任务队列
PHP 的四种设置回调函数的方式
如何在 Mac OS 上安装多版本的 PHP
Redis 持久化快速上手
Linux系统监控命令整理汇总
Mac 下IDEA 无法正常启动
Google Drive 如何转存文件?
互联网人的双十一
Linux 查看系统、硬件信息
Redis 常用数据类型整理
Mysql 如何选择 Float、Double、Decimal
Mac 临时文件占用过多磁盘空间
Swoole 基础知识学习
Swoole Tcp 学习
Swoole 进程学习
Crontab 快速上手
Swoole 常见概念整理
初始进程与线程
MySQL Integer类型与INT(11)详解
Windows 如何安装 Swoole?
PHP 常见浮点数操作
关于 Markdown 的一些技巧
PHP-FPM 优化——占用内存大不释放
对于NULL、空、0、false等数据类型的理解
Vim 常用快捷键总结
PHP Socket 编程
PHP PDO 快速上手
消息队列快速上手
Nginx 如何根据 IP 获取地域信息
Docker 数据挂载
nginx 超时问题——upstream timed out (110: Connection timed out) while reading response header from upstream
Tmux 快速上手
MysqliDb 快速上手
PHPStrom 高级技巧整理
递归算法
Mysql 多表联查
PHP-FPM 与 Nginx 是什么关系?
如何将 JSON 对象转换成 PHP 数组
同一局域网内如何访问项目地址、连接 Mysql
mysql5.7用户管理:添加用户、授权、撤权、修改密码
Postman 使用技巧整理
Mysql 常见异常分析
Mysql 数据库设计规范与原则
Windows、Mac 下使用 PHPStorm 配置 Xdebug,实现断点调试
什么是DevOps、CI、CD、K8S
如何自动申请免费的SSL 证书
当 Docker 容器无法正常启动时如何修改配置文件
Zabbix 快速上手——添加监控项
Zabbix + Grafana 打造高颜值的分布式监控平台
当 Docker 容器无法正常启动时如何修改配置文件?
PHP-FPM 配置初始化
Zabbix 快速上手——部署
Zabbix 快速上手——添加Agent 主机
Mysql 主从架构配置
了解 SSH Config
Cygwin 快速上手
Linux 压缩、解压、打包详解
Docker Hub 快速上手
Linux 如何生成密钥对进行 ssh 免密登录
命名规范——程序员的自我修养
日志分析工具 - GoAccess
手把手教你如何创建启动 Google Cloud 实例
不常用Linux命令
Git 变基命令详解
Socket.io 连接异常:Error during WebSocket handshake Unexpected response code 400
Git Clone 太慢怎么办?
如何让终端命令走代理?
Git Pull 命令详解
Win10 如何卸载 Arch Linux
Win10 如何安装 Arch Linux
如何申请免费的SSL 证书
手把手教你如何创建启动 Azure 实例
Windows 和 Mac 在局域网内如何共享文件?
Git 常用命令参考手册
手把手教你如何创建启动 AWS 实例
如何修改 Linux 默认时区
Mysql 删除数据及数据表
Git Push -f 命令详解
Windows/Mac/Linux 如何将内容输出到剪贴板
如何查看 Linux 默认时区
Mysql only_full_group_by 异常记录
Supervisor 快速上手
在 Linux 命令行中执行和使用 PHP 代码
如何解决“ORDER BY子句不在SELECT列表中”的问题
Mysql 存储过程入门
Mysql 查看修改默认时区
了解 Mysql 日志
Docker 快速上手
PHP 中使用 hash_hmac 加密
整理常见的 SQL 注入语句
认识SQL 注入常见方式
Redis 常见事件整理
Socket.io 快速上手
Nginx 常见配置
Mac 开启 Mysql 日志记录
Mysql 行锁原因分析
Mysql 查看死锁和解除死锁
如何把 Console.log 的标准输出记录到文件
解决Firefox “已阻止载入混合活动内容”
Vim 安装 molokai 配色方案
sshd_config 常用配置项
Wget 使用技巧
一些实用的 Linux 命令
Linux 添加用户以及权限分配
Linux init、service、systemctl 三者区别
了解 Linux的管道符、重定向、环境变量
PM2 快速上手
Linux 中的eval、反引号、$()的区别
Linux 中的Shell 种类
免费 CDN:JsDelivr + Github
如何写好Commit log
Hexo Volantis 主题优化 | 增加分析与统计
Hexo Volantis 主题优化 | 添加日历图
编写第一个Shell 脚本
对于Shell编程的理解
关于Linux的Shell、Shell脚本、Shell环境的理解
moment.js 用法总结
如何选择一个适合自己的图床
Travis CI 快速上手
Hexo 快速上手
Github Pages 部署 Hexo 个人博客