Adam Barr的《微软密码》,达芬奇密码之微软版

[来源:Paul Tallett]

The Microsoft Code by Adam Barr
http://www.proudlyserving.com/archives/2006/06/the_microsoft_c_6.html

第一章

有名的测试经理JacquesS 蹒跚地穿过测试实验室狭窄的过道,扑上一台就近的计算机,是台Dell机。抓住键盘,这个36岁的家伙很快地打入重启机器的命令,然后选择了一个旧的Windows XP SP1 build版本启动。

跟他预计的一样,这个陈旧的,未安装修补程序的系统启动后,屏幕上闪过一行警告说,他已被禁止连接到微软的内部网络了。他知道,在靠近Sammamish湖东岸的一个房子里,一个警报器响了,不久有人就会被派来调查可能的泄密问题。

。。。。。。

“嗨,你们琢磨出来了?你们知道Mini-Microsoft的真实身份了?”

那个级别为71的开发人员指着屏幕说,“对,我们合计出来了,就是他!”他笑着说,“你们只要赶去抓他就行了”。

(注:Mini-Microsoft是个微软员工,一直在blog微软内部的事情。)

*******************************
好奇,想请问微软的员工,这个使用过8/2110办公室的是谁?

.NET 点滴

1。[来源:Scott Guthrie] ASP.NET 2.0 Providers的源码供下载了,很多人都报道这个消息了,这绝对是个好消息

http://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi

如果你对Provider模型不熟,可以参考MSDN上的系列文章

Microsoft ASP.NET 2.0 Providers: Introduction
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/asp2prvdr01.asp

Jeff Prosise写的ASP.NET2.0 Provider Model: Introduction to the Provider Model
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspnetprovmod_intro.asp

2。Atlas开发组的Bertrand Le Roy对Atlas浏览器兼容层的解释
http://weblogs.asp.net/bleroy/archive/2006/04/13/442815.aspx

“。。。一般来说,使Javascript类库跨浏览器兼容有三种方式:

  • 每次调用时你都检查浏览器是否支持某些功能。这么做的话,所有新的编码都要考虑所有的浏览器,添加一个新的浏览器需要修改所有的编码库
  • 你写一个抽象层,建立另一套的API来抽象每个浏览器的具体API,跟其他两种方式相比,这种做法并不标准,因为你实际上是在现有的标准API和浏览器开发商自己的API之上又建立了一套新的非标准API。而且,这也使得编码调用路径更长了,因为每次API调用需要经过额外的函数调用,而且每次调用还必须检测浏览器是否支持
  • Atlas的做法,你扩展其他的浏览器使得所有的浏览器都拥有一致的API,这样,编码调用路径是最直接的,而且兼容层生成时,只要做一次浏览器检测。这个做法另外的好处是,你每次添加一个新的浏览器,只要写它的兼容层就可以了,而不需要碰实际使用的Javascript类库

。。。”

3。 袁峰大侠的Windows Graphics Programming经典著作重印版出来了

http://blogs.msdn.com/fyuan/archive/2006/04/15/576934.aspx

4。 Mikhail Arkhipov 开发了一个能检查拼法的Visual Studio add-on

Spell Checker for HTML and ASP.NET pages
http://blogs.msdn.com/mikhailarkhipov/archive/2006/04/17/577471.aspx

5。 英国的Phil Winstanley的新技术列单,要学的东西太多了,真是学不过来

New Technology Shopping List
http://weblogs.asp.net/Plip/archive/2006/04/16/443059.aspx

.NET 点滴

1。[来源:Delay’s Blog] ASP.NET/ATLAS产品组推出Atlas Control Toolkit以进一步简化开发AJAX应用

http://atlas.asp.net/default.aspx?tabid=47&subtabid=477

其中包括关联DropDownList,可收缩的Panel,确认按钮,可拖拉Panel,悬浮菜单,Popup控件,可排序列单,带水印的文字输入框,可切换按钮等9个控件。Atlas Control Toolkit示范页上还提供了怎么使用以及怎么生成类似控件的指导

