IT技术博客

IT技术博客,精选各种精华文章供您阅读,是您学习各种IT技术的博客优选之地

Jumony入门(四)无缝体验

首先介绍一下Jumony是什么,Jumony是一个.NET的开源项目,项目主页位于:http://jumony.codeplex.com/,采用LGPL协议发布。 Jumony试图提供在传统Web开发模型中许多难以解决问题的解决方案。一言蔽之,Jumony的一切基础建立在服务器端的HTML DOM之上。在服务器端将HTML(文件或动态网页技术的输出)按照客户端浏览器的处理方式解析为HTML DOM。操纵和处理HTML DOM,就像我们在客户端用JavaScript干的那些事情一样,不同的是,Jumony可以使你依托强大的.NET Framework,来解决以前用脚本和服务器端技术都难以解决的事情。 系列目录: Jumony入门(一)从这里开始 Jumony入门(二)初识选择器 Jumony入门(三)初探解析器 这是系列文章的第四篇,这个系列尝试一步步从一些最简单的例子开始了解怎

结对编程-神奇的力量

《极限编程实践》之结对编程 还记得入职之前,HR跟我说,你面试的时候是.NET,不过根据现在公司项目的状况,你很可能会去做Java,你愿意么?我想了想,从来没写过实际的Java项目啊,Hello world也是好几年之前了,这能行么?但是我又很想得到这份工作,然后就说:Let me try。就这样,我这么一个.NET程序员就跑到Java Team打酱油去了。现在,半年快过去了,做了半年的基于SH架构的Java开发。从开始的经常用”==”比较Long,使用小写命名package,到现在我甚至可以解答其他团队成员的Spring问题。Ok,这一切都是拜结对编程所赐,多么神奇的力量。 ThoughtWorks是一家完全贯彻敏捷实践的公司,除了给那些想采用敏捷软件开发的公司提供咨询外,公司自身的所有项目也都是采用敏捷实践的,即我们通过亲身实践,并指导大家实践。在公司,几乎

Web产品设计思路浅解

> 两年前,看了《情感化设计》很是感触,作者将设计分了层次分为三个层:本能、行为和反思,按我的理解是,界面、功能和自我实现,当然界面已经包含了产品的一切,但我指的仅仅是简单的界面层次,不包括由界面的功能层次。功能指的是产品所包括的功能,自我实现,这个词有点别扭,但我想不到别的词了,暂时用这个吧,自我实现指的是,系统营造的气氛给用户带来愉悦,让用户觉得有趣或者说有意思之类的感觉。这本书的理论很经典,可惜我做开发的,对于产品设计不是很了解,看不出这些理论有什么可操作性,很是迷惑就把书放下了,到现在,对于产品有了些许认识,也想把自己这些想法记录下来,当作自己的积累吧。   好的设计自然要是好看的,这一层不容置疑,但毕竟这一层是在需求之后的,也就是说必须先有功能,才到界面设计。那么先来说功能设计,什么用的功能是好的功能?对于用户来说,自然是用户最需要的功能且是好用易用的功能,说到这,得先

PowerShell2.0之与COM对象交互(四)IE自动化

上一篇文章主要介绍了powershell中通过COM操作Excel,本篇文章中将会着重介绍powershell中通过COM操作IE达到自动化管理的目的。 Internet Explorer浏览器提供基于COM的富对象模型,可以用来编写网站的自动化测试脚本模仿用户操作,如输入文字和单击按钮等并用浏览器创建提交信息的脚本。 能够编程控制Internet Explorer的仍然是application对象,其ProgID是InternetExplorer.Application。完成自动化范例脚本需要的操作步骤如下。 (1)创建Internet Explorer Application对象。 (2)浏览一个URL。 (3)等待浏览器载入文档内容。 (4)操作文档。 (5)通过调用Quit()方法退出Application。 如果Internet Explorer在后台浏览并下载网

flex 联机游戏开发 - 四国军棋游戏:(一)引子

