免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 861 | 回复: 0
打印 上一主题 下一主题

脚踏实地,不要飘忽不定 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 02:53 |只看该作者 |倒序浏览

脚踏实地,不要飘忽不定

       前言:老老实实,扎扎实实,把基本动学好,不要动辄“架构”,“模式”。 很有段时间没有写博客了,不知道大家想我了没有!呵呵!

            

      最近接触到了不少开发人员,有刚刚踏入IT的,也有刚刚毕业的,也有已经工作了好几年的,总是问我一些比较莫名其妙的问题:“如何培养抽象的思维?”,“如何学习架构?“等等诸如之类的问题。之所以说”莫名其妙“,是因为这些问题任谁也不好回答,看起来是个问题,其实等于没有问!

 

     在后来和这些开发人员讨论的过程中,发现很多的基本都是“随大流,舍本逐末”。例如,认为ASP.NET就是拖控件,如果会开发自定义控件的,就算是牛X了。学了一点JQuery,越是网页中到处是JQuery,开始鄙视服务端控件。学了一点Ajax,所有的请求都是异步的了。学习了MVVM,就算是精通WPF,SL了。学习了.NET中的反射,不得了了:高级东西啊,到处用!学习了一点设计模式,于是认为“已经精通架构设计”,架构就是“设计模式”等。

      有些朋友也认为“做网站“没有技术含量,我就随便问了几个问题,例如:如何一ASP.NET站点,并且全球的用户量不断增加,已经达到了日访问量上百万,以后还会增加,于是性能成为了很大的问题,如何解决?

1.      请求优化,开启多少TCP链接,是否DNS缓存,

2.      页面加载优化:页面资源加载策略(jscss,图片,都是各不相同的)

3.      Web Farm负载均衡使用

a.      负载均衡的原理

4.      IIS优化,例如数据压缩,IIS内核缓存。

5.      数据读取优化,例如采用缓存,减小数据库压力(可以提出分布式缓存问题)

6.      缓存的相关策略,例如缓存什么数据,缓存多长时间。

7.      数据库分压问题:

a.      如,什么时候需要采用数据群集技术,

b.      如何进行数据库读写分离,

c.      如何进行主动数据库之前的数据同步,

d.      如何对数据库进行水平拆分,

e.      如何对数据库进行垂直拆分。

 

       有时候,只要反问一个简单问题,那些人基本就熄了:既然你精通ASP.NET,能不能把 从在浏览器中输入一个Url地址开发,到看到这个页面的输出,这其中涉及到的每个过程具体的描述一下?

      到现在为止,还没有见过几个人能够把这个过程描述清楚的,很多人都是简单的描述:发送请求,IIS接受,ASP.NET 运行时处理,返回结果。稍微好点的还知道有个“页面生命周期”?如果问问“请求经过的管道处理周期”,基本就看不住了。如果随意在其中任意挑一个小细节问下去,很多人就开始打马虎眼了!

    

    其实上面的问题,回答起来,是需要一定的功力的,从浏览器发送TCP请求,通过DNS寻找域名,然后“三次握手”,然后服务器开始处理,http.sys检测,IIS接受请求,加载ASP.NET运行时,然后为初始化Domain,读一些config,加载相应的权限等等。

 

    很多时候就是这样,对技术,很多的开发人员都大体上知道是个什么东西,如果稍微深入细节一点,知道的人就很少了。一旦问了问题,或者在做设计的时候,考虑的往往就不周详,漏洞百出!其实有个体会“知道的越多,发现自己知道的越少”!“细节决定成败!”

 

    也曾经告诉一些做.NET开发的朋友,把基本功能搞好(这里不是指的计算机学科的那些基本可能)。例如,知道程序集是什么东西,有什么组成,什么是清单,PE表头,知道一些IL的知识,了解一些垃圾回收的机制,了解什么是对象复苏,知道委托和事件是怎么做的,知道对象在哪里分配的等等。起码先把把语言关过了,再谈后面!

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP