Subscribe: 博客园-Dynamic's Zealic
http://www.cnblogs.com/zealic/rss
Added By: Feedage Forager Feedage Grade B rated
Language: Chinese simplified
Tags:
build  cnblogs zealic  dictionary string  gadget  google  mono  msbuild  net  sql  string  windows  zealic archive  zealic 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: 博客园-Dynamic's Zealic

博客园_Dynamic's Zealic



做人如做软件;做软件如做人...



Updated: 2010-05-21T01:23:08Z

 



Windows 下使用 Nginx+Mono 部署 ASP.Net - Zealic

2010-03-31T20:47:00Z

自 Mono 1.9 以来,ASP.Net 也能通过 Mono 的 fastcgi-mono-server2 在 FastCGI 下运行了,更为可贵的是,Mono 兼容 Windows ;我们可以在 Windows 下利用 lighttpd、nginx 或 Apache 等服务器上部署 ASP.Net。

     

  自 Mono 1.9 以来,ASP.Net 也能通过 Mono 的 fastcgi-mono-server2 在 FastCGI 下运行了,更为可贵的是,Mono 兼容 Windows ;我们可以在 Windows 下利用 lighttpd、nginx 或 Apache 等服务器上部署 ASP.Net。

  我将 Mono for Windows 的 FastCGI-Mono-Server 提取出来,你可以猛击这里下载。

  而 Nginx 目前也支持 Windows,是部署 Web 服务器的一个非常不错的选择,你可以在 Nginx 的官方网站找到下载。

  下面是我对 Nginx nginx.conf 的配置,蓝色文字属于关键内容。

worker_processes  1;
error_log  logs/error-debug.log info;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type   text/plain;
    sendfile        on;

    keepalive_timeout  65;
    index  index.html index.htm;

    server {
        listen       80;
        server_name yourdomain.com;
        index index.aspx default.aspx;

        location / {
          root   D:\www/yourwebapp;

          fastcgi_pass   127.0.0.1:8000;
          fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
          include       fastcgi_params;
       }

    }
}

 

 

  然后将上面的 FastCGI-Mono-Server 提取出来,所有文件全部注册到 GAC(否则 Web 应用会找不到他们,当然你也可以直接放到 webapp/bin),然后解压到某个文件夹,这里假设为 D:/FastCGI-Mono-Server。

  之后我们就可以按下列命令运行 FastCGI:

fastcgi-mono-server2 /socket=tcp:127.0.0.1:8000 /root="D:\www\yourwebapp" /applications=yourdomain.com:/:. /multiplex=True

 

  最后执行运行 Nginx 服务器,我们的 ASP.Net 程序就能脱离 IIS 这个臃肿的家伙运行啦!!!

Zealic 04/01/2010

(image)

本文链接:http://www.cnblogs.com/zealic/archive/2010/04/01/1701897.html,转载请注明。




一种版本化的数据库脚本管理机制 - Zealic

2009-07-29T13:58:00Z

现今开发的软件当中,多数系统的数据都是基于数据库存储的,但是由于软件变化的复杂性,相对于维护代码,数据库架构的版本并不是那么好维护。

  现今开发的软件当中,多数系统的数据都是基于数据库存储的,但是由于软件变化的复杂性,相对于维护代码,数据库架构的版本并不是那么好维护。

  这里本人针对实际情况,理想化出一种可以清晰理解的数据库架构脚本的版本控制机制。

  请先看目录树:

Example.DataSchema
├─V1.0
│  ├─Common
│  │      001.Create.Table.Product.sql
│  │      002.Create.Table.User.sql
│  │      003.Create.Table.Feedback.sql
│  │      004.Create.Table.Role.sql
│  │      005.Create.Function.FN_GetlProductCode.sql
│  │      006.Create.Function.USP_CleanFeedback.sql
│  │
│  ├─Enterprise
│  │      001.Create.Table.Highland.sql
│  │
│  └─Professional
│          001.Create.Table.Lowend.sql

├─V1.1
│  ├─Common
│  │      001.Alter.Table.User.sql
│  │      002.Alter.Function.FN_GetlProductCode.sql
│  │      003.Drop.Function.USP_CleanFeedback.sql
│  │
│  ├─Enterprise
│  │      001.Alter.Table.Highland.sql
│  │
│  └─Professional
│          001.Alter.Table.Lowend.sql

└─V2.0
    ├─Common
    │      001.Alter.Table.Product.sql
    │      002.Alter.Table.User.sql
    │      003.Create.Function.USP_CheckProduct.sql
    │
    ├─Enterprise
    │      001.Create.Table.Overland.sql
    │
    └─Professional
            001.Alter.Table.Lowland.sql
            002.Create.Table.Notebook.sql

  相信上面的目录结构还算明了,我们可以根据软件的版本追溯数据库,而不是通过版本控制工具来追溯原始数据库,而数字序号的前缀,更指明了脚本执行顺序,再也不用因为在建立数据库时受到依赖/外键关系的原因而运行脚本失败了。整个层次非常清晰,头脑通透的 Coder 相信可以一看便明了。

  版本目录下有三个文件夹:Common, Professional, Enterprise,分别代表一个产品的三个定制化版本,因为软件中可能有这样的需求,软件基本结构不变,但是使用提供者模式提供了多个定制化版本,每个提供者的数据库结构基本相同,但是又有极少的差异。通过上面的这种管理机制,可以避免在源代码控制系统中开分支来维护,从某种程度上来说,提高了一定的可维护性。

  这种管理机制类似于 ROR,不过 ROR 更 OO 一些,还能够隔离特定数据;通过这种机制,我们可以结合 RikMigrations 或 Migrator.NET 进行自动化的数据库升级(需要编码)。

 

2009-07-29 Zealic

(image)

本文链接:http://www.cnblogs.com/zealic/archive/2009/07/29/1534492.html,转载请注明。




Visual Studio 使用的 ProjectTypeGuids - Zealic

2009-06-25T07:56:00Z

Visual Studio 所使用的 *.sln,*.csproj,*.vbproj 等文件表示项目类型的 GUID 列表。对于分析项目信息很有用。  Visual Studio 所使用的 *.sln,*.csproj,*.vbproj 等文件表示项目类型的 GUID 列表。   对于分析项目信息很有用。   以后如有更多的项目类型,我会补上。 Project Type Description Project Type Guid Windows (C#) {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Windows (VB.NET) {F184B08F-C81C-45F6-A57F-5ABD9991F28F} Windows (Visual C++) {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942} Web Application {349C5851-65DF-11DA-9384-00065B846F21} Web Site {E24C65DC-7377-472B-9ABA-BC803B73C61A} Distributed System {F135691A-BF7E-435D-8960-F99683D2D49C} Windows Communication Foundation (WCF) {3D9AD99F-2412-4246-B90B-4EAA41C64699} Windows Presentation Foundation (WPF) {60DC8134-EBA5-43B8-BCC9-BB4BC16C2548} Visual Database Tools {C252FEB5-A946-4202-B1D4-9916A0590387} Database {A9ACE9BB-CECE-4E62-9AA4-C7E7C5BD2124} Database (other project types) {4F174C21-8C12-11D0-8340-0000F80270F8} Test {3AC096D0-A1C2-E12C-1390-A8335801FDAB} Legacy (2003) Smart Device (C#) {20D4826A-C6FA-45DB-90F4-C717570B9F32} Legacy (2003) Smart Device (VB.NET) {CB4CE8C6-1BDB-4DC7-A4D3-65A1999772F8} Smart Device (C#) {4D628B5B-2FBC-4AA6-8C16-197242AEB884} Smart Device (VB.NET) {68B1623D-7FB9-47D8-8664-7ECEA3297D4F} Workflow (C#) {14822709-B5A1-4724-98CA-57A101D1B079} Workflow (VB.NET) {D59BE175-2ED0-4C54-BE3D-CDAA9F3214C8} Deployment Merge Module {06A35CCD-C46D-44D5-987B-CF40FF872267} Deployment Cab {3EA9E505-35AC-4774-B492-AD1749C4943A} Deployment Setup {978C614F-708E-4E1A-B201-565925725DBA} Deployment Smart Device Cab {AB322303-2255-48EF-A496-5904EB18DA55} Visual Studio Tools for Applications (VSTA) {A860303F-1F3F-4691-B57E-529FC101A107} Visual Studio Tools for Office (VSTO) {BAA0C2D2-18E2-41B9-852F-F413020CAA33} SharePoint Workflow {F8810EC1-6754-47FC-A15F-DFABD2E3FA90} XNA (Windows) {6D335F3A-9D43-41b4-9D22-F6F17C4BE596} XNA (XBox) {2DF5C3F4-5A5F-47a9-8E94-23B4456F55E2} XNA (Zune) {D399B71A-8929-442a-A9AC-8BEC78BB2433} SharePoint (VB.NET) {EC05E597-79D4-47f3-ADA0-324C4F7C7484} SharePoint (C#) {593B0543-81F6-4436-BA1E-4747859CAAE2} Silverlight {A1591282-1198-4647-A2B1-27E5FF5F6F3B} ASP.Net MVC Application {603C0E0B-DB56-11DC-BE95-000D561079B0}  顺便附上一个解析 sln 文件内的所有 C# 项目文件路径的正则表达式:Title.+{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.+\"(?[\w\.]+)\", "(?[\w\.\\]+)\"   参考链接   INFO: List of known project type Guids   How To: Adding MVC items to an ASP.NET Web Application  06/25/2009 Zealic 本文链接:http://www.cnblogs.com/zealic/archive/2009/06/25/1511039.html,转载请注明。[...]



MSBuild 简解 - Zealic

2009-03-28T14:41:00Z

从最原始的编译器,逐渐到 Shell 命令组合、Make工具,到现在的针对性 Build 工具,Rake、Ant、MSBuild...  从最原始的编译器,逐渐到 Shell 命令组合、Make工具,到现在的针对性 Build 工具,Rake、Ant、MSBuild,甚至于 PowerShell 这样的工具;都为我们软件开发以及系统管理做出了贡献,我甚至不能想象几十年前使用编译器生成程序的复杂步骤(其实就是把 makefile 拆开,相当恐怖)。   探讨 Make、Ant 以及 MSBuild 无太多意义,甚至从纯技术和扩展性上来说,我认为 MSBuild 弱于 NAnt,但是软件并不是这么简单,之所以深研 MSBuild,M$ 作为后盾让人信任的无奈。   本文主要讲述 MSBuild 的基本概念,以及如何使用它辅助开发。   首先我们来看一个最简单的 Build: Hello MSBuild!   假设我们把这个文件保存到 D:\build.proj ,然后在命令行切换工作目录到 D:\,运行 msbuild.exe(msbuild 默认直接运行当前目录下的 *.sln 或 *.*proj 文件),则命令行将会显示详细的 build 信息,当然也包括我们的消息 'Hello MSBuild!' 。  概念Project  Project 代表一个 Build,有属性 ToolsVersion、DefaultTargets、 InitialTargets,分别为 依赖的 MSBuild 版本、默认 Build 目标,初始化目标。Property  Property 是 MSBuild 中的基本单元,可以理解为变量,我们可以在大多数地方使用它作为 Task 的参数以完成我们预期的目标。  下面的语句示范如何声明 Property: Kate D:\Workspace  这里定义了两个 Property,我们可以使用 $(Name) 和 $(WorkPath) 来引用它们,就和前面的范例一样。  Property 可以使用 MSBuild 的 /p 参数定义,这里就使用 Condition 属性判断是否存在外部 Name,如果不存在则使用自定义的 "Kate"。 Target  Target 是 Build 的基本单元,也对应 MSBuild 的 /t 参数,可用参数有 DependOnTargets,代表依赖的目标。Task  Task 即任务,Build 的过程就是若干 Task 的执行。上面的 就是 MSBuild 内置的一个 Task,Text 则是参数。  Task 可以使用 Condition 属性。  通常情况下,MSBuild 自带的 Task 并不够用,有以下 MSBuild 扩展,可以几乎不需要自己写扩展:  * MSBuild Community Tasks  * SDC Tasks Library  * MSBuild Extension PackItem  我们可以简单的把 Item 理解为 .Net 中的 Dictionary> 类型,内层的字典被称作元数据表。 Zealic 2009-01-01T11:22:33   为方便理解,我们可以用 C# 来表述上述内容。var Table = new Dictionary{ {"A", new Dictionary}, {"B", new Dictionary}, {"C", new Dictionary}, {"D", new Dictionary}};var Game = new Dictionary{ {"StarCraft", new Dictionary}[...]



CCNet 的 Build 流程 - Zealic

2009-03-10T01:49:00Z

CCNet 的 Build 流程StartNewIntegration
GetLastState(获取上一次的  Build 状态,对应 ccnet 目录下的 < ProjectName>.state 文件)
GetModifications
MarkStartTime
Build
{
  Prebuild(对应 prebuild 配置节,任何一个 task 失败都会导致不再后续的 task)
  GetSource
  RunTasks(对应 tasks 配置节,任何一个 task 失败都会导致不再后续的 task)
}
MarkEndTime
PostBuild
{
  FinishIntegration(持久化 Build 状态,下次 GetLastState 获取该状态)
  PublishResults(即使 Build 失败依旧执行该流程,对应 Publisher 节。任何一个 publisher 运行失败都会继续运行后续的  publisher)
}


附: CCNet 传递给 MSBuild 或 NAnt 的变量
CCNetArtifactDirectory=d:\ccnet\Artifact\MyProject //对应配置 /ccnet/project/artifactDirectory
CCNetBuildCondition=ForceBuild // Build 条件
CCNetBuildDate=2009-03-10 // Build 日期
CCNetBuildTime=09:36:11 // Build 时间
CCNetFailureUsers="WORKGROUP\zealic,WORKGROUP\jim" //生成失败的相关用户(从源代码变更中获取)
CCNetIntegrationStatus=Unknown //本次集成状态
CCNetLabel=2009.03.10.001 // Labeller 生成的 label
CCNetLastIntegrationStatus=Failure //上次集成状态
CCNetListenerFile=d:\ccnet\Artifact\MyProject\MyProject_ListenFile.xml
CCNetNumericLabel=1 //CCNetLabel 变量的数字表现形式
CCNetProject=MyProject //对应配置 /ccnet/project/name
CCNetProjectUrl=http://localhost/dashboard/ //对应配置 /ccnet/project/webURL
CCNetRequestSource=zealic //对应 sourcecontrol 配置中的 username
CCNetWorkingDirectory=d:\ccnet\MyProject\  //对应配置 /ccnet/project/workingDirectory

3/10/2009 Zealic(image)

本文链接:http://www.cnblogs.com/zealic/archive/2009/03/10/1407545.html,转载请注明。




发散性碎片(2008-12-29) - Zealic

2008-12-29T13:48:00Z

MSBuild 一直都是 .Net 下 Build 工具的不二选择,可怜开源社区的 NAnt 几乎已经被彻底遗忘

MSBuildExtensionPack

  MSBuild 一直都是 .Net 下 Build 工具的不二选择,可怜开源社区的 NAnt 几乎已经被彻底遗忘。而 MSBuild 则在蓬勃的发展。

  如果老兄你对持续集成 Very 的有兴趣的话,那么如果你不会 MSBuild 的话,我只能拍着你的肩膀说一声:老兄,你真的太老了;让来我们看看 MSBuild 的未来。

  Visual Studio 中的众多项目都是基于 MSBuild 的构建,包括 CodeAnalysis,OfficeTools,ReportingServices,WebApplications 以及 Workflow 等等,有兴趣的同学完全可以翻开 C:\Program Files\MSBuild 目录研读一番。

  有一个例外,Visual C++ 项目在 VS2003、VS2005、VS2008 是基于自己的构建方式,但是这一情况在 VS2010 中将彻底改变为基于 MSBuild 的构建方式,同时 Visual C++ 项目的智能感知数据库也会基于 SQLCE,而非以前的 .ncb (这是什么格式,Structured storage ??)。

  最后,Novell 的 Mono 项目也有一个 MSBuild 的克隆 - xbuild,好吧,我承认它是一个半成品。就目前来说,Mono 真的只是玩具,完全承担不起平台的重任 - 它实在太不稳定了~~

  扯远了,我们来说正题,今日在网上闲逛,发现了一个新的关于 MSBuild 的扩展项目,之前我们有这样的扩展项目可以用:

  如果你的团队很大的话,SDC 是不错的选择,因为它的 TFS 集成度很好,而 Community Tasks 则提供了一大堆功能给你用,无论是模板还是 XML 操作,或生成 AssemblyInfo.cs ,都是手到擒来。

  而现在呢,我们有一个新的扩展 MSBuildExtensionPack,它更加强大(感觉像在看龙珠漫画似的,没有最强,只有更强),在这里我就厚脸皮的直接摘抄介绍过来哈:

The *MSBuild Extension Pack 3.5.1.0* release provides a collection of over 230 MSBuild tasks.
A high level summary of what the tasks currently cover includes the following:

  • System Items: Certificates, COM+, Console, Date and Time, Drives, Environment Variables, Event Logs, Files and Folders, GAC, Network, Performance Counters, Registry, Services, Sound
  • Code: Assemblies, CAB Files, Code Signing, File Detokenisation, GUID’s, Mathematics, Strings, Threads, Xml, Zip Files
  • Applications: BizTalk 2006, Email, IIS6, IIS7, MSBuild, SourceSafe, SQL Server 2005, SQL Server 2008, StyleCop, Team Foundation Server, Visual Basic 6, WMI

  这样众多的 Task 如果配合 Windows PowerShell 以及 CC.Net,只要你的团队或者 PM 不是烂的过分,在这些工具的帮助下,效率肯定直线上升,您的项目奖金也唾手可得啦。:)

