程序员技术练级攻略
Intro
* 不追新:新书/新技术/新名词 – 10年后可用
* 技术史
* DIY
* 多想
前端:web+移动
后端:linux+开源
开始
脚本–python
- 文本: csv open sys
- 文件系统:sys os path
- 数据库:sqlite
- 用print等调试
- 谷歌
编辑器
- vim/emacs
- source-insight/ctags
命令
- 尽量少GUI
- man
- RE
- /etc /var/log /proc
WEB(HTML/CSS/JS)+服务器端(LAMP/LNMP)
- HTML基础
- CSS选中HTML元素及基本样式
- firefox+firebug/chrome查看&修改网页结构
- js操作HTML – DOM和动态网页
- firefox+firebug/chrome调试js
- 配置apache/nginx
- php–后台php与前台html交互
- php连接本地/远程mysql – 现学现用即可
- 一个js库+ajax+json
- HTTP权威指南:前4章 – 代理&网关&浏览器
- DIY网站 + 域名/空间
进阶
c和系统调用
- 指针&内存布局
- unix环境高级编程
- gcc和gdb
- makefile
- socket和ipc
- GUI原理
web安全&架构
- html5
- web安全
- http服务器的rewrite机制 + nginx反向代理机制
- web静态页面缓存
- web异步工作流 –数据cache/数据分区/负载均衡/水平扩展
- DIY
html5的canvas动画
sql注入 js注入 xss攻击
nginx+php-fpm静态页面缓存
关系数据库
mysql
数据库范式
触发器/视图/索引/游标
SQL语句 – 表连接
SQL查询优化
DIY论坛数据库 –满足3NF
开发工具
git
junit单元调试
编码风格
代码大全+代码整洁之道+重构
高级
面向对象
- cpp 和 java
- STL
- 设计模式
加强
- unix哲学
- UNP卷1:tcp/udp select/poll/epoll
- TCP/IP详解卷1
- UNP卷2
- ACE
架构
- 负载均衡:hash式/纯动态式
- 多层分布式:客户端服务节点层-计算节点层-数据cache层-数据层 –j2ee
- CDN:就近访问,内容边缘化
- P2P:双机备份live-standby/live-live –心跳机制 集群主节点备份
- 虚拟化
- thrift–rpc
- hadoop:mapreduce和hdfs
- nosql
参考
程序员技术练级攻略