2。 [来源:Harald Leitenmüller’s WebLog] Visual Studio 2005 Team System 在线培训资源

http://msdn.microsoft.com/vstudio/teamsystem/expand/

包括一系列的教学录像,webcast,技术文章

[来源:Sean McBreen’s WebLog] 另外这个页上的webcast示范了Team System的各种功能

Visual Studio Team System On-Demand Webcasts
http://msdn.microsoft.com/vstudio/teamsystem/community/webcasts/default.aspx

3。微软IIS7产品组的David Wang(这里有他和IIS7产品组的照片)教你怎么设置IIS来提供3000个并发连接来做类似server push的事情

HOWTO: Maximize the Number of Concurrent Connections to IIS6
http://blogs.msdn.com/david.wang/archive/2006/04/12/HOWTO_Maximize_the_Number_of_Concurrent_Connections_to_IIS6.aspx

4。苔丝又出手

如果你在多个应用里使用同个程序集,应该把程序集强名化后加到GAC里
ASP.NET Memory: You use the same dll in multiple applications, is it really necessary to load it multiple times?
http://blogs.msdn.com/tess/archive/2006/04/13/575357.aspx

强名程序集不该放在应用的bin目录里
ASP.NET: Strong named assemblies should not be stored in the bin directory
http://blogs.msdn.com/tess/archive/2006/04/13/575361.aspx

在生产环境下,别设置debug=true,否则问题多多
ASP.NET Memory: If your application is in production… then why is debug=true
http://blogs.msdn.com/tess/archive/2006/04/13/575364.aspx

应该设置

<configuration>
    <system.web>
          <deployment retail=”true”/>
    </system.web>
</configuration>

Scott Guthrie对此问题也写了专文,提到的问题包括编译时间变长,运行慢,消耗内存多,来从WebResources.axd的脚本/图片资源不被缓存等

Don’t run production ASP.NET Applications with debug=”true” enabled
http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx

5。Javascript rules?

大家都知道,AJAX运动的主角是Javascript,但仔细看一下,目前几大家的Gadget/Widget技术也都是基于Javascript的

微软Vista上的Sidebar:
Gadget Development Overview
http://microsoftgadgets.com/Sidebar/DevelopmentOverview.aspx

Google的Homepage API:
Google Homepage API Developer Guide
http://www.google.com/apis/homepage/guide.html

雅虎的Widgets:
Yahoo! Widget Engine Reference Guide
http://widgets.yahoo.com/workshop/

.NET 点滴

1。 [来源:Jesús Rodríguez] W3C发布针对XMLHttpRequest的工作草案

The XMLHttpRequest Object
http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/

2。 [来源:Federal Developer Weblog] Internet Explorer Developer Toolbar

该套工具能帮助开发人员很快地生成网页,理解和排除网页的问题,功能包括,查看和改变网页的DOM模型,有选择地禁止Internet Explorer 设置/清除缓存和cookie,验证HTML/CSS/RSS等等

http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&DisplayLang=en

3。 对ASP.NET开发人员很有用的另外一个调试工具是Nikhil Kothari的Web Development Helper,能在单独的窗口查看请求/回复的URL/状态/时间,trace information以及 view state等

Web Development Helper
http://www.nikhilk.net/ASPNETDevHelperTool.aspx

4。 Sebastien St-Laurent的博客上贴出了《Practical .NET2 and C#2》一书的几个章节

An introduction to MSBuild
http://blogs.msdn.com/sebby1234/archive/2006/04/01/565084.aspx

C# 2.0 Nullable Types
http://blogs.msdn.com/sebby1234/archive/2006/04/03/565089.aspx

Writing C# 2.0 Unsafe Code
http://blogs.msdn.com/sebby1234/archive/2006/04/05/565090.aspx

Event programming with C#
http://blogs.msdn.com/sebby1234/archive/2006/04/07/565098.aspx

Chapter 5
http://blogs.msdn.com/sebby1234/archive/2006/04/09/565099.aspx

5。 如果你主管安全的话,那么下面这个玩意也许会让你睡不着觉的

