Dragon in the sky

whatever happened , go ahead! Happy life of big pig and its dog.
posts - 98, comments - 10, trackbacks - 0, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

置顶随笔

摘要: 1、static 表示被修饰的对象的生命周期与当前的应用程序域相同,因此可以在多个实例中共享const和readonly是c#声明常量的两种方式,它们间的区别如下:2、const表示常量且只能在声明时赋值,因此const的常量在编译时就能确定,它如果没有被static修饰并不能在多个实例中共享(通常static会和const一起使用以作为标志位来用,但不是必须的)3、readonly只能用来修饰成...阅读全文

posted @ 2009-08-19 17:04 龙泰 阅读(45) 评论(0) 编辑

摘要: 本例实现一个函数用于返回输入字符串里出现次数最多的字符。[代码]本例的时间复杂度比较大,因此,有很大的优化空间。经过和偶一朋友(交流)给出进一步的优化方法如下,这次代码的时间复杂度大大的降低[代码]阅读全文

posted @ 2009-08-18 22:50 龙泰 阅读(146) 评论(1) 编辑

摘要: 1,虚方法可以有自己的实现,而抽象方法没有。2,虚方法可以不在派生类中实现(overide),但抽象方法必须在派生类中实现。3,把一个类的方法设置为虚方法的目的是当原有的虚方法不能满足需求的时候,可以对之重写。继续研究中....阅读全文

posted @ 2009-08-18 10:18 龙泰 阅读(298) 评论(2) 编辑

摘要: 1,接口包含属性,方法,事件,索引器,但不包含字段,抽象类可以包含字段。2,接口只包含定义,不包含定义的实现。抽象类可以部分包含方法的实现。3,一个类可以实现多个接口,但抽象类只能被单继承。4,接口和抽象类本身都不能实例化,都要在实现类中实现所有方法。5,接口是一种规范,而抽象类更像是类内的共性问题。6,接口可以理解为比抽象类更抽象的东西。继续研究中......未完待续阅读全文

posted @ 2009-08-18 10:00 龙泰 阅读(149) 评论(1) 编辑

