Jamin Zhang
To be empty in order to be full!
时间轴
标签
分类
关于
友情链接
#Markdown
#Linux
#HTTP
#Shopping
#Video
#Shell
#Database
#Programming
#Git
#Ops
#Network
#SaltStack
#Ops-Automation
#MySQL
#Reading
#Monitoring
#OS
#NoSQL
#Nginx
#P2P
#Python
#Security
#DNS
#Web
#CDN
#GTD
#Cluster
#LB
#HA
#Automated Ops
#Hardware
#Architecture
#Career
#GlusterFS
#CI/CD
#DevOps
#ELK
#Docker
#Cloud-Computing
#TCP/IP
#Mac
#Bitcoin
Markdown
GitHub Pages 不识别 Liquid tag 构建失败
Markdown 备忘单
学习使用 Markdown 来写作
Linux
理解 Linux backlog/somaxconn 内核参数
Linux tty 相关资料学习
awk 命令用法总结
Linux 系统常用软件
Linux udev 简介
CentOS 6 下网卡名称以 em 开头原因
Linux htop 使用
iptables 防火墙配置实例
内核 segfault 报错分析
/etc/skel 使用
CentOS Bash 命令补全增强软件包 bash-completion
rpm 命令用法总结
yum 用法总结
rpmbuild 构建定制 RPM 包
Linux 系统监控和性能分析工具 nmon
NTP 时间同步
Linux systemd 介绍
CentOS Kickstart 安装操作系统
Linux 系统启动流程
CentOS 7 下恢复旧式网卡命名方式
cron 引起 /var/spool/postfix/maildrop 目录生成大量小文件
make 的另类使用
更改 Linux 系统语言环境变量
Linux 查看进程相关信息
grep -o 选项实例分析
SSH 相关错误与提示
SSH 配置使用 HTTP 代理
Linux pmap
Linux ulimit
Linux core 文件
Linux 进程状态
CentOS 7 重置 root 密码
VMware 中克隆 CentOS 后的网卡配置
CentOS 常见 YUM 源简介
搭建私有 yum 仓库
构建 CentOS RPM 包
同一服务器上多个相同部署脚本并行执行引发错误
find 命令用法总结
grep 命令用法总结
Linux 下多线程进程的检测方法
Linux 下的下载加速工具 prozilla
CentOS 7 下 ss 替代 netstat
tr 命令用法总结
sed 命令用法总结
Vim 备忘单
使用 sed 将一个文件的内容到追加到另一个文件的首部
Linux iostat 使用
Linux iftop 命令
Linux dmesg
yum [Errno 14] problem making ssl connection 问题解决
Linux 下的僵尸进程
Linux ps 命令查看进程启动及运行时间
Linux screen 命令使用
yum repository listed more than once
rsync hosts allow 配置主机名
Linux 下的 shutdown/reboot/halt 等关机命令
CentOS 下 netstat 命令显示不完整程序名的原因
Linux 进程后台运行实现方法
深入理解 Linux hostname
Linux 中查找库文件所属软件包
SSH 中的 GSSAPI 相关选项
Linux 系统性能监测分析相关资料学习
HTTP
HTTP 报文简介
全站 HTTPS 好处
HTTP GET 和 POST 深入理解
HTTP 持久连接简介
HTTP Session 学习
HTTP Cookie 学习
HTTP 服务器性能测试工具-ab 学习
HTTP 中使用 gzip
理解 Base-64 编码原理
理解 RESTful
MIME 学习
Fiddler 工具基本使用
Fiddler 相关资料学习
Shopping
亚马逊联盟
Video
4K 相关概念了解
视频直播相关技术了解
计算机、操作系统发展历史介绍视频
Shell
Shell 实现对 5 分钟内没有更新的文件进行邮件通知
Shell 实现找出两个目录下的同名文件
Shell 脚本自动化分区
curl 提交 json 数据中引用 Shell 变量问题
使用 Shell 命令找出局域网哪台机器最可能被蠕虫感染
Shell 中的比较条件测试操作符
使用 Shell 中的 while loop 模拟一个实时变化的日志文件
使用 Shell Script 比较换算 iPhone 价格
Bash Shell 中的 PROMPT_COMMAND
单行反弹 Shell 命令的理解
Database
SQL 基础教程
什么是数据库函数
《数据库系统原理》学习笔记-第4章
《数据库系统原理》学习笔记-第3章
《数据库系统原理》学习笔记-第2章
《数据库系统原理》学习笔记-第1章
Programming
libsodium 简介及安装
编程中 foobar 是什么
软件版本号分类
curl学习
JSON学习
字符编码(ASCII/Unicode/UTF-8)学习笔记
Git
Git 分支模型
安装 GitLab
Git 简单配置使用
GitLab 中配置添加 SSH 密钥
git push 提示 401 Unauthorized while accessing https 的原因及解决方法
Ops
运维相关网站
关于工作上遇到的一些技术问题的回顾总结
特定行业运维最佳实践案例收集
企业运维发展案例
运维微信公众号
运维知识体系
运维架构方案学习
运维架构师
Google中国工程师谈Google SRE
Network
光猫桥接路由器
OpenWrt 简介
Tcpdump 简介
深入理解带宽
TCP 与 UDP 的区别
IP 分片概述
UDP 检验和概述
TCP/IP 数据封装与分用概述
TCP/IP 网络分层概述
了解 Socket 非阻塞 connect 方法
了解 ChaCha20
了解 SOCKS
Unix domain socket 和 TCP/IP socket 的区别
SNMP 学习
CentOS 7 下配置静态路由
网络割接简介
网络知识重新学习
TCP 有限状态机
TCP 三次握手和四次挥手
无线路由器配置优化
免流原理
CentOS 6 中禁用 IPv6
了解 Flash Socket 策略文件
服务器提示 kernel TCP time wait bucket table overflow
网络诊断工具 MTR 学习
获取外网 IP 方法
Linux 中的 TCP 端口
理解 TCP 报文头中的初始序列号
理解 TCP 报文头中的序列号
0.0.0.0 和 255.255.255.255 IP 地址的深入理解
学习 TCP 首部
SaltStack
SaltStack API 配置使用
SaltStack SSH 配置使用
SaltStack Syndic 架构
SaltStack 多 Master 架构
SaltStack - 独立的 Minion (无 Master 架构)
SaltStack Runner 使用
SaltStack 管理任务缓存和结果
SaltStack Job 管理
SaltStack 系统性学习 07 - 生产实践案例
SaltStack 中使用 Jinja2 模板
SaltStack 系统性学习 06 - SaltStack 状态深入学习
SaltStack 系统性学习 05 - Grains 与 Pillar
SaltStack 系统性学习 04 - SaltStack 与 ZeroMQ
Salt 创建自定义的执行模块
Salt Returners MySQL 配置实例
SaltStack 系统性学习 03 - 配置管理
SaltStack 系统性学习 02 - 远程执行
SaltStack 系统性学习 01 - 简介及安装
Salt 命令中的 glob 参数理解
SaltStack Web GUI 之 SaltPad 体验
SaltStack 中的 gitfs 初步了解
SaltStack File 模块使用
Salt state.highstate 超时
Salt Minion Pulic Key 冲突
Ops-Automation
Ansilbe script 模块
Ansilbe 命令选项
MySQL
MySQL 优化相关资料学习
SQL truncate/delete/drop 区别
MySQL 主从复制原理
mysql 连接中 localhost 和 127.0.0.1 的区别
MySQL 权限管理
MySQL 数据库重命名
CentOS 7下yum安装MariaDB
mysqldump 导入表出错原因及解决方法
mysqldump锁表出错及解决方法
mysql Duplicate entry for key 错误提示
删除一个数据库中的所有表
Reading
《把时间当作朋友》读书笔记
2016 年 9 月读书清单
2016 年 8 月读书清单
2016 年 7 月读书清单
2016年6月读书清单
2016年5月读书清单
运维相关书籍
2016年4月读书清单
2016年3月读书清单
2016 年 2 月读书清单
2016年1月读书清单
Monitoring
监控斗鱼在线直播间数
Zabbix 监控图上中文不显示解决方法
Zabbix API 简介及使用
Zabbix Agent 自动注册配置
Zabbix 配置 Proxy 代理监控
Zabbix 自定义脚本告警配置
Zabbix 中使用 Percona Monitoring Plugins 监控 MySQL
Zabbix 自定义 Linux 监控项目配置
Zabbix 邮件告警配置实例
Zabbix Trigger 配置实例
Zabbix 配置 JMX 监控
Piwik 部署实践
SmokePing 部署实践
Zabbix 自定义监控项目配置
Zabbix Agent 监听端口相关问题
Zabbix Agent 配置文件说明
OS
Linux IO 监控与深入分析
了解 Linux I/O 调度算法
进程和线程的区别
Unix 进程间通信方式简介
Linux 下文件删除后仍然占用空间的问题
I/O 模型 06 - 直接 I/O
I/O 模型 05 - 内存映射
I/O 模型 04 - 多路 I/O 就绪通知
I/O 模型 03 - 同步非阻塞 I/O
I/O 模型 02 - 同步阻塞 I/O
I/O 模型 01 - PIO 与 DMA
CPU Thread 相关概念
CPU 上下文切换
《现代操作系统》学习笔记-第1章
为什么一个无限循环会使 CPU 占用达到 100%
NoSQL
Memcached 对比 Redis
Redis 集群简介
Redis 主从复制
Redis 持久化
NoSQL 简介
MongoDB 简介
Redis 简介
Memcached 简介
Nginx
Nginx resolver DNS 解析超时问题分析及解决
安装 Nginx
Nginx 介绍
理解 nginx http_stub_status 相关参数
Nginx 优化总结
Nginx 文档学习
学习创建 Nginx Rewrite Rules
P2P
BitTorrent 原理简介
Murder 在生产环境中分发大软件包的应用
Murder 下载测试
Twitter 的大规模文件 P2P 分发系统-Murder
Python
CentOS 下安装 Python 3.X/PIP/Git 2.X
Python 基础 11-Python 技术领域
Python 基础 10-异常处理
Python 基础 09-文件处理
Python 基础 08-类和对象
Python 基础 07-高级数据类型
Python 基础 06-模块
Python 基础 05-函数
Python 基础 04-控制流
Python 基础 03-列表与 For 循环
Python 基础 02-数值计算
Python 基础 01-常量和变量
Python Socket 编程入门与演示
CentOS 6.x 下 升级 Python 2.6 到 Python 2.7
Python中的[Errno 111] Connection refused报错分析
Python 中的 exit() 和 sys.exit()
Security
Zabbix 最新 SQL 注入漏洞及 EXP
信息系统灾难恢复规范学习
了解NTP DDOS攻击原理
互联网流量劫持简介
DNS
DNS 缓存引起的问题排查
DNS 的报文格式
只有 13 台 DNS 根域名服务器原因
子域名查找
DNS 系统性学习 06 - DNS 自动化安装配置及维护
DNS 系统性学习 05 - DNS 监控
DNS 服务器压测工具 queryperf 使用
DNS 系统性学习 04 - 智能 DNS 原理配置演示
DNS 系统性学习 03 - BIND 域名配置管理
BIND rndc key 生成方法
DNS 系统性学习 02 - 部署配置 BIND 及 DNS 主从
Linux 下清除 DNS 缓存
初步了解基于TCP的DNS
DNS TTL 值理解及配置
域名泛解析
使用 Tcpdump 分析查看 DNS 通信过程
Web
了解 JVM 性能调优
关于网站排名
代理服务器简介
PHP 中使用 Memcache 存储 Session 数据
C10K 问题
PHP 优化总结
XML 简介
XHR 简介
AJAX 简介
PHP 的 MySQL 持久连接配置
Web 服务器 PHP 配置
PHP SAPI 概念理解
CGI/FastCGI/PHP-CGI/PHP-FPM 概念理解
CDN
斗鱼使用的 CDN 服务商分析
CDN 的智能 DNS 简介
GTD
Evernote月历
Cluster
计算机集群简介
LB
负载均衡超时问题
HAProxy 入门
HAProxy 文档学习
LVS 文档学习
负载均衡算法简介
四层、七层负载均衡的区别
负载均衡简介
HA
Keepalived 简介
Automated Ops
Cobbler 之服务器重启自动安装操作系统问题
运维监控体系学习笔记-02
运维监控体系学习笔记-01
操作系统安装流程及初始化规范
Cobbler 自动化部署实践
Hardware
网卡 offload 简介
IPMI 学习
Architecture
RPC 简介
斗鱼已公开的运维技术和架构分析
了解异地多活
服务器扩展性 Sacle Out 和 Sacle Up
Career
技术人员的发展路径
运维生涯
GlusterFS
GlusterFS 04 生产环境常见故障处理
GlusterFS 03 构建企业级分布式存储
GlusterFS 02 部署配置
GlusterFS 01 理论基础
CI/CD
Jenkins 配置 Job 关联、Pipeline、GitLab Webhook
SonarQube 代码分析与 Jenkins 结合
Jenkins 项目配置演示
Jenkins 插件
使用 SonarQube Scanner 进行代码分析
持续集成、持续交付、持续部署简介
Sonar 安装
Sonar 简介
中小企业自动化部署 02 - 实践演示
中小企业自动化部署 01 - 目标及流程
持续集成理论
Jenkins 安装部署
DevOps
理解 DevOps
ELK
Logstash 性能排障指南
ELK-生产测试遇到的问题及解决
ELK 企业最佳实践案例收集
ELK-生产案例项目分析及实战
ELK-配置使用 Filebeat
ELK-使用消息队列进行扩展 Logstash
Logstash 使用 Grok 收集 Apache 日志
Logstash 收集 TCP 日志
Logstash 收集 syslog 日志
Kibana 基本图形化配置
Kibana 基本配置使用
Logstash 收集 Nginx 访问日志
Logstash 收集 Java 日志
Logstash 收集系统日志
Logstash 配置使用
Elasticsearch 配置使用
ELK 快速安装
Docker
Docker 企业最佳实践案例收集
Docker 企业级私有镜像仓库 Harbor 部署
Docker Registry 构建私有镜像仓库
生产上的 Docker 镜像构建
Docker 镜像构建
Docker 数据管理
Docker 网络访问
Docker 快速入门
Docker 配置 HTTP 代理
Docker 简介
Cloud-Computing
KVM 虚拟化相关软件包
OpenStack 简介
CloudStack 简介
云计算与 KVM 虚拟化简介
企业云计算实践案例收集
TCP/IP
TCP 数据传输分类
Mac
苹果计划在 Mac 上使用自产芯片取代英特尔处理器
MacBook Pro 2017 不支持 32GB 内存的原因
Bitcoin
学习比特币