Beyond Rootkits: World’s First Standalone Kernel Mode Bot?
http://www.emailbattles.com/archive/battles/virus_aaddcefedj_d/

Kernel Mode Ircbot
http://tibbar.blog.co.uk/2006/04/06/kernel_mode_IRCbot~708256

.NET 点滴

<

p dir=”ltr”>1。Scott Guthrie 博客上的 Pointers to Great ASP.NET Atlas Content

  • 他自己的AJAX风格的ToDo List,从创建数据库,使用TableAdapter的DAL层,建立一个可过滤,可排序,可分页,可编辑的任务列单
  • Brad Abrams(ASP.NET和Atlas组的主管,框架设计指南一书的作者之一)在Mix06上的骰子示范
  • Nikhil Kothari(Atlas架构师)的musicMix,集成了iTunes的RSS feeds, MSN搜索引擎的SOAP服务,Amazon的REST服务,使用Live Clipboard在应用间共享信息
  • Bertrand Le Roy(Atlas主要开发人员之一)的风琴控件
  • Jonathan Hawkins(Atlas组的项目经理)的国家公园map mashup
  • Scott Issacs(Windows Live架构师)在Mix06上谈开发Live.com的经验和教训

http://weblogs.asp.net/scottgu/archive/2006/03/29/441357.aspx

2。[来源:Paschal L] 基于AJAX的内容管理系统

http://www.impliedbydesign.com/micro-cms-content-management-demo.php

3。[来源:Brad Abrams] 在VS2005里调试JavaScript

http://atlas.asp.net/docs/Overview/debug.aspx

4。Comet: Beyond AJAX?是个Push模型,扩缩性会有问题吧,文中也提到Most commodity Web servers won’t cut it today,但原作者认为This stuff will scale, and most of the tools are in place already

http://www.irishdev.com/NewsArticle.aspx?id=2173

5。Harry Pierson的The Dual Schema Problem谈到Ruby on Rails的ActiveRecord在运行时从数据库里的Schema在OO对象上动态添加方法和属性(R->O),而Konstantin Knizhnik的Consus,一个object-relational database management system,则是从OO对象到数据库Schema(O->R)。他认为,虽然后者还有性能问题,但从长远的角度看,类似后者风格的模型将会成为主流

http://blogs.msdn.com/devhawk/archive/2006/03/28/563445.aspx

.NET 点滴

1。根据Scott Guthrie,MySpace.com每天的Page View量高达15亿,他们现在用的是ASP.NET 2.0和IIS6。移植到ASP.NET 2.0后,服务器的CPU平均利用率从85%下降到27%。

http://weblogs.asp.net/scottgu/archive/2006/03/25/441074.aspx

根据Media Metrix的统计,2月份访问量最高的6个网站为
Yahoo
MySpace
MSN
Ebay
Google
Hotmail

其中四个网站,MySpace,MSN,Ebay和Hotmail,用的是IIS和Windows。

注:在MySpace.com上还能看到.cfm(Cold Fusion)连接,在上面这个帖子里的回复中,该网站的技术人员澄清说,这是为了连接兼容,其背后采用的是BlueDragon.NET技术,该技术能让你在ASP.NET上运行Cold Fusion脚本。

2。Scott Guthrie博客上的几个跟Atlas有关的帖子

Drag and Drop ASP.NET 2.0 Web Parts in FireFox (with Atlas)
http://weblogs.asp.net/scottgu/archive/2006/03/24/441044.aspx

Atlas Presentation and Samples
http://weblogs.asp.net/scottgu/archive/2006/03/12/440068.aspx

Making a List, Checking it Twice (Cool Ajax Sample App with ASP.NET 2.0 and Atlas)
http://weblogs.asp.net/scottgu/archive/2005/12/26/433997.aspx

Paging through lots of data efficiently (and in an Ajax way) with ASP.NET 2.0
http://weblogs.asp.net/scottgu/archive/2006/01/01/434314.aspx