MessageBox

  通常看到 MessageBox 弹出时,如果需要其中的信息,一般用手打或者用 Spy++  取其中的文字。结果现在才发现,MessageBox 支持 Ctrl+C,即复制功能,直接复制文本到剪切板。

  是我孤陋寡闻,还是地球人都不知道?

 

Subversion 的 log.c 错误

使用 svnserve 作为 Subversion service 时,查看日志时可能会出现 ..\libsvn_repos\log.c 这样的错误,这时只要在你的 authz 配置中加上 * = r 即可。

参考 :http://www.nabble.com/Show-Log-Error-td19145692.html

2008-12-29 Zealic

(image)

本文链接:http://www.cnblogs.com/zealic/archive/2008/12/29/1364797.html,转载请注明。




Google Toolbar 5 - Zealic

2008-12-28T14:51:00Z

Google Toolbar 5 已经发布正式版,并且自动更新到我的计算机上,兼容性和 TheWorld 没有问题,以下是新功能:在线保存配置,现在可以把你的 Toolbar 的配置保存在 Google 上,这样在异地使用 Toolbar 时,将有一致的体验,再也不用在其他地方使用电脑时重新配置 Toolbar 了。 新的选项 UI,比以前漂亮多了。 自动填表,很多浏览器都有的功能,当然 - IE...

  Google Toolbar 5 已经发布正式版,并且自动更新到我的计算机上,兼容性和 TheWorld 没有问题,以下是新功能:

  • 在线保存配置,现在可以把你的 Toolbar 的配置保存在 Google 上,这样在异地使用 Toolbar 时,将有一致的体验,再也不用在其他地方使用电脑时重新配置 Toolbar 了。
  • 新的选项 UI,比以前漂亮多了。
  • 自动填表,很多浏览器都有的功能,当然 - IE 没有。
  • Google Notebook 功能集成,功能和 Firefox 的 Google Notebook 插件完全相同。

  总的来说,感觉不错,唯一的缺点就是似乎比老版本速度慢了那么一点。

  另外 Firefox 的 Google Toolbar 5 依旧在 Beta 中。

