发布新日志

  • 术语一句话理解

    2006-12-21 11:46:12Top 1

    目标:不求精准,但求快速理解。
     
    NP Network Processor 网络处理器 针对网络传输定制的处理器
    OpenGL Open Graphics Library 3D引擎库,跨语言、跨平台
    JDBC:Java Database Connectivity Java数据连接
    JTA:Java Transaction API  Java事务API
    JVM:Java Virtual Machine Java虚拟机
    ODBC:Open Database Connectivity 开放数据库连接(Microsoft)
    SMART目标设定法:Specific 明晰; Measurable 可评测; Acheivable 可实现; Relevant 与工作相关; Time 时间.
     
  • 共享访问问题解决(部分转载)

    2008-08-27 09:34:38

    (1)"发生系统错误 1326。 登录失败: 未知的用户名或错误密码。"
    在远程机的"控制面板-文件夹选项-查看-简单的文件共享",去掉选取,然后再尝试连接。简单文件共享会把网络连接权限都归为 guest连接,是无法访问C$等管理共享的.
    (2)"发生系统错误 1327。 登陆失败:用户帐户限制。
    可能的原因包括不允许空密码,登陆时间限制,或强制的策略限。"在远程机的"控制面板-管理工具-本地安全策略-安全选项-用户权限"指派里,禁用"空密码用户只能进行控制台登陆".
    (3)"//IP/c$"时提示找不到网络途径。
    在"网络和拨号连接"中"本地连接"中选取"Internet协议(TCP/IP)"属性,进入"高级TCP/IP设置"选"WINS设置"里面有一项"启用TCP/IP的NETBIOS

    以上内容转自:http://hi.baidu.com/zhmq31/blog/item/b93f552cfad453e98a13999a.html

    还可能有问题的地方:

    1.网上邻居-属性,本地链接-属性,Microsoft网络的文件和打印机共享该选项改为勾上

    2.控制面板-Windows防火墙-例外-文件和打印机共享选项改为勾上

    参考文档:http://www.xfocus.net/articles/200203/369.html

  • 操作系统的可重入性

    2007-10-15 23:27:15

    想找操作系统可重入性的相关资料。结果没有找到。看了一下发现可重入性应该是指函数的可重入性。
    在cdsn上看到相关解释。摘抄下来做参考。不知道windows是怎样实现这个可重入性的。^_^有待进一步研究。
    ---------------
    要编写可重如函数,光靠控制变量的使用是不够的。还要控制系统资源的使用(例如文件句柄、Socket句柄等等)。  
       
      因此,可重入函数的编写是颇为复杂的。不过,最简单的就是设置临界区保护关键代码。当初,“DOS内核不可重入”是编写TSR(DOS内存驻留程序)的一大难题。后来,微软设置了一个DOS临界区,才使问题基本得以解决。  
       
      另一方法是上下文切换。将所有关键数据结构封装起来,并定义其复制操作。当需要重入时,复制一份关键数据结构,然后在其上操作。在回写的时候,这种方法依然需要临界区保护。但可以大大减少锁定的时间,避免死锁的发生。  
       
      系统在运行状态下,内存数据区可分为:全局静态区、堆和栈。全局静态区和堆由所有线程共享,栈则局部于线程。全局静态区包括所有全局变量和字符串等数据。堆包括动态分配的内存。局部变量、函数调用参数和返回值、返回地址等等都在栈中分配,函数返回后自然释放。   
      ------------
    楼上的全面  
      不过,一切全局/公用资源,都可以概括为“全局变量”,或者更时髦点,叫“全局对象”,例如屏幕(其实是显示缓冲区)、设备等。对变量的理解不必那么狭义。并非只有内存单元才是变量。  
       
      解决“全局变量”问题的办法有两个:  
       
      1.   “消极”的,即不去访问任何全局变量,只要做到这点就肯定是可重入的了(虽然可能完成不了什么有意义的功能)。  
       
      2.   有时为了完成必要的功能,必须访问全局变量(主要是公用的系统资源,例如文件、端口等)。这时就必须用楼上的办法。  
  • 讨论会后的思考

    2007-02-03 11:03:54

    最近在忙活着建立一个更好(即更方便,更通用,设计更良好等等)的测试工具框架。于是请来了开发的L大人,一起进行了第一次正式的讨论。
    2个小时下来,发现了我们没有经验,能力还有很大的不足,忽略了几个重要的问题。
    1。设计前的需求分析。
    一直觉得我们有在做啊,我们每个工具写之前不是都分析了好一阵子,还有文档呢。可是说到搭框架就傻眼了。想这里,想那里,结果都没有想到点子上。
    我们想这么多小工具,每个小工具还有自己的一些配置文件,输入文件。我怎么把它们组织到框架里来呢。我是用一个exe呢,还是用多个呢。等等诸于此类的问题。
    L老大一上来就问,你们现在有些什么,答曰很多小东西,很多不同格式的配置文件。很多不同格式的输出报告。
    L老大说,那我们就分析他们,把他们归类,框架写各个类型配置文件的解释器。(有了点豁然开朗的感觉)
    那我们是不是要保留一个自定义可扩展的类型呢?L老大答,尽量不要,增加案例实现者的难度而已。(感悟:自由度高的东西不见得很好,反而会引进一些麻烦)。
    2。引入了测试覆盖率分析的概念。
    这个概念是知道的,但似乎从来没有体会过其真正的内涵。
    我们在讨论前一直有这样的一个观点,我们把工具写出来了。并没有办法代替手工的测试,手工测试还是继续干一样的活,还因为工具的引入而多了很多确认工具结果的工作。看起来工具的引入并没有给测试组带来效率的提高,反而是降低了效率。
    那我能说工具引入会大幅提高软件质量吗?似乎也不行,因为工具能发现的问题实在太少太少。
    于是我们在苦恼,工具怎样去代替一些可以代替的手工(其实这是一个误区)。
    引入测试覆盖分析就可以解决上面的问题了(至少目前我知道的就只有这个最好了)。怎么说呢?L老大打了个比方,我们要测试的程序是一个桌子的平面,我们的工具是盖在桌子上的书,测试覆盖分析可以告诉我们书盖住了桌子哪些地方。这些地方就可以告诉我们被覆盖得较多的地方,代码相对是稳定的(对发布产品的风险预估也是有用的);可以指导我们的手工测试去测哪些工具覆盖较薄弱,或根本没有覆盖的地方。wow,问题解决了!
    可是通过写这个blog时,我又想到,那手工测试怎么知道测什么地方就是在测工具覆盖薄弱或没有覆盖的地方呢?看来这个问题还是需要再探讨一下,改天再仔细想想。呵呵
    今天就写到这里先了。To be continued...
     
  • [原创]从msgbox中取子窗口

    2007-01-28 14:03:30

      事情缘由是我们的工具需要取一些msgbox对话框上显示的提示文字,但是似乎一直没有找到方法,于是偶苦苦钻研了一个下午(没办法偶比较烂少少),终于搞定了。收获不少。
    第一,学习了EmunWindow和EmunChildWindow。
       原来一直没有搞定的原因是我们枚举窗口时,没有用对函数。EmunWindow只能找到最顶层的窗口(此处本人理解有限,极有可能表达不准确。有兴趣的可以看看msdn),按我的理解就是用spy++取到的窗口树下第一级的窗口。而msgbox上的提示文字虽然也是一个窗口,但是不属于顶级,用EmunWindow当然找不到了。呵呵,还好善用msdn的搜索(或索引)和目录同步功能(详细后面会讲一下)。很快找到了类似函数EmunChildWindow。
      此时又遇到问题了,用这个枚举必须自己写一个回调函数的实现。有一次意识到了自己的菜;回调什么东西啊,例子例子,msdn的例子没看懂(确切的说没找到那段是,呵呵)。还好还好我们有同事写的代码。小小改动(果然改东西比原创容易多了),搞定。开心啊,可是也花了2个多小时了。
       继续八卦一下,不就不用EmunChildWindow,FindWindowEx不是号称能够查到子窗口嘛,那我把msgbox的“spy++父窗口句柄”传进去,哎呀找不到的!传个0做父窗口句柄就可以。奇怪了。呵呵。这就说到收获的第二点了。(具体代码就不贴了,再别的工具基础上改的有点小复杂)
     
    第二,弄清楚了真正意义父窗口和“伪”父窗口的区别(该名词为自创)
       这个东西是咨询了相关开发同事得知的,呵呵以下基本是复述。
       原来父窗口概念有两种,一种是真正意义上的,比如msgbox上的按钮。最明显的特征就是子窗口会受到父窗口区域的裁剪。这个用一些ide弄个窗口,放个按钮,把按钮到处拖动下就可以看出来了。这种关系在spy++的窗口树上也是一个子节点和父结点的关系,很好理解。
       另一种是我称为的“伪”父窗口关系。如文档存盘提示对话框,和把它弹出的程序窗口之间就是这样的关系,随便把存盘提示对话框拖来拖去都不会被裁剪,这种关系是在创建存盘提示对话框时用一个参数指定父窗口得来的。这种关系主要维系窗口间显示顺序。从spy++的窗口树上,两个窗口是平级的,但是存盘提示对话框的属性上会显示父窗口为把它弹出的程序窗口。呵呵,据专业人士称:spy++这个属性是假的。(信不信由你)。
     
    第三,掌握了适合自己的函数查找方式。
        0。如果连函数名都不知道,那在google上找一个感觉像的。
        1。根据函数名在msdn的搜索或索引中查找。幸运的话这是找到想要的东西;但是多数时候是不幸运的,那就下一步(我突破的关键)
        2。使用msdn上与目录同步按钮(菜单有没有,在哪里没有研究过),在msdn中就可以跳到分类目录下,一些名字不是很一样,但是含义类似的函数列表就出现在你的面前了。呵呵这个东西正的比较有用。
        3。还有一步,看了msdn还是不知道怎么用,或不太了解,那又回到google去好了。有明确的目标的google,得到想要的东西就容易多了。
     
     
        看似一个很小的问题,对我这种底子“烂”的人还是帮助很大呢。弄完一个问题,学到了好多。真开心。继续努力!!!!
     
        (以上都是个人观点,很有可能是错的,欢迎网友指正)
  • smart目标设定法

    2006-12-25 14:18:55

    今天头推荐的管理相关文章里提到了一个新概念smart目标设定法.新东西,不知道呢.google一把吧.结果找到的东西除了概念还是概念.
    难道是我不会找东西?
    使用的关键字:smart目标设定法; "smart目标设定法".
Open Toolbar