大后端技能树

你了解后端吗? 后端的工作是什么? 做好后端工作需要了解和学习哪些技能?(链接完善中)

 

  1. 硬件
    1. CPU
    2. 了解CPU
    3. CPU高效编程技术
    4. SMPNUMAMPP体系结构介绍
  2. 存储
    1. 磁盘Raid简介及性能分析
    2. 网络存储
    3. 了解IO设备
    4. 了解IO协议栈
    5. SSD (SLC, MLC, TLC区别,什么是Trim,如何开启)
    6. SAS 跟 SATA 的区别
  3.   性能与调优  
    1. 基础    
      1. 系统调优    

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