3。使用AJAX是为了改进用户与基于浏览器应用的交互以及提供良好的用户体验,目前一个很红的应用趋势是Mashup,整合多渠道的数据和内容,提供给用户一个集成的体验。常见的Mashups是Mapping Mashups和Video Mashups

在Mix06上微软有2个讲座讨论了AJAX架构和应用方面的问题,具体的内容,参考下面这个博客

Architecting and using ASP.NET “Atlas”
http://blogs.msdn.com/davbosch/archive/2006/03/24/560266.aspx

4。使用Atlas的虚拟地球地图控件构造美国国家公园的Mashup

Building a Mashup of National Parks using the Atlas Virtual Earth Map control
http://blogs.msdn.com/jhawk/archive/2006/03/26/561658.aspx

5。[来源: Scott Guthrie] ASP.NET RSS Toolkit,功能包括可用来显示RSS的RSS Data Source控件以及生成RSS的RSS HTTP handler

Awesome ASP.NET 2.0 RSS Tool-Kit Released
http://blogs.msdn.com/dmitryr/archive/2006/02/21/536552.aspx

第16届Jolt Product Excellence奖

在第16届Jolt Product Excellence奖中,微软产品获的奖:

1。企业项目管理类别,Visual Studio Team System 2005获得Productivity奖(该类别的Jolt奖得主为Welcom的WelcomRisk 2.6)
2。数据库引擎和数据工具类别,SQL Server 2005获得Jolt 奖
3。开发工具环境类别,Visual Studio Team System 2005 获得Jolt 奖
4。类库,框架和组件类别, .NET Framework 2.0获得Jolt 奖
5。Visual Studio Professional Edition 获得HALL OF FAME 奖
 
在技术书方面,Dave Thomas, David Hansson, Leon Breedt 和Mike Clark 的《Agile Web Development with Rails》获得Jolt 奖,Krzysztof Cwalina和Brad Abrams的《Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries 》获得Productivity奖。

其他方面,rubyonrails.org的Rails 1.0 获得WEB 开发工具类别的Jolt 奖,JetBrains的ReSharper 1.5 在工具(UTILITIES)类别获得Productivity 奖,Spring Framework 1.2.6获得类库,框架和组件类别的Productivity 奖。

全部得奖名单:
http://www.sdmagazine.com/jolts/2006index.html

ASP.NET之火热

O’Reilly的创办人和CEO Tim O’Reilly在他的题为“ASP.Net on a Roll (ASP.NET 势如破竹)”的博客里说,”Based on book sales data, it looks like ASP.Net 2.0 is on fire (根据图书销量的统计数据,ASP.NET 2.0象是着了火一样)”,跟去年同期相比,跟ASP相关的图书的销量大增了53% (相比之下,JSP类的图书的销量下降了25%)。他也提到,微软与O’Reilly以及Dr. Dobb杂志合办的ASP.NET 2.0培训中心,旨在吸引PHP,JSP和Cold Fusion 开发人员。不过,由于AJAX的风起云涌,Javascript类的图书的销量增加了99%!一年前还没有Ruby on Rails,如今光一本书的市场就已经是PHP+ASP图书市场的1/6!他说,“Still, our numbers indicate a lot of enthusiasm for ASP 2.0 (但我们的统计数字表明,对ASP 2.0之热情极其高).”

【大惊小怪】 HtmlControl之Site属性

这几天在翻看《Professional ASP.NET 2.0》一书,在第110页上看到列出的HtmlControl的Site属性

Site

Provides information about the Web site for which the server control belongs.

!&$@#*^@%$@!??有点发晕,查看Visual Studio 2005的文档,

Site

Gets information about the container that hosts the current control when rendered on a design surface.(Inherited from Control.)

这应该是对的,但书里的定义是从哪里来的呢?看了一下1.1的文档,才发现始作俑者

英文版

Site (inherited from Control) Gets information about the Web site to which the server control belongs.

中文版

Site(从 Control 继承) 获取有关服务器控件所属 Web 站点的信息。

???

看来,抄东西最好也要先理解一下再抄,别以讹传讹啊,