2008-12-28 Zealic

(image)

本文链接:http://www.cnblogs.com/zealic/archive/2008/12/28/1364175.html,转载请注明。




简析 Google Gadget 的数据丢失原因 - Zealic

2008-12-24T14:37:00Z

崇尚 GTD 的人不少,诸如 TodoList 和便签之类的工具也有很多人使用,但我听说很多人使用 Google 提供的 TodoList Gadget 以及 Sticky Note Gadget 时,丢失过数据,之后就再也不使用了,出于某种目的,我研究了下其中的原因。 试用过 iGoogle 的人都应该知道 iGoogle 可以在线保存配置。这样在其他地点使用 iGoogle 时,还能保持 Ga...

  崇尚 GTD 的人不少,诸如 TodoList 和便签之类的工具也有很多人使用,但我听说很多人使用 Google 提供的 TodoList Gadget 以及 Sticky Note Gadget 时,丢失过数据,之后就再也不使用了,出于某种目的,我研究了下其中的原因。

  试用过  iGoogle 的人都应该知道 iGoogle 可以在线保存配置。这样在其他地点使用 iGoogle 时,还能保持 Gadgets 不变,同时 iGoogle 也提供导出配置为 xml 的功能,我通过查看其 XML 的格式,发现诸如 TodoList Gadget 以及 Sticky Note Gadget 这样的 Gadget 皆是将数据保存在 iGoogle 的配置中的 --- API 允许这么做,。

  因此,得出的结论是:使用 iGoogle TodoList Gadget 以及 Sticky Note Gadget 时,必须小心留意你的配置文件,无论是删除 Gadget 还是还原、清空备份文件,都会导致你的 Gadget 数据丢失。

  其实,要用 TodoList 的话,Remember The Milk 是不错的选择。