我叫燕子圬,名字的出路来源于天龙八部,当然,错了一个字,不过没关系,我不是讲这个的。 十一月十三日,阴,北风开始吹得有点理直气壮。 远在美国的杨杨已经第三次给我寄几米的作品了,画面很唯美,就象城市中的童话 她还是不了解我。我爱那巧嫣俏笑的杜十娘,却更爱她一怒沉江。 萍萍真是个有意思的人,她知道用什么人来对付什么人,让我来打这一帐,也许是险,却无疑是正确的,她懂我,知道他们的强大会让我变得更强大,可是,这就是我经常输棋的原因,我这么说,你看得懂吗? 但我在想另外一个问题:一切上中游来下四国的女孩儿,她们是不是都有一张不善表达的脸呢?我喜欢那些在现实中本已被扼杀的却最终用来表达的热情,就象萍萍给我感觉一样。 中游里有三种最漂泊的职业,一种叫游侠,一种叫杀手,一种叫刺客,游侠的快感来自于甜蜜女孩的微笑,不断升级的欢乐;杀手的快感来自于成批的对手在自己的屠刀下尸骨无存;刺客的快感仅仅来自于对

第十七回 路径动画

这回介绍另一个资源: 路径动画资源  路径动画资源的内容很简单,只不过是一系列旋转和位移的关键帧而已.比较麻烦的是它的生成过程.  最简单的方法是由美术在max里制作完毕后,导出为一个资源文件.这个很简单,就不多说了.  但是max不能解决所有问题,有时候我们会需要一条对场景依赖性非常高的路径,比如说沿着场景里的某根柱子绕三圈,然后再从边上的一座桥的桥洞中穿过.最后停留在某个高大雄伟的建筑的门前,诸如此类.这样的路径通常可以在一些剧情演出中用于控制Camera的走位.也可以在一些大型特效中控制粒子的轨迹,还是很有实用价值的.而对于这样的路径动画,max制作起来就比较吃力了,我们需要一个内嵌在世界编辑器中的路径动画编辑器.  自己制作路径动画可就麻烦多了.要制作光滑的路径离不开各种各样的控制曲线,我们选用了Hermite曲线,我觉得Hermite曲线比

新生命开发团队Orm框架XCode v3.5.2009.0714源码发布(圣诞随心大礼包)

    忙忙碌碌有一年!做了很多东西,到头来,似乎又什么都没有做。人继续变老,程序继续改进。     这段时间从我们各个系统抽取了基础的常用的部分,整理后形成了一个XCode示例项目,包含三部分:DLL引用程序集、Web网站、YWS实体类库。     之前发布了一些介绍XCode的文章,有些朋友希望能得到源码,更多的朋友是想知道怎么用,想试一试!我们现有的系统是一个大体系,分割开来无法独立工作,所以一直没有提供XCode的例子项目。现在整理的这个例子项目,用到了XCode中常用的70%功能,蕴含着XCode开发模式的思想,希望能加深大家对XCode的了解。       XCode v3.5源码(及相关组件、例子、代码生成器等)目前存放于CodePlex,地址:h

[SharePoint 2010 的那些事儿 – Excel Service]初识 Excel Service JavaScript OM

Excel Service 作为SharePoint商务智能解决方案中的一个重要组成部分,可以帮助我们更加轻松快捷的对组织内的数据进行分析。在Excel Service 2010中加入了两个新的API,它们分别是 Excel Services REST APIs和Excel Services JavaScript对象模型。本篇博客的主要内容就是对Excel Services JavaScript对象模型进行一个初步介绍。 在正式介绍Excel Services JavaScript对象模型前很有必要说下Excel Web Access WebPart,如果各位看官有使用Excel Service经验的话应该会对这个WebPart比较熟悉。这个WebPart的作用就是将保存在SharePoint文档库中的ExcelService直接展示在页面中。Excel Services JavaScr

研磨设计模式之简单工厂模式-2

2  解决方案 1  简单工厂来解决         用来解决上述问题的一个合理的解决方案就是简单工厂,那么什么是简单工厂呢?1:简单工厂定义  2:应用简单工厂来解决的思路        分析上面的问题,虽然不能让模块外部知道模块内的具体实现,但是模块内部是可以知道实现类的,而且创建接口是需要具体实现类的。        那么干脆在模块内部新建一个类,在这个类里面来创建接口,然后把创建好的接口返回给客户端,这样外部应用就只需要根据这个类来获取相应的接口对象,然后就可以操作接口定义的方法了。把这样的对象称为简单工厂,就叫Factory吧。 &n

“云”领天下(一): 最近的云计算 - IaaS

