大後端技能樹

你瞭解後端嗎? 後端的工做是什麼? 作好後端工做須要瞭解和學習哪些技能?(連接完善中)php

 

  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. 系統調優    html

        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  
相關文章
相關標籤/搜索