2008-12-24 Zealic

(image)

本文链接:http://www.cnblogs.com/zealic/archive/2008/12/24/1361872.html,转载请注明。




乱弹用户资源 - Zealic

2008-12-05T13:29:00Z

一企业无论在何种阶段,如何掌握更多的用户,并且让用户具有更高的粘性,是必修的课题。

  一企业无论在何种阶段,如何掌握更多的用户,并且让用户具有更高的粘性,是必修的课题。

  在中国,大多数网民上网都必备一个腾讯公司的 QQ 号码,在某种程度上来说,没有 QQ 号码,就可以称作火星人;造成这种原因的情况的是有历史原因的;在大约95-99年的时候,中国兴起一股晚到的互联网浪潮,可以说中国的第一批真正意义上的网民就是从中诞生的;此时,信息交流所必须的一种工具,在中国以一种较新的方式,它就是 OICQ 即我们现在所熟知 QQ,从名字上就可知 QQ 当时是模仿 ICQ 诞生的,仅有最简单的聊天功能,而就是这种最简单的功能,成就了中国互联网的基石。我甚至可以断言,即使在今天,如果 QQ 这样的软件全部消失,绝对会造成中国互联网的恐慌。

  腾讯掌握了中国的网民的数量可说为中国最多也不过,这里就牵扯到我们要讨论的话题:核心用户资源。

  这里我么可以理解用户资源为一个用户的帐户,具有很高黏度的那种帐户;因为时代原因,中国和欧美国家的互联网信息构成模式有很大不同;欧美国家的构成模式为 邮件/邮件列表/新闻组/门户,中国的构成模式为 即时聊天/论坛/门户,到目前的 Web 2.0 时代,又多了 博客/RSS/Twitter 这样的信息构成。

  但到目前为止,邮件始终是互联网的基石,这一点在中国不是太明显,多数中国 Web 公司都有自己的用户群和帐户系统,但是这些都是松散的结构,统一及多网站交互非常困难。

  像百度这样虽然推出了众多的服务,但是却没有为用户提供邮件帐户,并不能增加用户黏性,目前黏性最大的服务即是百度贴吧,但我更多将他看做提供娱乐交流的服务,用户虽众多,但是并不牢靠,娱乐毕竟不能产生真正有价值的东西。

  而腾讯 QQ 掌握中国绝大部分用户,也可算雄霸一方,但其小气吝啬的作风让很多人都不爽,他的巨大可说是建立在中国网民素质(计算机素质)普遍不高的情况下。当网民素质普遍提高以后,并且对于即时聊天的以来减少以后,消亡也是迟早。不过就目前来看,似乎很难,因为腾讯通过 QQ 巨大的用户群为平台,展开一系列的如 QQ空间、QQ游戏 等捆绑行为,试图将增加用户黏性,但用户群始终难以扩大,依旧固定在较年轻人群这一群体,因此,未来就很难说了。

  更能让人看好的是豆瓣这样 Web 2.0 网站,通过共性聚集的人群黏性不是一般强!

  我始终相信,只要掌握了中国的邮件帐户,就掌握了中国的互联网核心用户资源。

  现在是 Web 2.0 时代,未来的发展方向肯定是 Web 与桌面结合;Web 是不可阻挡的趋势,Google 和 Microsoft 两个死对头都推出了自己的解决方案。

  Google 为我们提供的解决方案是:

  • Google Docs
    • Word
    • Spreadsheet
    • Presentation
  • Google Sites
  • Google Notebook
  • Google Calendar
  • Google Mail
  • Google Reader
  • Google Picasa
  • Google Talk

  Microsoft 为我们提供的是 Windows Live 一整套解决方案。Live 试图打造一个统一的品牌:

  • Office Live
    • Word
    • Excel
    • PowerPoint
    • Note
    • List
  • Live Writer
  • Live Photo
  • Live Mail
  • Live Messenger
  • Live SkyDrive

  而我呢。现在则正在烦恼到底用微软解决方案还是 Google 的解决方案;从根本上说我是喜欢微软解决方案的(有因为自己是 .Net Developer 的因素在内),毕竟可以和 Office Outlook 之类的无缝整合,但是 Google 的服务确实好用。所以目前其实是混合,用 Google 的服务比较多,如果 Google 还在拖延 Google Drive 的推出,我就会毫不犹豫的投向 Microsoft 的服务了。

  目前使用的服务有:

  • Google Reader
  • Google History
  • Google Notebook
  • Google Mail
  • Google Docs
  • Live Space
  • Live SkyDrive
  • Live Writer

  胡言乱语一通,哈哈,看官勿笑。

