即将需要学习~

1、学会思考,思考为什么要这样,而不是那样。还要举一反三的思考。

 

2、用户界面几乎呗2个东西主宰:web 和 移动设备ios或者Android。

 

3、学习linux基础知识。

 

4、学习服务器端技术LAMP

 

5、学习web的安全与架构

 1)学习html5  2)学习web开发的安全问题(参考新浪微博被攻击的这个事情,以及Ruby的这篇文章。) 3) 学习http server的rewrite机制,Nginx的反向代理机制,fast-cgi  4) 学习web的静态页面的缓存技术。  5)学习web的异步工作流处理,数据Cache,数据区分,负载均衡,水平扩展的架构。

task:   使用HTML5的canvas制作一些web动画。   尝试在前面开发过的那个web应用中进行sql注入,js注入,以及xss攻击。  把前面开发过的那个web应用改成构造在Nginx + PHp-FPM + 静态页面缓存的网站。

 

6、需要学习C语言,(美国麻省理工学院免费视频)  需要研读的书籍:《深入浅出设计模式》、《Effective Java》and《Java解惑》 主要学习Java的设计,如Ioc等。

学习使用Java做web service

task:   尝试在Spring 或Hibernate框架下构建一个有网络的web service的远程调用程序, 并可以在两个service中通过jms传递消息。

 

7、加强系统了解。

《unix编程艺术》《unix网络编程卷1 ,套接字》《TCP/IP详解 卷1:协议》

task:  写一个网络聊天程序;  写一个简易的HTTP服务器;  

《unix网络编程卷2, 进程间通信》

task:  写一个管道程序,父子进程通过管道交换数据。尝试写一个共享内存的程序,两个进程通过共享内存交换一个C的结构体数组。

 

8、系统架构。

负载均衡。HASH式的,纯动态式的(可到google学术里搜一些关于负载均衡的文章)

多层分布式系统 : J2EE

CDN系统 - 就近访问,内容边缘化。

P2P式系统,研究一下BT和电驴的算法。比如:DHT算法。

服务器备份,双击备份系统(LIVE-STANDBY和LIVE-LIVEAAA系统)

学习Hadoop、Hhrift。

了解NoSQL数据库

posted @ 2012-02-04 18:26  Alex Von Kwok  阅读(158)  评论(0编辑  收藏  举报