MSDN中文门户今天正式发行了

根据其倒计时的Script,应该是3月31日上午9点开通:

var Tday = new Date(“Mar 31, 2004 8:59:59”)?? //**倒计时时间点

据称微软公司开发合作部,计划耗资250万元,汉化MSDN(Microsoft Developer Network)网站。希望这个的网站带给最新的权威的准确地信息。

识别字体 | Identify Font

对字体的设计和识别也是一项专业。比如说我的%Windir%\Font目录下有275个字体文件,大部分我叫不出名字。难得有空的时候看看不同的字体,学到一些知识,也是不错的。

在Longhorn下,每个Application都可以充分利用不同的Font实现丰富的用户界面和体验。所以学到的知识会很有用的。

在这个关于font的网址里(http://www.identifont.com/),既可以搜索,又可以浏览,值得推荐。

招聘

上海微创软件有限公司

地址:上海市延安东路222号外滩中心21

邮政编码:200002

公司网站:

上海微创软件有限公司是微软公司和上海市政府共同投资创立的新型软件企业。微创公司以软件服务、软件开发、软件培训、技术咨询和软件出口为主体,提供拥有自主知识产权的企业信息化系列软件产品以及电子政务、电子教育、行业应用解决方案等,开创一个崭新的软件企业的商业模式。激情正直、竞争向上、职业敬业、创新完美是微创企业文化的核心,在实现企业发展目标的同时,每个员工都会拥有广阔的发展空间,从而实现企业以员工利益为本、员工以企业利益为上的双赢目标。如果您敢于迎接挑战,如果您对工作充满着激情,如果您愿意与微创共同成长,来加入微创团队吧!

派驻微软(中国)有限公司

Technology Solutions Professional 微软技术方案专家

电子邮箱 v-howang at microsoft.com (请将 at 替换为@)

职位发布日期:2004-03-30

工作所在地:北京

人数:若干

背景:
NT4, BackOfficeWindows 2000 Server, .NET Enterprise Servers, 以及Windows System 2003, Office System 2003;从Visual Studio, COM+.NET技术;微软中国有限公司的技术方案专家们一直默默耕耘,他们和微软的同事们密切合作,为微软的企业级技术在中国的推广做出了不可磨灭的贡献。由于业务迅速增长,第一次对外大规模聘请精英。

职位说明:
该职位为微软的合资公司(上海微创软件有限公司)依照合同外派到微软(中国)有限公司全职工作的员工,代表微软公司工作。此职位负责向微软的主要客户合作伙伴提供技术方案咨询和售前技术支持,对合作伙伴进行技术培训和咨询,是微软主要的产品以及行业市场活动的技术发言人,肩负把微软的先进技术推向市场的重任。

具体职位:
1
.电信行业客户技术方案专家(Account TSP for Telecom
2
.政府及教育行业客户技术方案专家(Account TSP for Public Sector
3
.交通,电力,烟草行业客户技术方案专家(Account TSP for National
4
.全球大客户技术方案专家(Account TSP for Global
5
Windows Media 9 Series专项技术推广专家(Account TSP for Digital Media Division
6
.应用类服务器产品技术方案专家 Product TSP for Application & E-Business Servers
7
.数据库与商业智能产品技术方案专家(Product TS for SQL/OLAP
8
.系统管理产品技术方案专家(Product TS for Systems Management
9
.系统安全产品技术方案专家(Product TS for Security
10
.合作伙伴技术方案专家 Partner TSP
11
.微软售前支持工程师(Pre-sale Support Engineer
其中职位1-10要求较高;职位11要求较低,侧重服务器安装,部署,配置,维护实际经验。

工作职责:
为主要客户和合作伙伴作微软企业级产品和解决方案的讲解、演示。
拜访主要客户的CIO, IT Manager, Tech Lead,分析和讨论需求,撰写技术解决方案书。
培训和引导微软的主要解决方案提供商,服务商按照最佳的方式使用微软的企业级技术。
指导微软公司和微软经销商的市场和销售人员如何推广微软的企业级技术。
产品发布会,巡展,行业市场解决方案市场活动的技术发言人。
竞争对手与技术市场的分析。

要求:
优秀的中英文沟通和演示技巧。
要求对微软20002003系列企业服务器产品有广泛了解,对某些产品有深入了解,对微软平台的开发技术有一定理解。
此职位工作地点如上,但要求适应较经常的短期出差。
技术,市场,管理复合型人才。要求以结果为导向,能自我激励。较强的协调能力和团队精神。工作努力,稳定、成熟的性格。
是一个快速学习者和快速行动者。
从事行业工作的,以有相关行业项目经验和知识为佳。
不限专业,学历,只求对微软企业技术脉络的把握能力;不足3-5年工作经验但条件优异的也可考虑。

欢迎资深的MCT, MVP, MCSE/MCSD,和任何立志成为微软平台的全面技术专家的人加入,尤其欢迎坚信微软的企业级技术会发扬光大并成为这一历史的撰写人和见证者的人们加入。

 

Visual Studio 2005 Community Technology Preview (For MVP)

如果您是Whidbey的Fans,如果您是MVP,那么您现在可以使用MSDN宇宙版订阅权下载Visual Studio 2005 Community Technology Preview 了。

孙展波在上一个随笔中曾经提到过Whidbey将会被推迟到2005年发行,当时引用的是路透社的报道,而现在,基于MSDN 订阅者下载站点中的文件名称,我们可以看出,这个预言已经变成了现实。

这是一个Full DVD的镜像文件,大小共有2.67GB,想下载起来并不是非常容易,让我想起了N年前,下载VS.NET 2002的情景,和一个哥们在他们公司里面,半夜两点使用ISDN进行下载,中间断了无数的线,还好我们有网络蚂蚁笑脸

 

收到表扬信,心情高兴:)

从上周六开始,参加合作伙伴的项目研发过程中,所做的工作在我的上一个随笔中已经写了。这几天的开发工作真的非常辛苦,我们的合作伙伴中有一位都已经流鼻血了。在结束后,我把我的MSN上的描述也已经改成了“四天不睡觉,博甲方一笑”。

这几天一直在家里面补觉,也上一下博客堂,发现了mvm以及5drush的辩论,希望大家能够理性的把辩论继续下去,而不要搞什么人身攻击,请甲方不要以我们是MVP或者MS员工为攻击点,乙方也要继续发扬把事情掰开了揉碎了讲明白的精神。不过辩论仍然是不会有结果的,说服人非常难。相信大家在战场下也会成为朋友,所以不要出现人身攻击。

下午沈嵘老大为我们PTS讲SOA,呵呵,所以早早起床,准备赶回公司去听课,不过也不早了笑脸。mvm,欢迎你也来参加笑脸

今天还收到了一封来自合作伙伴的表扬信,就是那位流鼻血的朋友发来的,他与我们的一位同事的聊天纪录:

甲方 说:
和你们共事这几天真是感触颇多,微软不愧是微软,员工都是精英中的精英
乙方 说:
呵呵,我这些同事确实不错。
甲方 说:
微软的精神确实是积极进取的。

甲方 说:
给我的感觉是这样的,而且印象很深

甲方 说:
我原以为你们会把源程序带走,结果发现都在,所以也很感触

甲方 说:
和你们合作就有这种感觉,和IBM就没这种感觉了。

(涉及个人隐私,略有删节)。

新浪短信Web Service

上一篇文章中,提到了在我的流程监控系统中应用了新浪发送短信的Web Service,得到了大家的响应。很多人对此非常感兴趣。

在得到该资源的推荐者张炜先生(开发合作部的同事)的允许后,我决定公布此资源,并且提供如同鸡肋般的示例代码。

该资源的该问地址为:http://smsinter.sina.com.cn/ws/smswebservice0101.wsdl,这是一个WSDL文件格式,您可以直接在您的VS.NET环境中直接添加Web引用,把该地址输入即可。

该Web Service就只有一个方法,即string sendXml(carrier,userid,password,mobilenumber,content,msgtype)。各个参数全部为string类型,其含义基本如下(可能不正确)。

  • carrier:运营商名称,这里面可以随便输,不过似乎没有任何显示,不知道里面有没有其它奥秘。
  • userid:您在新浪无线上注册的手机ID,即http://sms.sina.com.cn
  • password:您在新浪无线上注册手机时所使用的密码。
  • mobilenumber:对方的手机号码;
  • content:发送短消息的内容;
  • msgtype:发送短消息的类型,我估计支持彩信,不过我目前仅使用文本短信方式,似乎随便输什么都可以,我使用的是“Text”。

示例如下:

Sina.SMSWS ws = new Sina.SMSWS();
   string result = ws.sendXml(“Sina”,textBox1.Text,textBox2.Text,textBox3.Text,textBox4.Text,”new”);

 

资费标准请参看新浪无线网站上的相关说明,应该是一条一角钱,不过也或者是一条两角线。由于其后台可能使用了消息队列机制,在繁忙的时候,可能会有几秒钟延迟。

ASP.NET开发经验(3) — 使用 GUID 值来作为数据库行标识

GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值。

GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。

世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。

在这次开发 ASP.NET 应用时,我大量使用了类型为 GUID 的 ID 列作为各实体表的关键字(键)。由于其唯一、易产生的特性,给应用程序处理带来诸多好处。

1、在 SQL Server 中使用 GUID

如果在 SQL Server 的表定义中将列类型指定为 uniqueidentifier,则列的值就为 GUID 类型。

SQL Server 中的 NewID() 函数可以产生 GUID 唯一值,使用此函数的几种方式如下:

1) 作为列默认值

将 uniqueidentifier 的列的默认值设为 NewID(),这样当新行插入表中时,会自动生成此列 GUID 值。

2)使用 T-SQL

在 T-SQL 中使用 NewID()函数,如“INSERT INTO Table(ID,… ) VALUES(NewID(),…)”来生成此列的 GUID 值。

3)提前获取 GUID 值

由于特殊功能需要,需要预先获知新行的 ID 值,也可以使用如下 C# 代码提前获得 GUID 的值,再存储到数据库中:

 SqlCommand cmd = New SqlCommand();
 cmd.CommandText = “SELECT NewID()”;
 string rowID = (string) cmd.ExecuteScalar();
 cmd.CommandText = “INSERT INTO Table(ID,…) VALUES(@ID,…)
 cmd.Parameters.Add(“@ID”,SqlDbType.UniqueIdentifier).Value = new Guid(rowID);
 cmd.ExecuteNoQuery();

uniqueidentifier 值不能进行算术运算,但可以进行(意义不大的)比较操作和 NULL 检查;它不能象 IDENTITY 列一样,可以获知每行的增加时间的先后顺序,只能通过增加其它时间或时间戳列来完成此功能。

2、在 .NET 中使用 GUID

GUID 在 .NET 中使用非常广泛,而且 .NET Framework 提供了专门 Guid 基础结构。

Guid 结构的常用法包括:

1) Guid.NewGUID()

生成一个新的 GUID 唯一值

2) Guid.ToString()

将 GUID 值转换成字符串,便于处理

3)构造函数 Guid(string)

由 string 生成 Guid 结构,其中string 可以为大写,也可以为小写,可以包含两端的定界符“{}”或“()”,甚至可以省略中间的“-”,Guid 结构的构造函数有很多,其它构造用法并不常用。

同时,为了适用数据库中使用 GUID 的需要,.NET Framework 也提供了 SqlGUID 结构,它和 Guid 结构类似,只是两者对排序(CompareTo)的处理方式不同,SqlGuid 计算值的最后 6 个字节。而 Guid 计算全部 16 个字节,这种差异可能会给 SQL Server 中 uniqueidentifier 列的排序带来一定影响,当然这种排序意义也不大。

.NET Framework 中可以使用类 GuidConverter 提供将 Guid 结构与各种其他表示形式相互转换的类型转换器。

3、GUID 的优缺点

1) 优点

  • 同 IDENTITY 列相比,uniqueidentifier 列可以通过 NewID() 函数提前得知新增加的行 ID,为应用程序的后续处理提供了很大方便

  • 便于数据库移植,其它数据库中并不一定具有 IDENTITY 列,而 Guid 列可以作为字符型列转换到其它数据库中,同时将应用程序中产生的 GUID 值存入数据库,它不会对原有数据带来影响。

  • 便于数据库初始化,如果应用程序要加载一些初始数据, IDENTITY 列的处理方式就比较麻烦,而 uniqueidentifier 列则无需任何处理,直接用 T-SQL 加载即可。

  • 便于对某些对象或常量进行永久标识,如类的 ClassID,对象的实例标识,UDDI 中的联系人、服务接口、tModel标识定义等。

2) 缺点

  • GUID 值较长,不容易记忆和输入,而且这个值是随机、无顺序的,所以使用时要注意场合,最好不要尝试用它来作为你的电子邮件地址 J

  • GUID 的值有 16 个字节,与其它那些诸如 4 字节的整数相比要相对大一些。这意味着如果在数据库中使用 uniqueidentifier 键,可能会带来两方面的消极影响:存储空间增大;索引时间较慢。

综合来说, GUID 的优点带来的便利远超出其缺点带来的影响,随着诸如 WebService 等系统互联与整合技术的不断发展,其唯一标识的特性使得其应用越来越广,在您的应用程序中也应考虑使用它了。

点击春天

春节过去很久了,现在倒是慢慢有了春意盎然的样子。各位在工作学习博客之余,不要忘记抽出一点时间看看这个绿色的自然。春夏秋冬,自然界的奥妙,一定是远胜于.NET的。

还能记得几个CCTV春节晚会的节目?今年和去年,都有一个伴歌的舞蹈里面,演员挥舞着手提电脑或者随身电脑(Tablet PC)。歌词也处处离不开计算机及相关技术,代表了信息时代,网络时代的常用语。

今年的这首歌叫做点击春天,作词姚明,不知道是不是打篮球的姚明。用了一些很新鲜的比喻,比如同样是星体的月亮和太阳,可以是计算机软件和发布软件的光盘。这首歌说明了,among other things,软件是和计算机用户日夜相伴的太阳和月亮。其重要性可见一斑。

以下是歌词欣赏:

驱动年轻的心,存储所有的情感;
在时代屏幕上,显示我们青春容颜

让我们搜索绿色网站,一起点 点 点击春天
编辑一首春的歌谣, 发送多少春的祝愿

复制多彩的路,删除昨天的缺点
在时代屏幕上,共同设置辉煌明天

In the spring, in the spring, 摘下月亮当作软件
In the spring, in the spring, 再把太阳当作光盘

(附记:去年的那首歌叫做“DV今晚”)

XP SP2再感受

看见了sam1111的“感受XP SP2”,就想到我已经放好在网上的几个XP SP2的最新UI。本来想上传很多以后再Post,但是现在还是抢个Beat Report吧:


经常可以感到firewall在辛勤工作


IE的Information Bar。如果你真的想看pop-up,只需要选择Show Blocked Pop-up.


Automatic Update的新UI


下载程序以后的更多选项