2008-12-5 Zealic

(image)

本文链接:http://www.cnblogs.com/zealic/archive/2008/12/05/1348721.html,转载请注明。




职业·病 - Zealic

2008-12-01T11:10:00Z

最近心口和左肩膀相当痛,连呼吸也痛,后来发现和颈椎有点关联,去诊所查了查,曰:颈椎压迫神经。 大寒!!! 职业病来了,俺的大好青春完了... 咳,不扯鸟;所谓颈椎压迫神经是一种 XXX (密码锁:须医学知识 XXX 可开)的病,“挨踢”人士、驾驶员、财会、科研人员等是高发人群,作为一个“挨踢”人士,很不巧,俺被踢中了。 当然,目前并不算严重,相信只要“少熬通宵夜早眠,三餐稳定多锻炼。”,应该很快搞...

  最近心口和左肩膀相当痛,连呼吸也痛,后来发现和颈椎有点关联,去诊所查了查,曰:颈椎压迫神经。

  大寒!!!

  职业病来了,俺的大好青春完了...

  咳,不扯鸟;所谓颈椎压迫神经是一种 XXX (密码锁:须医学知识 XXX 可开)的病,“挨踢”人士、驾驶员、财会、科研人员等是高发人群,作为一个“挨踢”人士,很不巧,俺被踢中了。

  当然,目前并不算严重,相信只要“少熬通宵夜早眠,三餐稳定多锻炼。”,应该很快搞定的。

  作为程序员,同志们要关注自己的健康啊,希望看官中身为该病高发人群多注意,不要学习本人,钻研技术或干类似的事“彻夜不眠至日夜颠倒,一日仅一餐果腹。”的境界,对身体大害啊!!!

自作草诗,送给看官,也送给自己:

心及千尺欲登峰,身有微恙力不济。

手揽万千黄金箸,胡烟毒酒命几足。

  找到新工作鸟,新的公司貌似很不错的样子,明天就是第一个工作日,好好干吧,Zealic!

  Now, I'm back again.

2008-12-1 Zealic Back Again

(image)

本文链接:http://www.cnblogs.com/zealic/archive/2008/12/01/1345137.html,转载请注明。