摘要: javascript 数据类型 numbers, string of text(strings),boolean,null,undefined, composite datatype: object,array special kind of object: function {A function is an object that has executable code associated ...阅读全文

posted @ 2008-09-12 16:06 龙泰 阅读(54) 评论(0) 编辑

摘要: 本文着重阐述接口是如何工作的和它可能的应用。什么是接口接口是为类或结构定义一个蓝图,接口的定义看起来类似于一个类,但是什么也没实现接口定义属性,方法,事件,索引器,但是接口没有定义任何它们的实现,只是声明他们的存在,接口不会实际定义任何功能,只是定义了和类发生交互的方式。什么不是接口接口不应该喝继承混淆,它们是两个非常不同的事,继承会定义许多实现和代码的复用,接口仅仅是定义如何与其实现类发生通讯。...阅读全文

posted @ 2008-06-19 14:14 龙泰 阅读(236) 评论(0) 编辑

摘要: 在C#中使用关键字 abstract 来定义抽象类和抽象方法。不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例。"一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被实例化,进一步一个抽象类只能通过接口和作为其它类的基类使用."-C++ Programming Language by Stroustrup Chapter13.2抽象类能够被用于类,方法,属...阅读全文

posted @ 2008-06-18 16:40 龙泰 阅读(4406) 评论(4) 编辑

摘要: 虚函数是在C#中实现多态的一种方法,你要在子类中对override 关键字修饰要实现的虚方法父类要使用Vritual关键字。[代码]未完待续......阅读全文

posted @ 2008-06-18 15:51 龙泰 阅读(252) 评论(0) 编辑

摘要: C++ 虚函数是类的一个成员,再派生类中,它的功能可以被重写(over-ridden),在派生类中的一组新实现能够替代整个函数。虚函数不同于函数重载(overloading) 虚函数-属性 虚函数是类的成员 用 virtual关键字 声明 一般会在派生类中有一个不同的功能。 函数调用在运行时解析 非虚函数和虚函数的区别: 1.非虚函数是在编译时就解析了,这种机制叫静态绑定。2.而虚函数是在运行时解...阅读全文

posted @ 2008-06-18 14:48 龙泰 阅读(111) 评论(0) 编辑

摘要: namespaceMyCollections{usingSystem.Collections;//-----------------------------------------------------------------------------//该委托定义相当于观察者模式中的Notify()函数,//用来通知观察者关于subject的变化//通知观察者,观察者会自动执行观察者内的Upda...阅读全文

posted @ 2008-06-15 22:26 龙泰 阅读(378) 评论(0) 编辑

摘要: 在C#中应用工厂模式工厂方法模式来自于创建模式的分类,创建模式是最好的处置创建对象的方式,工厂方法提供了一个简单的决策,该决策得出了这样一个类,该类能够返回一个抽象基类的几个子类的对象,这里抽象基类以来与提供的信息."为每一个创建的对象定义一个接口,但是让子类决定由哪个类去初始化,工厂方法让一个类遵从子类的指令去初始化." --"设计模式" Gamma et al., Addison-Wesley...阅读全文

posted @ 2008-06-12 17:25 龙泰 阅读(87) 评论(0) 编辑

摘要: 如今,软件开发已经有了巨大的变化。一个主要的变化就是结构化编程的介绍,结构化编程把应用程序分成很多功能,每一个功能执行一个特定的任务,每个功能都要因它将要执行的任而被命名,紧接着就是用面向对象的方式编程。使 C++ 和 smalltalk变得很流行,现在开发者都依赖类来写他们的代码,用这些从现实中模型化过的类来编程。 这些方法的主要目标都是帮助在团队内部或跨团队的沟通。“一个客户是怎么...阅读全文

posted @ 2008-06-12 16:33 龙泰 阅读(361) 评论(0) 编辑

摘要: 优点mvc 模式在项目开发中的优点是能够隔离业务和展示层,进一步的我们有完整的独立对象去控制展示层直接带来的好处是,我们可以很容易的维护和复用他们。下面你将看到:一般来讲我们会尽量把项目中对象间的依赖降到最低,这样我们能够更容易的改变和复用他们。为了实现这样的愿望,我们要遵循“面向接口编程,而不是类”,MVC 就提供了实现它的手段。我们被分配了一个任务去创建ACME 200...阅读全文

posted @ 2008-06-11 15:59 龙泰 阅读(921) 评论(0) 编辑

摘要: 观察者模式允许我们观察应用程序中一个对象的状态。最好的理解它的方式就是 Publish/ Subscribe 模式。在观察者模式中有被观察的叫subject,一些观察subject 的对象叫观察者。该模式是松耦合的一个非常好的实例因为我们的类可以依赖很少的信息进行交互。subject 需要被三件事关注:1. 注册一个观察者2. 删除一个观察者3. 通知事件的观察者 比方说我们准备创建一个video...阅读全文

posted @ 2008-06-10 14:43 龙泰 阅读(88) 评论(0) 编辑

摘要: MVC是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。三层架构是在一个应用程序中把数据(数据层),业务逻辑(业务层),和用户接口(表示层) 分开的一种概念。把业务层和表示层分开,我们明白解决方案在一些地方是模糊的,完全分开是一件困难的事。对于缺少经验的开发者,MVC 是一种实现三层架构的比较清晰的实现。http://www.martinfowler.com/eaaDev/ui...阅读全文

posted @ 2008-06-06 16:37 龙泰 阅读(1582) 评论(0) 编辑

摘要: 单件模式(singleton)单件模式定义了一个类只能有一个实例存在的事实。对于暴露只读数据它是很有用的,同样的还有不依赖于实例数据的静态方法。而不是每一次都创建一个类的实例,通过使用一个类的静态方法来实现单件模式,应用程序包含了对一个存在实例的引用,如果是第一次调用返回实例的方法,单件模式就会创建实例,用任何必须的数据和返回实例来发布给调用者,紧接着的调用只是返回存在的实例,实例的生命期是应用程...阅读全文

posted @ 2008-06-06 15:53 龙泰 阅读(38) 评论(0) 编辑

摘要: 提供者和适配器模式提供者和适配器模式是通过把一个类的接口转换为其他类期望的接口的方式来使不兼容的类在一起工作的。用更专业的术语就是,这些模式提供了在部件之间的划分,这里的部件允许行为的变化的发生可以在没有必须的优先知识的前提下进行划分。应用和任何数据的源化使用,输出的生成,或者交互的类,这些动作都能够被独立的创建,然而可以在一起工作。提供者模式把源数据与数据处理对象和应用程序分开。提供者允许应用程...阅读全文

posted @ 2008-06-06 15:31 龙泰 阅读(212) 评论(0) 编辑

摘要: 基本设计模式和群组 设计模式按照类型和目标分成几个组,例如,一些模式提供展示逻辑,用来显示特定的视图以修饰用户接口。其他的用来控制与用户交互的行为方式。也有指定保持数据技术的模式。定义数据访问,为创建应用使用的对象实例的有利方法的最佳实践。下面的列表列出了一些最通用的设计模式。MVC(Model-View-Controller) 和 MVP(Model-View-Presenter Pattern...阅读全文

posted @ 2008-06-06 14:51 龙泰 阅读(48) 评论(0) 编辑

摘要: 如果你想用vmware去做一些网络软件试验,那么vmware是非常好的选择一般情况下,人们经常把虚拟机以桥接(VMnet0)的方式和网络相连,这是很好的与internet通信的方式,然而许多时候你想两台或更多的虚拟机在一起组成一个私有的网络实验室环境,让我们看看如何实现它。VMware 网路介绍在我们改变一个虚拟主机的网络设置之前,让我们了解一下不同的VMware 网络方式。默认情况下有三种方式自...阅读全文

posted @ 2008-06-05 15:24 龙泰 阅读(338) 评论(0) 编辑

摘要: World class SoftwareInstitutions such as banks have a client lifetime measured in decades so the idea that software should be robust and reliable is taken for granted. The reality is however, that the...阅读全文

posted @ 2008-06-04 16:46 龙泰 阅读(16) 评论(0) 编辑

2010年3月26日

snk文件在.net里面被用作存放密钥或密钥对的存储文件,生成密钥对snk文件可以用.net中的sn.exe命令,如“sn   -k   keyPair.snk”。  
snk本身只是用来存放非对称密钥的,但在各个需要用到加密、签名的地方都可以使用:  
用snk文件生成强命名程序集,这样一个assembly才可以被赋予full-trust属性,也可以被添加到GAC中。在VS.NET中生成 strong-named   assembly,只需要在AssemblyInfo.cs里面添加一下代码并编译即可:  
[assembly:   AssemblyDelaySign(false)]  
[assembly:   AssemblyKeyFile("..\\..\\keyPair.snk")]  
[assembly:   AssemblyKeyName("")]  
强命名程序集的缘由: 目前Windows中出现的DLL Hell问题(两个不同的公司可能开发处具有相同名称的程序集,如果将相同名称的程序 集放置到同一个目录下,则会出现程序集覆盖现象,最后安装的程序集会覆盖前面的程序集,从而可能导致应用序不能正常运行)。由此看来,仅靠名称来区分程序 集是不足够的。CLR采取了强命名程序集的方式来唯一的表示程序集。强命名程序集包含四个标识:名称,版本号,语言文化标识和一个共有/私有密钥对。两种 程序集/两种部署方式:.Net支持两种程序集:弱命名程序集和强命名程序集(注:.Net框架中没有弱命名程序集,只是为了和强命名程序集相对应而 已)。弱命名程序集和强命名程序集在结构上是相同的。他们都采用PE文件格式,包含PE表头,CLR表头,元数据和清单表。区别在于:强命名程序集拥有一 个发布者的公钥/私钥签名对,他们用于唯一的标识程序集的发布者。通过公钥/私钥对,我们可以对程序集进行唯一的标识,安全策略和版本策略。
AssemblyInfo.cs主要用来设定生成的有关程序集的常规信息dll文件的一些参数,如
using System.Reflection;
using System;
using System.Runtime.ConstrainedExecution;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
//是否符合公共语言规范(CLS)
[assembly: CLSCompliant(true) ]
//控制程序集中所有类型对COM的可访问性
[assembly: ComVisible(false)]
//代码的作者和这些代码的的开发人员之间的可靠协定
[assembly: ReliabilityContract(Consistency.WillNotCorruptState,Cer.MayFail)]
// 有关程序集的常规信息通过下列属性集
// 控制。更改这些属性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("TestPetShop.SQLServerDAL")]
[assembly: AssemblyDescription("T测试PetShop4.0")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("CCP")]
[assembly: AssemblyProduct("TestPetShop.SQLServerDAL")]
[assembly: AssemblyCopyright("版权所有 (C) CCP 2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 属性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("dc8b813c-f361-476f-8cf1-8fab3d57ced7")]
// 程序集的版本信息由下面四个值组成:
//
//      主版本
//      次版本
//      内部版本号
//      修订号
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

posted @ 2010-03-26 15:21 龙泰 阅读(115) 评论(0) 编辑

2010年2月21日

First, we have to know the user connection name (here from an ASP.NET page).

string principal = this.Context.User.Identity.Name;

Then we have to define some stuff :

  • search filter including object type and connection name,
  • domain,
  • properties to retrieve from Active Directory.
string filter = string.Format("(&(ObjectClass={0})(sAMAccountName={1}))", "person", principal);
string domain = "DOMAIN";
string[] properties = new string[] { "fullname" };

To search in Active Directory, we need the following objects :

  • DirectoryEntry : represents a node or object in the Active Directory hierarchy,
  • DirectorySearcher : performs queries against Active Directory Domain Services.
DirectoryEntry adRoot = new DirectoryEntry("LDAP://" + domain, null, null, AuthenticationTypes.Secure);
DirectorySearcher searcher = new DirectorySearcher(adRoot);
searcher.SearchScope = SearchScope.Subtree;
searcher.ReferralChasing = ReferralChasingOption.All;
searcher.PropertiesToLoad.AddRange(properties);
searcher.Filter = filter;
 
SearchResult result = searcher.FindOne();
DirectoryEntry directoryEntry = result.GetDirectoryEntry();

Finally, once information is retrieved in the DirectoryEntry object, we can get the details of each property defined.

string displayName = directoryEntry.Properties["displayName"][0].ToString();
string firstName = directoryEntry.Properties["givenName"][0].ToString();
string lastName = directoryEntry.Properties["sn"][0].ToString();
string email = directoryEntry.Properties["mail"][0].ToString();
 
from: http://weblogs.asp.net/jpinquie/archive/2008/02/06/how-to-get-domain-user-information-from-active-directory-in-c.aspx
 

关于优化.NET访问Active Directory的性能,参考

http://www.pin5i.com/showtopic-21054.html

posted @ 2010-02-21 15:59 龙泰 阅读(201) 评论(0) 编辑

2010年1月27日

需求

  1. 你能给出一些非功能性(或者质量)需求的例子么?
  2. 如果客户需要高性能、使用极其方便而又高度安全,你会给他什么建议?
  3. 你能给出一些用来描述需求的不同技术么?它们各自适用于什么场景?
  4. 需求跟踪是什么意思?什么是向前追溯,什么是向后追溯?
  5. 你喜欢用什么工具跟踪需求?
  6. 你怎么看待需求变化?它是好是坏?给出你的理由。
  7. 你怎样研究需求,发现需求?有哪些资源可以用到?
  8. 你怎么给需求制定优先级?有哪些技术?
  9. 在需求过程中,用户、客户、开发人员各自的职责是什么?
  10. 你怎么对待不完整或是令人费解的需求?

功能设计

  1. 在功能设计中有哪些隐喻?给出几个成功的例子。
  2. 如果有些功能的执行时间很长,怎么能让用户感觉不到太长的等待?
  3. 如果用户必须要在一个很小的区域内,从一个常常的列表中选择多个条目,你会用什么控件?
  4. 有哪些方法可以保证数据项的完整?
  5. 建立系统原型有哪些技术?
  6. 应用程序怎样建立对用户行为的预期?给出一些例子。
  7. 如何入手设计一组数量庞大而又复杂的特性,你能举出一些设计思路吗?
  8. 有一个列表,其中有10个元素,每个元素都有20个字段可以编辑,你怎样设计这种情况?如果是1000个元素,每个元素有3个字段呢?
  9. 用不同的颜色对一段文本中的文字标记高亮,这种做法有什么问题?
  10. Web环境和Windows环境各有些什么限制?

技术设计

  1. 什么是低耦合和高聚合?封装原则又是什么意思?
  2. 在Web应用中,你怎样避免几个人编辑同一段数据所造成的冲突?
  3. 你知道设计模式吗?你用过哪些设计模式?在什么场合下用的?
  4. 是否了解什么是无状态的业务层?长事务如何与之相适应?
  5. 在搭建一个架构,或是技术设计时,你用过几种图?
  6. 在N层架构中都有哪些层?它们各自的职责是什么?
  7. 有哪些方法可以确保架构中数据的正确和健壮?
  8. 面向对象设计和面向组件设计有哪些不同之处?
  9. 怎样在数据库中对用户授权、用户配置、权限管理这几项功能建模?
  10. 怎样按照等级制度给动物王国(包括各种物种和各自的行为)建模?

程序设计

  1. 你怎样保证你的代码可以处理各种错误事件?
  2. 解释一下什么是测试驱动开发,举出极限编程中的一些原则。
  3. 看别人代码的时候,你最关心什么地方?
  4. 什么时候使用抽象类,什么时候使用接口?
  5. 除了IDE以外,你还喜欢哪些必不可少的工具?
  6. 你怎么保证代码执行速度快,而又不出问题?
  7. 什么时候用多态,什么时候用委派?
  8. 什么时候使用带有静态成员的类,什么时候使用单例?
  9. 你在代码里面怎么提前处理需求的变化?给一些例子。
  10. 描述一下实现一段代码的过程,从需求到最终交付。

算法

  1. 怎样知道一个数字是不是2的乘方?怎样判断一个数是不是奇数?
  2. 怎样找出链表中间的元素?
  3. 怎样改变10,000个静态HTML页面中所有电话号码的格式?
  4. 举出一个你所用过的递归的例子。
  5. 在散列表和排序后的列表中找一个元素,哪个查找速度最快?
  6. 不管是书、杂志还是网络,你从中所学到的最后一点算法知识是什么?
  7. 怎样把字符串反转?你能不用临时的字符串么?
  8. 你愿意用什么类型的语言来编写复杂的算法?
  9. 有一个数组,里面是从1到1,000,000的整数,其中有一个数字出现了两次,你怎么找出那个重复的数字?
  10. 你知道“旅行商问题(Traveling Salesman Problem)”么?

数据结构

  1. 怎样在内存中实现伦敦地铁的结构?
  2. 怎样以最有效的方式在数据库中存储颜色值?
  3. 队列和堆栈区别是什么?
  4. 用堆或者栈存储数据的区别是什么?
  5. 怎样在数据库中存储N维向量?
  6. 你倾向于用哪种类型的语言编写复杂的数据结构?
  7. 21的二进制值是什么?十六制值呢?
  8. 不管是书、杂志还是网络,你从中所学到的最后一点数据结构的知识是什么?
  9. 怎样在XML文档中存储足球比赛结果(包括队伍和比分)?
  10. 有哪些文本格式可以保存Unicode字符?

测试

  1. 什么是回归测试?怎样知道新引入的变化没有给现有的功能造成破坏?
  2. 如果业务层和数据层之间有依赖关系,你该怎么写单元测试?
  3. 你用哪些工具测试代码质量?
  4. 在产品部署之后,你最常碰到的是什么类型的问题?
  5. 什么是代码覆盖率?有多少种代码覆盖率?
  6. 功能测试和探索性测试的区别是什么?你怎么对网站进行测试?
  7. 测试套件、测试用例、测试计划,这三者之间的区别是什么?你怎么组织测试?
  8. 要对电子商务网站做冒烟测试,你会做哪些类型的测试?
  9. 客户在验收测试中会发现不满意的东西,怎样减少这种情况的发生?
  10. 你去年在测试和质量保证方面学到了哪些东西?

维护

  1. 你用哪些工具在维护阶段对产品进行监控?
  2. 要想对一个正在产品环境中被使用的产品进行升级,该注意哪些重要事项?
  3. 如果在一个庞大的文件中有错误,而代码又无法逐步跟踪,你怎么找出错误?
  4. 你怎样保证代码中的变化不会影响产品的其他部分?
  5. 你怎样为产品编写技术文档?
  6. 你用过哪些方式保证软件产品容易维护?
  7. 怎样在产品运行的环境中进行系统调试?
  8. 什么是负载均衡?负载均衡的方式有哪些种?
  9. 为什么在应用程序的生命周期中,软件维护费用所占的份额最高?
  10. 再造工程(re-engineering)和逆向工程(reverse engineering)的区别是什么?

配置管理

  1. 你知道配置管理中基线的含义么?怎样把项目中某个重要的时刻冻结?
  2. 你一般会把哪些东西纳入版本控制?
  3. 怎样可以保证团队中每个人都知道谁改变了哪些东西?
  4. Tag和Branch的区别是什么?在什么情况下该使用tag,什么时候用branch?
  5. 怎样管理技术文档——如产品架构文档——的变化?
  6. 你用什么工具管理项目中所有数字信息的状态?你最喜欢哪种工具?
  7. 如果客户想要对一款已经发布的产品做出变动,你怎么处理?
  8. 版本管理和发布管理有什么差异?
  9. 对文本文件的变化和二进制文件的变化进行管理,这二者有什么不同?
  10. 同时处理多个变更请求,或是同时进行增量开发和维护,这种事情你怎么看待?

项目管理

  1. 范围、时间、成本,这三项中哪些是可以由客户控制的?
  2. 谁该对项目中所要付出的一切做出估算?谁有权设置最后期限?
  3. 减少交付的次数,或是减少每个每个交付中的工作量,你喜欢哪种做法?
  4. 你喜欢用哪种图来跟踪项目进度?
  5. 迭代和增量的区别在哪里?
  6. 试着解释一下风险管理中用到的实践。风险该如何管理?
  7. 你喜欢任务分解还是滚动式计划?
  8. 你需要哪些东西帮助你判断项目是否符合时间要求,在预算范围内运作?
  9. DSDM、Prince2、Scrum,这三者之间有哪些区别?
  10. 如果客户想要的东西太多,你在范围和时间上怎样跟他达成一致呢?

posted @ 2010-01-27 17:19 龙泰 阅读(41) 评论(0) 编辑

2010年1月7日

The Agile Checklist

Company: VersionOne

 

Agile Development consists of a series of interdependent planning and delivery rhythms. These agile rhythms, while quite simple conceptually, have proven not so simple to implement. Yet this cyclical series of meetings and events delivers the reliable beat which allows teams to find their own agile rhythm.

While no single document delivers all of the ammunition agile teams need to get the rhythm, this set of agile meeting and facilitation checklists offers an easy framework to help guide software development teams through the various agile cycles.

The Agile Development Rhythms:

  • Strategy - Projects and product development efforts ideally start with a vision associated with a business need or direction. This vision is then typically framed in context of a strategy and associated goals and objectives during a management team planning session.
  • Release - Releases represent the large-grained delivery cycle in agile development. Releases typically range between one and six months, but may extend longer in some environments. Releases begin with a release planning meeting where product owners (or product managers, project leads, etc.) work to define and prioritize a candidate set of features that are then estimated by the team.
  • Iteration - Also known as Sprints, iterations are short, fixed-length subsets of releases, generally in the 1-6 week time frame. Iterations represent the execution heartbeat of the project. During, each iteration the team’s goal is to deliver useful software.
  • Daily - Every day the team is focused on completing the highest priority features in the form of working, tested software. As features are delivered within the iteration, they are reviewed and accepted, if appropriate, by the product owner. Each day a short, 15-minute standup meeting facilitates the communication of individual detailed status and any impediments or issues.
  • Continuous - Agile development teams are constantly driving towards a state of continuous, adaptive planning, collaboration, design, development, testing and integration. This commitment fosters a dynamic, highly productive environment in which automation is critical and the output is always high-quality, valuable working software.

http://www.infoq.com/vendorcontent/show.action?vcr=813

posted @ 2010-01-07 16:31 龙泰 阅读(12) 评论(0) 编辑

2010年1月4日

1、    JavaScript包括哪些数据类型?

我回答的是有两种:基本类型和对象,其中基本类型包括数字、字符串、布尔和null;对象(类似对象),包括数组、函数、内置对象、自定义对象。不过按理说字符串也有些对象的特点。

我这个回答是参考的JavaScript权威指南的,有些小问题,第一类中缺少了undefined。

搜索了下,网上还有几种回答:

第一种:共九种类型:1.未定义(undefined) 2.空(null) 3.布尔(boolean) 4.字符串(string) 5.数字(number)6.对象(object) 7.引用(reference) 8.列表(list) 9.完成(completion)。reference,list,completion这3种类型是做为JavaScript运行时中间结果的数据类型 在代码中不能使用。

最后我确实没见过。

第二种:javascript中包含6种数据类型:undefined、null、string、number、boolean和object。其中,前5种是原始数据类型,object是对象类型。object类型中包括Object、Function、String、Number、Boolean、Array、Regexp、Date、Globel、Math、Error,以及宿主环境提供的object类型。

除去reference,list,completion不同外,这几个回答其实大同小异。

2、<img>元素的alt和title有什么异同?

这个我前几天正好看到了一篇这样的文章。这两个属性是有些重复了。在不同浏览器里面表现有些不同。在alt和title同时设置的时候,alt作为图片的替代文字出现,title是图片的解释文字。

刚刚小小的实验了一把,在没有title的时候,alt会作为图片的解释,但是Firefox好像不这样做。完全测试的话要分图片存不存在、只有title、只有alt,2*2*2,8种情况,真复杂啊。

3、    border-color-left、marin-left、-moz-viewport改写成JavaScript格式

这个就是-后字符换大写,没什么问题。第三个-moz的真不敢确定。(未完待续)

ps:刚接到了百度面试的电话,等了好久,以为没希望了呢,小小高兴一下吧。不过我也没有多大的优势,不管是技术方面还是经验方面只有劣势没有优势,只是rp还行(窃喜一下)。笔试通过的有些侥幸,去百度的希望不大。

继续:刚才试验了一个-moz-border-radius确实是写成MozBorderRadius。

4、 编写一个JavaScript函数,实时显示当前时间,格式“年-月-日 时:分:秒”

主要是用到了各种时间函数,setInterval(funtionName,Time),firstChild.nodeValue。

setInterval函数名我好像写错了。我写的是最普通最简单的函数,每隔一秒钟重新获取时间。有很多值得优化的地方。程序写的不好看,就不献丑了。

5、 用css、html编写一个两列布局的网页,要求右侧宽度为200px,左侧自动扩展。

我主要的想法是右侧绝对定位,左框右边距200px,正好空出了右侧的位置。

我写的CSS如下:

#right{
  position:absolute;
  right:0;
  width:200px;
}
#left{
  marin-right:200px;
}

另一种方法(试验有效):

#right{
  float:right;
  width:200px;
}
#left{
  marin-right:200px;
}

HTML代码中#right必须写在#left前面

<body>
  <div id=”right”>…</div>
  <div id=”left”>…</div>
</body>

这好像是道经典面试题,在某次面试的时候,就被问过这个问题。还有一道经典的问题是如何使固定宽度的div在页面居中。

6、 使用JavaScript深度克隆一个对象?

JavaScript的对象赋值var anObj = anOtherObj 用的是传址方式,不能用于复制对象。

用对象原型写通用性更强些,但是当时对prototype没有十分的把握,只写了个克隆函数。刚刚查了下,果然有猫腻,下面是实现代码:

function Object.prototype.cloneObj()
{
  function NEWOBJECT(){};
  NEWOBJECT. prototype = this;
  var anObj = new NEWOBJECT();
  for ( var ele in anObj )
  {
   if ( typeof anObj[ele] == “object” ) return anObj[ele]. cloneObj();
  }
  return anObj;
}

7.Linux题目:批量删除当前目录下后缀名为.c的文件,如a.c、b.c

我的回答是rm *.c

幸亏我还有点点linux基础,当然更得归功于考前复习了几个常用linux命令。

附加题是Flash的AS题,大概是比较AS2.0和AS3.0在面向对象方面的异同吧。我都有好久好久没有接触过AS了,这题我没答。

From : http://www.webjx.com/javascript/jsajax-17997.html

posted @ 2010-01-04 15:35 龙泰 阅读(593) 评论(1) 编辑

Using jQuery with ASP.NET - A Beginner's Guide

Did you hear about jQuery.. NO...? It’s fantastic!! Well if you have been hearing those words more too often from your colleagues but haven’t had the chance to explore jQuery yet, then here’s this beginner guide for you to get started with jQuery and ASP.NET.

Update: I have written an EBook on using jQuery with ASP.NET Controls. It's called "51 Tips, Tricks and Recipes with jQuery and ASP.NET Controls".

Ok, the million dollar question - What is jQuery anyways?

jQuery is a fast, lightweight JavaScript library that is CSS3 compliant and supports many browsers. The jQuery framework is extensible and very nicely handles DOM manipulations, CSS, AJAX, Events and Animations.

What is the difference between JavaScript and jQuery?

JavaScript is a language whereas jQuery is a library written using JavaScript.

Where can I download jQuery?

The latest version of jQuery as of this writing is jQuery 1.2.6 and can be downloaded from here. [Update] An updated version of jQuery 1.3.2 has been released. jQuery 1.3.2 and jQuery 1.3.2 Visual Studio 2008 Autocomplete documentation. So whereever you see 1.2.6 mentioned in the rest of this article, just replace it with 1.3.2.

What has Microsoft got to do with jQuery?

In ScottGu’s blog, there was an announcement made a few weeks ago that Microsoft will be partnering with the jQuery team and shipping jQuery with Visual Studio in future. Also, jQuery intellisense annotation support will be available as a free web-download. Barely a few weeks after the announcement, Microsoft during the PDC event (held in the last week of October), announced that Visual Studio 2008 now supports jQuery Intellisense through an additional file available from jQuery. This file can be downloaded from here. For those interested, the release notes can be found here 1.2.6 (Release Notes).

A few days ago, Microsoft also released a VS2008 SP1 Hotfix to support all JavaScript files including jQuery intellisense for Visual Studio 2008. Note that this hotfix works only if you have VS 2008 with SP1 or Visual Web Developer Express Edition with SP1. You can download the Hotfix from here (Downloads tab).

Checking out jQuery Intellisense in Visual Studio 2008 with SP1

Assuming you have installed the hotfix , downloaded the jQuery library and the jQuery VS 2008 IntelliSense documentation, follow these steps to move ahead.

Open Visual Studio 2008 > File > New > Website > Choose ‘ASP.NET 3.5 website’ from the templates > Choose your language (C# or VB) > Enter the location > Ok. In the Solution Explorer, right click your project > New Folder > rename the folder as ‘Scripts’.

Right click the Scripts folder > Add Existing Item > Browse to the path where you downloaded the jQuery library (jquery-1.2.6.js) and the intellisense documentation (jquery-1.2.6-vsdoc.js) > Select the files and click Add. The structure will look similar to the following:

jQuery Structure

Now drag and drop the jquery-1.2.6.js file from the Solution Explorer on to your page to create a reference as shown below

jQueryRef

Note: Since you have applied the hotfix, you do not have to manually add a reference to the jquery-1.2.6-vsdoc.js file in your page. Once the reference to the runtime library has been added, Visual Studio automatically searches for the ‘vsdoc’ file and loads it. You just need to keep both the runtime library and the documentation file next to each other.

To test intellisense, add a <script> block and key in ‘$(‘. You will get an intellisense similar to the one shown below:

jQuery Intellisense

Show me some examples

This article would be incomplete without examples. So let us quickly see some.

Example 1 – Display an alert on asp:Button click using jQuery

 

From : http://www.dotnetcurry.com/ShowArticle.aspx?ID=231&AspxAutoDetectCookieSupport=1

posted @ 2010-01-04 15:18 龙泰 阅读(133) 评论(0) 编辑

jQuery是我最近发现的一个新工具。jQuery开发团队形容jQuery是“一个快捷、简练的JavaScript库,它可以简化HTML文档检查、事件处理、动画执行、并给你的Web页面增加AJAX交互。”
jQuery初步
你可以免费下载jQuery 的最新版本。它由一个明确定义的脚本文件构成,因此你可以随意研究它的源代码。下载JavaScript文件后,你就可以把它放在Web服务器中准备使用。你可以用HTML SCRIPT元素把jQuery库加载到任何Web页面中。src属性应利用文件在服务器中的真实路径。
<script type="text/javascript"
src="jquery-latest.js"></script>
下载文件后,以下的一些任务会对你使用jQuery有所帮助。
编码基础
以下是使用jQuery编码时用到的一些指针:
    * jQuery代码块前为美元符号($)。
    * 美元符号后是一个左圆括号。
    * 括号内是你要jQuery查找的内容,如它应使用哪个元素。
    * 特定对象事件后为右圆括号。
    * 你可以用指定的事件定义所发生的操作。方法/事件后的括号内是一个说明发生事件时会出现什么操作的函数。 
在举例说明之前,我想介绍jQuery库的一个最有益的基础元素。JQuery利用的一切功能全都位于HTML DOM中,因此在你使用jQuery的特性之前,你必须加载这个文档。你可以用这个文档的ready事件完成上述操作,如下面的jQuery代码段所示:
$(document).ready(function() {
// Your code goes here
});
上面的简单jQuery代码允许你在文档完成加载后执行代码。列表A是它的一个应用实例,它对页面上的所有标题元素应用一个CSS类。
<html><head>
<title>Test</title>
<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('h1').addClass("testclass");});
</script>
<style type="text/css" media="all">
.testclass { background: yellow; font-size: 20pt; }
</style>
</head>
<body>
<h1>Test</h1>
<p>test</p>
<h1>Test2</h1>
<p>test2</p>
</body></html>
这段代码中包含以下元素:
    * $(document).ready(function(){——在页面完全加载后,告诉页面执行(函数主体内)的代码。
    * $('h1').addClass("testclass");});——定位页面上的所有HTML H1元素。addClass方法将所有的testclass CSS类分配给H1元素。这个类设定一个黄色背景色,因此所有标题都为黄色背景。

http://www.qhwins.com/ShowNews/?16-200811171518414794.html

posted @ 2010-01-04 15:12 龙泰 阅读(66) 评论(0) 编辑

2009年12月29日

摘要: 设计模式之Factory 板桥里人 http://www.jdon.com 2002/10/07(转载请保留) 工厂模式定义:提供创建对象的接口. 为何使用?工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。 为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=n...阅读全文

posted @ 2009-12-29 17:52 龙泰 阅读(46) 评论(0) 编辑

摘要: 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lixinghua.blog.51cto.com/421838/96921 3.7、抽象类与接口的实际应用{百分百的重点} 开发原则: 在类的开发之中,一个类不会去继承一个已经实现好的类,只会继承抽象类或实现接口。 即:以下的代码是不应该出现在程序之中的: class A...阅读全文

posted @ 2009-12-29 14:51 龙泰 阅读(142) 评论(0) 编辑

2009年12月25日

摘要: 什么是中间件? IDC给出的一个定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 从这些定义中可以看出: ·中间件是一类软件,而非一种软件; ·中间件不仅仅实现互连,还要实现应用之间的互操作; ·中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。 什么是Web Services?...阅读全文

posted @ 2009-12-25 12:38 龙泰 阅读(97) 评论(0) 编辑