前言 作为云计算的推崇者,我一直关注关于云计算的问题,从Iaas的技术实现到PaaS的迁移实践甚至SaaS的运营模式。不过因为个人的技术和见识都很有限,我更关注于作为应用程序提供者,该怎样设计一个对云计算友好的应用程序,这种应用程序不单可以在云计算平台上运行,更重要的是可以更好的享受云计算带来的优势。趁着微软主推Azure云计算的TechEd2010落幕不久,我将写四篇文章和大家分享一下关于云计算中一些问题的看法。这四篇文章分别为 《“云”领天下(一): 最近的云计算-IaaS》 《“云”领天下(二): 更远一点的云计算-PaaS》 《“云”领天下(三): 云上的数据-反规范化》 《“云”领天下(四): 云上的事务-BASE原则》 希望这些文章在您考虑向云计算迁移或基于云平台开发新的应用程序

引入工厂方法支持扩展

《重构之美》之四  在开发框架时,若要支持扩展性,引入工厂方法或许会成为神来之笔。例如,在QueryWrapper类的addResource()方法中,需要创建一个IndexWriter对象。 public class QueryWrapper {     public final void addResource(RequestContext context) {         log(”Add new resource.”)         IndexWriter writer = createIndexWriter(context);   

注册使用GAC—Global Assembly Cache(.NET)

本文将一些资料进行整理,后面附带Demo。 1、什么是GAC?GAC解决什么问题? GAC全称为: Global Assembly Cach(全局程序集缓存),你可以在你的电脑的系统盘如:C:\Windows\assembly\看到目前计算机上安装的GAC。GAC的作用是可以存储一些有多个应用都要用到的公共的Assembly(程序集),例如System.Data、System.Windows.Forms等。这样,多个应用就可以从GAC中取得 Assembly,而不需要在所有应用中把要用到的Assembly都拷贝到应用程序的相关目录下面(比如:Windows应用程序的Debug目录,ASP.NET的bin目录)。 举一个最简单的例子,很多初学.NET的开发人员进行数据访问都是从SqlHelper.cs开始的,SqlHelper是一个数据访问对象,提供对

对比三种GoogleMap图标操作处理,谈如何构造快速响应的GoogleMap图标叠加操作

很多情况下,我们可以基于GoogleMap做GIS方面的应用,只要涉及到地图的相关操作,基本上都可以派生出很多应用,如可以用在配电线路、水管布线、地标附加等操作。本文主要介绍基于图标叠加的应用,通过三种不同的GoogleMap操作,来分析各种操作的优劣,寻找出最符合实际、最高效简洁的操作方式,指导我们今后对GoogleMap的应用操作。 方式一:使用Javascript和Html混合方式处理。 在页面前台给Javascript赋相关的变量,在后台把相关属性内容(包含InfoWindows显示的内容,图标坐标等)赋值给脚本对象, 由脚本分拆对象数据,然后添加图标。如下面代码所示:  代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->&

DFS架构

      话说到今天为止,使用FDFS已经有一年零2天时间了,在fish和测试兄弟小黑的帮助下一年下来算是没出啥岔子,目前DFS可以说是公司内最稳定的服务之一(其实可以把之一去掉)。最近FDFS在fish的主导下越做越大,论坛起来了,群也起来了,版本迭代也更快了。不过这篇文章是应群中几个朋友的邀约,写下当初自己在使用FDFS时的架构和一些想法。随便,这篇文章是在我女儿出生24小时后在医院抽女儿睡觉时间写下的,在此我先谢谢我可爱的大眼睛女儿给爸爸写这篇bloger的时间。       首先来一张图:       这张图其实是一个组内部署的简单示意图,组间的架构示意图其实没有什么好画的,无非就是copy一份相同的而已。那么下面开始讲解

Silverlight播放器(MediaElement)全屏问题

在Silverlight开发中我们可能需要自定义开发一个播放器来满足自己的需要,其中一个重要的功能是双击播放器界面能够全屏,这里做了一个功能使得播放器能够全屏。 首先,我们新建一个Silverlight项目,并拖一个MediaElement控件和一个辅助的按钮到设计界面上。 <Canvas Background="Black">         <MediaElement  x:Name=”mediaElement1” Source="http://localhost/WinVideo-SL-InstallExperience.wmv"           

个人管理:放松离合与换档时刻

在30天敏捷结果(24):恢复你的精力中讲到恢复精力,这让我想起很久以前写的一篇文章。几年后再看到自己的文章,依然觉得深有感受,这里贴上来与大家分享一下。 学车   公司集体学车,我也报了个名。"起步、停车、换档都要踩离合……",教练的训叨让我这个新手牢记在心。换档时刻,踩死离合是最强烈的概念、高度紧张是最真实的写照,几次的训练课下来,疲顿不堪。"时刻踩离合不是好习惯,人累、车的磨损也大。在路口等候时,空挡状态,松开踏板,活动活动腿脚不是很好嘛,何必总要踩着离合不放!"教练的提醒让我释然,换挡时刻,要踩紧踏板、松开离合器,很平顺地改变节奏与速度,很自然地适应当时的路况。 人生如同驾车   最近我常想,其实人生也如同驾车一样,在我们的人生道路中,也常常会有"换挡"的时候。老婆今年刚毕业,如同三年前的我、也如同刚走进我们公司的新员工,走出校园,走向社会。常听到老婆

[项目过程中所遇到的各种问题记录]编辑器篇——使用FCKeditor生成静态分页HTML

       继续编辑篇的内容,本文是编辑器篇的最后一篇,前面2篇分别是FCKeditor相关知识及各种常见使用问题和FCKeditor自定义上传路径配置,今天这篇文章主要是介绍如何使用fckeditor来生成静态分页HTML。 以下是本文所要介绍的内容: 1、生成静态化分页HTML分析 2、具体实现   一、生成静态化分页HTML分析      在实际的网站开发过程中,我们总是想通过各种方式提高网站的性能,其中比较有效的方式就是:缓存、网页静态化、异步加载等等,今天这边主要讨论的是静态化页面的生成。      在一般的资讯网站上使用静态化的页面比较多,因为像新闻等资讯时效性比较强,一般生成了一个静态页面就可以一直使用,而需要生成静态页面

平板设备发展趋势设想

平板领域会成为继PC以来最重要的战场 一个本被很多人不看好的大号iPod Touch的走红,揭示了这块巨大市场空缺。 人们需要价格适度、易于携带、便于观看、操作轻松、电力持久的可联网终端来随时随地娱乐、学习或工作,然而…… 手机因为屏幕太小,用于阅读和工作会很吃力; Tablet PC还算不错,但成本高、耗电大是其主要缺陷; 笔记本的价格、性能、便携性、功耗总是很难达到完美平衡,并且它仍然不够方便,即使笔记本再轻巧,站着操作笔记本都是一件吃力又古怪的事情; 而iPad却近乎完美的地满足了这些需求,这让各相关厂商都看到了曙光,目前操作系统三巨头的先锋力量都开始由手机领域向平板领域转移了(微软稍稍杯具了一下,刚在手机领域安营扎寨准备火拼,就发现战线开始迁移了……),而其他硬件厂商也都早已做好了切蛋糕的准备。   2011年会是iPad腾

快速实现一个简单的bigpipe模型

在这篇http://www.cnblogs.com/wsky/archive/2010/12/11/1902969.html文章中对facebook的bigpipe作了较长篇幅的描述,现在我们来快速实现一个简单的bigpipe模型 先描述几个概念: Pagelet:页面功能模块化的单位 BigPipeClient:解释并呈现Pagelet的客户端,可以是javascript或服务器端语言编写(如c#) 其实重点在于模块化以及模块化之后随之带来的好处,功能开发分工,页面级别的功能隔离、功能降级等都可以以模块为单位进行,从而简化web项目的模型,在这个基础上再构建一系列的开发框架来支撑这种开发模式即可 先看一下Pagelet的定义: 1: /// <summary> 2: /// 模块 3: /// </summary>

对Razor的一点初步看法

    最近在学习客户端技术。原因是发现一些新的东西正在发生变化,比如说JQuery+Html5+CSS3这样的组合有效,还是要用透微软的Razor+MVC3这样的组合。       因为只是初步了解了下相关的概念,但看了Razor的做法后,有一点感想: 我们来看下Razor的语法:   @{ var total = 0; var totalMessage = ""; if(IsPost) { // Retrieve the numbers that the user entered. var num1 = Request["text1"]; var num2 = Request["text2"]; // Conv