你了解后端吗? 后端的工作是什么? 做好后端工作需要了解和学习哪些技能?(链接完善中)
- 硬件
- CPU
- 了解CPU
- CPU高效编程技术
- SMP、NUMA、MPP体系结构介绍
- 存储
- 磁盘Raid简介及性能分析
- 网络存储
- 了解IO设备
- 了解IO协议栈
- SSD (SLC, MLC, TLC区别,什么是Trim,如何开启)
- SAS 跟 SATA 的区别
- 性能与调优
- 基础
-
系统调优
- SUSE Linux Enterprise Server System Analysis and Tuning Guide
- Linux Performance Analysis and Tools
- http://www.brendangregg.com/linuxperf.html
- 数据库调优
- MySQL数据库开发的三十六条军规
- 数据库的优化与调优:从理论到实践
- Linux and H/W optimizations for MySQL
- 淘宝商品库MySQL优化实践
- 操作系统
- Linux
- 各大发行版: Archlinux, Ubuntu, CentOS, Gentoo, Debian, Fedora
- 中断
- irqbalance
- 内核参数(了解 /proc 里面的常见参数)
- 进程通信
- 文件打开数限制(了解ulimit用法)
- 防火墙(ufw和iptables)
- 磁盘分区(gparted,fdisk)
- 存储相关
- 文件系统
- EXT系列(ext2, ext3, ext4)
- XFS
- ZFS
- BFS
- ReiserFS
- 混合存储
- flashcache
- bcache
- Raid(常见的Raid5, Raid10)
- madm
- megacli
- 网络协议
- 网络模型
- TCP / UDP
- HTTP / HTTPS (状态码,缓存机制,浏览器请求机制)
- RPC
- Thirft RPC
- JSON RPC
- 软件工程
- 包管理(Python的pip,Go的gopm、gom)
- git-flow
- issue管理及编写规范
- 设计模式
- 分布式系统
- 算法
- 二阶段提交
- Paxos算法
- http://zh.wikipedia.org/wiki/CAP
- 一致哈希
- 相关软件
- Hadoop / Hive / Spark / Hbase 等,可以看 Cloudera的版本(公司在用)
- 序列化
- Protobuf
- Thirft
- msgpack
- json / bson
- 安全
- 攻击防范
- SQL注入
- DDOS攻击
- XSS
- CSRF
- 加密解密
- 不对称加密:rsa
- 对称加密:xxtea / rc4 / des
- 了解HTTPS协议的设计
- 算法与数据结构
- 那些不常见又美妙的数据结构
- B-树
- MySQL索引背后的数据结构及算法原理
- Which hashing algorithm is best for uniqueness and speed?
- 推荐网站
- http://highscalability.com/
- https://linuxtoy.org
- 各个国外开发团队博客,比如 Dropbox, Foursquare, Twitter, Facebook
- 各个语言的邮件列表,比如 go-nuts, python-dev
- 源码阅读
- http://tengine.taobao.org/book/
- http://redisbook.com/
- 框架源码阅读
- Python:Tornado
- PHP:CakePHP / Yii
- Go:https://github.com/rcrowley/go-tigertonic
- 推荐论文
- Google 三驾马车
- http://research.google.com/archive/bigtable-osdi06.pdf
- http://research.google.com/archive/mapreduce.html
- http://research.google.com/archive/gfs-sosp2003.pdf
- 中译版:http://blog.csdn.net/myan/article/details/1726553
- 推荐关注技术峰会
- QCON http://www.infoq.com/cn/qcon/
- Velocity http://velocityconf.com/
- 语言
- 学习指引
- Golang学习指引
- Python学习指引
- PHP学习指引
- 类库
- https://github.com/ziadoz/awesome-php
- https://github.com/avelino/awesome-go
- https://github.com/vinta/awesome-python
- 性能
- Python: PyPy / Gevent / Greenlet
- PHP: Opcache
- 机器学习
- https://github.com/josephmisiti/awesome-machine-learning
- 计算广告
- http://study.163.com/course/courseMain.htm?courseId=321007
- http://web.stanford.edu/class/msande239/
- 后端软件栈
- HTTP
- Nginx
- Haproxy
- Varnish server
- Trafficserver
- Netty
- Tengine
- 可用性
- Monit
- Nagios
- Ganglia
- Supervisor
- Upstart
- 缓存或K/V存储
- Fastcgi cache
- Memcached
- Redis
- SSDB
- 数据库
- RDBMS
- MySQL / Percona Server / Mariadb
- Percona Xtrabackup
- PostgreSQL
- NOSQL
- Tokudb / Tokumx
- Mongodb
- redis
- Leveldb
- SQLite
- HBase
- 主从读写分离
- MySQL-proxy
- mysqlnd_ms
- 队列
- ZMQ
- RabbitMQ
- Redis
- nsq
- 运维
- 网络:ifstat / ifstatus / dstat / tcpdump / telnet / ifconfig / ifdown / ifup
- 程序状态:strace / top
- 存储: iostat -d -x -k 1 / iotop
- 文本处理:sed / awk / grep / sort / uniq
- 调优:sysctl
- 实用工具:watch / touch / tee
- 日志:logrotate / syslog
- 开发相关
- https://github.com/robbyrussell/oh-my-zsh
- https://github.com/spf13/spf13-vim
- vagrant
- curl (调试HTTP神器)
- 推荐文章
- 技巧: 使用truss、strace或ltrace诊断软件的"疑难杂症"
- https://linuxtoy.org/archives/sed-awk.html