以前没写过类似的总结,正巧闲着,流水帐记一下吧。第一次使用live writer发文章,此文发首页4小时:)
01-05读的大学,在大学的时候自学了ASP、网页开发什么的。当时觉得发布一个个人网站到免费空间很有成就感。
当时学ASP是因为某人说ASP很难,你别学了,学不会的。我一开始自学也觉得挺难,后来觉得也就这么几个对象啊。
总结出只要学会request/response/session/cookie/访问数据库就差不多了,后来写了一个什么《十天学会asp》,很多人说好,也有很多人骂。
现在回头看看当时写的什么《十天学会asp/php/asp.net》这样的文章好傻好天真,很肤浅。
后来和学长一起接外包的小活干,装模作样开个小公司,大学毕业了,大家各奔东西,所谓的公司也就散伙。
毕业后找工作,运气不错进入育碧做.NET开发,公司不错,后来经理说录用我是因为觉得我技术不差而且便宜,我寒一个。
育碧其实做的项目都很小,空闲时间也很多,就上上csdn,没想到几个月就混到了4个星星,当时接触.NET才1年不到啊。
拿到4个星星不久就评上斑竹,第一次MVP也就这么来了。06年之后基本就不去csdn了,因为觉得那里很多问题都很初级。
05年混csdn热情还是比较大的,觉得像打游戏升级一样,很有成就感,后来csdn blog太慢就来到了博客园。
育碧后来不做网络游戏了,跟老大来到新的一个网络游戏公司,组建一个开发团队,毕业2年就做管理了。
小公司确实学到很多东西,虽然编码不多,但学到了管理方面一些技巧,也接触到了服务器,很有成就感。
网游行业竞争激烈,08年产品不怎么好了,人气也没了,就琢磨着换个公司,想学学正宗的开发流程。
毕竟以前的一些管理都是自己琢磨出来的,面试了几个公司来到ef,没想到ef的管理也是这么乱。
在围城里面的人总是觉得里面怎么不好,学不到东西,其实很多时候出去了才知道,别人也这样。
07年公司挺忙的,写了一本书,说实话半年又要上班又要写书,日子不好过,而且交稿后出版社又拖了半年才出版。
很多人说写的不错,自己觉得思路应该还是流程的,但是由于写的时候时间实在不够,所以小问题很多。
很多人发邮件问我怎么学习.NET,以前觉得可以速成,现在想想还真不行,东西实在太多,没2年积累不可能,除非是神童。
就学习来说我觉得要想靠公司靠项目学到东西没什么意义,还是要靠自己的学习热情。
而且我越来越体会到,如果先学习应用的东西再慢慢研究到基础的话入门是快,但是提高很慢,基础太重要了,否则以后加速度会很慢,而且容易达到瓶颈后上升不了。02年-04年我研究做网页,05年我研究asp.net的一些基本,06年发掘c#和clr很重要,07年之后基本就在积累架构方面的东西了。很多人说怎么学了几年就这么牛,说实话我觉得就我现在掌握的这些东西让我再培训别人的话2年足够了,我其中很多时间都是浪费的。写书虽然辛苦,但是收益也是很大的,因为平时很多知道只是知道怎么用并不知道原理,要写书你必须知道的更多才能解释清楚。
我脑子里总有一个想法,就是自己学习的过程中其实瓶颈挺多的,懂了之后觉得也就这么回事情。很想把这些东西分享出来,告诉大家其实这不难。有一种冲动在09年再写一本书,写一本提高的书,因为针对初学的书太多了,买什么书都可以入门,但是相对提高的书市面上几乎没有。c#高级编程、 asp.net高级编程在我看来只是覆盖面比较广,里面介绍的东西真的是点到为止,一点没扩展。怎么做其实大家都知道,大家不知道的是为什么这么做,以及如何去扩展。asp.net这个框架其实扩展点很多的(也是面向对象的特点),但是很多人都不知道如何去扩展。想写一本书写asp.net的扩展点,c#中一些所谓的高级特性,以及架构方面的一些心得,asp.net第二步?出版社一般不喜欢这样的书,受众读者太少,而且知识点太分散。这真的很难,就像歌手出专辑,可能其中很多是商业的,不是自己喜欢的歌曲。。。。。
自己初步的考虑:
全书650页左右,特点:
l 写这本书目的是什么?太多入门书只介绍当前领域的基础,.NET初学者要打好基础难道要看N本书吗?而且大多数工作经验丰富的人基础并不好。
l 这本书定位是什么?初学者、认为基础不扎实的.NET程序员、需要面试的人、感觉学.NET遇到瓶颈的人,知道怎么做不知道为什么的人。
l 这本书的特点是什么?遵循ASP.NET第一步风格,还是那句话,没一句抄MSDN,MSDN里面的东西初学者理解不了,我说的都是我的理解。这本书是一个基础+我架构经验的集合,不敢说超越什么,但可以保证你有收获。
l 不会过多介绍具体的技术和实现,主要内容放在基础以及探索上。API变化总是这么快,只有掌握基本的东西才能有快速的学习能力,因此本来考虑要详细介绍的WCF、MVC框架、AJAX框架都不会详细介绍。
下面是初步目录,在写的过程中想到什么就会加入,看到这些我想很多人都会觉得其实自己的知识点空缺还是很多的:
1 WEB服务器、IIS与开发工具(大约30页)
1.1 基础——网页本质
1.2 基础——WEB服务器
1.3 基础——HTTP协议
1.4 基础——SSL
1.5 基础——IIS 6.0
1.6 基础——IIS 7.0
1.7 基础——VS2005
1.8 基础——VS2008
1.9 基础——技巧和快捷键
1.10 配置和扩展——项目文件和解决方案文件
1.11 配置和扩展——项模板和项目模板
2 .NET Framework(大约50页)
2.1 版本和基本概念
2.2 编译
2.3 垃圾收集
2.4 安全模型
2.5 异常管理
2.6 应用程序域
3 C#与类库(大约150页)
3.1 不可变类型
3.2 修饰符
3.3 值类型引用类型
3.4 浅拷贝深拷贝
3.5 参数传递
3.6 转换
3.7 委托和事件
3.8 泛型
3.9 反射
3.10 异步操作
3.11 匿名方法
3.12 Lambda表达式
3.13 LINQ语法
3.14 多线程
3.15 哈希和加密
3.16 序列化
3.17 CodeDom
4 WEB开发(大约50页)
4.1 基础——Javascript
4.2 基础——XHTML
4.3 基础——XML/XSL
4.4 基础——AJAX
4.5 基础——CSS
4.6 基础——浏览器兼容
5 ASP.NET(大约150页)
5.1 基础——Module
5.2 基础——Handler
5.3 基础——请求生命周期
5.4 基础——页面生命周期
5.5 基础——Cookie
5.6 基础——Session
5.7 基础——ViewState
5.8 基础——异步页
5.9 配置和扩展——身份验证和模拟
5.10 配置和扩展——授权和角色管理
5.11 配置和扩展——控件适配
5.12 配置和扩展——缓存
5.13 配置和扩展——错误处理
5.14 配置和扩展——健康检查
5.15 配置和扩展——进程模型
5.16 配置和扩展——编译部署
5.17 配置和扩展——Trace
5.18 配置和扩展——全球化设置
5.19 综合实例——URL重写
5.20 综合实例——静态页面
5.21 综合实例——SSO
6 数据访问(大约100页)
6.1 数据库引擎
6.2 SQL Server 2008——存储结构
6.3 SQL Server 2008——内存管理
6.4 SQL Server 2008——预编译
6.5 SQL Server 2008——事务和隔离
6.6 SQL Server 2008——并发和死锁
6.7 SQL Server 2008——索引
6.8 SQL Server 2008——锁定
6.9 SQL Server 2008——增强TSQL
6.10 SQL Server 2008——XML
6.11 SQL Server 2008——新功能
6.12 ADO.NET——连接和连接池
6.13 ADO.NET——在线模式离线模式
6.14 LINQ TO SQL简介
6.15 LINQ TO XML简介
6.16 LINQ TO DataSet简介
6.17 ADO.NET EF简介
7 设计和架构(大约50页)
7.1 设计模式
7.2 MVC以及框架
7.3 AOP以及框架
7.4 IOC以及框架
7.5 SOA以及框架
7.6 负载均衡
7.7 分层
7.8 安全
8 我的架构实战(大约50页)
8.1 硬件架构
8.2 基础架构
8.3 软件架构
8.4 流程管理